Gtk::Window Class Reference
Widgets

Toplevel Window. More...

`#include <gtkmm/window.h>`

Inheritance diagram for Gtk::Window:
[legend]

## Public Member Functions

| Window (Window &&src) noexcept
Window & | operator= (Window &&src) noexcept
| Window (const Window &)=delete
Window & | operator= (const Window &)=delete
| ~Window () noexcept override
GtkWindow * | gobj ()
| Provides access to the underlying C GObject.
const GtkWindow * | gobj () const
| Provides access to the underlying C GObject.
| Window (WindowType type=WINDOW_TOPLEVEL)
Glib::PropertyProxy_ReadOnly< WindowType > | property_type () const
| The type of the window.
Glib::PropertyProxy< Glib::ustring > | property_title ()
| The title of the window.
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_title () const
| The title of the window.
Glib::PropertyProxy_WriteOnly< Glib::ustring > | property_startup_id ()
| The :startup-id is a write-only property for setting window's startup notification identifier.
Glib::PropertyProxy< bool > | property_resizable ()
| If `true`, users can resize the window.
Glib::PropertyProxy_ReadOnly< bool > | property_resizable () const
| If `true`, users can resize the window.
Glib::PropertyProxy< bool > | property_modal ()
| If `true`, the window is modal (other windows are not usable while this one is up).
Glib::PropertyProxy_ReadOnly< bool > | property_modal () const
| If `true`, the window is modal (other windows are not usable while this one is up).
Glib::PropertyProxy< WindowPosition > | property_window_position ()
| The initial position of the window.
Glib::PropertyProxy_ReadOnly< WindowPosition > | property_window_position () const
| The initial position of the window.
Glib::PropertyProxy< int > | property_default_width ()
| The default width of the window, used when initially showing the window.
Glib::PropertyProxy_ReadOnly< int > | property_default_width () const
| The default width of the window, used when initially showing the window.
Glib::PropertyProxy< int > | property_default_height ()
| The default height of the window, used when initially showing the window.
Glib::PropertyProxy_ReadOnly< int > | property_default_height () const
| The default height of the window, used when initially showing the window.
Glib::PropertyProxy< bool > | property_destroy_with_parent ()
| If this window should be destroyed when the parent is destroyed.
Glib::PropertyProxy_ReadOnly< bool > | property_destroy_with_parent () const
| If this window should be destroyed when the parent is destroyed.
Glib::PropertyProxy< bool > | property_hide_titlebar_when_maximized ()
| Whether the titlebar should be hidden during maximization.
Glib::PropertyProxy_ReadOnly< bool > | property_hide_titlebar_when_maximized () const
| Whether the titlebar should be hidden during maximization.
Glib::PropertyProxy< Glib::RefPtr< Gdk::Pixbuf > > | property_icon ()
| Icon for this window.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gdk::Pixbuf > > | property_icon () const
| Icon for this window.
Glib::PropertyProxy< bool > | property_mnemonics_visible ()
| Whether mnemonics are currently visible in this window.
Glib::PropertyProxy_ReadOnly< bool > | property_mnemonics_visible () const
| Whether mnemonics are currently visible in this window.
Glib::PropertyProxy< Glib::ustring > | property_icon_name ()
| The :icon-name property specifies the name of the themed icon to use as the window icon.
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_icon_name () const
| The :icon-name property specifies the name of the themed icon to use as the window icon.
Glib::PropertyProxy< Glib::RefPtr< Gdk::Screen > > | property_screen ()
| The screen where this window will be displayed.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gdk::Screen > > | property_screen () const
| The screen where this window will be displayed.
Glib::PropertyProxy_ReadOnly< bool > | property_is_active () const
| Whether the toplevel is the current active window.
Glib::PropertyProxy_ReadOnly< bool > | property_has_toplevel_focus () const
| Whether the input focus is within this GtkWindow.
Glib::PropertyProxy< GdkWindowTypeHint > | property_type_hint ()
| Hint to help the desktop environment understand what kind of window this is and how to treat it.
Glib::PropertyProxy_ReadOnly< GdkWindowTypeHint > | property_type_hint () const
| Hint to help the desktop environment understand what kind of window this is and how to treat it.
Glib::PropertyProxy< bool > | property_skip_taskbar_hint ()
| `true` if the window should not be in the task bar.
Glib::PropertyProxy_ReadOnly< bool > | property_skip_taskbar_hint () const
| `true` if the window should not be in the task bar.
Glib::PropertyProxy< bool > | property_skip_pager_hint ()
| `true` if the window should not be in the pager.
Glib::PropertyProxy_ReadOnly< bool > | property_skip_pager_hint () const
| `true` if the window should not be in the pager.
Glib::PropertyProxy< Glib::ustring > | property_role ()
| Unique identifier for the window to be used when restoring a session.
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_role () const
| Unique identifier for the window to be used when restoring a session.
Glib::PropertyProxy< bool > | property_decorated ()
| Whether the window should be decorated by the window manager.
Glib::PropertyProxy_ReadOnly< bool > | property_decorated () const
| Whether the window should be decorated by the window manager.
Glib::PropertyProxy< Gdk::Gravity > | property_gravity ()
| The window gravity of the window.
Glib::PropertyProxy_ReadOnly< Gdk::Gravity > | property_gravity () const
| The window gravity of the window.
Glib::PropertyProxy< Window * > | property_transient_for ()
| The transient parent of the window.
Glib::PropertyProxy_ReadOnly< Window * > | property_transient_for () const
| The transient parent of the window.
Glib::PropertyProxy< double > | property_opacity ()
| The opacity of the window, from 0 to 1.
Glib::PropertyProxy_ReadOnly< double > | property_opacity () const
| The opacity of the window, from 0 to 1.
Glib::PropertyProxy< bool > | property_has_resize_grip ()
| Whether the window has a corner resize grip.
Glib::PropertyProxy_ReadOnly< bool > | property_has_resize_grip () const
| Whether the window has a corner resize grip.
Glib::PropertyProxy_ReadOnly< bool > | property_resize_grip_visible () const
| Whether a corner resize grip is currently shown.
Glib::PropertyProxy< bool > | property_urgency_hint ()
| `true` if the window should be brought to the user's attention.
Glib::PropertyProxy_ReadOnly< bool > | property_urgency_hint () const
| `true` if the window should be brought to the user's attention.
Glib::PropertyProxy< bool > | property_accept_focus ()
| Whether the window should receive the input focus.
Glib::PropertyProxy_ReadOnly< bool > | property_accept_focus () const
| Whether the window should receive the input focus.
Glib::PropertyProxy< bool > | property_focus_on_map ()
| Whether the window should receive the input focus when mapped.
Glib::PropertyProxy_ReadOnly< bool > | property_focus_on_map () const
| Whether the window should receive the input focus when mapped.
Glib::PropertyProxy< bool > | property_deletable ()
| Whether the window frame should have a close button.
Glib::PropertyProxy_ReadOnly< bool > | property_deletable () const
| Whether the window frame should have a close button.
Glib::PropertyProxy< Glib::RefPtr< Application > > | property_application ()
| The Gtk::Application associated with the window.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Application > > | property_application () const
| The Gtk::Application associated with the window.
Glib::PropertyProxy< bool > | property_focus_visible ()
| Whether 'focus rectangles' are currently visible in this window.
Glib::PropertyProxy_ReadOnly< bool > | property_focus_visible () const
| Whether 'focus rectangles' are currently visible in this window.
Glib::PropertyProxy< Widget * > | property_attached_to ()
| The widget to which this window is attached.
Glib::PropertyProxy_ReadOnly< Widget * > | property_attached_to () const
| The widget to which this window is attached.
Glib::PropertyProxy_ReadOnly< bool > | property_is_maximized () const
| Whether the window is maximized.
Glib::SignalProxy< void, Widget * > | signal_set_focus ()
Glib::SignalProxy< void > | signal_keys_changed ()
void | set_title (const Glib::ustring &title)
| Sets the title of the Gtk::Window.
Glib::ustring | get_title () const
| Retrieves the title of the window.
void | set_wmclass (const Glib::ustring &wmclass_name, const Glib::ustring &wmclass_class)
| Don’t use this function.
void | set_role (const Glib::ustring &role)
| This function is only useful on X11, not with other GTK+ targets.
void | set_startup_id (const Glib::ustring &startup_id)
| Startup notification identifiers are used by desktop environment to track application startup, to provide user feedback and other features.
Glib::ustring | get_role () const
| Returns the role of the window.
void | add_accel_group (const Glib::RefPtr< AccelGroup > &accel_group)
| Associate accel_group with window, such that calling gtk_accel_groups_activate() on window will activate accelerators in accel_group.
void | remove_accel_group (const Glib::RefPtr< AccelGroup > &accel_group)
| Reverses the effects of add_accel_group().
void | set_position (WindowPosition position)
| Sets a position constraint for this window.
bool | activate_focus ()
| Activates the current focused widget within the window.
void | set_focus (Gtk::Widget & focus)
| If focus is not the current focus widget, and is focusable, sets it as the focus widget for the window.
void | unset_focus ()
Widget * | get_focus ()
| Retrieves the current focused widget within the window.
const Widget * | get_focus () const
| Retrieves the current focused widget within the window.
void | set_default (Gtk::Widget &default_widget)
| The default widget is the widget that's activated when the user presses Enter in a dialog (for example).
void | unset_default ()
Widget * | get_default_widget ()
| Returns the default widget for window.
const Widget * | get_default_widget () const
| Returns the default widget for window.
bool | activate_default ()
| Activates the default widget for the window, unless the current focused widget has been configured to receive the default action (see Gtk::Widget::set_receives_default()), in which case the focused widget is activated.
void | set_transient_for (Window & parent)
| Dialog windows should be set transient for the main application window they were spawned from.
void | unset_transient_for ()
| Unsets the current transient window.
Window * | get_transient_for ()
| Fetches the transient parent for this window.
const Window * | get_transient_for () const
| Fetches the transient parent for this window.
void | unset_attached_to ()
| Unsets the attached-to widget.
void | set_attached_to (Widget &attach_widget)
| Marks window as attached to attach_widget.
Widget * | get_attached_to ()
| Fetches the attach widget for this window.
const Widget * | get_attached_to () const
| Fetches the attach widget for this window.
void | set_opacity (double opacity)
| Request the windowing system to make window partially transparent, with opacity 0 being fully transparent and 1 fully opaque.
double | get_opacity () const
| Fetches the requested opacity for this window.
void | set_type_hint (Gdk::WindowTypeHint hint)
| By setting the type hint for the window, you allow the window manager to decorate and handle the window in a way which is suitable to the function of the window in your application.
Gdk::WindowTypeHint | get_type_hint () const
| Gets the type hint for this window.
void | set_skip_taskbar_hint (bool setting=true)
| Windows may set a hint asking the desktop environment not to display the window in the task bar.
bool | get_skip_taskbar_hint () const
| Gets the value set by set_skip_taskbar_hint()
void | set_skip_pager_hint (bool setting=true)
| Windows may set a hint asking the desktop environment not to display the window in the pager.
bool | get_skip_pager_hint () const
| Gets the value set by set_skip_pager_hint().
void | set_urgency_hint (bool setting=true)
| Windows may set a hint asking the desktop environment to draw the users attention to the window.
bool | get_urgency_hint () const
| Gets the value set by set_urgency_hint()
void | set_accept_focus (bool setting=true)
| Windows may set a hint asking the desktop environment not to receive the input focus.
bool | get_accept_focus () const
| Gets the value set by set_accept_focus().
void | set_focus_on_map (bool setting=true)
| Windows may set a hint asking the desktop environment not to receive the input focus when the window is mapped.
bool | get_focus_on_map () const
| Gets the value set by set_focus_on_map().
bool | get_destroy_with_parent () const
| Returns whether the window will be destroyed with its transient parent.
void | set_hide_titlebar_when_maximized (bool setting=true)
| If setting is `true`, then window will request that it’s titlebar should be hidden when maximized.
bool | get_hide_titlebar_when_maximized () const
| Returns whether the window has requested to have its titlebar hidden when maximized.
void | set_mnemonics_visible (bool setting=true)
| Sets the Gtk::Window::property_mnemonics_visible() property.
bool | get_mnemonics_visible () const
| Gets the value of the Gtk::Window::property_mnemonics_visible() property.
void | set_focus_visible (bool setting=true)
| Sets the Gtk::Window::property_focus_visible() property.
bool | get_focus_visible () const
| Gets the value of the Gtk::Window::property_focus_visible() property.
void | set_resizable (bool resizable=true)
| Sets whether the user can resize a window.
bool | get_resizable () const
| Gets the value set by set_resizable().
void | set_gravity (Gdk::Gravity gravity)
| Window gravity defines the meaning of coordinates passed to move().
Gdk::Gravity | get_gravity () const
| Gets the value set by set_gravity().
void | set_geometry_hints (Widget &geometry_widget, const Gdk::Geometry &geometry, Gdk::WindowHints geom_mask)
| This function sets up hints about how a window can be resized by the user.
void | set_screen (const Glib::RefPtr< Gdk::Screen > &screen)
| Sets the Gdk::Screen where the window is displayed; if the window is already mapped, it will be unmapped, and then remapped on the new screen.
Glib::RefPtr< Gdk::Screen > | get_screen ()
| Returns the Gdk::Screen associated with window.
Glib::RefPtr< const Gdk::Screen > | get_screen () const
| Returns the Gdk::Screen associated with window.
bool | is_active () const
| Returns whether the window is part of the current active toplevel.
bool | has_toplevel_focus () const
| Returns whether the input focus is within this GtkWindow.
void | set_decorated (bool setting=true)
| By default, windows are decorated with a title bar, resize controls, etc.
bool | get_decorated () const
| Returns whether the window has been set to have decorations such as a title bar via set_decorated().
void | set_deletable (bool setting=true)
| By default, windows have a close button in the window frame.
bool | get_deletable () const
| Returns whether the window has been set to have a close button via set_deletable().
std::vector< Glib::RefPtr< Gdk::Pixbuf > > | get_icon_list ()
| Retrieves the list of icons set by set_icon_list().
std::vector< Glib::RefPtr< const Gdk::Pixbuf > > | get_icon_list () const
| Retrieves the list of icons set by set_icon_list().
void | set_icon_list (const std::vector< Glib::RefPtr< Gdk::Pixbuf > > & list)
| Sets up the icon representing a Gtk::Window.
void | set_icon (const Glib::RefPtr< Gdk::Pixbuf > &icon)
| Sets up the icon representing a Gtk::Window.
void | set_icon_name (const Glib::ustring & name)
| Sets the icon for the window from a named themed icon.
bool | set_icon_from_file (const std::string & filename)
| Sets the icon for the window.
Glib::RefPtr< Gdk::Pixbuf > | get_icon ()
| Gets the value set by set_icon() (or if you've called set_icon_list(), gets the first icon in the icon list).
Glib::RefPtr< const Gdk::Pixbuf > | get_icon () const
| Gets the value set by set_icon() (or if you've called set_icon_list(), gets the first icon in the icon list).
Glib::ustring | get_icon_name () const
| Returns the name of the themed icon for the window, see set_icon_name().
void | set_modal (bool modal=true)
| Sets a window modal or non-modal.
bool | get_modal () const
| Returns whether the window is modal.
void | add_mnemonic (guint keyval, Widget & target)
| Adds a mnemonic to this window.
void | remove_mnemonic (guint keyval, Widget & target)
| Removes a mnemonic from this window.
bool | mnemonic_activate (guint keyval, Gdk::ModifierType modifier)
| Activates the targets associated with the mnemonic.
void | set_mnemonic_modifier (Gdk::ModifierType modifier)
| Sets the mnemonic modifier for this window.
Gdk::ModifierType | get_mnemonic_modifier ()
| Returns the mnemonic modifier for this window.
void | present ()
| Presents a window to the user.
void | present (guint32 timestamp)
| Presents a window to the user in response to a user interaction.
void | iconify ()
| Asks to iconify (i.e. minimize) the specified window.
void | deiconify ()
| Asks to deiconify (i.e. unminimize) the specified window.
void | stick ()
| Asks to stick window, which means that it will appear on all user desktops.
void | unstick ()
| Asks to unstick window, which means that it will appear on only one of the user’s desktops.
void | maximize ()
| Asks to maximize window, so that it becomes full-screen.
void | unmaximize ()
| Asks to unmaximize window.
void | fullscreen ()
| Asks to place window in the fullscreen state.
void | unfullscreen ()
| Asks to toggle off the fullscreen state for window.
void | fullscreen_on_monitor (const Glib::RefPtr< Gdk::Screen > &screen, int monitor)
| Asks to place window in the fullscreen state.
void | close ()
| Requests that the window is closed, similar to what happens when a window manager close button is clicked.
void | begin_resize_drag (Gdk::WindowEdge edge, int button, int root_x, int root_y, guint32 timestamp)
| Starts resizing a window.
void | begin_move_drag (int button, int root_x, int root_y, guint32 timestamp)
| Starts moving a window.
void | set_default_size (int width, int height)
| Sets the default size of a window.
void | get_default_size (int & width, int &height) const
| Gets the default size of the window.
void | resize (int width, int height)
| Resizes the window as if the user had done so, obeying geometry constraints.
void | get_size (int & width, int &height) const
| Obtains the current size of window.
void | move (int x, int y)
| Asks the [window manager][gtk-X11-arch] to move window to the given position.
void | get_position (int &root_x, int &root_y) const
| This function returns the position you need to pass to move() to keep window in its current position.
bool | parse_geometry (const Glib::ustring &geometry)
| Parses a standard X Window System geometry string - see the manual page for X (type “man X”) for details on this.
void | set_default_geometry (int width, int height)
| Like set_default_size(), but width and height are interpreted in terms of the base size and increment set with gtk_window_set_geometry_hints.
void | resize_to_geometry (int width, int height)
| Like resize(), but width and height are interpreted in terms of the base size and increment set with gtk_window_set_geometry_hints.
Glib::RefPtr< WindowGroup > | get_group ()
| Returns the group for window or the default group, if window is `nullptr` or if window does not have an explicit window group.
Glib::RefPtr< const WindowGroup > | get_group () const
| Returns the group for window or the default group, if window is `nullptr` or if window does not have an explicit window group.
bool | has_group () const
| Returns whether window has an explicit window group.
WindowType | get_window_type () const
| Gets the type of the window.
void | reshow_with_initial_size ()
| Hides window, then reshows it, resetting the default size and position of the window.
Glib::RefPtr< Application > | get_application ()
| Gets the Gtk::Application associated with the window (if any).
Glib::RefPtr< const Application > | get_application () const
| Gets the Gtk::Application associated with the window (if any).
void | set_application (const Glib::RefPtr< Application > &application)
| Sets the Gtk::Application associated with the window.
void | unset_application ()
| Unsets the Application associated with the window.
void | set_has_resize_grip (bool value=true)
| Sets whether window has a corner resize grip.
bool | get_has_resize_grip () const
| Determines whether the window may have a resize grip.
bool | get_resize_grip_is_visible () const
| Determines whether a resize grip is visible for the specified window.
bool | get_resize_grip_area (Gdk::Rectangle &rect) const
| If a window has a resize grip, this will retrieve the grip position, width and height into the specified Gdk::Rectangle.
void | set_keep_above (bool setting=true)
| Asks to keep window above, so that it stays on top.
void | set_keep_below (bool setting=true)
| Asks to keep window below, so that it stays in bottom.
void | set_titlebar (Widget &titlebar)
| Sets a custom titlebar for window.
Widget * | get_titlebar ()
| Returns the custom titlebar that has been set with set_titlebar().
const Widget * | get_titlebar () const
| Returns the custom titlebar that has been set with set_titlebar().
bool | is_maximized () const
| Retrieves the current maximized state of window.
void | show_uri (const Glib::ustring & uri, guint32 timestamp)
| This is a convenience function for launching the default application to show the uri.
Glib::RefPtr< AccelGroup > | get_accel_group ()
| Returns a default accel group for this window.
std::vector< Glib::RefPtr< AccelGroup > > | get_accel_groups ()
| Gets a vector containing each Gtk::AccelGroup associated with the window.
virtual void | raise ()
| Brings the window to the front.
void | set_manage () override
| Overriden to warn that it doesn't make sense to use Gtk::manage() on this class because it has no parent container.
Public Member Functions inherited from Gtk::Bin
| Bin (Bin &&src) noexcept
Bin & | operator= (Bin &&src) noexcept
| Bin (const Bin &)=delete
Bin & | operator= (const Bin &)=delete
| ~Bin () noexcept override
GtkBin * | gobj ()
| Provides access to the underlying C GObject.
const GtkBin * | gobj () const
| Provides access to the underlying C GObject.
Gtk::Widget * | get_child ()
| Gets the child of the Gtk::Bin, or `nullptr` if the bin contains no child widget.
const Gtk::Widget * | get_child () const
| Gets the child of the Gtk::Bin, or `nullptr` if the bin contains no child widget.
void | remove ()
| Remove the contained widget.
void | add_label (const Glib::ustring &label, bool mnemonic=false, double x_align=0.5, double y_align=0.5)
| Add a Label object.
void | add_label (const Glib::ustring &label, bool mnemonic, Align x_align, Align y_align=ALIGN_CENTER)
| Add a Label object.
void | add_pixlabel (const std::string &pixfile, const Glib::ustring &label, double x_align=0.5, double y_align=0.5)
| Add Image and Label objects.
void | add_pixlabel (const std::string &pixfile, const Glib::ustring &label, Align x_align, Align y_align=ALIGN_CENTER)
| Add Image and Label objects.
Public Member Functions inherited from Gtk::Container
| Container (Container &&src) noexcept
Container & | operator= (Container &&src) noexcept
| Container (const Container &)=delete
Container & | operator= (const Container &)=delete
| ~Container () noexcept override
GtkContainer * | gobj ()
| Provides access to the underlying C GObject.
const GtkContainer * | gobj () const
| Provides access to the underlying C GObject.
void | set_border_width (guint border_width)
| Sets the border width of the container.
guint | get_border_width () const
| Retrieves the border width of the container.
virtual void | add (Widget &widget)
| Adds widget to container.
void | remove (Widget &widget)
| Removes widget from the container.
void | set_resize_mode (ResizeMode resize_mode)
| Sets the resize mode for the container.
ResizeMode | get_resize_mode () const
| Returns the resize mode for the container.
void | check_resize ()
| Request that contained widgets check their size.
void | foreach (const ForeachSlot &slot)
| Operate on contained items.
void | forall (const ForeachSlot &slot)
| Operate on contained items, including internal children.
std::vector< Widget * > | get_children ()
| Returns the container’s non-internal children.
std::vector< const Widget * > | get_children () const
| Returns the container’s non-internal children.
void | propagate_draw (Widget &child, const ::Cairo::RefPtr< ::Cairo::Context > &cr)
| When a container receives a call to the draw function, it must send synthetic Gtk::Widget::signal_draw() calls to all children that don’t have their own Gdk::Windows.
void | set_focus_chain (const std::vector< Widget * > &focusable_widgets)
| Sets a focus chain, overriding the one computed automatically by GTK+.
bool | has_focus_chain () const
std::vector< Widget * > | get_focus_chain ()
std::vector< const Widget * > | get_focus_chain () const
void | unset_focus_chain ()
| Removes a focus chain explicitly set with set_focus_chain().
void | set_reallocate_redraws (bool needs_redraws=true)
| Sets the reallocate_redraws flag of the container to the given value.
void | set_focus_child (Widget &widget)
| Sets the focus on a child.
Widget * | get_focus_child ()
| Returns the current focus child widget inside container.
const Widget * | get_focus_child () const
| Returns the current focus child widget inside container.
void | set_focus_vadjustment (const Glib::RefPtr< Adjustment > &adjustment)
| Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget.
Glib::RefPtr< Adjustment > | get_focus_vadjustment ()
| Retrieves the vertical focus adjustment for the container.
Glib::RefPtr< const Adjustment > | get_focus_vadjustment () const
| Retrieves the vertical focus adjustment for the container.
void | set_focus_hadjustment (const Glib::RefPtr< Adjustment > &adjustment)
| Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget.
Glib::RefPtr< Adjustment > | get_focus_hadjustment ()
| Retrieves the horizontal focus adjustment for the container.
Glib::RefPtr< const Adjustment > | get_focus_hadjustment () const
| Retrieves the horizontal focus adjustment for the container.
void | resize_children ()
GType | child_type () const
| Returns the type of the children supported by the container.
WidgetPath | get_path_for_child (const Widget &child) const
| Returns a newly created widget path representing all the widget hierarchy from the toplevel down to and including child.
Glib::SignalProxy< void, Widget * > | signal_add ()
Glib::SignalProxy< void, Widget * > | signal_remove ()
Glib::SignalProxy< void > | signal_check_resize ()
Glib::SignalProxy< void, Widget * > | signal_set_focus_child ()
void | show_all_children (bool recursive=true)
Public Member Functions inherited from Gtk::Widget
| Widget (Widget &&src) noexcept
Widget & | operator= (Widget &&src) noexcept
| Widget (const Widget &)=delete
Widget & | operator= (const Widget &)=delete
| ~Widget () noexcept override
| Destroys the widget.
GtkWidget * | gobj ()
| Provides access to the underlying C GObject.
const GtkWidget * | gobj () const
| Provides access to the underlying C GObject.
void | show ()
| Flags a widget to be displayed.
void | show_now ()
| Shows a widget.
void | hide ()
| Reverses the effects of show(), causing the widget to be hidden (invisible to the user).
void | show_all ()
| Recursively shows a widget, and any child widgets (if the widget is a container).
void | queue_draw ()
| Equivalent to calling queue_draw_area() for the entire area of a widget.
void | queue_draw_area (int x, int y, int width, int height)
| Convenience function that calls queue_draw_region() on the region created from the given coordinates.
void | queue_draw_region (const ::Cairo::RefPtr< const ::Cairo::Region > &region)
| Invalidates the area of widget defined by region by calling gdk_window_invalidate_region() on the widget’s window and all its child windows.
void | queue_resize ()
| This function is only for use in widget implementations.
void | queue_allocate ()
| This function is only for use in widget implementations.
void | size_allocate (const Allocation &allocation)
| This function is only used by Gtk::Container subclasses, to assign a size and position to their child widgets.
void | size_allocate (const Allocation &allocation, int baseline)
| This function is only used by Gtk::Container subclasses, to assign a size, position and (optionally) baseline to their child widgets.
SizeRequestMode | get_request_mode () const
| Gets whether the widget prefers a height-for-width layout or a width-for-height layout.
void | get_preferred_width (int &minimum_width, int &natural_width) const
| Retrieves a widget’s initial minimum and natural width.
void | get_preferred_height_for_width (int width, int &minimum_height, int &natural_height) const
| Retrieves a widget’s minimum and natural height if it would be given the specified width.
void | get_preferred_height_for_width (int width, int &minimum_height, int &natural_height, int &minimum_baseline, int &natural_baseline) const
| Retrieves a widget’s minimum and natural height and the corresponding baselines if it would be given the specified width, or the default height if width is -1.
void | get_preferred_height (int &minimum_height, int &natural_height) const
| Retrieves a widget’s initial minimum and natural height.
void | get_preferred_width_for_height (int height, int &minimum_width, int &natural_width) const
| Retrieves a widget’s minimum and natural width if it would be given the specified height.
void | get_preferred_size (Requisition &minimum_size, Requisition &natural_size) const
| Retrieves the minimum and natural size of a widget, taking into account the widget’s preference for height-for-width management.
void | add_accelerator (const Glib::ustring &accel_signal, const Glib::RefPtr< AccelGroup > &accel_group, guint accel_key, Gdk::ModifierType accel_mods, AccelFlags accel_flags)
| Installs an accelerator for this widget in accel_group that causes accel_signal to be emitted if the accelerator is activated.
bool | remove_accelerator (const Glib::RefPtr< AccelGroup > &accel_group, guint accel_key, Gdk::ModifierType accel_mods)
| Removes an accelerator from widget, previously installed with add_accelerator().
void | set_accel_path (const Glib::ustring &accel_path, const Glib::RefPtr< AccelGroup > &accel_group)
| Given an accelerator group, accel_group, and an accelerator path, accel_path, sets up an accelerator in accel_group so whenever the key binding that is defined for accel_path is pressed, widget will be activated.
bool | mnemonic_activate (bool group_cycling)
| Emits the Gtk::Widget::signal_mnemonic_activate() signal.
bool | event (GdkEvent *gdk_event)
| Rarely-used function.
int | send_expose (GdkEvent *gdk_event)
| Very rarely-used function.
bool | send_focus_change (GdkEvent *gdk_event)
| Sends the focus change gdk_event to widget.
bool | activate ()
| For widgets that can be “activated” (buttons, menu items, etc.) this function activates them.
void | reparent (Widget &new_parent)
| Moves a widget from one Gtk::Container to another, handling reference count issues to avoid destroying the widget.
bool | intersect (const Gdk::Rectangle &area) const
bool | intersect (const Gdk::Rectangle &area, Gdk::Rectangle &intersection) const
| Computes the intersection of a widget’s area and area, storing the intersection in intersection, and returns `true` if there was an intersection.
::Cairo::RefPtr< ::Cairo::Region > | region_intersect (const ::Cairo::RefPtr< ::Cairo::Region > &region) const
| Computes the intersection of a widget’s area and region, returning the intersection.
void | freeze_child_notify ()
| Stops emission of Gtk::Widget::signal_child_notify() signals on widget.
void | child_notify (const Glib::ustring &child_property)
| Emits a Gtk::Widget::signal_child_notify() signal for the [child property][child-properties] child_property on widget.
void | thaw_child_notify ()
| Reverts the effect of a previous call to freeze_child_notify().
void | set_can_focus (bool can_focus=true)
| Specifies whether widget can own the input focus.
bool | get_can_focus () const
| Determines whether widget can own the input focus.
bool | has_focus () const
| Determines if the widget has the global input focus.
bool | is_focus () const
| Determines if the widget is the focus widget within its toplevel.
bool | has_visible_focus () const
| Determines if the widget should show a visible indication that it has the global input focus.
void | grab_focus ()
| Causes widget to have the keyboard focus for the Gtk::Window it's inside.
void | set_focus_on_click (bool focus_on_click=true)
| Sets whether the widget should grab focus when it is clicked with the mouse.
bool | get_focus_on_click () const
| Returns whether the widget should grab focus when it is clicked with the mouse.
void | set_can_default (bool can_default=true)
| Specifies whether widget can be a default widget.
bool | get_can_default () const
| Determines whether widget can be a default widget.
bool | has_default () const
| Determines whether widget is the current default widget within its toplevel.
void | grab_default ()
| Causes widget to become the default widget.
void | set_receives_default (bool receives_default=true)
| Specifies whether widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
bool | get_receives_default () const
| Determines whether widget is always treated as the default widget within its toplevel when it has the focus, even if another widget is the default.
bool | has_grab () const
| Determines whether the widget is currently grabbing events, so it is the only widget receiving input events (keyboard and mouse).
bool | device_is_shadowed (const Glib::RefPtr< const Gdk::Device > &device)
| Returns `true` if device has been shadowed by a GTK+ device grab on another widget, so it would stop sending events to widget.
void | add_modal_grab ()
| Block events to everything else than this widget and its children.
void | remove_modal_grab ()
| Remove the modal grab of the widget in case it was previously grabbed.
void | set_name (const Glib::ustring & name)
| Widgets can be named, which allows you to refer to them from a CSS file.
void | unset_name ()
Glib::ustring | get_name () const
| Retrieves the name of a widget.
void | set_state (StateType state)
| This function is for use in widget implementations.
StateType | get_state () const
| Returns the widget’s state.
void | set_state_flags (StateFlags flags, bool clear=true)
| This function is for use in widget implementations.
void | unset_state_flags (StateFlags flags)
| This function is for use in widget implementations.
StateFlags | get_state_flags () const
| Returns the widget state as a flag set.
void | set_sensitive (bool sensitive=true)
| Sets the sensitivity of a widget.
bool | get_sensitive () const
| Returns the widget’s sensitivity (in the sense of returning the value that has been set using set_sensitive()).
bool | is_sensitive () const
| Returns the widget’s effective sensitivity, which means it is sensitive itself and also its parent widget is sensitive.
void | set_visible (bool visible=true)
| Sets the visibility state of widget.
bool | get_visible () const
| Determines whether the widget is visible.
bool | is_visible () const
| Determines whether the widget and all its parents are marked as visible.
bool | get_has_window () const
| Determines whether widget has a Gdk::Window of its own.
bool | get_is_toplevel () const
| Determines whether widget is a toplevel widget.
bool | get_is_drawable () const
| Determines whether widget can be drawn to.
bool | get_realized () const
| Determines whether widget is realized.
bool | get_mapped () const
| Whether the widget is mapped.
void | set_app_paintable (bool app_paintable=true)
| Sets whether the application intends to draw on the widget in an Gtk::Widget::signal_draw() handler.
bool | get_app_paintable () const
| Determines whether the application intends to draw on the widget in an Gtk::Widget::signal_draw() handler.
void | set_double_buffered (bool double_buffered=true)
| Widgets are double buffered by default; you can use this function to turn off the buffering.
bool | get_double_buffered () const
| Determines whether the widget is double buffered.
void | set_redraw_on_allocate (bool redraw_on_allocate=true)
| Sets whether the entire widget is queued for drawing when its size allocation changes.
void | set_child_visible (bool visible=true)
| Sets whether widget should be mapped along with its when its parent is mapped and widget has been shown with show().
bool | get_child_visible () const
| Gets the value set with set_child_visible().
Glib::RefPtr< Gdk::Window > | get_window ()
| Returns the widget’s window if it is realized, `nullptr` otherwise.
Glib::RefPtr< const Gdk::Window > | get_window () const
| Returns the widget’s window if it is realized, `nullptr` otherwise.
void | register_window (const Glib::RefPtr< Gdk::Window > &window)
| Registers a Gdk::Window with the widget and sets it up so that the widget receives events for it.
void | unregister_window (const Glib::RefPtr< Gdk::Window > &window)
| Unregisters a Gdk::Window from the widget that was previously set up with register_window().
int | get_allocated_width () const
| Returns the width that has currently been allocated to widget.
int | get_allocated_height () const
| Returns the height that has currently been allocated to widget.
int | get_allocated_baseline () const
| Returns the baseline that has currently been allocated to widget.
void | get_allocated_size (Allocation &allocation, int &baseline) const
| Retrieves the widget’s allocated size.
Allocation | get_allocation () const
| Retrieves the widget's location.
void | set_allocation (const Allocation &allocation)
| Sets the widget’s allocation.
void | set_clip (const Allocation &clip)
| Sets the widget’s clip.
Allocation | get_clip () const
| Retrieves the widget’s clip area.
Container * | get_parent ()
| Returns the parent container of widget.
const Container * | get_parent () const
| Returns the parent container of widget.
Glib::RefPtr< Gdk::Window > | get_parent_window ()
| Gets widget’s parent window, or `nullptr` if it does not have one.
Glib::RefPtr< const Gdk::Window > | get_parent_window () const
| Gets widget’s parent window, or `nullptr` if it does not have one.
void | set_parent_window (const Glib::RefPtr< const Gdk::Window > &parent_window)
| Sets a non default parent window for widget.
bool | child_focus (DirectionType direction)
| This function is used by custom widget implementations; if you're writing an app, you’d use grab_focus() to move the focus to a particular widget, and Gtk::Container::set_focus_chain() to change the focus tab order.
bool | keynav_failed (DirectionType direction)
| This function should be called whenever keyboard navigation within a single widget hits a boundary.
void | error_bell ()
| Notifies the user about an input-related error on this widget.
void | set_size_request (int width=-1, int height=-1)
| Sets the minimum size of a widget; that is, the widget’s size request will be at least width by height.
void | get_size_request (int & width, int &height) const
| Gets the size request that was explicitly set for the widget using set_size_request().
void | set_events (Gdk::EventMask events)
| Sets the event mask (see Gdk::EventMask) for a widget.
void | add_events (Gdk::EventMask events)
| Adds the events in the bitfield events to the event mask for widget.
void | set_device_events (const Glib::RefPtr< const Gdk::Device > &device, Gdk::EventMask events)
| Sets the device event mask (see Gdk::EventMask) for a widget.
void | add_device_events (const Glib::RefPtr< const Gdk::Device > &device, Gdk::EventMask events)
| Adds the device events in the bitfield events to the event mask for widget.
void | set_opacity (double opacity)
| Request the widget to be rendered partially transparent, with opacity 0 being fully transparent and 1 fully opaque.
double | get_opacity () const
| Fetches the requested opacity for this widget.
void | set_device_enabled (const Glib::RefPtr< Gdk::Device > &device, bool enabled=true)
| Enables or disables a Gdk::Device to interact with widget and all its children.
bool | get_device_enabled (const Glib::RefPtr< const Gdk::Device > &device) const
| Returns whether device can interact with widget and its children.
Container * | get_toplevel ()
| This function returns the topmost widget in the container hierarchy widget is a part of.
const Container * | get_toplevel () const
| This function returns the topmost widget in the container hierarchy widget is a part of.
Widget * | get_ancestor (GType widget_type)
| Gets the first ancestor of widget with type widget_type.
const Widget * | get_ancestor (GType widget_type) const
| Gets the first ancestor of widget with type widget_type.
Glib::RefPtr< Gdk::Visual > | get_visual ()
| Gets the visual that will be used to render widget.
Glib::RefPtr< Gdk::Screen > | get_screen ()
| Get the Gdk::Screen from the toplevel window associated with this widget.
Glib::RefPtr< const Gdk::Screen > | get_screen () const
| Get the Gdk::Screen from the toplevel window associated with this widget.
bool | has_screen () const
| Checks whether there is a Gdk::Screen is associated with this widget.
int | get_scale_factor () const
| Retrieves the internal scale factor that maps from window coordinates to the actual device pixels.
Glib::RefPtr< Gdk::Display > | get_display ()
| Get the Gdk::Display for the toplevel window associated with this widget.
Glib::RefPtr< const Gdk::Display > | get_display () const
| Get the Gdk::Display for the toplevel window associated with this widget.
Glib::RefPtr< Gdk::Window > | get_root_window ()
| Get the root window where this widget is located.
Glib::RefPtr< const Gdk::Window > | get_root_window () const
| Get the root window where this widget is located.
Glib::RefPtr< Settings > | get_settings ()
| Gets the settings object holding the settings used for this widget.
Glib::RefPtr< Clipboard > | get_clipboard (const Glib::ustring &selection)
| Returns the clipboard object for the given selection to be used with widget.
Glib::RefPtr< const Clipboard > | get_clipboard (const Glib::ustring &selection) const
| Returns the clipboard object for the given selection to be used with widget.
bool | get_hexpand () const
| Gets whether the widget would like any available extra horizontal space.
void | set_hexpand (bool expand=true)
| Sets whether the widget would like any available extra horizontal space.
bool | get_hexpand_set () const
| Gets whether set_hexpand() has been used to explicitly set the expand flag on this widget.
void | set_hexpand_set (bool set=true)
| Sets whether the hexpand flag (see get_hexpand()) will be used.
bool | get_vexpand () const
| Gets whether the widget would like any available extra vertical space.
void | set_vexpand (bool expand=true)
| Sets whether the widget would like any available extra vertical space.
bool | get_vexpand_set () const
| Gets whether set_vexpand() has been used to explicitly set the expand flag on this widget.
void | set_vexpand_set (bool set=true)
| Sets whether the vexpand flag (see get_vexpand()) will be used.
void | queue_compute_expand ()
| Mark widget as needing to recompute its expand flags.
bool | compute_expand (Orientation orientation)
| Computes whether a container should give this widget extra space when possible.
bool | get_support_multidevice () const
| Returns `true` if widget is multiple pointer aware.
void | set_support_multidevice (bool support_multidevice=true)
| Enables or disables multiple pointer awareness.
Glib::RefPtr< Atk::Object > | get_accessible ()
| Returns the accessible object that describes the widget to an assistive technology.
Glib::RefPtr< const Atk::Object > | get_accessible () const
| Returns the accessible object that describes the widget to an assistive technology.
Align | get_halign () const
| Gets the value of the Gtk::Widget::property_halign() property.
void | set_halign (Align align)
| Sets the horizontal alignment of widget.
Align | get_valign () const
| Gets the value of the Gtk::Widget::property_valign() property.
Align | get_valign_with_baseline () const
| Gets the value of the Gtk::Widget::property_valign() property, including Gtk::ALIGN_BASELINE.
void | set_valign (Align align)
| Sets the vertical alignment of widget.
int | get_margin_left () const
| Gets the value of the Gtk::Widget::property_margin_left() property.
void | set_margin_left (int margin)
| Sets the left margin of widget.
int | get_margin_right () const
| Gets the value of the Gtk::Widget::property_margin_right() property.
void | set_margin_right (int margin)
| Sets the right margin of widget.
int | get_margin_start () const
| Gets the value of the Gtk::Widget::property_margin_start() property.
void | set_margin_start (int margin)
| Sets the start margin of widget.
int | get_margin_end () const
| Gets the value of the Gtk::Widget::property_margin_end() property.
void | set_margin_end (int margin)
| Sets the end margin of widget.
int | get_margin_top () const
| Gets the value of the Gtk::Widget::property_margin_top() property.
void | set_margin_top (int margin)
| Sets the top margin of widget.
int | get_margin_bottom () const
| Gets the value of the Gtk::Widget::property_margin_bottom() property.
void | set_margin_bottom (int margin)
| Sets the bottom margin of widget.
Gdk::EventMask | get_events () const
| Returns the event mask (see Gdk::EventMask) for the widget.
Gdk::EventMask | get_device_events (const Glib::RefPtr< const Gdk::Device > &device) const
| Returns the events mask for the widget corresponding to an specific device.
void | get_pointer (int &x, int &y) const
| Obtains the location of the mouse pointer in widget coordinates.
bool | is_ancestor (Widget &ancestor) const
| Determines whether widget is somewhere inside ancestor, possibly with intermediate containers.
bool | translate_coordinates (Widget &dest_widget, int src_x, int src_y, int &dest_x, int &dest_y)
| Translate coordinates relative to src_widget’s allocation to coordinates relative to dest_widget’s allocations.
void | override_color (const Gdk::RGBA &color, StateFlags state=STATE_FLAG_NORMAL)
| Sets the color to use for a widget.
void | unset_color (StateFlags state=STATE_FLAG_NORMAL)
| Undoes the effect of previous calls to override_color().
void | override_background_color (const Gdk::RGBA &color, StateFlags state=STATE_FLAG_NORMAL)
| Sets the background color to use for a widget.
void | unset_background_color (StateFlags state=STATE_FLAG_NORMAL)
| Undoes the effect of previous calls to override_background_color().
void | override_font (const Pango::FontDescription &font_desc)
| Sets the font to use for a widget.
void | unset_font ()
| Undoes the effect of previous calls to override_font().
void | override_symbolic_color (const Glib::ustring & name, const Gdk::RGBA &color)
| Sets a symbolic color for a widget.
void | unset_symbolic_color (const Glib::ustring & name)
| Undoes the effect of previous calls to override_symbolic_color().
void | override_cursor (const Gdk::RGBA &cursor, const Gdk::RGBA &secondary_cursor)
| Sets the cursor color to use in a widget, overriding the cursor-color and secondary-cursor-color style properties.
void | unset_cursor ()
| Undoes the effect of previous calls to override_cursor().
void | reset_style ()
| Updates the style context of widget and all descendants by updating its widget path.
template <class PropertyType >
void | get_style_property (const Glib::ustring &the_property_name, PropertyType & value) const
| Gets the value of a style property of widget.
Glib::RefPtr< Pango::Context > | create_pango_context ()
| Creates a new Pango::Context with the appropriate font map, font options, font description, and base direction for drawing text for this widget.
Glib::RefPtr< Pango::Context > | get_pango_context ()
| Gets a Pango::Context with the appropriate font map, font description, and base direction for this widget.
void | set_font_options (const ::Cairo::FontOptions &options)
| Sets the cairo_font_options_t used for Pango rendering in this widget.
void | unset_font_options ()
| Undoes the effect of previous calls to set_font_options().
::Cairo::FontOptions | get_font_options () const
| Returns the cairo_font_options_t used for Pango rendering.
Glib::RefPtr< Pango::Layout > | create_pango_layout (const Glib::ustring &text)
| Creates a new Pango::Layout with the appropriate font map, font description, and base direction for drawing text for this widget.
Glib::RefPtr< Gdk::Pixbuf > | render_icon_pixbuf (const StockID &stock_id, IconSize size)
| A convenience function that uses the theme engine and style settings for widget to look up stock_id and render it to a pixbuf.
void | set_composite_name (const Glib::ustring & name)
| Sets a widgets composite name.
void | unset_composite_name ()
Glib::ustring | get_composite_name () const
| Obtains the composite name of a widget.
void | set_direction (TextDirection dir)
| Sets the reading direction on a particular widget.
TextDirection | get_direction () const
| Gets the reading direction for a particular widget.
void | shape_combine_region (const ::Cairo::RefPtr< const ::Cairo::Region > &region)
| Sets a shape for this widget’s GDK window.
void | input_shape_combine_region (const ::Cairo::RefPtr< const ::Cairo::Region > &region)
| Sets an input shape for this widget’s GDK window.
WidgetPath | get_path () const
| Returns the Gtk::WidgetPath representing widget, if the widget is not connected to a toplevel widget, a partial path will be created.
std::vector< Widget * > | list_mnemonic_labels ()
| Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, Gtk::Label::set_mnemonic_widget()).
std::vector< const Widget * > | list_mnemonic_labels () const
| Returns a newly allocated list of the widgets, normally labels, for which this widget is the target of a mnemonic (see for example, Gtk::Label::set_mnemonic_widget()).
void | add_mnemonic_label (Widget &label)
| Adds a widget to the list of mnemonic labels for this widget.
void | remove_mnemonic_label (Widget &label)
| Removes a widget from the list of mnemonic labels for this widget.
void | drag_get_data (const Glib::RefPtr< Gdk::DragContext > &context, const Glib::ustring & target, guint32 time)
void | drag_highlight ()
void | drag_unhighlight ()
void | drag_dest_set (DestDefaults flags=DestDefaults(0), Gdk::DragAction actions=Gdk::DragAction(0))
void | drag_dest_set (const std::vector< TargetEntry > &targets, DestDefaults flags=DEST_DEFAULT_ALL, Gdk::DragAction actions=Gdk::ACTION_COPY)
void | drag_dest_set_proxy (const Glib::RefPtr< Gdk::Window > &proxy_window, Gdk::DragProtocol protocol, bool use_coordinates)
| Sets this widget as a proxy for drops to another window.
void | drag_dest_unset ()
| Clears information about a drop destination set with gtk_drag_dest_set().
Glib::ustring | drag_dest_find_target (const Glib::RefPtr< Gdk::DragContext > &context, const Glib::RefPtr< TargetList > &target_list) const
| Looks for a match between context->targets and the dest_target_list, returning the first matching target, otherwise returning GDK_NONE.
Glib::ustring | drag_dest_find_target (const Glib::RefPtr< Gdk::DragContext > &context) const
Glib::RefPtr< TargetList > | drag_dest_get_target_list ()
| Returns the list of targets this widget can accept from drag-and-drop.
Glib::RefPtr< const TargetList > | drag_dest_get_target_list () const
| Returns the list of targets this widget can accept from drag-and-drop.
void | drag_dest_set_target_list (const Glib::RefPtr< TargetList > &target_list)
| Sets the target types that this widget can accept from drag-and-drop.
void | drag_dest_add_text_targets ()
| Add the text targets supported by Gtk::SelectionData to the target list of the drag destination.
void | drag_dest_add_image_targets ()
| Add the image targets supported by Gtk::SelectionData to the target list of the drag destination.
void | drag_dest_add_uri_targets ()
| Add the URI targets supported by Gtk::SelectionData to the target list of the drag destination.
void | drag_source_set (const std::vector< TargetEntry > &targets, Gdk::ModifierType start_button_mask=Gdk::MODIFIER_MASK, Gdk::DragAction actions=Gdk::ACTION_COPY)
void | drag_source_unset ()
| Undoes the effects of gtk_drag_source_set().
void | drag_source_set_icon (const Glib::RefPtr< Gdk::Pixbuf > &pixbuf)
| Sets the icon that will be used for drags from a particular widget from a Gdk::Pixbuf.
void | drag_source_set_icon (const StockID &stock_id)
| Sets the icon that will be used for drags from a particular source to a stock icon.
void | drag_source_set_icon (const Glib::ustring &icon_name)
| Sets the icon that will be used for drags from a particular source to a themed icon.
void | drag_source_add_text_targets ()
| Add the text targets supported by Gtk::SelectionData to the target list of the drag source.
void | drag_source_add_uri_targets ()
| Add the URI targets supported by Gtk::SelectionData to the target list of the drag source.
void | drag_source_add_image_targets ()
| Add the writable image targets supported by Gtk::SelectionData to the target list of the drag source.
Glib::RefPtr< Gdk::DragContext > | drag_begin (const Glib::RefPtr< TargetList > &targets, Gdk::DragAction actions, int button, GdkEvent *gdk_event)
Glib::RefPtr< Gdk::DragContext > | drag_begin (const Glib::RefPtr< TargetList > &targets, Gdk::DragAction actions, int button, GdkEvent *gdk_event, int x, int y)
bool | drag_check_threshold (int start_x, int start_y, int current_x, int current_y)
void | drag_set_as_icon (const Glib::RefPtr< Gdk::DragContext > &context, int hot_x, int hot_y)
void | queue_resize_no_redraw ()
| This function works like queue_resize(), except that the widget is not invalidated.
Glib::RefPtr< Gdk::FrameClock > | get_frame_clock ()
| Obtains the frame clock for a widget.
Glib::RefPtr< const Gdk::FrameClock > | get_frame_clock () const
| Obtains the frame clock for a widget.
bool | get_no_show_all () const
| Returns the current value of the Gtk::Widget::property_no_show_all() property, which determines whether calls to show_all() will affect this widget.
void | set_no_show_all (bool no_show_all=true)
| Sets the Gtk::Widget::property_no_show_all() property, which determines whether calls to show_all() will affect this widget.
void | set_parent (Widget & parent)
| This function is useful only when implementing subclasses of Gtk::Container.
void | unparent ()
| This function is only for use in widget implementations.
void | map ()
| This function is only for use in widget implementations.
void | unmap ()
| This function is only for use in widget implementations.
void | draw_insertion_cursor (const ::Cairo::RefPtr< ::Cairo::Context > &cr, const Gdk::Rectangle &location, bool is_primary, TextDirection direction, bool draw_arrow=true)
| Draws a text caret on cr at location.
void | set_tooltip_window (Window &custom_window)
| Replaces the default window used for displaying tooltips with custom_window.
Window * | get_tooltip_window ()
| Returns the Gtk::Window of the current tooltip.
void | trigger_tooltip_query ()
| Triggers a tooltip query on the display where the toplevel of widget is located.
void | set_tooltip_text (const Glib::ustring &text)
| Sets text as the contents of the tooltip.
Glib::ustring | get_tooltip_text () const
| Gets the contents of the tooltip for widget.
void | set_tooltip_markup (const Glib::ustring &markup)
| Sets markup as the contents of the tooltip, which is marked up with the Pango text markup language.
Glib::ustring | get_tooltip_markup () const
| Gets the contents of the tooltip for widget.
void | set_has_tooltip (bool has_tooltip=TRUE)
| Sets the has-tooltip property on widget to has_tooltip.
bool | get_has_tooltip () const
| Returns the current value of the has-tooltip property.
int | get_width () const
int | get_height () const
bool | is_composited () const
| Whether widget can rely on having its alpha channel drawn correctly.
bool | in_destruction () const
| Returns whether the widget is currently being destroyed.
Glib::RefPtr< StyleContext > | get_style_context ()
| Returns the style context associated to widget.
Glib::RefPtr< Gtk::StyleContext > | get_style_context () const
| Returns the style context associated to widget.
Gdk::ModifierType | get_modifier_mask (Gdk::ModifierIntent intent)
| Returns the modifier mask the widget’s windowing system backend uses for a particular purpose.
guint | add_tick_callback (const SlotTick &slot)
| Queues an animation frame update and adds a callback to be called before each frame.
void | remove_tick_callback (guint id)
| Removes a tick callback previously registered with add_tick_callback().
void | insert_action_group (const Glib::ustring & name, const Glib::RefPtr< Gio::ActionGroup > & group)
| Inserts group into widget.
void | remove_action_group (const Glib::ustring & name)
| Removes a group from the widget.
Glib::RefPtr< Gio::ActionGroup > | get_action_group (const Glib::ustring & prefix)
| Retrieves the Gio::ActionGroup that was registered using prefix.
Glib::RefPtr< const Gio::ActionGroup > | get_action_group (const Glib::ustring & prefix) const
| Retrieves the Gio::ActionGroup that was registered using prefix.
std::vector< Glib::ustring > | list_action_prefixes () const
| Retrieves a `nullptr`-terminated array of strings containing the prefixes of Gio::ActionGroup's available to widget.
void | set_font_map (const Glib::RefPtr< Pango::FontMap > &font_map)
| Sets the font map to use for Pango rendering.
Glib::RefPtr< Pango::FontMap > | get_font_map ()
| Gets the font map that has been set with set_font_map().
Glib::RefPtr< const Pango::FontMap > | get_font_map () const
| Gets the font map that has been set with set_font_map().
Glib::SignalProxy< void > | signal_show ()
Glib::SignalProxy< void > | signal_hide ()
Glib::SignalProxy< void > | signal_map ()
| Emitted on mapping of a widget to the screen.
Glib::SignalProxy< void > | signal_unmap ()
Glib::SignalProxy< void > | signal_realize ()
| Emitted on realization of a widget.
Glib::SignalProxy< void > | signal_unrealize ()
Glib::SignalProxy< void, Allocation & > | signal_size_allocate ()
Glib::SignalProxy< void, Gtk::StateType > | signal_state_changed ()
Glib::SignalProxy< void, Gtk::StateFlags > | signal_state_flags_changed ()
Glib::SignalProxy< void, Widget * > | signal_parent_changed ()
| Informs objects that their parent changed.
Glib::SignalProxy< void, Widget * > | signal_hierarchy_changed ()
Glib::SignalProxy< void > | signal_style_updated ()
Glib::SignalProxy< void, TextDirection > | signal_direction_changed ()
Glib::SignalProxy< void, bool > | signal_grab_notify ()
Glib::SignalProxy< void, GParamSpec * > | signal_child_notify ()
Glib::SignalProxyDetailedAnyType< void, GParamSpec * > | signal_child_notify (const Glib::ustring & child_property_name)
Glib::SignalProxy< bool, bool > | signal_mnemonic_activate ()
Glib::SignalProxy< void > | signal_grab_focus ()
Glib::SignalProxy< bool, DirectionType > | signal_focus ()
Glib::SignalProxy< bool, GdkEvent * > | signal_event ()
Glib::SignalProxy< void, GdkEvent * > | signal_event_after ()
Glib::SignalProxy< bool, GdkEventButton * > | signal_button_press_event ()
| Event triggered by user pressing button.
Glib::SignalProxy< bool, GdkEventButton * > | signal_button_release_event ()
| Event triggered by user releasing button.
Glib::SignalProxy< bool, GdkEventScroll * > | signal_scroll_event ()
Glib::SignalProxy< bool, GdkEventMotion * > | signal_motion_notify_event ()
| Event triggered by user moving pointer.
Glib::SignalProxy< bool, GdkEventAny * > | signal_delete_event ()
Glib::SignalProxy< bool, const ::Cairo::RefPtr< ::Cairo::Context > & > | signal_draw ()
Glib::SignalProxy< bool, GdkEventKey * > | signal_key_press_event ()
| Event triggered by a key press will widget has focus.
Glib::SignalProxy< bool, GdkEventKey * > | signal_key_release_event ()
| Event triggered by a key release will widget has focus.
Glib::SignalProxy< bool, GdkEventCrossing * > | signal_enter_notify_event ()
| Event triggered by pointer entering widget area.
Glib::SignalProxy< bool, GdkEventCrossing * > | signal_leave_notify_event ()
| Event triggered by pointer leaving widget area.
Glib::SignalProxy< bool, GdkEventConfigure * > | signal_configure_event ()
| Event triggered by a window resizing.
Glib::SignalProxy< bool, GdkEventFocus * > | signal_focus_in_event ()
Glib::SignalProxy< bool, GdkEventFocus * > | signal_focus_out_event ()
Glib::SignalProxy< bool, GdkEventAny * > | signal_map_event ()
Glib::SignalProxy< bool, GdkEventAny * > | signal_unmap_event ()
Glib::SignalProxy< bool, GdkEventProperty * > | signal_property_notify_event ()
Glib::SignalProxy< bool, GdkEventSelection * > | signal_selection_clear_event ()
Glib::SignalProxy< bool, GdkEventSelection * > | signal_selection_request_event ()
Glib::SignalProxy< bool, GdkEventSelection * > | signal_selection_notify_event ()
Glib::SignalProxy< bool, GdkEventProximity * > | signal_proximity_in_event ()
Glib::SignalProxy< bool, GdkEventProximity * > | signal_proximity_out_event ()
Glib::SignalProxy< bool, GdkEventVisibility * > | signal_visibility_notify_event ()
Glib::SignalProxy< bool, GdkEventWindowState * > | signal_window_state_event ()
Glib::SignalProxy< void, SelectionData &, guint, guint > | signal_selection_get ()
Glib::SignalProxy< void, const SelectionData &, guint > | signal_selection_received ()
Glib::SignalProxy< void, const Glib::RefPtr< Gdk::DragContext > & > | signal_drag_begin ()
Glib::SignalProxy< void, const Glib::RefPtr< Gdk::DragContext > & > | signal_drag_end ()
Glib::SignalProxy< void, const Glib::RefPtr< Gdk::DragContext > &, SelectionData &, guint, guint > | signal_drag_data_get ()
Glib::SignalProxy< void, const Glib::RefPtr< Gdk::DragContext > & > | signal_drag_data_delete ()
Glib::SignalProxy< bool, const Glib::RefPtr< Gdk::DragContext > &, DragResult > | signal_drag_failed ()
Glib::SignalProxy< void, const Glib::RefPtr< Gdk::DragContext > &, guint > | signal_drag_leave ()
Glib::SignalProxy< bool, const Glib::RefPtr< Gdk::DragContext > &, int, int, guint > | signal_drag_motion ()
Glib::SignalProxy< bool, const Glib::RefPtr< Gdk::DragContext > &, int, int, guint > | signal_drag_drop ()
Glib::SignalProxy< void, const Glib::RefPtr< Gdk::DragContext > &, int, int, const SelectionData &, guint, guint > | signal_drag_data_received ()
Glib::SignalProxy< void, const Glib::RefPtr< Gdk::Screen > & > | signal_screen_changed ()
Glib::SignalProxy< void > | signal_composited_changed ()
Glib::SignalProxy< bool > | signal_popup_menu ()
Glib::SignalProxy< bool, int, int, bool, const Glib::RefPtr< Tooltip > & > | signal_query_tooltip ()
Glib::SignalProxy< bool, GdkEventGrabBroken * > | signal_grab_broken_event ()
Glib::SignalProxy< bool, GdkEventExpose * > | signal_damage_event ()
Glib::SignalProxy< bool, GdkEventTouch * > | signal_touch_event ()
Glib::PropertyProxy< Glib::ustring > | property_name ()
| The name of the widget.
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_name () const
| The name of the widget.
Glib::PropertyProxy< Container * > | property_parent ()
| The parent widget of this widget.
Glib::PropertyProxy_ReadOnly< Container * > | property_parent () const
| The parent widget of this widget.
Glib::PropertyProxy< int > | property_width_request ()
| Override for width request of the widget, or -1 if natural request should be used.
Glib::PropertyProxy_ReadOnly< int > | property_width_request () const
| Override for width request of the widget, or -1 if natural request should be used.
Glib::PropertyProxy< int > | property_height_request ()
| Override for height request of the widget, or -1 if natural request should be used.
Glib::PropertyProxy_ReadOnly< int > | property_height_request () const
| Override for height request of the widget, or -1 if natural request should be used.
Glib::PropertyProxy< bool > | property_visible ()
| Whether the widget is visible.
Glib::PropertyProxy_ReadOnly< bool > | property_visible () const
| Whether the widget is visible.
Glib::PropertyProxy< bool > | property_sensitive ()
| Whether the widget responds to input.
Glib::PropertyProxy_ReadOnly< bool > | property_sensitive () const
| Whether the widget responds to input.
Glib::PropertyProxy< bool > | property_app_paintable ()
| Whether the application will paint directly on the widget.
Glib::PropertyProxy_ReadOnly< bool > | property_app_paintable () const
| Whether the application will paint directly on the widget.
Glib::PropertyProxy< bool > | property_can_focus ()
| Whether the widget can accept the input focus.
Glib::PropertyProxy_ReadOnly< bool > | property_can_focus () const
| Whether the widget can accept the input focus.
Glib::PropertyProxy< bool > | property_has_focus ()
| Whether the widget has the input focus.
Glib::PropertyProxy_ReadOnly< bool > | property_has_focus () const
| Whether the widget has the input focus.
Glib::PropertyProxy< bool > | property_is_focus ()
| Whether the widget is the focus widget within the toplevel.
Glib::PropertyProxy_ReadOnly< bool > | property_is_focus () const
| Whether the widget is the focus widget within the toplevel.
Glib::PropertyProxy< bool > | property_focus_on_click ()
| Whether the widget should grab focus when it is clicked with the mouse.
Glib::PropertyProxy_ReadOnly< bool > | property_focus_on_click () const
| Whether the widget should grab focus when it is clicked with the mouse.
Glib::PropertyProxy< bool > | property_can_default ()
| Whether the widget can be the default widget.
Glib::PropertyProxy_ReadOnly< bool > | property_can_default () const
| Whether the widget can be the default widget.
Glib::PropertyProxy< bool > | property_has_default ()
| Whether the widget is the default widget.
Glib::PropertyProxy_ReadOnly< bool > | property_has_default () const
| Whether the widget is the default widget.
Glib::PropertyProxy< bool > | property_receives_default ()
| If `true`, the widget will receive the default action when it is focused.
Glib::PropertyProxy_ReadOnly< bool > | property_receives_default () const
| If `true`, the widget will receive the default action when it is focused.
Glib::PropertyProxy_ReadOnly< bool > | property_composite_child () const
| Whether the widget is part of a composite widget.
Glib::PropertyProxy< Glib::RefPtr< Style > > | property_style ()
| The style of the widget, which contains information about how it will look (colors, etc).
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Style > > | property_style () const
| The style of the widget, which contains information about how it will look (colors, etc).
Glib::PropertyProxy< Gdk::EventMask > | property_events ()
| The event mask that decides what kind of GdkEvents this widget gets.
Glib::PropertyProxy_ReadOnly< Gdk::EventMask > | property_events () const
| The event mask that decides what kind of GdkEvents this widget gets.
Glib::PropertyProxy< bool > | property_has_tooltip ()
| Enables or disables the emission of Gtk::Widget::signal_query_tooltip() on widget.
Glib::PropertyProxy_ReadOnly< bool > | property_has_tooltip () const
| Enables or disables the emission of Gtk::Widget::signal_query_tooltip() on widget.
Glib::PropertyProxy< Glib::ustring > | property_tooltip_markup ()
| Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat].
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_tooltip_markup () const
| Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat].
Glib::PropertyProxy< Glib::ustring > | property_tooltip_text ()
| Sets the text of tooltip to be the given string.
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_tooltip_text () const
| Sets the text of tooltip to be the given string.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gdk::Window > > | property_window () const
| The widget's window if it is realized, `nullptr` otherwise.
Glib::PropertyProxy< bool > | property_no_show_all ()
| Whether Gtk::Widget::show_all() should not affect this widget.
Glib::PropertyProxy_ReadOnly< bool > | property_no_show_all () const
| Whether Gtk::Widget::show_all() should not affect this widget.
Glib::PropertyProxy< bool > | property_double_buffered ()
| Whether the widget is double buffered.
Glib::PropertyProxy_ReadOnly< bool > | property_double_buffered () const
| Whether the widget is double buffered.
Glib::PropertyProxy< Align > | property_halign ()
| How to distribute horizontal space if widget gets extra space, see Gtk::Align.
Glib::PropertyProxy_ReadOnly< Align > | property_halign () const
| How to distribute horizontal space if widget gets extra space, see Gtk::Align.
Glib::PropertyProxy< Align > | property_valign ()
| How to distribute vertical space if widget gets extra space, see Gtk::Align.
Glib::PropertyProxy_ReadOnly< Align > | property_valign () const
| How to distribute vertical space if widget gets extra space, see Gtk::Align.
Glib::PropertyProxy< int > | property_margin_left ()
| Margin on left side of widget.
Glib::PropertyProxy_ReadOnly< int > | property_margin_left () const
| Margin on left side of widget.
Glib::PropertyProxy< int > | property_margin_right ()
| Margin on right side of widget.
Glib::PropertyProxy_ReadOnly< int > | property_margin_right () const
| Margin on right side of widget.
Glib::PropertyProxy< int > | property_margin_start ()
| Margin on start of widget, horizontally.
Glib::PropertyProxy_ReadOnly< int > | property_margin_start () const
| Margin on start of widget, horizontally.
Glib::PropertyProxy< int > | property_margin_end ()
| Margin on end of widget, horizontally.
Glib::PropertyProxy_ReadOnly< int > | property_margin_end () const
| Margin on end of widget, horizontally.
Glib::PropertyProxy< int > | property_margin_top ()
| Margin on top side of widget.
Glib::PropertyProxy_ReadOnly< int > | property_margin_top () const
| Margin on top side of widget.
Glib::PropertyProxy< int > | property_margin_bottom ()
| Margin on bottom side of widget.
Glib::PropertyProxy_ReadOnly< int > | property_margin_bottom () const
| Margin on bottom side of widget.
Glib::PropertyProxy< int > | property_margin ()
| Sets all four sides' margin at once.
Glib::PropertyProxy_ReadOnly< int > | property_margin () const
| Sets all four sides' margin at once.
Glib::PropertyProxy< bool > | property_hexpand ()
| Whether to expand horizontally.
Glib::PropertyProxy_ReadOnly< bool > | property_hexpand () const
| Whether to expand horizontally.
Glib::PropertyProxy< bool > | property_hexpand_set ()
| Whether to use the Gtk::Widget::property_hexpand() property.
Glib::PropertyProxy_ReadOnly< bool > | property_hexpand_set () const
| Whether to use the Gtk::Widget::property_hexpand() property.
Glib::PropertyProxy< bool > | property_vexpand ()
| Whether to expand vertically.
Glib::PropertyProxy_ReadOnly< bool > | property_vexpand () const
| Whether to expand vertically.
Glib::PropertyProxy< bool > | property_vexpand_set ()
| Whether to use the Gtk::Widget::property_vexpand() property.
Glib::PropertyProxy_ReadOnly< bool > | property_vexpand_set () const
| Whether to use the Gtk::Widget::property_vexpand() property.
Glib::PropertyProxy< bool > | property_expand ()
| Whether to expand in both directions.
Glib::PropertyProxy_ReadOnly< bool > | property_expand () const
| Whether to expand in both directions.
Glib::PropertyProxy< double > | property_opacity ()
| The requested opacity of the widget.
Glib::PropertyProxy_ReadOnly< double > | property_opacity () const
| The requested opacity of the widget.
Glib::PropertyProxy_ReadOnly< int > | property_scale_factor () const
| The scale factor of the widget.
Public Member Functions inherited from Gtk::Object
| Object (Object &&src) noexcept
Object & | operator= (Object &&src) noexcept
| ~Object () noexcept override
GObject * | gobj ()
| Provides access to the underlying C GObject.
const GObject * | gobj () const
| Provides access to the underlying C GObject.
Public Member Functions inherited from Gtk::Buildable
| Buildable (Buildable &&src) noexcept
Buildable & | operator= (Buildable &&src) noexcept
| ~Buildable () noexcept override
GtkBuildable * | gobj ()
| Provides access to the underlying C GObject.
const GtkBuildable * | gobj () const
| Provides access to the underlying C GObject.
void | set_name (const Glib::ustring & name)
| Sets the name of the buildable object.
Glib::ustring | get_name () const
| Gets the name of the buildable object.

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.
static void | set_default_icon_list (const std::vector< Glib::RefPtr< Gdk::Pixbuf > > & list)
| Sets an icon list to be used as fallback for windows that haven't had set_icon_list() called on them to set up a window-specific icon list.
static std::vector< Glib::RefPtr< Gdk::Pixbuf > > | get_default_icon_list ()
| Gets the value set by Gtk::Window::set_default_icon_list().
static void | set_default_icon (const Glib::RefPtr< Gdk::Pixbuf > &icon)
| Sets an icon to be used as fallback for windows that haven't had set_icon() called on them from a pixbuf.
static void | set_default_icon_name (const Glib::ustring & name)
| Sets an icon to be used as fallback for windows that haven't had set_icon_list() called on them from a named themed icon, see set_icon_name().
static bool | set_default_icon_from_file (const std::string & filename)
| Sets an icon to be used as fallback for windows that haven't had set_icon_list() called on them from a file on disk.
static void | set_auto_startup_notification (bool setting=true)
| By default, after showing the first Gtk::Window, GTK+ calls gdk_notify_startup_complete().
static std::vector< Window * > | list_toplevels ()
| Returns a list of all existing toplevel windows.
Static Public Member Functions inherited from Gtk::Bin
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.
Static Public Member Functions inherited from Gtk::Container
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.
Static Public Member Functions inherited from Gtk::Widget
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.
static Widget * | get_current_modal_grab ()
| Retrieve the widget which is currently grabbing all events.
static void | push_composite_child ()
| Makes all newly-created widgets as composite children until the corresponding pop_composite_child() call.
static void | pop_composite_child ()
| Cancels the effect of a previous call to push_composite_child().
static void | set_default_direction (TextDirection dir)
| Sets the default reading direction for widgets where the direction has not been explicitly set by set_direction().
static TextDirection | get_default_direction ()
| Obtains the current default reading direction.
static Widget * | drag_get_source_widget (const Glib::RefPtr< Gdk::DragContext > &context)
Static Public Member Functions inherited from Gtk::Buildable
static void | add_interface (GType gtype_implementer)
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system.

## Protected Member Functions

virtual void | on_set_focus (Widget * focus)
| This is a default handler for the signal signal_set_focus().
void | destroy_ ()
Protected Member Functions inherited from Gtk::Bin
| Bin ()
| This constructor is protected because only derived classes should be instantiated.
Protected Member Functions inherited from Gtk::Container
virtual void | on_add (Widget *widget)
| This is a default handler for the signal signal_add().
virtual void | on_remove (Widget *widget)
| This is a default handler for the signal signal_remove().
virtual void | on_check_resize ()
| This is a default handler for the signal signal_check_resize().
virtual void | on_set_focus_child (Widget *widget)
| This is a default handler for the signal signal_set_focus_child().
| Container ()
virtual GType | child_type_vfunc () const
| Implements child_type().
virtual void | forall_vfunc (gboolean include_internals, GtkCallback callback, gpointer callback_data)
| Invokes a callback on all children of the container.
virtual char * | composite_name_vfunc (GtkWidget *child)
| Returns the composite name of a child widget.
virtual void | set_child_property_vfunc (GtkWidget *child, guint property_id, const GValue * value, GParamSpec *pspec)
| Sets a child property for this container and its child.
virtual void | get_child_property_vfunc (GtkWidget *child, guint property_id, GValue * value, GParamSpec *pspec) const
| Returns a child property for this container and its child.
Glib::PropertyProxy< guint > | property_border_width ()
| The width of the empty border outside the containers children.
Glib::PropertyProxy_ReadOnly< guint > | property_border_width () const
| The width of the empty border outside the containers children.
Glib::PropertyProxy< ResizeMode > | property_resize_mode ()
| Specify how resize events are handled.
Glib::PropertyProxy_ReadOnly< ResizeMode > | property_resize_mode () const
| Specify how resize events are handled.
Glib::PropertyProxy_WriteOnly< Widget * > | property_child ()
| Can be used to add a new child to the container.
Protected Member Functions inherited from Gtk::Widget
virtual void | on_show ()
| This is a default handler for the signal signal_show().
virtual void | on_hide ()
| This is a default handler for the signal signal_hide().
virtual void | on_map ()
| This is a default handler for the signal signal_map().
virtual void | on_unmap ()
| This is a default handler for the signal signal_unmap().
virtual void | on_realize ()
| This is a default handler for the signal signal_realize().
virtual void | on_unrealize ()
| This is a default handler for the signal signal_unrealize().
virtual void | on_size_allocate (Allocation &allocation)
| This is a default handler for the signal signal_size_allocate().
virtual void | on_state_changed (Gtk::StateType previous_state)
| This is a default handler for the signal signal_state_changed().
virtual void | on_parent_changed (Widget *previous_parent)
| This is a default handler for the signal signal_parent_changed().
virtual void | on_hierarchy_changed (Widget *previous_toplevel)
| This is a default handler for the signal signal_hierarchy_changed().
virtual void | on_style_updated ()
| This is a default handler for the signal signal_style_updated().
virtual void | on_direction_changed (TextDirection direction)
| This is a default handler for the signal signal_direction_changed().
virtual void | on_grab_notify (bool was_grabbed)
| This is a default handler for the signal signal_grab_notify().
virtual void | on_child_notify (GParamSpec *pspec)
| This is a default handler for the signal signal_child_notify().
virtual bool | on_mnemonic_activate (bool group_cycling)
| This is a default handler for the signal signal_mnemonic_activate().
virtual void | on_grab_focus ()
| This is a default handler for the signal signal_grab_focus().
virtual bool | on_focus (DirectionType direction)
| This is a default handler for the signal signal_focus().
virtual bool | on_event (GdkEvent *gdk_event)
| This is a default handler for the signal signal_event().
virtual bool | on_button_press_event (GdkEventButton *button_event)
| This is a default handler for the signal signal_button_press_event().
virtual bool | on_button_release_event (GdkEventButton *release_event)
| This is a default handler for the signal signal_button_release_event().
virtual bool | on_scroll_event (GdkEventScroll *scroll_event)
| This is a default handler for the signal signal_scroll_event().
virtual bool | on_motion_notify_event (GdkEventMotion *motion_event)
| This is a default handler for the signal signal_motion_notify_event().
virtual bool | on_delete_event (GdkEventAny *any_event)
| This is a default handler for the signal signal_delete_event().
virtual bool | on_draw (const ::Cairo::RefPtr< ::Cairo::Context > &cr)
| This is a default handler for the signal signal_draw().
virtual bool | on_key_press_event (GdkEventKey *key_event)
| This is a default handler for the signal signal_key_press_event().
virtual bool | on_key_release_event (GdkEventKey *key_event)
| This is a default handler for the signal signal_key_release_event().
virtual bool | on_enter_notify_event (GdkEventCrossing *crossing_event)
| This is a default handler for the signal signal_enter_notify_event().
virtual bool | on_leave_notify_event (GdkEventCrossing *crossing_event)
| This is a default handler for the signal signal_leave_notify_event().
virtual bool | on_configure_event (GdkEventConfigure *configure_event)
| This is a default handler for the signal signal_configure_event().
virtual bool | on_focus_in_event (GdkEventFocus *focus_event)
| This is a default handler for the signal signal_focus_in_event().
virtual bool | on_focus_out_event (GdkEventFocus *gdk_event)
| This is a default handler for the signal signal_focus_out_event().
virtual bool | on_map_event (GdkEventAny *any_event)
| This is a default handler for the signal signal_map_event().
virtual bool | on_unmap_event (GdkEventAny *any_event)
| This is a default handler for the signal signal_unmap_event().
virtual bool | on_property_notify_event (GdkEventProperty *property_event)
| This is a default handler for the signal signal_property_notify_event().
virtual bool | on_selection_clear_event (GdkEventSelection *selection_event)
| This is a default handler for the signal signal_selection_clear_event().
virtual bool | on_selection_request_event (GdkEventSelection *selection_event)
| This is a default handler for the signal signal_selection_request_event().
virtual bool | on_selection_notify_event (GdkEventSelection *selection_event)
| This is a default handler for the signal signal_selection_notify_event().
virtual bool | on_proximity_in_event (GdkEventProximity *proximity_event)
| This is a default handler for the signal signal_proximity_in_event().
virtual bool | on_proximity_out_event (GdkEventProximity *proximity_event)
| This is a default handler for the signal signal_proximity_out_event().
virtual bool | on_visibility_notify_event (GdkEventVisibility *visibility_event)
| This is a default handler for the signal signal_visibility_notify_event().
virtual bool | on_window_state_event (GdkEventWindowState *window_state_event)
| This is a default handler for the signal signal_window_state_event().
virtual void | on_selection_get (SelectionData &selection_data, guint info, guint time)
| This is a default handler for the signal signal_selection_get().
virtual void | on_selection_received (const SelectionData &selection_data, guint time)
| This is a default handler for the signal signal_selection_received().
virtual void | on_drag_begin (const Glib::RefPtr< Gdk::DragContext > &context)
| This is a default handler for the signal signal_drag_begin().
virtual void | on_drag_end (const Glib::RefPtr< Gdk::DragContext > &context)
| This is a default handler for the signal signal_drag_end().
virtual void | on_drag_data_get (const Glib::RefPtr< Gdk::DragContext > &context, SelectionData &selection_data, guint info, guint time)
| This is a default handler for the signal signal_drag_data_get().
virtual void | on_drag_data_delete (const Glib::RefPtr< Gdk::DragContext > &context)
| This is a default handler for the signal signal_drag_data_delete().
virtual void | on_drag_leave (const Glib::RefPtr< Gdk::DragContext > &context, guint time)
| This is a default handler for the signal signal_drag_leave().
virtual bool | on_drag_motion (const Glib::RefPtr< Gdk::DragContext > &context, int x, int y, guint time)
| This is a default handler for the signal signal_drag_motion().
virtual bool | on_drag_drop (const Glib::RefPtr< Gdk::DragContext > &context, int x, int y, guint time)
| This is a default handler for the signal signal_drag_drop().
virtual void | on_drag_data_received (const Glib::RefPtr< Gdk::DragContext > &context, int x, int y, const SelectionData &selection_data, guint info, guint time)
| This is a default handler for the signal signal_drag_data_received().
virtual void | on_screen_changed (const Glib::RefPtr< Gdk::Screen > &previous_screen)
| This is a default handler for the signal signal_screen_changed().
virtual void | dispatch_child_properties_changed_vfunc (guint p1, GParamSpec **p2)
virtual void | show_all_vfunc ()
virtual Glib::RefPtr< Atk::Object > | get_accessible_vfunc ()
virtual SizeRequestMode | get_request_mode_vfunc () const
virtual void | get_preferred_width_vfunc (int &minimum_width, int &natural_width) const
virtual void | get_preferred_height_for_width_vfunc (int width, int &minimum_height, int &natural_height) const
virtual void | get_preferred_height_vfunc (int &minimum_height, int &natural_height) const
virtual void | get_preferred_width_for_height_vfunc (int height, int &minimum_width, int &natural_width) const
| Widget ()
void | realize ()
| Creates the GDK (windowing system) resources associated with a widget.
void | unrealize ()
| This function is only useful in widget implementations.
void | draw (const ::Cairo::RefPtr< ::Cairo::Context > &cr)
| Draws widget to cr.
void | set_mapped (bool mapped=true)
| Marks the widget as being mapped.
void | set_realized (bool realized=true)
| Marks the widget as being realized.
void | set_has_window (bool has_window=true)
| Specifies whether widget has a Gdk::Window of its own.
void | set_window (const Glib::RefPtr< Gdk::Window > &window)
| Sets a widget's window.
void | transform_cairo_context_to_window (const ::Cairo::RefPtr< ::Cairo::Context > &cr, const Glib::RefPtr< const Gdk::Window > &window)
| Transforms the given cairo context cr from widget-relative coordinates to window-relative coordinates.
Requisition | get_requisition () const
| Retrieves the widget's requisition.
void | get_style_property_value (const Glib::ustring &the_property_name, Glib::ValueBase & value) const
| Gets the value of a style property of widget.
void | realize_if_needed ()
Protected Member Functions inherited from Gtk::Buildable
| Buildable ()
| You should derive from this class to use it.

## Additional Inherited Members

Public Types inherited from Gtk::Container
typedef sigc::slot< void, Widget & > | ForeachSlot
| A slot to invoke with each child iterated over by foreach() or forall().
Public Types inherited from Gtk::Widget
using | SlotTick = sigc::slot< bool(const Glib::RefPtr< Gdk::FrameClock > &)>
| Callback type for adding a function to update animations.
Static Protected Member Functions inherited from Gtk::Widget
static bool | should_draw_window (const ::Cairo::RefPtr< const ::Cairo::Context > &cr, const Glib::RefPtr< const Gdk::Window > &window)
| This function is supposed to be called in Gtk::Widget::signal_draw() implementations for widgets that support multiple windows.
Related Symbols inherited from Gtk::Bin
Gtk::Bin * | wrap (GtkBin *object, bool take_copy=false)
| A Glib::wrap() method for this object.
Related Symbols inherited from Gtk::Container
Gtk::Container * | wrap (GtkContainer *object, bool take_copy=false)
| A Glib::wrap() method for this object.
Related Symbols inherited from Gtk::Widget
Gtk::Widget * | wrap (GtkWidget *object, bool take_copy=false)
| A Glib::wrap() method for this object.
Related Symbols inherited from Gtk::Buildable
Glib::RefPtr< Gtk::Buildable > | wrap (GtkBuildable *object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

Toplevel Window.

This represents all widgets which are physical windows controlled by the window manager.

The window will be hidden when the window manager's close button is clicked. Override on_delete_event() to stop this.

Gtk::manage() has no effect on Windows because they have no parent Containers.

Key values are the codes which are sent whenever a key is pressed or released. The complete list of key values can be found in the gdk/gdkkeysyms.h header file. They are prefixed with `GDK_KEY_`.

## Constructor & Destructor Documentation

## Window() [1/3]

Gtk::Window::Window | ( | Window && | src | ) |

noexcept

## Window() [2/3]

Gtk::Window::Window | ( | const Window & |  | ) |

delete

## ~Window()

Gtk::Window::~Window | ( |  | ) |

override noexcept

## Window() [3/3]

Gtk::Window::Window | ( | WindowType | type = `WINDOW_TOPLEVEL` | ) |

explicit

## Member Function Documentation

## activate_default()

bool Gtk::Window::activate_default | ( |  | ) |

Activates the default widget for the window, unless the current focused widget has been configured to receive the default action (see Gtk::Widget::set_receives_default()), in which case the focused widget is activated.

Returns
  `true` if a widget got activated.

## activate_focus()

bool Gtk::Window::activate_focus | ( |  | ) |

Activates the current focused widget within the window.

Returns
  `true` if a widget got activated.

## add_accel_group()

void Gtk::Window::add_accel_group | ( | const Glib::RefPtr< AccelGroup > & | accel_group | ) |

Associate accel_group with window, such that calling gtk_accel_groups_activate() on window will activate accelerators in accel_group.

Parameters

  accel_group | A Gtk::AccelGroup.

## add_mnemonic()

void Gtk::Window::add_mnemonic | ( | guint | keyval,
|  | Widget & | target
| ) |  |

Adds a mnemonic to this window.

Parameters

  keyval | The mnemonic.
  target | The widget that gets activated by the mnemonic.

## begin_move_drag()

void Gtk::Window::begin_move_drag | ( | int | button,
|  | int | root_x,
|  | int | root_y,
|  | guint32 | timestamp
| ) |  |

Starts moving a window.

This function is used if an application has window movement grips. When GDK can support it, the window movement will be done using the standard mechanism for the [window manager][gtk-X11-arch] or windowing system. Otherwise, GDK will try to emulate window movement, potentially not all that well, depending on the windowing system.

Parameters

  button | Mouse button that initiated the drag.
  root_x | X position where the user clicked to initiate the drag, in root window coordinates.
  root_y | Y position where the user clicked to initiate the drag.
  timestamp | Timestamp from the click event that initiated the drag.

## begin_resize_drag()

void Gtk::Window::begin_resize_drag | ( | Gdk::WindowEdge | edge,
|  | int | button,
|  | int | root_x,
|  | int | root_y,
|  | guint32 | timestamp
| ) |  |

Starts resizing a window.

This function is used if an application has window resizing controls. When GDK can support it, the resize will be done using the standard mechanism for the [window manager][gtk-X11-arch] or windowing system. Otherwise, GDK will try to emulate window resizing, potentially not all that well, depending on the windowing system.

Parameters

  button | Mouse button that initiated the drag.
  edge | Position of the resize control.
  root_x | X position where the user clicked to initiate the drag, in root window coordinates.
  root_y | Y position where the user clicked to initiate the drag.
  timestamp | Timestamp from the click event that initiated the drag.

## close()

void Gtk::Window::close | ( |  | ) |

Requests that the window is closed, similar to what happens when a window manager close button is clicked.

This function can be used with close buttons in custom titlebars.

Since gtkmm 3.10:

## deiconify()

void Gtk::Window::deiconify | ( |  | ) |

Asks to deiconify (i.e. unminimize) the specified window.

Note that you shouldn’t assume the window is definitely deiconified afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch])) could iconify it again before your code which assumes deiconification gets to run.

You can track iconification via the “window-state-event” signal on Gtk::Widget.

## destroy_()

void Gtk::Window::destroy_ | ( |  | ) |

protected

## fullscreen()

void Gtk::Window::fullscreen | ( |  | ) |

Asks to place window in the fullscreen state.

Note that you shouldn’t assume the window is definitely full screen afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch]) could unfullscreen it again, and not all window managers honor requests to fullscreen windows. But normally the window will end up fullscreen. Just don’t write code that crashes if not.

You can track the fullscreen state via the “window-state-event” signal on Gtk::Widget.

Since gtkmm 2.2:

## fullscreen_on_monitor()

void Gtk::Window::fullscreen_on_monitor | ( | const Glib::RefPtr< Gdk::Screen > & | screen,
|  | int | monitor
| ) |  |

Asks to place window in the fullscreen state.

Note that you shouldn't assume the window is definitely full screen afterward.

You can track the fullscreen state via the "window-state-event" signal on Gtk::Widget.

Since gtkmm 3.18:

Parameters

  screen | A Gdk::Screen to draw to.
  monitor | Which monitor to go fullscreen on.

## get_accel_group()

Glib::RefPtr< AccelGroup > Gtk::Window::get_accel_group | ( |  | ) |

Returns a default accel group for this window.

This is a gtkmm-specific function.

Deprecated:
  This returns a group specific to this window, created on the first call. That’s no use if you need groups that were added by other sources, e.g. by Gtk::Builder. Use get_accel_groups(), which correctly returns all groups that have been added to the window regardless of origin. If you just used get_accel_group() as a shortcut to create and add a group, you should instead create it yourself and add it with add_accel_group().

## get_accel_groups()

std::vector< Glib::RefPtr< AccelGroup > > Gtk::Window::get_accel_groups | ( |  | ) |

Gets a vector containing each Gtk::AccelGroup associated with the window.

Since gtkmm 3.24:

Returns
  A vector of Gtk::AccelGroup.

## get_accept_focus()

bool Gtk::Window::get_accept_focus | ( |  | ) | const

Gets the value set by set_accept_focus().

Since gtkmm 2.4:

Returns
  `true` if window should receive the input focus.

## get_application() [1/2]

Glib::RefPtr< Application > Gtk::Window::get_application | ( |  | ) |

Gets the Gtk::Application associated with the window (if any).

Since gtkmm 3.0:

Returns
  A Gtk::Application, or `nullptr`.

## get_application() [2/2]

Glib::RefPtr< const Application > Gtk::Window::get_application | ( |  | ) | const

Gets the Gtk::Application associated with the window (if any).

Since gtkmm 3.0:

Returns
  A Gtk::Application, or `nullptr`.

## get_attached_to() [1/2]

Widget * Gtk::Window::get_attached_to | ( |  | ) |

Fetches the attach widget for this window.

See set_attached_to().

Since gtkmm 3.4:

Returns
  The widget where the window is attached, or `nullptr` if the window is not attached to any widget.

## get_attached_to() [2/2]

const Widget * Gtk::Window::get_attached_to | ( |  | ) | const

Fetches the attach widget for this window.

See set_attached_to().

Since gtkmm 3.4:

Returns
  The widget where the window is attached, or `nullptr` if the window is not attached to any widget.

## get_decorated()

bool Gtk::Window::get_decorated | ( |  | ) | const

Returns whether the window has been set to have decorations such as a title bar via set_decorated().

Returns
  `true` if the window has been set to have decorations.

## get_default_icon_list()

static std::vector< Glib::RefPtr< Gdk::Pixbuf > > Gtk::Window::get_default_icon_list | ( |  | ) |

static

Gets the value set by Gtk::Window::set_default_icon_list().

Returns
  Copy of default icon list.

## get_default_size()

void Gtk::Window::get_default_size | ( | int & | width,
|  | int & | height
| ) |  | const

Gets the default size of the window.

A value of -1 for the width or height indicates that a default size has not been explicitly set for that dimension, so the “natural” size of the window will be used.

Parameters

  width | Location to store the default width.
  height | Location to store the default height.

## get_default_widget() [1/2]

Widget * Gtk::Window::get_default_widget | ( |  | ) |

Returns the default widget for window.

See set_default() for more details.

Since gtkmm 2.14:

Returns
  The default widget, or `nullptr` if there is none.

## get_default_widget() [2/2]

const Widget * Gtk::Window::get_default_widget | ( |  | ) | const

Returns the default widget for window.

See set_default() for more details.

Since gtkmm 2.14:

Returns
  The default widget, or `nullptr` if there is none.

## get_deletable()

bool Gtk::Window::get_deletable | ( |  | ) | const

Returns whether the window has been set to have a close button via set_deletable().

Since gtkmm 2.10:

Returns
  `true` if the window has been set to have a close button.

## get_destroy_with_parent()

bool Gtk::Window::get_destroy_with_parent | ( |  | ) | const

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

See set_destroy_with_parent().

Returns
  `true` if the window will be destroyed with its transient parent.

## get_focus() [1/2]

Widget * Gtk::Window::get_focus | ( |  | ) |

Retrieves the current focused widget within the window.

Note that this is the widget that would have the focus if the toplevel window focused; if the toplevel window is not focused then `gtk_widget_has_focus (widget)` will not be `true` for the widget.

Returns
  The currently focused widget, or `nullptr` if there is none.

## get_focus() [2/2]

const Widget * Gtk::Window::get_focus | ( |  | ) | const

Retrieves the current focused widget within the window.

Note that this is the widget that would have the focus if the toplevel window focused; if the toplevel window is not focused then `gtk_widget_has_focus (widget)` will not be `true` for the widget.

Returns
  The currently focused widget, or `nullptr` if there is none.

## get_focus_on_map()

bool Gtk::Window::get_focus_on_map | ( |  | ) | const

Gets the value set by set_focus_on_map().

Since gtkmm 2.6:

Returns
  `true` if window should receive the input focus when mapped.

## get_focus_visible()

bool Gtk::Window::get_focus_visible | ( |  | ) | const

Gets the value of the Gtk::Window::property_focus_visible() property.

Since gtkmm 3.2:

Returns
  `true` if “focus rectangles” are supposed to be visible in this window.

## get_gravity()

Gdk::Gravity Gtk::Window::get_gravity | ( |  | ) | const

Gets the value set by set_gravity().

Returns
  Window gravity.

## get_group() [1/2]

Glib::RefPtr< WindowGroup > Gtk::Window::get_group | ( |  | ) |

Returns the group for window or the default group, if window is `nullptr` or if window does not have an explicit window group.

Since gtkmm 2.10:

Returns
  The Gtk::WindowGroup for a window or the default group.

## get_group() [2/2]

Glib::RefPtr< const WindowGroup > Gtk::Window::get_group | ( |  | ) | const

Returns the group for window or the default group, if window is `nullptr` or if window does not have an explicit window group.

Since gtkmm 2.10:

Returns
  The Gtk::WindowGroup for a window or the default group.

## get_has_resize_grip()

bool Gtk::Window::get_has_resize_grip | ( |  | ) | const

Determines whether the window may have a resize grip.

Since gtkmm 3.0:

Deprecated: 3.14: Resize grips have been removed.

Deprecated:
  Resize grips have been removed.

Returns
  `true` if the window has a resize grip.

## get_hide_titlebar_when_maximized()

bool Gtk::Window::get_hide_titlebar_when_maximized | ( |  | ) | const

Returns whether the window has requested to have its titlebar hidden when maximized.

See set_hide_titlebar_when_maximized().

Since gtkmm 3.4:

Returns
  `true` if the window has requested to have its titlebar hidden when maximized.

## get_icon() [1/2]

Glib::RefPtr< Gdk::Pixbuf > Gtk::Window::get_icon | ( |  | ) |

Gets the value set by set_icon() (or if you've called set_icon_list(), gets the first icon in the icon list).

Returns
  Icon for window or `nullptr` if none.

## get_icon() [2/2]

Glib::RefPtr< const Gdk::Pixbuf > Gtk::Window::get_icon | ( |  | ) | const

Gets the value set by set_icon() (or if you've called set_icon_list(), gets the first icon in the icon list).

Returns
  Icon for window or `nullptr` if none.

## get_icon_list() [1/2]

std::vector< Glib::RefPtr< Gdk::Pixbuf > > Gtk::Window::get_icon_list | ( |  | ) |

Retrieves the list of icons set by set_icon_list().

The list is copied, but the reference count on each member won’t be incremented.

Returns
  Copy of window’s icon list.

## get_icon_list() [2/2]

std::vector< Glib::RefPtr< const Gdk::Pixbuf > > Gtk::Window::get_icon_list | ( |  | ) | const

Retrieves the list of icons set by set_icon_list().

The list is copied, but the reference count on each member won’t be incremented.

Returns
  Copy of window’s icon list.

## get_icon_name()

Glib::ustring Gtk::Window::get_icon_name | ( |  | ) | const

Returns the name of the themed icon for the window, see set_icon_name().

Since gtkmm 2.6:

Returns
  The icon name or `nullptr` if the window has no themed icon.

## get_mnemonic_modifier()

Gdk::ModifierType Gtk::Window::get_mnemonic_modifier | ( |  | ) |

Returns the mnemonic modifier for this window.

See set_mnemonic_modifier().

Returns
  The modifier mask used to activate mnemonics on this window.

## get_mnemonics_visible()

bool Gtk::Window::get_mnemonics_visible | ( |  | ) | const

Gets the value of the Gtk::Window::property_mnemonics_visible() property.

Since gtkmm 2.20:

Returns
  `true` if mnemonics are supposed to be visible in this window.

## get_modal()

bool Gtk::Window::get_modal | ( |  | ) | const

Returns whether the window is modal.

See set_modal().

Returns
  `true` if the window is set to be modal and establishes a grab when shown.

## get_opacity()

double Gtk::Window::get_opacity | ( |  | ) | const

Fetches the requested opacity for this window.

See set_opacity().

Since gtkmm 2.12:
  Deprecated: 3.8: Use gtk_widget_get_opacity instead.

Deprecated:
  Use Widget::get_opacity() instead.

Returns
  The requested opacity for this window.

## get_position()

void Gtk::Window::get_position | ( | int & | root_x,
|  | int & | root_y
| ) |  | const

This function returns the position you need to pass to move() to keep window in its current position.

This means that the meaning of the returned value varies with window gravity. See move() for more details.

The reliability of this function depends on the windowing system currently in use. Some windowing systems, such as Wayland, do not support a global coordinate system, and thus the position of the window will always be (0, 0). Others, like X11, do not have a reliable way to obtain the geometry of the decorations of a window if they are provided by the window manager. Additionally, on X11, window manager have been known to mismanage window gravity, which result in windows moving even if you use the coordinates of the current position as returned by this function.

If you haven’t changed the window gravity, its gravity will be Gdk::GRAVITY_NORTH_WEST. This means that get_position() gets the position of the top-left corner of the window manager frame for the window. move() sets the position of this same top-left corner.

If a window has gravity Gdk::GRAVITY_STATIC the window manager frame is not relevant, and thus get_position() will always produce accurate results. However you can’t use static gravity to do things like place a window in a corner of the screen, because static gravity ignores the window manager decorations.

Ideally, this function should return appropriate values if the window has client side decorations, assuming that the windowing system supports global coordinates.

In practice, saving the window position should not be left to applications, as they lack enough knowledge of the windowing system and the window manager state to effectively do so. The appropriate way to implement saving the window position is to use a platform-specific protocol, wherever that is available.

Parameters

  root_x | Return location for X coordinate of gravity-determined reference point.
  root_y | Return location for Y coordinate of gravity-determined reference point.

## get_resizable()

bool Gtk::Window::get_resizable | ( |  | ) | const

Gets the value set by set_resizable().

Returns
  `true` if the user can resize the window.

## get_resize_grip_area()

bool Gtk::Window::get_resize_grip_area | ( | Gdk::Rectangle & | rect | ) | const

If a window has a resize grip, this will retrieve the grip position, width and height into the specified Gdk::Rectangle.

Since gtkmm 3.0:

Deprecated: 3.14: Resize grips have been removed.

Deprecated:
  Resize grips have been removed.

Parameters

  rect | A pointer to a Gdk::Rectangle which we should store the resize grip area.

Returns
  `true` if the resize grip’s area was retrieved.

## get_resize_grip_is_visible()

bool Gtk::Window::get_resize_grip_is_visible | ( |  | ) | const

Determines whether a resize grip is visible for the specified window.

Since gtkmm 3.0:

Deprecated: 3.14: Resize grips have been removed.

Deprecated:
  Resize grips have been removed.

Returns
  `true` if a resize grip exists and is visible.

## get_role()

Glib::ustring Gtk::Window::get_role | ( |  | ) | const

Returns the role of the window.

See set_role() for further explanation.

Returns
  The role of the window if set, or `nullptr`. The returned is owned by the widget and must not be modified or freed.

## get_screen() [1/2]

Glib::RefPtr< Gdk::Screen > Gtk::Window::get_screen | ( |  | ) |

Returns the Gdk::Screen associated with window.

Since gtkmm 2.2:

Returns
  A Gdk::Screen.

## get_screen() [2/2]

Glib::RefPtr< const Gdk::Screen > Gtk::Window::get_screen | ( |  | ) | const

Returns the Gdk::Screen associated with window.

Since gtkmm 2.2:

Returns
  A Gdk::Screen.

## get_size()

void Gtk::Window::get_size | ( | int & | width,
|  | int & | height
| ) |  | const

Obtains the current size of window.

If window is not visible on screen, this function return the size GTK+ will suggest to the [window manager][gtk-X11-arch] for the initial window size (but this is not reliably the same as the size the window manager will actually select). See: set_default_size().

Depending on the windowing system and the window manager constraints, the size returned by this function may not match the size set using resize(); additionally, since resize() may be implemented as an asynchronous operation, GTK+ cannot guarantee in any way that this code:

[C example ellipted]

will result in `new_width` and `new_height` matching `width` and `height`, respectively.

This function will return the logical size of the Gtk::Window, excluding the widgets used in client side decorations; there is, however, no guarantee that the result will be completely accurate because client side decoration may include widgets that depend on the user preferences and that may not be visibile at the time you call this function.

The dimensions returned by this function are suitable for being stored across sessions; use set_default_size() to restore them when before showing the window.

To avoid potential race conditions, you should only call this function in response to a size change notification, for instance inside a handler for the Gtk::Widget::signal_size_allocate() signal, or inside a handler for the Gtk::Widget::signal_configure_event() signal:

[C example ellipted]

Note that, if you connect to the Gtk::Widget::signal_size_allocate() signal, you should not use the dimensions of the Gtk::Allocation passed to the signal handler, as the allocation may contain client side decorations added by GTK+, depending on the windowing system in use.

If you are getting a window size in order to position the window on the screen, you should, instead, simply set the window’s semantic type with set_type_hint(), which allows the window manager to e.g. center dialogs. Also, if you set the transient parent of dialogs with set_transient_for() window managers will often center the dialog over its parent window. It's much preferred to let the window manager handle these cases rather than doing it yourself, because all apps will behave consistently and according to user or system preferences, if the window manager handles it. Also, the window manager can take into account the size of the window decorations and border that it may add, and of which GTK+ has no knowledge. Additionally, positioning windows in global screen coordinates may not be allowed by the windowing system. For more information, see: set_position().

Parameters

  width | Return location for width.
  height | Return location for height.

## get_skip_pager_hint()

bool Gtk::Window::get_skip_pager_hint | ( |  | ) | const

Gets the value set by set_skip_pager_hint().

Since gtkmm 2.2:

Returns
  `true` if window shouldn’t be in pager.

## get_skip_taskbar_hint()

bool Gtk::Window::get_skip_taskbar_hint | ( |  | ) | const

Gets the value set by set_skip_taskbar_hint()

Since gtkmm 2.2:

Returns
  `true` if window shouldn’t be in taskbar.

## get_title()

Glib::ustring Gtk::Window::get_title | ( |  | ) | const

Retrieves the title of the window.

See set_title().

Returns
  The title of the window, or `nullptr` if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed.

## get_titlebar() [1/2]

Widget * Gtk::Window::get_titlebar | ( |  | ) |

Returns the custom titlebar that has been set with set_titlebar().

Since gtkmm 3.16:

Returns
  The custom titlebar, or `nullptr`.

## get_titlebar() [2/2]

const Widget * Gtk::Window::get_titlebar | ( |  | ) | const

Returns the custom titlebar that has been set with set_titlebar().

Since gtkmm 3.16:

Returns
  The custom titlebar, or `nullptr`.

## get_transient_for() [1/2]

Window * Gtk::Window::get_transient_for | ( |  | ) |

Fetches the transient parent for this window.

See set_transient_for().

Returns
  The transient parent for this window, or `nullptr` if no transient parent has been set.

## get_transient_for() [2/2]

const Window * Gtk::Window::get_transient_for | ( |  | ) | const

Fetches the transient parent for this window.

See set_transient_for().

Returns
  The transient parent for this window, or `nullptr` if no transient parent has been set.

## get_type()

static GType Gtk::Window::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

## get_type_hint()

Gdk::WindowTypeHint Gtk::Window::get_type_hint | ( |  | ) | const

Gets the type hint for this window.

See set_type_hint().

Returns
  The type hint for window.

## get_urgency_hint()

bool Gtk::Window::get_urgency_hint | ( |  | ) | const

Gets the value set by set_urgency_hint()

Since gtkmm 2.8:

Returns
  `true` if window is urgent.

## get_window_type()

WindowType Gtk::Window::get_window_type | ( |  | ) | const

Gets the type of the window.

See Gtk::WindowType.

Since gtkmm 2.20:

Returns
  The type of the window.

## gobj() [1/2]

GtkWindow * Gtk::Window::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

## gobj() [2/2]

const GtkWindow * Gtk::Window::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

## has_group()

bool Gtk::Window::has_group | ( |  | ) | const

Returns whether window has an explicit window group.

Since gtkmm 2.22:

Returns
  `true` if window has an explicit window group.

## has_toplevel_focus()

bool Gtk::Window::has_toplevel_focus | ( |  | ) | const

Returns whether the input focus is within this GtkWindow.

For real toplevel windows, this is identical to is_active(), but for embedded windows, like Gtk::Plug, the results will differ.

Since gtkmm 2.4:

Returns
  `true` if the input focus is within this GtkWindow.

## iconify()

void Gtk::Window::iconify | ( |  | ) |

Asks to iconify (i.e. minimize) the specified window.

Note that you shouldn’t assume the window is definitely iconified afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch]) could deiconify it again, or there may not be a window manager in which case iconification isn’t possible, etc. But normally the window will end up iconified. Just don’t write code that crashes if not.

It’s permitted to call this function before showing a window, in which case the window will be iconified before it ever appears onscreen.

You can track iconification via the “window-state-event” signal on Gtk::Widget.

## is_active()

bool Gtk::Window::is_active | ( |  | ) | const

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

(That is, the toplevel window receiving keystrokes.) The return value is `true` if the window is active toplevel itself, but also if it is, say, a Gtk::Plug embedded in the active toplevel. You might use this function if you wanted to draw a widget differently in an active window from a widget in an inactive window. See has_toplevel_focus()

Since gtkmm 2.4:

Returns
  `true` if the window part of the current active window.

## is_maximized()

bool Gtk::Window::is_maximized | ( |  | ) | const

Retrieves the current maximized state of window.

Note that since maximization is ultimately handled by the window manager and happens asynchronously to an application request, you shouldn’t assume the return value of this function changing immediately (or at all), as an effect of calling maximize() or unmaximize().

Since gtkmm 3.12:

Returns
  Whether the window has a maximized state.

## list_toplevels()

static std::vector< Window * > Gtk::Window::list_toplevels | ( |  | ) |

static

Returns a list of all existing toplevel windows.

The widgets in the list are not individually referenced. If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets, you must call `g_list_foreach (result, (GFunc)g_object_ref, <tt>nullptr</tt>)` first, and then unref all the widgets afterwards.

Returns
  List of toplevel widgets.

## maximize()

void Gtk::Window::maximize | ( |  | ) |

Asks to maximize window, so that it becomes full-screen.

Note that you shouldn’t assume the window is definitely maximized afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch]) could unmaximize it again, and not all window managers support maximization. But normally the window will end up maximized. Just don’t write code that crashes if not.

It’s permitted to call this function before showing a window, in which case the window will be maximized when it appears onscreen initially.

You can track maximization via the “window-state-event” signal on Gtk::Widget, or by listening to notifications on the Gtk::Window::property_is_maximized() property.

## mnemonic_activate()

bool Gtk::Window::mnemonic_activate | ( | guint | keyval,
|  | Gdk::ModifierType | modifier
| ) |  |

Activates the targets associated with the mnemonic.

Parameters

  keyval | The mnemonic.
  modifier | The modifiers.

Returns
  `true` if the activation is done.

## move()

void Gtk::Window::move | ( | int | x,
|  | int | y
| ) |  |

Asks the [window manager][gtk-X11-arch] to move window to the given position.

Window managers are free to ignore this; most window managers ignore requests for initial window positions (instead using a user-defined placement algorithm) and honor requests after the window has already been shown.

Note
  the position is the position of the gravity-determined reference point for the window. The gravity determines two things: first, the location of the reference point in root window coordinates; and second, which point on the window is positioned at the reference point.

By default the gravity is Gdk::GRAVITY_NORTH_WEST, so the reference point is simply the x, y supplied to move(). The top-left corner of the window decorations (aka window frame or border) will be placed at x, y. Therefore, to position a window at the top left of the screen, you want to use the default gravity (which is Gdk::GRAVITY_NORTH_WEST) and move the window to 0,0.

To position a window at the bottom right corner of the screen, you would set Gdk::GRAVITY_SOUTH_EAST, which means that the reference point is at x + the window width and y + the window height, and the bottom-right corner of the window border will be placed at that reference point. So, to place a window in the bottom right corner you would first set gravity to south east, then write: `gtk_window_move (window, gdk_screen_width() - window_width, gdk_screen_height() - window_height)` (note that this example does not take multi-head scenarios into account).

The Extended Window Manager Hints Specification has a nice table of gravities in the “implementation notes” section.

The get_position() documentation may also be relevant.

Parameters

  x | X coordinate to move window to.
  y | Y coordinate to move window to.

## on_set_focus()

virtual void Gtk::Window::on_set_focus | ( | Widget * | focus | ) |

protected virtual

This is a default handler for the signal signal_set_focus().

## operator=() [1/2]

Window & Gtk::Window::operator= | ( | const Window & |  | ) |

delete

## operator=() [2/2]

Window & Gtk::Window::operator= | ( | Window && | src | ) |

noexcept

## parse_geometry()

bool Gtk::Window::parse_geometry | ( | const Glib::ustring & | geometry | ) |

Parses a standard X Window System geometry string - see the manual page for X (type “man X”) for details on this.

parse_geometry() does work on all GTK+ ports including Win32 but is primarily intended for an X environment.

If either a size or a position can be extracted from the geometry string, parse_geometry() returns `true` and calls set_default_size() and/or move() to resize/move the window.

If parse_geometry() returns `true`, it will also set the Gdk::HINT_USER_POS and/or Gdk::HINT_USER_SIZE hints indicating to the window manager that the size/position of the window was user-specified. This causes most window managers to honor the geometry.

Note that for parse_geometry() to work as expected, it has to be called when the window has its “final” size, i.e. after calling Gtk::Widget::show_all() on the contents and set_geometry_hints() on the window.

[C example ellipted]

Deprecated: 3.20: Geometry handling in GTK is deprecated.

Deprecated:
  Geometry handling in GTK is deprecated.

Parameters

  geometry | Geometry string.

Returns
  `true` if string was parsed successfully.

## present() [1/2]

void Gtk::Window::present | ( |  | ) |

Presents a window to the user.

This may mean raising the window in the stacking order, deiconifying it, moving it to the current desktop, and/or giving it the keyboard focus, possibly dependent on the user’s platform, window manager, and preferences.

If window is hidden, this function calls Gtk::Widget::show() as well.

This function should be used when the user tries to open a window that’s already open. Say for example the preferences dialog is currently open, and the user chooses Preferences from the menu a second time; use present() to move the already-open dialog where the user can see it.

If you are calling this function in response to a user interaction, it is preferable to use present_with_time().

## present() [2/2]

void Gtk::Window::present | ( | guint32 | timestamp | ) |

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

If you need to present a window without a timestamp, use present(). See present() for details.

Since gtkmm 2.8:

Parameters

  timestamp | The timestamp of the user interaction (typically a button or key press event) which triggered this call.

## property_accept_focus() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_accept_focus | ( |  | ) |

Whether the window should receive the input focus.

Since gtkmm 2.4:

Default value: `true`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_accept_focus() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_accept_focus | ( |  | ) | const

Whether the window should receive the input focus.

Since gtkmm 2.4:

Default value: `true`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_application() [1/2]

Glib::PropertyProxy< Glib::RefPtr< Application > > Gtk::Window::property_application | ( |  | ) |

The Gtk::Application associated with the window.

The application will be kept alive for at least as long as it has any windows associated with it (see Glib::application_hold() for a way to keep it alive without windows).

Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it by setting the :application property to `nullptr`.

Since gtkmm 3.0:

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_application() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Application > > Gtk::Window::property_application | ( |  | ) | const

The Gtk::Application associated with the window.

The application will be kept alive for at least as long as it has any windows associated with it (see Glib::application_hold() for a way to keep it alive without windows).

Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it by setting the :application property to `nullptr`.

Since gtkmm 3.0:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_attached_to() [1/2]

Glib::PropertyProxy< Widget * > Gtk::Window::property_attached_to | ( |  | ) |

The widget to which this window is attached.

See Gtk::Window::set_attached_to().

Examples of places where specifying this relation is useful are for instance a Gtk::Menu created by a Gtk::ComboBox, a completion popup window created by Gtk::Entry or a typeahead search entry created by Gtk::TreeView.

Since gtkmm 3.4:

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_attached_to() [2/2]

Glib::PropertyProxy_ReadOnly< Widget * > Gtk::Window::property_attached_to | ( |  | ) | const

The widget to which this window is attached.

See Gtk::Window::set_attached_to().

Examples of places where specifying this relation is useful are for instance a Gtk::Menu created by a Gtk::ComboBox, a completion popup window created by Gtk::Entry or a typeahead search entry created by Gtk::TreeView.

Since gtkmm 3.4:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_decorated() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_decorated | ( |  | ) |

Whether the window should be decorated by the window manager.

Since gtkmm 2.4:

Default value: `true`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_decorated() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_decorated | ( |  | ) | const

Whether the window should be decorated by the window manager.

Since gtkmm 2.4:

Default value: `true`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_default_height() [1/2]

Glib::PropertyProxy< int > Gtk::Window::property_default_height | ( |  | ) |

The default height of the window, used when initially showing the window.

Default value: -1

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_default_height() [2/2]

Glib::PropertyProxy_ReadOnly< int > Gtk::Window::property_default_height | ( |  | ) | const

The default height of the window, used when initially showing the window.

Default value: -1

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_default_width() [1/2]

Glib::PropertyProxy< int > Gtk::Window::property_default_width | ( |  | ) |

The default width of the window, used when initially showing the window.

Default value: -1

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_default_width() [2/2]

Glib::PropertyProxy_ReadOnly< int > Gtk::Window::property_default_width | ( |  | ) | const

The default width of the window, used when initially showing the window.

Default value: -1

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_deletable() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_deletable | ( |  | ) |

Whether the window frame should have a close button.

Since gtkmm 2.10:

Default value: `true`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_deletable() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_deletable | ( |  | ) | const

Whether the window frame should have a close button.

Since gtkmm 2.10:

Default value: `true`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_destroy_with_parent() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_destroy_with_parent | ( |  | ) |

If this window should be destroyed when the parent is destroyed.

Default value: `false`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_destroy_with_parent() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_destroy_with_parent | ( |  | ) | const

If this window should be destroyed when the parent is destroyed.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_focus_on_map() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_focus_on_map | ( |  | ) |

Whether the window should receive the input focus when mapped.

Since gtkmm 2.6:

Default value: `true`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_focus_on_map() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_focus_on_map | ( |  | ) | const

Whether the window should receive the input focus when mapped.

Since gtkmm 2.6:

Default value: `true`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_focus_visible() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_focus_visible | ( |  | ) |

Whether 'focus rectangles' are currently visible in this window.

This property is maintained by GTK+ based on user input and should not be set by applications.

Since gtkmm 2.20:

Default value: `true`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_focus_visible() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_focus_visible | ( |  | ) | const

Whether 'focus rectangles' are currently visible in this window.

This property is maintained by GTK+ based on user input and should not be set by applications.

Since gtkmm 2.20:

Default value: `true`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_gravity() [1/2]

Glib::PropertyProxy< Gdk::Gravity > Gtk::Window::property_gravity | ( |  | ) |

The window gravity of the window.

See Gtk::Window::move() and Gdk::Gravity for more details about window gravity.

Since gtkmm 2.4:

Default value: Gdk::GRAVITY_NORTH_WEST

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_gravity() [2/2]

Glib::PropertyProxy_ReadOnly< Gdk::Gravity > Gtk::Window::property_gravity | ( |  | ) | const

The window gravity of the window.

See Gtk::Window::move() and Gdk::Gravity for more details about window gravity.

Since gtkmm 2.4:

Default value: Gdk::GRAVITY_NORTH_WEST

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_has_resize_grip() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_has_resize_grip | ( |  | ) |

Whether the window has a corner resize grip.

Note that the resize grip is only shown if the window is actually resizable and not maximized. Use Gtk::Window::property_resize_grip_visible() to find out if the resize grip is currently shown.

Deprecated: 3.14: Resize grips have been removed.

Since gtkmm 3.0:

Deprecated:
  Resize grips have been removed.

Default value: `false`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_has_resize_grip() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_has_resize_grip | ( |  | ) | const

Whether the window has a corner resize grip.

Note that the resize grip is only shown if the window is actually resizable and not maximized. Use Gtk::Window::property_resize_grip_visible() to find out if the resize grip is currently shown.

Deprecated: 3.14: Resize grips have been removed.

Since gtkmm 3.0:

Deprecated:
  Resize grips have been removed.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_has_toplevel_focus()

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_has_toplevel_focus | ( |  | ) | const

Whether the input focus is within this GtkWindow.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_hide_titlebar_when_maximized() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_hide_titlebar_when_maximized | ( |  | ) |

Whether the titlebar should be hidden during maximization.

Since gtkmm 3.4:

Default value: `false`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_hide_titlebar_when_maximized() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_hide_titlebar_when_maximized | ( |  | ) | const

Whether the titlebar should be hidden during maximization.

Since gtkmm 3.4:

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_icon() [1/2]

Glib::PropertyProxy< Glib::RefPtr< Gdk::Pixbuf > > Gtk::Window::property_icon | ( |  | ) |

Icon for this window.

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_icon() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gdk::Pixbuf > > Gtk::Window::property_icon | ( |  | ) | const

Icon for this window.

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_icon_name() [1/2]

Glib::PropertyProxy< Glib::ustring > Gtk::Window::property_icon_name | ( |  | ) |

The :icon-name property specifies the name of the themed icon to use as the window icon.

See Gtk::IconTheme for more details.

Since gtkmm 2.6:

Default value: ""

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_icon_name() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::Window::property_icon_name | ( |  | ) | const

The :icon-name property specifies the name of the themed icon to use as the window icon.

See Gtk::IconTheme for more details.

Since gtkmm 2.6:

Default value: ""

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_is_active()

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_is_active | ( |  | ) | const

Whether the toplevel is the current active window.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_is_maximized()

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_is_maximized | ( |  | ) | const

Whether the window is maximized.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_mnemonics_visible() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_mnemonics_visible | ( |  | ) |

Whether mnemonics are currently visible in this window.

This property is maintained by GTK+ based on user input, and should not be set by applications.

Since gtkmm 2.20:

Default value: `true`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_mnemonics_visible() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_mnemonics_visible | ( |  | ) | const

Whether mnemonics are currently visible in this window.

This property is maintained by GTK+ based on user input, and should not be set by applications.

Since gtkmm 2.20:

Default value: `true`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_modal() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_modal | ( |  | ) |

If `true`, the window is modal (other windows are not usable while this one is up).

Default value: `false`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_modal() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_modal | ( |  | ) | const

If `true`, the window is modal (other windows are not usable while this one is up).

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_opacity() [1/2]

Glib::PropertyProxy< double > Gtk::Window::property_opacity | ( |  | ) |

The opacity of the window, from 0 to 1.

Deprecated:
  Use the opacity property in the Widget base class instead.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_opacity() [2/2]

Glib::PropertyProxy_ReadOnly< double > Gtk::Window::property_opacity | ( |  | ) | const

The opacity of the window, from 0 to 1.

Deprecated:
  Use the opacity property in the Widget base class instead.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_resizable() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_resizable | ( |  | ) |

If `true`, users can resize the window.

Default value: `true`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_resizable() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_resizable | ( |  | ) | const

If `true`, users can resize the window.

Default value: `true`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_resize_grip_visible()

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_resize_grip_visible | ( |  | ) | const

Whether a corner resize grip is currently shown.

Deprecated: 3.14: Resize grips have been removed.

Since gtkmm 3.0:

Deprecated:
  Resize grips have been removed.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_role() [1/2]

Glib::PropertyProxy< Glib::ustring > Gtk::Window::property_role | ( |  | ) |

Unique identifier for the window to be used when restoring a session.

Default value: ""

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_role() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::Window::property_role | ( |  | ) | const

Unique identifier for the window to be used when restoring a session.

Default value: ""

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_screen() [1/2]

Glib::PropertyProxy< Glib::RefPtr< Gdk::Screen > > Gtk::Window::property_screen | ( |  | ) |

The screen where this window will be displayed.

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_screen() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gdk::Screen > > Gtk::Window::property_screen | ( |  | ) | const

The screen where this window will be displayed.

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_skip_pager_hint() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_skip_pager_hint | ( |  | ) |

`true` if the window should not be in the pager.

Default value: `false`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_skip_pager_hint() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_skip_pager_hint | ( |  | ) | const

`true` if the window should not be in the pager.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_skip_taskbar_hint() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_skip_taskbar_hint | ( |  | ) |

`true` if the window should not be in the task bar.

Default value: `false`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_skip_taskbar_hint() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_skip_taskbar_hint | ( |  | ) | const

`true` if the window should not be in the task bar.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_startup_id()

Glib::PropertyProxy_WriteOnly< Glib::ustring > Gtk::Window::property_startup_id | ( |  | ) |

The :startup-id is a write-only property for setting window's startup notification identifier.

See Gtk::Window::set_startup_id() for more details.

Since gtkmm 2.12:

Default value: ""

Returns
  A PropertyProxy_WriteOnly that allows you to set the value of the property, or receive notification when the value of the property changes.

## property_title() [1/2]

Glib::PropertyProxy< Glib::ustring > Gtk::Window::property_title | ( |  | ) |

The title of the window.

Default value: ""

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_title() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::Window::property_title | ( |  | ) | const

The title of the window.

Default value: ""

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_transient_for() [1/2]

Glib::PropertyProxy< Window * > Gtk::Window::property_transient_for | ( |  | ) |

The transient parent of the window.

See Gtk::Window::set_transient_for() for more details about transient windows.

Since gtkmm 2.10:

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_transient_for() [2/2]

Glib::PropertyProxy_ReadOnly< Window * > Gtk::Window::property_transient_for | ( |  | ) | const

The transient parent of the window.

See Gtk::Window::set_transient_for() for more details about transient windows.

Since gtkmm 2.10:

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_type()

Glib::PropertyProxy_ReadOnly< WindowType > Gtk::Window::property_type | ( |  | ) | const

The type of the window.

Default value: Gtk::WINDOW_TOPLEVEL

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_type_hint() [1/2]

Glib::PropertyProxy< GdkWindowTypeHint > Gtk::Window::property_type_hint | ( |  | ) |

Hint to help the desktop environment understand what kind of window this is and how to treat it.

Default value: Gdk::WINDOW_TYPE_HINT_NORMAL

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_type_hint() [2/2]

Glib::PropertyProxy_ReadOnly< GdkWindowTypeHint > Gtk::Window::property_type_hint | ( |  | ) | const

Hint to help the desktop environment understand what kind of window this is and how to treat it.

Default value: Gdk::WINDOW_TYPE_HINT_NORMAL

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_urgency_hint() [1/2]

Glib::PropertyProxy< bool > Gtk::Window::property_urgency_hint | ( |  | ) |

`true` if the window should be brought to the user's attention.

Default value: `false`

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_urgency_hint() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::Window::property_urgency_hint | ( |  | ) | const

`true` if the window should be brought to the user's attention.

Default value: `false`

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## property_window_position() [1/2]

Glib::PropertyProxy< WindowPosition > Gtk::Window::property_window_position | ( |  | ) |

The initial position of the window.

Default value: Gtk::WIN_POS_NONE

Returns
  A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

## property_window_position() [2/2]

Glib::PropertyProxy_ReadOnly< WindowPosition > Gtk::Window::property_window_position | ( |  | ) | const

The initial position of the window.

Default value: Gtk::WIN_POS_NONE

Returns
  A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

## raise()

virtual void Gtk::Window::raise | ( |  | ) |

virtual

Brings the window to the front.

This is just a more obvious convenience wrapper for get_window()->raise().

## remove_accel_group()

void Gtk::Window::remove_accel_group | ( | const Glib::RefPtr< AccelGroup > & | accel_group | ) |

Reverses the effects of add_accel_group().

Parameters

  accel_group | A Gtk::AccelGroup.

## remove_mnemonic()

void Gtk::Window::remove_mnemonic | ( | guint | keyval,
|  | Widget & | target
| ) |  |

Removes a mnemonic from this window.

Parameters

  keyval | The mnemonic.
  target | The widget that gets activated by the mnemonic.

## reshow_with_initial_size()

void Gtk::Window::reshow_with_initial_size | ( |  | ) |

Hides window, then reshows it, resetting the default size and position of the window.

Used by GUI builders only.

Deprecated: 3.10: GUI builders can call Gtk::Widget::hide(), Gtk::Widget::unrealize() and then Gtk::Widget::show() on window themselves, if they still need this functionality.

Deprecated:
  GUI builders can call Widget::hide(), Widget::unrealize() and then Widget::show() themselves, if they still need this functionality.

## resize()

void Gtk::Window::resize | ( | int | width,
|  | int | height
| ) |  |

Resizes the window as if the user had done so, obeying geometry constraints.

The default geometry constraint is that windows may not be smaller than their size request; to override this constraint, call Gtk::Widget::set_size_request() to set the window's request to a smaller value.

If resize() is called before showing a window for the first time, it overrides any default size set with set_default_size().

Windows may not be resized smaller than 1 by 1 pixels.

When using client side decorations, GTK+ will do its best to adjust the given size so that the resulting window size matches the requested size without the title bar, borders and shadows added for the client side decorations, but there is no guarantee that the result will be totally accurate because these widgets added for client side decorations depend on the theme and may not be realized or visible at the time resize() is issued.

If the GtkWindow has a titlebar widget (see set_titlebar()), then typically, resize() will compensate for the height of the titlebar widget only if the height is known when the resulting GtkWindow configuration is issued. For example, if new widgets are added after the GtkWindow configuration and cause the titlebar widget to grow in height, this will result in a window content smaller that specified by resize() and not a larger window.

Parameters

  width | Width in pixels to resize the window to.
  height | Height in pixels to resize the window to.

## resize_to_geometry()

void Gtk::Window::resize_to_geometry | ( | int | width,
|  | int | height
| ) |  |

Like resize(), but width and height are interpreted in terms of the base size and increment set with gtk_window_set_geometry_hints.

Since gtkmm 3.0:

Deprecated: 3.20: This function does nothing. Use resize() and compute the geometry yourself.

Deprecated:
  This function does nothing. Use resize() and compute the geometry yourself.

Parameters

  width | Width in resize increments to resize the window to.
  height | Height in resize increments to resize the window to.

## set_accept_focus()

void Gtk::Window::set_accept_focus | ( | bool | setting = `true` | ) |

Windows may set a hint asking the desktop environment not to receive the input focus.

This function sets this hint.

Since gtkmm 2.4:

Parameters

  setting | `true` to let this window receive input focus.

## set_application()

void Gtk::Window::set_application | ( | const Glib::RefPtr< Application > & | application | ) |

Sets the Gtk::Application associated with the window.

The application will be kept alive for at least as long as it has any windows associated with it. (See Gio::Application::hold() for a way to keep it alive without windows.)

Normally, the connection between the application and the window will remain until the window is destroyed, but you can explicitly remove it by calling unset_application().

This is equivalent to calling Gtk::Application::remove_window() and/or Gtk::Application::add_window() on the old/new applications as relevant, except that the connection between the application and a window added with Gtk::Application::add_window() is removed when the window is closed (hidden).

Parameters

  application | A Gtk::Application.

## set_attached_to()

void Gtk::Window::set_attached_to | ( | Widget & | attach_widget | ) |

Marks window as attached to attach_widget.

This creates a logical binding between the window and the widget it belongs to, which is used by GTK+ to propagate information such as styling or accessibility to window as if it was a children of attach_widget.

Examples of places where specifying this relation is useful are for instance a Gtk::Menu created by a Gtk::ComboBox, a completion popup window created by Gtk::Entry or a typeahead search entry created by Gtk::TreeView.

Note that this function should not be confused with set_transient_for(), which specifies a window manager relation between two toplevels instead.

Passing `nullptr` for attach_widget detaches the window.

Since gtkmm 3.4:

Parameters

  attach_widget | A Gtk::Widget, or `nullptr`.

## set_auto_startup_notification()

static void Gtk::Window::set_auto_startup_notification | ( | bool | setting = `true` | ) |

static

By default, after showing the first Gtk::Window, GTK+ calls gdk_notify_startup_complete().

Call this function to disable the automatic startup notification. You might do this if your first window is a splash screen, and you want to delay notification until after your real main window has been shown, for example.

In that example, you would disable startup notification temporarily, show your splash screen, then re-enable it so that showing the main window would automatically result in notification.

Since gtkmm 2.2:

Parameters

  setting | `true` to automatically do startup notification.

## set_decorated()

void Gtk::Window::set_decorated | ( | bool | setting = `true` | ) |

By default, windows are decorated with a title bar, resize controls, etc.

Some [window managers][gtk-X11-arch] allow GTK+ to disable these decorations, creating a borderless window. If you set the decorated property to `false` using this function, GTK+ will do its best to convince the window manager not to decorate the window. Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling Gtk::Widget::show().

On Windows, this function always works, since there’s no window manager policy involved.

Parameters

  setting | `true` to decorate the window.

## set_default()

void Gtk::Window::set_default | ( | Gtk::Widget & | default_widget | ) |

The default widget is the widget that's activated when the user presses Enter in a dialog (for example).

This function sets the default widget for a Gtk::Window. When setting (rather than unsetting) the default widget it's generally easier to call Gtk::Widget::grab_focus() on the widget. Before making a widget the default widget, you must set the Gtk::CAN_DEFAULT flag on the widget you'd like to make the default using GTK_WIDGET_SET_FLAGS().

Parameters

  default_widget | Widget to be the default.

## set_default_geometry()

void Gtk::Window::set_default_geometry | ( | int | width,
|  | int | height
| ) |  |

Like set_default_size(), but width and height are interpreted in terms of the base size and increment set with gtk_window_set_geometry_hints.

Since gtkmm 3.0:

Deprecated: 3.20: This function does nothing. If you want to set a default size, use set_default_size() instead.

Deprecated:
  This function does nothing. If you want to set a default size, use set_default_size() instead.

Parameters

  width | Width in resize increments, or -1 to unset the default width.
  height | Height in resize increments, or -1 to unset the default height.

## set_default_icon()

static void Gtk::Window::set_default_icon | ( | const Glib::RefPtr< Gdk::Pixbuf > & | icon | ) |

static

Sets an icon to be used as fallback for windows that haven't had set_icon() called on them from a pixbuf.

Since gtkmm 2.4:

Parameters

  icon | The icon.

## set_default_icon_from_file()

static bool Gtk::Window::set_default_icon_from_file | ( | const std::string & | filename | ) |

static

Sets an icon to be used as fallback for windows that haven't had set_icon_list() called on them from a file on disk.

Warns on failure if err is `nullptr`.

Since gtkmm 2.2:

Parameters

  filename | Location of icon file.

Returns
  `true` if setting the icon succeeded.

Exceptions

  Glib::Error |

## set_default_icon_list()

static void Gtk::Window::set_default_icon_list | ( | const std::vector< Glib::RefPtr< Gdk::Pixbuf > > & | list | ) |

static

Sets an icon list to be used as fallback for windows that haven't had set_icon_list() called on them to set up a window-specific icon list.

This function allows you to set up the icon for all windows in your app at once.

See set_icon_list() for more details.

Parameters

  list | A list of Gdk::Pixbuf.

## set_default_icon_name()

static void Gtk::Window::set_default_icon_name | ( | const Glib::ustring & | name | ) |

static

Sets an icon to be used as fallback for windows that haven't had set_icon_list() called on them from a named themed icon, see set_icon_name().

Since gtkmm 2.6:

Parameters

  name | The name of the themed icon.

## set_default_size()

void Gtk::Window::set_default_size | ( | int | width,
|  | int | height
| ) |  |

Sets the default size of a window.

If the window’s “natural” size (its size request) is larger than the default, the default will be ignored. More generally, if the default size does not obey the geometry hints for the window (set_geometry_hints() can be used to set these explicitly), the default size will be clamped to the nearest permitted size.

Unlike Gtk::Widget::set_size_request(), which sets a size request for a widget and thus would keep users from shrinking the window, this function only sets the initial size, just as if the user had resized the window themselves. Users can still shrink the window again as they normally would. Setting a default size of -1 means to use the “natural” default size (the size request of the window).

For more control over a window’s initial size and how resizing works, investigate set_geometry_hints().

For some uses, resize() is a more appropriate function. resize() changes the current size of the window, rather than the size to be used on initial display. resize() always affects the window itself, not the geometry widget.

The default size of a window only affects the first time a window is shown; if a window is hidden and re-shown, it will remember the size it had prior to hiding, rather than using the default size.

Windows can’t actually be 0x0 in size, they must be at least 1x1, but passing 0 for width and height is OK, resulting in a 1x1 default size.

If you use this function to reestablish a previously saved window size, note that the appropriate size to save is the one returned by get_size(). Using the window allocation directly will not work in all circumstances and can lead to growing or shrinking windows.

Parameters

  width | Width in pixels, or -1 to unset the default width.
  height | Height in pixels, or -1 to unset the default height.

## set_deletable()

void Gtk::Window::set_deletable | ( | bool | setting = `true` | ) |

By default, windows have a close button in the window frame.

Some [window managers][gtk-X11-arch] allow GTK+ to disable this button. If you set the deletable property to `false` using this function, GTK+ will do its best to convince the window manager not to show a close button. Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling Gtk::Widget::show().

On Windows, this function always works, since there’s no window manager policy involved.

Since gtkmm 2.10:

Parameters

  setting | `true` to decorate the window as deletable.

## set_focus()

void Gtk::Window::set_focus | ( | Gtk::Widget & | focus | ) |

If focus is not the current focus widget, and is focusable, sets it as the focus widget for the window.

To set the focus to a particular widget in the toplevel, it is usually more convenient to use Gtk::Widget::grab_focus() instead of this function.

Parameters

  focus | Widget to be the new focus widget.

## set_focus_on_map()

void Gtk::Window::set_focus_on_map | ( | bool | setting = `true` | ) |

Windows may set a hint asking the desktop environment not to receive the input focus when the window is mapped.

This function sets this hint.

Since gtkmm 2.6:

Parameters

  setting | `true` to let this window receive input focus on map.

## set_focus_visible()

void Gtk::Window::set_focus_visible | ( | bool | setting = `true` | ) |

Sets the Gtk::Window::property_focus_visible() property.

Since gtkmm 3.2:

Parameters

  setting | The new value.

## set_geometry_hints()

void Gtk::Window::set_geometry_hints | ( | Widget & | geometry_widget,
|  | const Gdk::Geometry & | geometry,
|  | Gdk::WindowHints | geom_mask
| ) |  |

This function sets up hints about how a window can be resized by the user.

You can set a minimum and maximum size; allowed resize increments (e.g. for xterm, you can only resize by the size of a character); aspect ratios; and more. See the Gdk::Geometry struct.

Parameters

  geometry_widget | Widget the geometry hints used to be applied to or `nullptr`. Since 3.20 this argument is ignored and GTK behaves as if `nullptr` was set.
  geometry | Struct containing geometry information or `nullptr`.
  geom_mask | Mask indicating which struct fields should be paid attention to.

## set_gravity()

void Gtk::Window::set_gravity | ( | Gdk::Gravity | gravity | ) |

Window gravity defines the meaning of coordinates passed to move().

See move() and Gdk::Gravity for more details.

The default window gravity is Gdk::GRAVITY_NORTH_WEST which will typically “do what you mean.”

Parameters

  gravity | Window gravity.

## set_has_resize_grip()

void Gtk::Window::set_has_resize_grip | ( | bool | value = `true` | ) |

Sets whether window has a corner resize grip.

Note that the resize grip is only shown if the window is actually resizable and not maximized. Use resize_grip_is_visible() to find out if the resize grip is currently shown.

Since gtkmm 3.0:

Deprecated: 3.14: Resize grips have been removed.

Deprecated:
  Resize grips have been removed.

Parameters

  value | `true` to allow a resize grip.

## set_hide_titlebar_when_maximized()

void Gtk::Window::set_hide_titlebar_when_maximized | ( | bool | setting = `true` | ) |

If setting is `true`, then window will request that it’s titlebar should be hidden when maximized.

This is useful for windows that don’t convey any information other than the application name in the titlebar, to put the available screen space to better use. If the underlying window system does not support the request, the setting will not have any effect.

Note that custom titlebars set with set_titlebar() are not affected by this. The application is in full control of their content and visibility anyway.

Since gtkmm 3.4:

Parameters

  setting | Whether to hide the titlebar when window is maximized.

## set_icon()

void Gtk::Window::set_icon | ( | const Glib::RefPtr< Gdk::Pixbuf > & | icon | ) |

Sets up the icon representing a Gtk::Window.

This icon is used when the window is minimized (also known as iconified). Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. On others, the icon is not used at all, so your mileage may vary.

The icon should be provided in whatever size it was naturally drawn; that is, don’t scale the image before passing it to GTK+. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.

If you have your icon hand-drawn in multiple sizes, use set_icon_list(). Then the best size will be used.

This function is equivalent to calling set_icon_list() with a 1-element list.

See also set_default_icon_list() to set the icon for all windows in your application in one go.

Parameters

  icon | Icon image, or `nullptr`.

## set_icon_from_file()

bool Gtk::Window::set_icon_from_file | ( | const std::string & | filename | ) |

Sets the icon for the window.

This function is equivalent to calling set_icon() with a pixbuf created by loading the image from filename.

Parameters

  filename | Location of icon file.

Returns
  `true` if setting the icon succeeded.

Exceptions

  Glib::Error |

## set_icon_list()

void Gtk::Window::set_icon_list | ( | const std::vector< Glib::RefPtr< Gdk::Pixbuf > > & | list | ) |

Sets up the icon representing a Gtk::Window.

The icon is used when the window is minimized (also known as iconified). Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. On others, the icon is not used at all, so your mileage may vary.

set_icon_list() allows you to pass in the same icon in several hand-drawn sizes. The list should contain the natural sizes your icon is available in; that is, don’t scale the image before passing it to GTK+. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality.

By passing several sizes, you may improve the final image quality of the icon, by reducing or eliminating automatic image scaling.

Recommended sizes to provide: 16x16, 32x32, 48x48 at minimum, and larger images (64x64, 128x128) if you have them.

See also set_default_icon_list() to set the icon for all windows in your application in one go.

Note that transient windows (those who have been set transient for another window using set_transient_for()) will inherit their icon from their transient parent. So there’s no need to explicitly set the icon on transient windows.

Parameters

  list | List of Gdk::Pixbuf.

## set_icon_name()

void Gtk::Window::set_icon_name | ( | const Glib::ustring & | name | ) |

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

See the docs for Gtk::IconTheme for more details. On some platforms, the window icon is not used at all.

Note that this has nothing to do with the WM_ICON_NAME property which is mentioned in the ICCCM.

Since gtkmm 2.18:

Parameters

  name | The name of the themed icon.

## set_keep_above()

void Gtk::Window::set_keep_above | ( | bool | setting = `true` | ) |

Asks to keep window above, so that it stays on top.

Note that you shouldn’t assume the window is definitely above afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch]) could not keep it above, and not all window managers support keeping windows above. But normally the window will end kept above. Just don’t write code that crashes if not.

It’s permitted to call this function before showing a window, in which case the window will be kept above when it appears onscreen initially.

You can track the above state via the “window-state-event” signal on Gtk::Widget.

Note that, according to the Extended Window Manager Hints Specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs.

Since gtkmm 2.4:

Parameters

  setting | Whether to keep window above other windows.

## set_keep_below()

void Gtk::Window::set_keep_below | ( | bool | setting = `true` | ) |

Asks to keep window below, so that it stays in bottom.

Note that you shouldn’t assume the window is definitely below afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch]) could not keep it below, and not all window managers support putting windows below. But normally the window will be kept below. Just don’t write code that crashes if not.

It’s permitted to call this function before showing a window, in which case the window will be kept below when it appears onscreen initially.

You can track the below state via the “window-state-event” signal on Gtk::Widget.

Note that, according to the Extended Window Manager Hints Specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs.

Since gtkmm 2.4:

Parameters

  setting | Whether to keep window below other windows.

## set_manage()

void Gtk::Window::set_manage | ( |  | ) |

override

Overriden to warn that it doesn't make sense to use Gtk::manage() on this class because it has no parent container.

## set_mnemonic_modifier()

void Gtk::Window::set_mnemonic_modifier | ( | Gdk::ModifierType | modifier | ) |

Sets the mnemonic modifier for this window.

Parameters

  modifier | The modifier mask used to activate mnemonics on this window.

## set_mnemonics_visible()

void Gtk::Window::set_mnemonics_visible | ( | bool | setting = `true` | ) |

Sets the Gtk::Window::property_mnemonics_visible() property.

Since gtkmm 2.20:

Parameters

  setting | The new value.

## set_modal()

void Gtk::Window::set_modal | ( | bool | modal = `true` | ) |

Sets a window modal or non-modal.

Modal windows prevent interaction with other windows in the same application. To keep modal dialogs on top of main application windows, use set_transient_for() to make the dialog transient for the parent; most [window managers][gtk-X11-arch] will then disallow lowering the dialog below the parent.

Parameters

  modal | Whether the window is modal.

## set_opacity()

void Gtk::Window::set_opacity | ( | double | opacity | ) |

Request the windowing system to make window partially transparent, with opacity 0 being fully transparent and 1 fully opaque.

(Values of the opacity parameter are clamped to the [0,1] range.) On X11 this has any effect only on X screens with a compositing manager running. See Gtk::Widget::is_composited(). On Windows it should work always.

Note that setting a window’s opacity after the window has been shown causes it to flicker once on Windows.

Since gtkmm 2.12:
  Deprecated: 3.8: Use gtk_widget_set_opacity instead.

Deprecated:
  Use Widget::set_opacity() instead.

Parameters

  opacity | Desired opacity, between 0 and 1.

## set_position()

void Gtk::Window::set_position | ( | WindowPosition | position | ) |

Sets a position constraint for this window.

If the old or new constraint is Gtk::WIN_POS_CENTER_ALWAYS, this will also cause the window to be repositioned to satisfy the new constraint.

Parameters

  position | A position constraint.

## set_resizable()

void Gtk::Window::set_resizable | ( | bool | resizable = `true` | ) |

Sets whether the user can resize a window.

Windows are user resizable by default.

Parameters

  resizable | `true` if the user can resize this window.

## set_role()

void Gtk::Window::set_role | ( | const Glib::ustring & | role | ) |

This function is only useful on X11, not with other GTK+ targets.

In combination with the window title, the window role allows a [window manager][gtk-X11-arch] to identify "the same" window when an application is restarted. So for example you might set the “toolbox” role on your app’s toolbox window, so that when the user restarts their session, the window manager can put the toolbox back in the same place.

If a window already has a unique title, you don’t need to set the role, since the WM can use the title to identify the window when restoring the session.

Parameters

  role | Unique identifier for the window to be used when restoring a session.

## set_screen()

void Gtk::Window::set_screen | ( | const Glib::RefPtr< Gdk::Screen > & | screen | ) |

Sets the Gdk::Screen where the window is displayed; if the window is already mapped, it will be unmapped, and then remapped on the new screen.

Since gtkmm 2.2:

Parameters

  screen | A Gdk::Screen.

## set_skip_pager_hint()

void Gtk::Window::set_skip_pager_hint | ( | bool | setting = `true` | ) |

Windows may set a hint asking the desktop environment not to display the window in the pager.

This function sets this hint. (A "pager" is any desktop navigation tool such as a workspace switcher that displays a thumbnail representation of the windows on the screen.)

Since gtkmm 2.2:

Parameters

  setting | `true` to keep this window from appearing in the pager.

## set_skip_taskbar_hint()

void Gtk::Window::set_skip_taskbar_hint | ( | bool | setting = `true` | ) |

Windows may set a hint asking the desktop environment not to display the window in the task bar.

This function sets this hint.

Since gtkmm 2.2:

Parameters

  setting | `true` to keep this window from appearing in the task bar.

## set_startup_id()

void Gtk::Window::set_startup_id | ( | const Glib::ustring & | startup_id | ) |

Startup notification identifiers are used by desktop environment to track application startup, to provide user feedback and other features.

This function changes the corresponding property on the underlying GdkWindow. Normally, startup identifier is managed automatically and you should only use this function in special cases like transferring focus from other processes. You should use this function before calling present() or any equivalent function generating a window map event.

This function is only useful on X11, not with other GTK+ targets.

Since gtkmm 2.12:

Parameters

  startup_id | A string with startup-notification identifier.

## set_title()

void Gtk::Window::set_title | ( | const Glib::ustring & | title | ) |

Sets the title of the Gtk::Window.

The title of a window will be displayed in its title bar; on the X Window System, the title bar is rendered by the [window manager][gtk-X11-arch], so exactly how the title appears to users may vary according to a user’s exact configuration. The title should help a user distinguish this window from other windows they may have open. A good title might include the application name and current document filename, for example.

Parameters

  title | Title of the window.

## set_titlebar()

void Gtk::Window::set_titlebar | ( | Widget & | titlebar | ) |

Sets a custom titlebar for window.

A typical widget used here is Gtk::HeaderBar, as it provides various features expected of a titlebar while allowing the addition of child widgets to it.

If you set a custom titlebar, GTK+ will do its best to convince the window manager not to put its own titlebar on the window. Depending on the system, this function may not work for a window that is already visible, so you set the titlebar before calling Gtk::Widget::show().

Since gtkmm 3.10:

Parameters

  titlebar | The widget to use as titlebar.

## set_transient_for()

void Gtk::Window::set_transient_for | ( | Window & | parent | ) |

Dialog windows should be set transient for the main application window they were spawned from.

This allows [window managers][gtk-X11-arch] to e.g. keep the dialog on top of the main window, or center the dialog over the main window. Gtk::Dialog::new_with_buttons() and other convenience functions in GTK+ will sometimes call set_transient_for() on your behalf.

Passing `nullptr` for parent unsets the current transient window.

On Wayland, this function can also be used to attach a new Gtk::WINDOW_POPUP to a Gtk::WINDOW_TOPLEVEL parent already mapped on screen so that the Gtk::WINDOW_POPUP will be created as a subsurface-based window Gdk::WINDOW_SUBSURFACE which can be positioned at will relatively to the Gtk::WINDOW_TOPLEVEL surface.

On Windows, this function puts the child window on top of the parent, much as the window manager would have done on X.

Parameters

  parent | Parent window, or `nullptr`.

## set_type_hint()

void Gtk::Window::set_type_hint | ( | Gdk::WindowTypeHint | hint | ) |

By setting the type hint for the window, you allow the window manager to decorate and handle the window in a way which is suitable to the function of the window in your application.

This function should be called before the window becomes visible.

Gtk::Dialog::new_with_buttons() and other convenience functions in GTK+ will sometimes call set_type_hint() on your behalf.

Parameters

  hint | The window type.

## set_urgency_hint()

void Gtk::Window::set_urgency_hint | ( | bool | setting = `true` | ) |

Windows may set a hint asking the desktop environment to draw the users attention to the window.

This function sets this hint.

Since gtkmm 2.8:

Parameters

  setting | `true` to mark this window as urgent.

## set_wmclass()

void Gtk::Window::set_wmclass | ( | const Glib::ustring & | wmclass_name,
|  | const Glib::ustring & | wmclass_class
| ) |  |

Don’t use this function.

It sets the X Window System “class” and “name” hints for a window. According to the ICCCM, you should always set these to the same value for all windows in an application, and GTK+ sets them to that value by default, so calling this function is sort of pointless. However, you may want to call set_role() on each window in your application, for the benefit of the session manager. Setting the role allows the window manager to restore window positions when loading a saved session.

Deprecated: 3.22

Deprecated:
  Don’t use this function.

Parameters

  wmclass_name | Window name hint.
  wmclass_class | Window class hint.

## show_uri()

void Gtk::Window::show_uri | ( | const Glib::ustring & | uri,
|  | guint32 | timestamp
| ) |  |

This is a convenience function for launching the default application to show the uri.

The uri must be of a form understood by GIO (i.e. you need to install gvfs to get support for uri schemes such as http:// or ftp://, as only local files are handled by GIO itself). Typical examples are

- `file:///home/gnome/pict.jpg`
- `http://www.gnome.org`
- `mailto:me @a gnome.org`

Ideally the timestamp is taken from the event triggering the gtk_show_uri() call. If timestamp is not known you can take GDK_CURRENT_TIME.

This is the recommended call to be used as it passes information necessary for sandbox helpers to parent their dialogs properly.

Since gtkmm 3.24:

Parameters

  uri | The uri to show.
  timestamp | A timestamp to prevent focus stealing.

Exceptions

  Glib::Error |

## signal_keys_changed()

Glib::SignalProxy< void > Gtk::Window::signal_keys_changed | ( |  | ) |

Slot Prototype:
  `void on_my_keys_changed()`

Flags: Run First

The signal_keys_changed() signal gets emitted when the set of accelerators or mnemonics that are associated with window changes.

## signal_set_focus()

Glib::SignalProxy< void, Widget * > Gtk::Window::signal_set_focus | ( |  | ) |

Slot Prototype:
  `void on_my_set_focus(Widget* focus)`

Flags: Run Last

## stick()

void Gtk::Window::stick | ( |  | ) |

Asks to stick window, which means that it will appear on all user desktops.

Note that you shouldn’t assume the window is definitely stuck afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch] could unstick it again, and some window managers do not support sticking windows. But normally the window will end up stuck. Just don't write code that crashes if not.

It’s permitted to call this function before showing a window.

You can track stickiness via the “window-state-event” signal on Gtk::Widget.

## unfullscreen()

void Gtk::Window::unfullscreen | ( |  | ) |

Asks to toggle off the fullscreen state for window.

Note that you shouldn’t assume the window is definitely not full screen afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch]) could fullscreen it again, and not all window managers honor requests to unfullscreen windows. But normally the window will end up restored to its normal state. Just don’t write code that crashes if not.

You can track the fullscreen state via the “window-state-event” signal on Gtk::Widget.

Since gtkmm 2.2:

## unmaximize()

void Gtk::Window::unmaximize | ( |  | ) |

Asks to unmaximize window.

Note that you shouldn’t assume the window is definitely unmaximized afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch]) could maximize it again, and not all window managers honor requests to unmaximize. But normally the window will end up unmaximized. Just don’t write code that crashes if not.

You can track maximization via the “window-state-event” signal on Gtk::Widget.

## unset_application()

void Gtk::Window::unset_application | ( |  | ) |

Unsets the Application associated with the window.

This could cause the application to exit if it is the application's last window.

## unset_attached_to()

void Gtk::Window::unset_attached_to | ( |  | ) |

Unsets the attached-to widget.

See also
  set_attached_to().

Since gtkmm 3.4:

## unset_default()

void Gtk::Window::unset_default | ( |  | ) |

## unset_focus()

void Gtk::Window::unset_focus | ( |  | ) |

## unset_transient_for()

void Gtk::Window::unset_transient_for | ( |  | ) |

Unsets the current transient window.

See also
  set_transient_for().

Since gtkmm 2.20:

## unstick()

void Gtk::Window::unstick | ( |  | ) |

Asks to unstick window, which means that it will appear on only one of the user’s desktops.

Note that you shouldn’t assume the window is definitely unstuck afterward, because other entities (e.g. the user or [window manager][gtk-X11-arch]) could stick it again. But normally the window will end up stuck. Just don’t write code that crashes if not.

You can track stickiness via the “window-state-event” signal on Gtk::Widget.