Gtk2::Gdk::Window(3)

πŸ“¦
version 1.24993 Β· 2 versions
, in fedora 43

🌸 Gtk2::Gdk::Window 🌸

okay so bestie πŸ’– you just pulled up the Gtk2::Gdk::Window(3) manual page β€” User Contributed Perl Documentation. This is part 1, and it's giving low-level window-system realness, so let's get into it. No cap. πŸ¦‹


✨ NAME ✨

Gtk2::Gdk::Window β€” wrapper for GdkWindow. That's the whole vibe. πŸ’…

πŸ’– DESCRIPTION πŸ’–

Gtk2::Gdk::Window is a low-level window-system window. One of these is created when a widget is "realized". It's literally the window behind the window, iykyk. πŸͺŸ

As of Gtk 2.22 a window can only be created by Gtk2::Gdk::Window->new(), foreign_new(), etc. Glib::Object::new() doesn't work (segfaults on using the resulting window object). 😭 It's not possible to subclass Gtk2::Gdk::Window with Glib::Object::Subclass and the Glib::Type system, since only gdk_window_new() does the actual window creation, and that function always makes a GdkWindow. (The Perl-Gtk Gtk2::Gdk::Window->new() wrapper ignores the class name argument.) So don't try to be clever there, bestie. πŸ™ˆ

It may work to create a Perl level subclass and re-bless a Gtk2::Gdk::Window->new() into that. But like any such re-blessing it's not preserved when the object is returned from a Gtk function etc (that just gives the base Gtk class). So lowkey don't count on it. πŸ’€

πŸ¦‹ HIERARCHY πŸ¦‹

  Glib::Object
  +----Gtk2::Gdk::Drawable
       +----Gtk2::Gdk::Window

πŸ‘‘ METHODS πŸ‘‘

Okay so here's every method, every arg, every Since:, all of it. Periodt. ✨

  • window = Gtk2::Gdk::Window->new ($parent, $attributes_ref) β€” Create and return a new window.
    • $parent (Gtk2::Gdk::Window or undef)
    • $attributes_ref (scalar)

parent can be undef to mean the root window of the default screen. attributes_ref is a hashref containing some of the following keys:

title              string
event_mask         Gtk2::Gdk::EventMask flags
x                  integer
y                  integer
width              integer
height             integer
wclass             Gtk2::Gdk::WindowClass enum
visual             Gtk2::Gdk::Visual
colormap           Gtk2::Gdk::Colormap
window_type        Gtk2::Gdk::WindowType enum
cursor             Gtk2::Gdk::Cursor
wmclass_name       string
wmclass_class      string
override_redirect  boolean (integer 0 or 1)

window_type is mandatory because it defaults to "root" but of course it's not possible to create a new root window. The other fields get default values zero, empty, unset, etc.

Example:

  my $win = Gtk2::Gdk::Window->new
              (undef, { window_type => 'toplevel,
                        wclass => 'GDK_INPUT_OUTPUT',
                        x => 0,
                        y => 0,
                        width => 200,
                        height => 100 });

Incidentally, the nicknames for wclass Gtk2::Gdk::WindowClass really are "output" for input-output and "only" for input-only. Those names are a bit odd, but that's what Gtk has. You can, as for any enum, give the full names like GDK_INPUT_OUTPUT if desired, for some clarity. πŸ’…

  • boolean = $window->get_accept_focus β€” Since: gtk+ 2.22
  • $window->set_accept_focus ($accept_focus) β€” $accept_focus (boolean). Since: gtk+ 2.4
  • (window, win_x, win_y) = Gtk2::Gdk::Window->at_pointer β€” Returns window, a Gtk2::Gdk::Window and win_x and win_y, integers.
  • $window->set_back_pixmap ($pixmap, $parent_relative=0) β€” $pixmap (Gtk2::Gdk::Pixmap or undef); $parent_relative (boolean).
  • pattern = $window->get_background_pattern β€” Since: gtk+ 2.22
  • $window->set_background ($color) β€” $color (Gtk2::Gdk::Color).
  • $window->beep β€” Since: gtk+ 2.12
  • $window->begin_move_drag ($button, $root_x, $root_y, $timestamp) β€” $button (integer), $root_x (integer), $root_y (integer), $timestamp (unsigned).
  • $window->begin_paint_rect ($rectangle) β€” $rectangle (Gtk2::Gdk::Rectangle).
  • $window->begin_paint_region ($region) β€” $region (Gtk2::Gdk::Region).
  • $window->begin_resize_drag ($edge, $button, $root_x, $root_y, $timestamp) β€” $edge (Gtk2::Gdk::WindowEdge), $button (integer), $root_x (integer), $root_y (integer), $timestamp (unsigned).
  • $window->set_child_input_shapes β€” Since: gtk+ 2.10
  • $window->set_child_shapes β€” no extra deets.
  • list = $window->get_children β€” Returns the list of children (Gtk2::Gdk::Window's) known to gdk.
  • $window->clear β€” no extra deets.
  • $window->clear_area ($x, $y, $width, $height) β€” $x (integer), $y (integer), $width (integer), $height (integer).
  • $window->clear_area_e ($x, $y, $width, $height) β€” $x (integer), $y (integer), $width (integer), $height (integer).
  • boolean = $window->get_composited β€” Since: gtk+ 2.22
  • $window->set_composited ($composited) β€” $composited (boolean). Since: gtk+ 2.12
  • $window->configure_finished β€” Since: gtk+ 2.6
  • (x, y) = $window->coords_from_parent ($parent_x, $parent_y) β€” $parent_x (double), $parent_y (double). Since: gtk+ 2.22
  • (parent_x, parent_y) = $window->coords_to_parent ($x, $y) β€” $x (double), $y (double). Since: gtk+ 2.22
  • surface = $window->create_similar_surface ($content, $width, $height) β€” $content (Cairo::Content), $width (integer), $height (integer). Since: gtk+ 2.22
  • cursor or undef = $window->get_cursor β€” Since: gtk+ 2.18
  • $window->set_cursor ($cursor) β€” $cursor (Gtk2::Gdk::Cursor or undef).
  • Gtk2::Gdk::Window->set_debug_updates ($enable) / $window->set_debug_updates ($enable) β€” $enable (boolean).
  • list = $window->get_decorations β€” returns a list.
  • $window->set_decorations ($decorations) β€” $decorations (Gtk2::Gdk::WMDecoration).
  • $window->deiconify β€” no extra deets.
  • $window->destroy β€” no extra deets.
  • window = $window->get_effective_parent β€” Since: gtk+ 2.22
  • window = $window->get_effective_toplevel β€” Since: gtk+ 2.22
  • window or undef = $offscreen_window->get_embedder β€” Only for offscreen Gtk2::Gdk::Windows. Since: gtk+ 2.18
  • $offscreen_window->set_embedder ($embedder) β€” $embedder (Gtk2::Gdk::Window). Only for offscreen Gtk2::Gdk::Windows. Since: gtk+ 2.18
  • $window->enable_synchronized_configure β€” Since: gtk+ 2.6
  • $window->end_paint β€” no extra deets.
  • boolean = $window->ensure_native β€” Since: gtk+ 2.18
  • eventmask = $window->get_events β€” returns eventmask.
  • $window->set_events ($event_mask) β€” $event_mask (Gtk2::Gdk::EventMask).
  • $window->flush β€” Since: gtk+ 2.18
  • $window->focus ($timestamp) β€” $timestamp (unsigned).
  • boolean = $window->get_focus_on_map β€” Since: gtk+ 2.22
  • $window->set_focus_on_map ($focus_on_map) β€” $focus_on_map (boolean). Since: gtk+ 2.6
  • window = Gtk2::Gdk::Window->foreign_new ($anid) β€” $anid (Gtk2::Gdk::NativeWindow).
  • window = Gtk2::Gdk::Window->foreign_new_for_display ($display, $anid) β€” $display (Gtk2::Gdk::Display), $anid (Gtk2::Gdk::NativeWindow). Since: gtk+ 2.2
  • rectangle = $window->get_frame_extents β€” returns rectangle.
  • $window->freeze_updates β€” no extra deets.
  • $window->fullscreen β€” Since: gtk+ 2.2
  • $window->set_functions ($functions) β€” $functions (Gtk2::Gdk::WMFunction).
  • $sm_client_id->gdk_set_sm_client_id β€” exactly that, bestie.
  • $window->geometry_changed β€” Only useful for offscreen Gtk2::Gdk::Windows. Since: gtk+ 2.18
  • (x, y, width, height, depth) = $window->get_geometry β€” returns all the geometry deets.
  • $window->set_geometry_hints ($geometry) β€” sets hints from $geometry.
  • $window->set_geometry_hints ($geometry, $geom_mask) β€” $geom_mask (Gtk2::Gdk::WindowHints) optional, usually inferred from $geometry; $geometry (scalar) Gtk2::Gdk::Geometry or hashref.
    • $geometry is either a Gtk2::Gdk::Geometry object, or a hashref with the following keys and values,
min_width     integer \ 'min-size' mask
min_height    integer /
max_width     integer \ 'max-size' mask
max_height    integer /
base_width    integer \ 'base-size' mask
base_height   integer /
width_inc     integer \ 'resize-inc' mask
height_inc    integer /
min_aspect    float   \ 'aspect' mask
max_aspect    float   /
win_gravity   Gtk2::Gdk::Gravity enum, 'win-gravity' mask
  • Optional $geom_mask is which fields of $geometry are used. If $geometry is a hashref then $geom_mask defaults to the keys supplied in the hash, so for example
  $win->set_geometry_hints ({ min_width => 20, min_height => 10});
  • If $geometry is a Gtk2::Gdk::Geometry object then you must give $geom_mask explicitly.
  • The 'pos', 'user-pos' and 'user-size' flags in $geom_mask have no data fields, so cannot be inferred from a $geometry hashref. If you want those flags you must pass $geom_mask explicitly.
  • window = $window->get_group β€” Since: gtk+ 2.4
  • $window->set_group ($leader) β€” $leader (Gtk2::Gdk::Window or undef).
  • boolean = $window->has_native β€” Since: gtk+ 2.22
  • $window->hide β€” no extra deets.
  • $window->set_icon_list (...) β€” ... (list) of GdkPixbuf's.
  • $window->set_icon_name ($name) β€” $name (string or undef).
  • $window->set_icon ($icon_window, $pixmap, $mask) β€” $icon_window (Gtk2::Gdk::Window or undef), $pixmap (Gtk2::Gdk::Pixmap or undef), $mask (Gtk2::Gdk::Bitmap or undef).
  • $window->iconify β€” no extra deets.
  • $window->input_shape_combine_mask ($mask, $x, $y) β€” $mask (Gtk2::Gdk::Bitmap or undef), $x (integer), $y (integer). Since: gtk+ 2.10
  • $window->input_shape_combine_region ($shape, $offset_x, $offset_y) β€” $shape (Gtk2::Gdk::Region or undef), $offset_x (integer), $offset_y (integer). Since: gtk+ 2.10
  • list = $window->get_internal_paint_info β€” returns a list.
  • $window->invalidate_maybe_recurse ($region, $func, $data=undef) β€” $region (Gtk2::Gdk::Region), $func (scalar), $data (scalar).
  • $window->invalidate_rect ($rectangle, $invalidate_children) β€” $rectangle (Gtk2::Gdk::Rectangle or undef), $invalidate_children (boolean).
  • $window->invalidate_region ($region, $invalidate_children) β€” $region (Gtk2::Gdk::Region), $invalidate_children (boolean).
  • boolean = $window->is_destroyed β€” Since: gtk+ 2.18
  • boolean = $window->is_input_only β€” Since: gtk+ 2.22
  • boolean = $window->is_shaped β€” Since: gtk+ 2.22
  • boolean = $window->is_viewable β€” no extra.
  • boolean = $window->is_visible β€” no extra.
  • $window->set_keep_above ($setting) β€” $setting (boolean). Since: gtk+ 2.4
  • $window->set_keep_below ($setting) β€” $setting (boolean). Since: gtk+ 2.4
  • window = Gtk2::Gdk::Window->lookup ($anid) β€” $anid (Gtk2::Gdk::NativeWindow).
  • window = Gtk2::Gdk::Window->lookup_for_display ($display, $anid) β€” $display (Gtk2::Gdk::Display), $anid (Gtk2::Gdk::NativeWindow). Since: gtk+ 2.2
  • $window->lower β€” no extra deets.
  • $window->maximize β€” no extra deets.
  • $window->merge_child_input_shapes β€” Since: gtk+ 2.10
  • $window->merge_child_shapes β€” no extra deets.
  • boolean = $window->get_modal_hint β€” Since: gtk+ 2.22
  • $window->set_modal_hint ($modal) β€” $modal (boolean).
  • $window->move ($x, $y) β€” $x (integer), $y (integer).
  • $window->move_region ($region, $dx, $dy) β€” $region (Gtk2::Gdk::Region), $dx (integer), $dy (integer). Since: gtk+ 2.8
  • $window->move_resize ($x, $y, $width, $height) β€” $x (integer), $y (integer), $width (integer).
  • $height (integer) β€” yes bestie we're still finishing the arg list from the method above, picking up mid-sentence like nothing happened πŸ’…
  • $window->move_to_current_desktop β€” shoves the window onto the current desktop.
    • Since: gtk+ 2.8
  • $window->set_opacity ($opacity) β€” sets how see-through the window is.
    • $opacity (double) β€” the opacity value.
    • Since: gtk+ 2.12
  • (x, y) = $window->get_origin β€” hands you back the origin coords, that's the whole thing ✨
  • $window->set_override_redirect ($override_redirect) β€” toggles override-redirect mode.
    • $override_redirect (boolean) β€” the flag.
  • window = $window->get_parent β€” returns the parent window.
  • list = $window->peek_children β€” an alias for get_children. literally the same thing, no cap.
  • pixmap or undef = $offscreen_window->get_pixmap β€” only for offscreen Gtk2::Gdk::Windows.
    • Since: gtk+ 2.18
  • (window_at_pointer, x, y, mask) = $window->get_pointer β€” returns window_at_pointer, a Gtk2::Gdk::Window or undef, plus x and y, integers, plus mask, a Gtk2::Gdk::ModifierType. four things, one call, slay.
  • (x, y) = $window->get_position β€” returns the position coords.
  • Gtk2::Gdk::Window->process_all_updates
  • $window->process_all_updates
Gtk2::Gdk::Window->process_all_updates
$window->process_all_updates
  • $window->process_updates ($update_children) β€” processes pending updates.
    • $update_children (boolean) β€” whether the children get processed too.
  • $window->property_change ($property, $type, $format, $mode, ...) β€” changes a window property.
    • $property (Gtk2::Gdk::Atom)
    • $type (Gtk2::Gdk::Atom)
    • $format (integer)
    • $mode (Gtk2::Gdk::PropMode)
    • ... (list) β€” property value(s)

Depending on the value of format, the property value(s) can be:

  • Gtk2::Gdk::CHARS β€” a string
  • Gtk2::Gdk::USHORTS β€” one or more unsigned short numbers
  • Gtk2::Gdk::ULONGS β€” one or more unsigned long numbers
  • $window->property_delete ($property) β€” deletes the property.
    • $property (Gtk2::Gdk::Atom)
  • (property_type, format, data) = $window->property_get ($property, $type, $offset, $length, $pdelete) β€” reads a property back out.
    • $property (Gtk2::Gdk::Atom)
    • $type (Gtk2::Gdk::Atom)
    • $offset (unsigned)
    • $length (unsigned)
    • $pdelete (integer)

See property_change for an explanation of the meaning of format. 🫢

  • $window->raise β€” raises the window.
  • $window->redirect_to_drawable ($drawable, $src_x, $src_y, $dest_x, $dest_y, $width, $height) β€” redirects the window's contents into a drawable.
    • $drawable (Gtk2::Gdk::Drawable)
    • $src_x (integer)
    • $src_y (integer)
    • $dest_x (integer)
    • $dest_y (integer)
    • $width (integer)
    • $height (integer)
    • Since: gtk+ 2.14
  • $window->register_dnd β€” registers the window for drag-and-drop.
  • $window->remove_redirection β€” undoes the redirection.
    • Since: gtk+ 2.14
  • $window->reparent ($new_parent, $x, $y) β€” moves the window under a new parent.
    • $new_parent (Gtk2::Gdk::Window)
    • $x (integer)
    • $y (integer)
  • $window->resize ($width, $height) β€” resizes the window.
    • $width (integer)
    • $height (integer)
  • $window->restack ($sibling, $above) β€” restacks the window relative to a sibling.
    • $sibling (Gtk2::Gdk::Window or `undef*)
    • $above (boolean)
    • Since: gtk+ 2.18
  • $window->set_role ($role) β€” sets the window's role.
    • $role (string)
  • (root_x, root_y) = $window->get_root_coords ($x, $y) β€” translates coords into root window coords.
    • $x (integer)
    • $y (integer)
    • Since: gtk+ 2.18
  • (x, y) = $window->get_root_origin β€” returns the origin relative to the root window.
  • $window->scroll ($dx, $dy) β€” scrolls the window by a delta.
    • $dx (integer)
    • $dy (integer)
  • $window->shape_combine_mask ($mask, $x, $y) β€” combines a shape mask onto the window.
    • $mask (Gtk2::Gdk::Bitmap or `undef*)
    • $x (integer)
    • $y (integer)
  • $window->shape_combine_region ($shape_region, $offset_x, $offset_y) β€” combines a shape region onto the window.
    • $shape_region (Gtk2::Gdk::Region or `undef*)
    • $offset_x (integer)
    • $offset_y (integer)
  • $window->show β€” shows the window.
  • $window->show_unraised β€” shows the window without raising it. subtle queen behaviour 🌸
  • $window->set_skip_pager_hint ($skips_pager) β€” sets the skip-pager hint.
    • $skips_pager (boolean)
    • Since: gtk+ 2.2
  • $window->set_skip_taskbar_hint ($skips_taskbar) β€” sets the skip-taskbar hint.
    • $skips_taskbar (boolean)
    • Since: gtk+ 2.2
  • $window->set_startup_id ($startup_id) β€” sets the startup notification id.
    • $startup_id (string)
    • Since: gtk+ 2.12
  • windowstate = $window->get_state β€” returns the window state.
  • boolean = $window->set_static_gravities ($use_static) β€” sets static gravities, and returns a boolean.
    • $use_static (boolean)
  • $window->stick β€” sticks the window.
  • $window->thaw_updates β€” thaws updates back on (the counterpart to freezing them).
  • $window->set_title ($title) β€” sets the window title.
    • $title (string)
  • window = $window->get_toplevel β€” returns the toplevel window.
  • list = Gtk2::Gdk::Window->get_toplevels β€” returns a list of top level windows (Gtk2::Gdk::Window's) known to gdk, on the default screen. A toplevel window is a child of the root window. ✨
  • $window->set_transient_for ($parent) β€” marks the window as transient for a parent.
    • $parent (Gtk2::Gdk::Window)
  • windowtypehint = $window->get_type_hint β€” returns the type hint.
    • Since: gtk+ 2.10
  • $window->set_type_hint ($hint) β€” sets the type hint.
    • $hint (Gtk2::Gdk::WindowTypeHint)
  • $window->unfullscreen β€” takes the window out of fullscreen.
    • Since: gtk+ 2.2
  • $window->unmaximize β€” un-maximizes the window.
  • $window->unstick β€” un-sticks the window.
  • region or undef = $window->get_update_area β€” returns the update area, a region or undef.
  • $window->set_urgency_hint ($urgent) β€” sets the urgency hint. (urgent!! 😭)
    • $urgent (boolean)
    • Since: gtk+ 2.8
  • unsigned = $window->get_user_data β€” returns the user data, an unsigned.
  • $window->set_user_data ($user_data) β€” sets the user data.
    • $user_data (unsigned)
  • $window->set_user_time ($timestamp) β€” sets the user time timestamp.
    • $timestamp (unsigned)
    • Since: gtk+ 2.6
  • windowtype = $window->get_window_type β€” returns the window type.
  • $window->withdraw β€” withdraws the window.

✨ PROPERTIES ✨

  • 'cursor' (Gtk2::Gdk::Cursor : default undef : readable / writable) β€” Cursor

πŸŽ€ SIGNALS πŸŽ€

  • from-embedder (Gtk2::Gdk::Window, double, double, gpointer, gpointer)
  • Gtk2::Gdk::Window = pick-embedded-child (Gtk2::Gdk::Window, double, double)
  • to-embedder (Gtk2::Gdk::Window, double, double, gpointer, gpointer)

from-embedder, to-embedder and pick-embedded-child signals are for offscreen windows only. iykyk 🫢

from-embedder and to-embedder receive the x and y coordinates to translate, and must return the translated x and y coordinate.


🌈 ENUMS AND FLAGS 🌈

flags Gtk2::Gdk::EventMask

  • 'exposure-mask' / 'GDK_EXPOSURE_MASK'
  • 'pointer-motion-mask' / 'GDK_POINTER_MOTION_MASK'
  • 'pointer-motion-hint-mask' / 'GDK_POINTER_MOTION_HINT_MASK'
  • 'button-motion-mask' / 'GDK_BUTTON_MOTION_MASK'
  • 'button1-motion-mask' / 'GDK_BUTTON1_MOTION_MASK'
  • 'button2-motion-mask' / 'GDK_BUTTON2_MOTION_MASK'
  • 'button3-motion-mask' / 'GDK_BUTTON3_MOTION_MASK'
  • 'button-press-mask' / 'GDK_BUTTON_PRESS_MASK'
  • 'button-release-mask' / 'GDK_BUTTON_RELEASE_MASK'
  • 'key-press-mask' / 'GDK_KEY_PRESS_MASK'
  • 'key-release-mask' / 'GDK_KEY_RELEASE_MASK'
  • 'enter-notify-mask' / 'GDK_ENTER_NOTIFY_MASK'
  • 'leave-notify-mask' / 'GDK_LEAVE_NOTIFY_MASK'
  • 'focus-change-mask' / 'GDK_FOCUS_CHANGE_MASK'
  • 'structure-mask' / 'GDK_STRUCTURE_MASK'
  • 'property-change-mask' / 'GDK_PROPERTY_CHANGE_MASK'
  • 'visibility-notify-mask' / 'GDK_VISIBILITY_NOTIFY_MASK'
  • 'proximity-in-mask' / 'GDK_PROXIMITY_IN_MASK'
  • 'proximity-out-mask' / 'GDK_PROXIMITY_OUT_MASK'
  • 'substructure-mask' / 'GDK_SUBSTRUCTURE_MASK'
  • 'scroll-mask' / 'GDK_SCROLL_MASK'
  • 'all-events-mask' / 'GDK_ALL_EVENTS_MASK'

enum Gtk2::Gdk::PropMode

  • 'replace' / 'GDK_PROP_MODE_REPLACE'
  • 'prepend' / 'GDK_PROP_MODE_PREPEND'
  • 'append' / 'GDK_PROP_MODE_APPEND'

flags Gtk2::Gdk::WMDecoration

  • 'all' / 'GDK_DECOR_ALL'
  • 'border' / 'GDK_DECOR_BORDER'
  • 'resizeh' / 'GDK_DECOR_RESIZEH'
  • 'title' / 'GDK_DECOR_TITLE'
  • 'menu' / 'GDK_DECOR_MENU'
  • 'minimize' / 'GDK_DECOR_MINIMIZE'
  • 'maximize' / 'GDK_DECOR_MAXIMIZE'

flags Gtk2::Gdk::WMFunction

  • 'all' / 'GDK_FUNC_ALL'
  • 'resize' / 'GDK_FUNC_RESIZE'
  • 'move' / 'GDK_FUNC_MOVE'
  • 'minimize' / 'GDK_FUNC_MINIMIZE'
  • 'maximize' / 'GDK_FUNC_MAXIMIZE'
  • 'close' / 'GDK_FUNC_CLOSE'

enum Gtk2::Gdk::WindowEdge

  • 'north-west' / 'GDK_WINDOW_EDGE_NORTH_WEST'
  • 'north' / 'GDK_WINDOW_EDGE_NORTH'
  • 'north-east' / 'GDK_WINDOW_EDGE_NORTH_EAST'
  • 'west' / 'GDK_WINDOW_EDGE_WEST'
  • 'east' / 'GDK_WINDOW_EDGE_EAST'
  • 'south-west' / 'GDK_WINDOW_EDGE_SOUTH_WEST'
  • 'south' / 'GDK_WINDOW_EDGE_SOUTH'
  • 'south-east' / 'GDK_WINDOW_EDGE_SOUTH_EAST'

flags Gtk2::Gdk::WindowHints

  • 'pos' / 'GDK_HINT_POS'
  • 'min-size' / 'GDK_HINT_MIN_SIZE'
  • 'max-size' / 'GDK_HINT_MAX_SIZE'
  • 'base-size' / 'GDK_HINT_BASE_SIZE'
  • 'aspect' / 'GDK_HINT_ASPECT'
  • 'resize-inc' / 'GDK_HINT_RESIZE_INC'
  • 'win-gravity' / 'GDK_HINT_WIN_GRAVITY'
  • 'user-pos' / 'GDK_HINT_USER_POS'
  • 'user-size' / 'GDK_HINT_USER_SIZE'

flags Gtk2::Gdk::WindowState

  • 'withdrawn' / 'GDK_WINDOW_STATE_WITHDRAWN'
  • 'iconified' / 'GDK_WINDOW_STATE_ICONIFIED'
  • 'maximized' / 'GDK_WINDOW_STATE_MAXIMIZED'
  • 'sticky' / 'GDK_WINDOW_STATE_STICKY'
  • 'fullscreen' / 'GDK_WINDOW_STATE_FULLSCREEN'
  • 'above' / 'GDK_WINDOW_STATE_ABOVE'
  • 'below' / 'GDK_WINDOW_STATE_BELOW'

enum Gtk2::Gdk::WindowType

  • 'root' / 'GDK_WINDOW_ROOT'
  • 'toplevel' / 'GDK_WINDOW_TOPLEVEL'
  • 'child' / 'GDK_WINDOW_CHILD'
  • 'dialog' / 'GDK_WINDOW_DIALOG'
  • 'temp' / 'GDK_WINDOW_TEMP'
  • 'foreign' / 'GDK_WINDOW_FOREIGN'
  • 'offscreen' / 'GDK_WINDOW_OFFSCREEN'

enum Gtk2::Gdk::WindowTypeHint

  • 'normal' / 'GDK_WINDOW_TYPE_HINT_NORMAL'
  • 'dialog' / 'GDK_WINDOW_TYPE_HINT_DIALOG'
  • 'menu' / 'GDK_WINDOW_TYPE_HINT_MENU'
  • 'toolbar' / 'GDK_WINDOW_TYPE_HINT_TOOLBAR'
  • 'splashscreen' / 'GDK_WINDOW_TYPE_HINT_SPLASHSCREEN'
  • 'utility' / 'GDK_WINDOW_TYPE_HINT_UTILITY'
  • 'dock' / 'GDK_WINDOW_TYPE_HINT_DOCK'
  • 'desktop' / 'GDK_WINDOW_TYPE_HINT_DESKTOP'
  • 'dropdown-menu' / 'GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU'
  • 'popup-menu' / 'GDK_WINDOW_TYPE_HINT_POPUP_MENU'
  • 'tooltip' / 'GDK_WINDOW_TYPE_HINT_TOOLTIP'
  • 'notification' / 'GDK_WINDOW_TYPE_HINT_NOTIFICATION'
  • 'combo' / 'GDK_WINDOW_TYPE_HINT_COMBO'
  • 'dnd' / 'GDK_WINDOW_TYPE_HINT_DND'

πŸ’– SEE ALSO πŸ’–

Gtk2, Glib::Object, Gtk2::Gdk::Drawable


Copyright (C) 2003-2011 by the gtk2-perl team.

This software is licensed under the LGPL. See Gtk2 for a full notice.


and that's a wrap bestie!! πŸŽ€ this whole thing came out of perl v5.42.0, dated 2025-07-25, and it lives in the manpage Gtk2::Gdk::Window(3) β€” go forth and window, you absolute icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from