Window

A freeform window.

<picture> <source srcset="window-dark.png" media="(prefers-color-scheme: dark)"> <img src="window.png" alt="window"> </picture>

The adw.window.Window widget is a subclass of gtk.window.Window which has no titlebar area. Instead, class@ToolbarView can be used together with class@HeaderBar or gtk.header_bar.HeaderBar as follows:

<object class="AdwWindow">
  <property name="content">
    <object class="AdwToolbarView">
      <child type="top">
        <object class="AdwHeaderBar"/>
      </child>
      <property name="content">
        <!-- ... -->
      </property>
    </object>
  </property>
</object>

Using gtk.window.Window.titlebar or gtk.window.Window.child is not supported and will result in a crash. Use property@Window:content instead.

Dialogs

adw.window.Window can contain class@Dialog. Use adw.dialog.Dialog.present with the window or a widget within a window to show a dialog.

Breakpoints

adw.window.Window can be used with class@Breakpoint the same way as class@BreakpointBin. Refer to that widget's documentation for details.

Constructors

this
this(void* ptr, Flag!"Take" take)
this
this()

Creates a new adw.window.Window.

Members

Functions

addBreakpoint
void addBreakpoint(adw.breakpoint.Breakpoint breakpoint)

Adds breakpoint to self.

getContent
gtk.widget.Widget getContent()

Gets the content widget of self.

getCurrentBreakpoint
adw.breakpoint.Breakpoint getCurrentBreakpoint()

Gets the current breakpoint.

getDialogs
gio.list_model.ListModel getDialogs()

Returns a gio.list_model.ListModel that contains the open dialogs of self.

getVisibleDialog
adw.dialog.Dialog getVisibleDialog()

Returns the currently visible dialog in self, if there's one.

self
Window self()

Returns this, for use in with statements.

setContent
void setContent(gtk.widget.Widget content)

Sets the content widget of self.

Properties

content
gtk.widget.Widget content [@property getter]

Get content property.

content
gtk.widget.Widget content [@property setter]

Set content property.

currentBreakpoint
adw.breakpoint.Breakpoint currentBreakpoint [@property getter]

Get currentBreakpoint property.

dialogs
gio.list_model.ListModel dialogs [@property getter]

Get dialogs property.

gType
GType gType [@property getter]
visibleDialog
adw.dialog.Dialog visibleDialog [@property getter]

Get visibleDialog property.

Static functions

getGType
GType getGType()

Inherited Members

From Window

getGType
GType getGType()
gType
GType gType [@property getter]
self
Window self()

Returns this, for use in with statements.

application
gtk.application.Application application [@property getter]

Get application property.

application
gtk.application.Application application [@property setter]

Set application property.

child
gtk.widget.Widget child [@property getter]

Get child property.

child
gtk.widget.Widget child [@property setter]

Set child property.

decorated
bool decorated [@property getter]

Get decorated property.

decorated
bool decorated [@property setter]

Set decorated property.

defaultHeight
int defaultHeight [@property getter]

Get defaultHeight property.

defaultHeight
int defaultHeight [@property setter]

Set defaultHeight property.

defaultWidget
gtk.widget.Widget defaultWidget [@property getter]

Get defaultWidget property.

defaultWidget
gtk.widget.Widget defaultWidget [@property setter]

Set defaultWidget property.

defaultWidth
int defaultWidth [@property getter]

Get defaultWidth property.

defaultWidth
int defaultWidth [@property setter]

Set defaultWidth property.

deletable
bool deletable [@property getter]

Get deletable property.

deletable
bool deletable [@property setter]

Set deletable property.

destroyWithParent
bool destroyWithParent [@property getter]

Get destroyWithParent property.

destroyWithParent
bool destroyWithParent [@property setter]

Set destroyWithParent property.

display
gdk.display.Display display [@property getter]

Get display property.

display
gdk.display.Display display [@property setter]

Set display property.

focusVisible
bool focusVisible [@property getter]

Get focusVisible property.

focusVisible
bool focusVisible [@property setter]

Set focusVisible property.

focusWidget
gtk.widget.Widget focusWidget [@property getter]

Get focusWidget property.

focusWidget
gtk.widget.Widget focusWidget [@property setter]

Set focusWidget property.

fullscreened
bool fullscreened [@property getter]

Get fullscreened property.

fullscreened
bool fullscreened [@property setter]

Set fullscreened property.

handleMenubarAccel
bool handleMenubarAccel [@property getter]

Get handleMenubarAccel property.

handleMenubarAccel
bool handleMenubarAccel [@property setter]

Set handleMenubarAccel property.

hideOnClose
bool hideOnClose [@property getter]

Get hideOnClose property.

hideOnClose
bool hideOnClose [@property setter]

Set hideOnClose property.

iconName
string iconName [@property getter]

Get iconName property.

iconName
string iconName [@property setter]

Set iconName property.

maximized
bool maximized [@property getter]

Get maximized property.

maximized
bool maximized [@property setter]

Set maximized property.

mnemonicsVisible
bool mnemonicsVisible [@property getter]

Get mnemonicsVisible property.

mnemonicsVisible
bool mnemonicsVisible [@property setter]

Set mnemonicsVisible property.

modal
bool modal [@property getter]

Get modal property.

modal
bool modal [@property setter]

Set modal property.

resizable
bool resizable [@property getter]

Get resizable property.

resizable
bool resizable [@property setter]

Set resizable property.

startupId
string startupId [@property setter]

Set startupId property.

suspended
bool suspended [@property getter]

Get suspended property.

title
string title [@property getter]

Get title property.

title
string title [@property setter]

Set title property.

titlebar
gtk.widget.Widget titlebar [@property getter]

Get titlebar property.

titlebar
gtk.widget.Widget titlebar [@property setter]

Set titlebar property.

transientFor
gtk.window.Window transientFor [@property getter]

Get transientFor property.

transientFor
gtk.window.Window transientFor [@property setter]

Set transientFor property.

getDefaultIconName
string getDefaultIconName()

Returns the fallback icon name for windows.

getToplevels
gio.list_model.ListModel getToplevels()

Returns a list of all existing toplevel windows.

listToplevels
gtk.widget.Widget[] listToplevels()

Returns a list of all existing toplevel windows.

setAutoStartupNotification
void setAutoStartupNotification(bool setting)

Sets whether the window should request startup notification.

setDefaultIconName
void setDefaultIconName(string name)

Sets an icon to be used as fallback.

setInteractiveDebugging
void setInteractiveDebugging(bool enable)

Opens or closes the interactive debugger.

close
void close()

Requests that the window is closed.

destroy
void destroy()

Drop the internal reference GTK holds on toplevel windows.

fullscreen
void fullscreen()

Asks to place window in the fullscreen state.

fullscreenOnMonitor
void fullscreenOnMonitor(gdk.monitor.MonitorWrap monitor)

Asks to place window in the fullscreen state on the given monitor.

getApplication
gtk.application.Application getApplication()

Gets the gtk.application.Application associated with the window.

getChild
gtk.widget.Widget getChild()

Gets the child widget of window.

getDecorated
bool getDecorated()

Returns whether the window has been set to have decorations.

getDefaultSize
void getDefaultSize(int width, int height)

Gets the default size of the window.

getDefaultWidget
gtk.widget.Widget getDefaultWidget()

Returns the default widget for window.

getDeletable
bool getDeletable()

Returns whether the window has been set to have a close button.

getDestroyWithParent
bool getDestroyWithParent()

Returns whether the window will be destroyed with its transient parent.

getFocus
gtk.widget.Widget getFocus()

Retrieves the current focused widget within the window.

getFocusVisible
bool getFocusVisible()

Gets whether “focus rectangles” are supposed to be visible.

getGroup
gtk.window_group.WindowGroup getGroup()

Returns the group for window.

getHandleMenubarAccel
bool getHandleMenubarAccel()

Returns whether this window reacts to F10 key presses by activating a menubar it contains.

getHideOnClose
bool getHideOnClose()

Returns whether the window will be hidden when the close button is clicked.

getIconName
string getIconName()

Returns the name of the themed icon for the window.

getMnemonicsVisible
bool getMnemonicsVisible()

Gets whether mnemonics are supposed to be visible.

getModal
bool getModal()

Returns whether the window is modal.

getResizable
bool getResizable()

Gets the value set by gtk.window.Window.setResizable.

getTitle
string getTitle()

Retrieves the title of the window.

getTitlebar
gtk.widget.Widget getTitlebar()

Returns the custom titlebar that has been set with gtk.window.Window.setTitlebar.

getTransientFor
gtk.window.Window getTransientFor()

Fetches the transient parent for this window.

hasGroup
bool hasGroup()

Returns whether window has an explicit window group.

isActive
bool isActive()

Returns whether the window is part of the current active toplevel.

isFullscreen
bool isFullscreen()

Retrieves the current fullscreen state of window.

isMaximized
bool isMaximized()

Retrieves the current maximized state of window.

isSuspended
bool isSuspended()

Retrieves the current suspended state of window.

maximize
void maximize()

Asks to maximize window, so that it fills the screen.

minimize
void minimize()

Asks to minimize the specified window.

present
void present()

Presents a window to the user.

presentWithTime
void presentWithTime(uint timestamp)

Presents a window to the user in response to an user interaction.

setApplication
void setApplication(gtk.application.Application application)

Sets or unsets the gtk.application.Application associated with the window.

setChild
void setChild(gtk.widget.Widget child)

Sets the child widget of window.

setDecorated
void setDecorated(bool setting)

Sets whether the window should be decorated.

setDefaultSize
void setDefaultSize(int width, int height)

Sets the default size of a window.

setDefaultWidget
void setDefaultWidget(gtk.widget.Widget defaultWidget)

Sets the default widget.

setDeletable
void setDeletable(bool setting)

Sets whether the window should be deletable.

setDestroyWithParent
void setDestroyWithParent(bool setting)

If setting is true, then destroying the transient parent of window will also destroy window itself.

setDisplay
void setDisplay(gdk.display.Display display)

Sets the gdk.display.Display where the window is displayed.

setFocus
void setFocus(gtk.widget.Widget focus)

Sets the focus widget.

setFocusVisible
void setFocusVisible(bool setting)

Sets whether “focus rectangles” are supposed to be visible.

setHandleMenubarAccel
void setHandleMenubarAccel(bool handleMenubarAccel)

Sets whether this window should react to F10 key presses by activating a menubar it contains.

setHideOnClose
void setHideOnClose(bool setting)

If setting is true, then clicking the close button on the window will not destroy it, but only hide it.

setIconName
void setIconName(string name)

Sets the icon for the window from a named themed icon.

setMnemonicsVisible
void setMnemonicsVisible(bool setting)

Sets whether mnemonics are supposed to be visible.

setModal
void setModal(bool modal)

Sets a window modal or non-modal.

setResizable
void setResizable(bool resizable)

Sets whether the user can resize a window.

setStartupId
void setStartupId(string startupId)

Sets the startup notification ID.

setTitle
void setTitle(string title)

Sets the title of the gtk.window.Window.

setTitlebar
void setTitlebar(gtk.widget.Widget titlebar)

Sets a custom titlebar for window.

setTransientFor
void setTransientFor(gtk.window.Window parent)

Dialog windows should be set transient for the main application window they were spawned from. This allows window managers to e.g. keep the dialog on top of the main window, or center the dialog over the main window. gtk.dialog.Dialog.newWithButtons and other convenience functions in GTK will sometimes call gtk.window.Window.setTransientFor on your behalf.

unfullscreen
void unfullscreen()

Asks to remove the fullscreen state for window, and return to its previous state.

unmaximize
void unmaximize()

Asks to unmaximize window.

unminimize
void unminimize()

Asks to unminimize the specified window.

connectActivateDefault
ulong connectActivateDefault(T callback, Flag!"After" after)

Connect to ActivateDefault signal.

connectActivateFocus
ulong connectActivateFocus(T callback, Flag!"After" after)

Connect to ActivateFocus signal.

connectCloseRequest
ulong connectCloseRequest(T callback, Flag!"After" after)

Connect to CloseRequest signal.

connectEnableDebugging
ulong connectEnableDebugging(T callback, Flag!"After" after)

Connect to EnableDebugging signal.

connectKeysChanged
ulong connectKeysChanged(T callback, Flag!"After" after)

Connect to KeysChanged signal.

Examples

<object class="AdwWindow">
  <property name="width-request">360</property>
  <property name="height-request">200</property>
  <property name="content">
    <object class="AdwToolbarView">
      <child type="top">
        <object class="AdwHeaderBar"/>
      </child>
      <property name="content">
        <!-- ... -->
      </property>
      <child type="bottom">
        <object class="GtkActionBar" id="bottom_bar">
          <property name="revealed">True</property>
          <property name="visible">False</property>
        </object>
      </child>
    </object>
  </property>
  <child>
    <object class="AdwBreakpoint">
      <condition>max-width: 500px</condition>
      <setter object="bottom_bar" property="visible">True</setter>
    </object>
  </child>
</object>

Like adw.breakpoint_bin.BreakpointBin, if breakpoints are used, adw.window.Window doesn't have a minimum size, and property@Gtk.Widget:width-request and property@Gtk.Widget:height-request properties must be set manually.