Next: Gtk2::Gdk::X11 | Previous: Gtk2::Gdk::Visual | [Gtk2-Perl - Table of Contents] | [Gtk2-Perl - Index] |
Gtk2::Gdk::Window
Glib::Object +----Gtk2::Gdk::Drawable +----Gtk2::Gdk::Window
Create and return a new window. 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.
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.
Since: gtk+ 2.4
Returns window, a Gtk2::Gdk::Window and win_x and win_y, integers.
Since: gtk+ 2.12
$edge (Gtk2::Gdk::WindowEdge)
$button (integer)
$root_x (integer)
$root_y (integer)
$timestamp (unsigned)
Since: gtk+ 2.10
Returns the list of children (Gtk2::Gdk::Window's) known to gdk.
Since: gtk+ 2.12
Since: gtk+ 2.6
Since: gtk+ 2.6
Since: gtk+ 2.6
Since: gtk+ 2.2
Since: gtk+ 2.2
$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.
Since: gtk+ 2.4
$icon_window (Gtk2::Gdk::Window or undef)
$pixmap (Gtk2::Gdk::Pixmap or undef)
$mask (Gtk2::Gdk::Bitmap or undef)
Since: gtk+ 2.10
Since: gtk+ 2.10
Since: gtk+ 2.4
Since: gtk+ 2.4
Since: gtk+ 2.2
Since: gtk+ 2.10
Since: gtk+ 2.8
Since: gtk+ 2.8
An alias for get_children
Returns window_at_pointer, a Gtk2::Gdk::Window or undef, x and y, integers, and mask, a Gtk2::Gdk::ModifierType.
$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:
+--------------------+------------------------------------+ | format | value | +--------------------+------------------------------------+ | Gtk2::Gdk::CHARS | a string | | Gtk2::Gdk::USHORTS | one or more unsigned short numbers | | Gtk2::Gdk::ULONGS | one or more unsigned long numbers | +--------------------+------------------------------------+
$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.
Since: gtk+ 2.2
Since: gtk+ 2.2
Since: gtk+ 2.12
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.
Since: gtk+ 2.10
Since: gtk+ 2.2
Since: gtk+ 2.8
Since: gtk+ 2.6
'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'
'replace' / 'GDK_PROP_MODE_REPLACE'
'prepend' / 'GDK_PROP_MODE_PREPEND'
'append' / 'GDK_PROP_MODE_APPEND'
'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'
'all' / 'GDK_FUNC_ALL'
'resize' / 'GDK_FUNC_RESIZE'
'move' / 'GDK_FUNC_MOVE'
'minimize' / 'GDK_FUNC_MINIMIZE'
'maximize' / 'GDK_FUNC_MAXIMIZE'
'close' / 'GDK_FUNC_CLOSE'
'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'
'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'
'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'
'root' / 'GDK_WINDOW_ROOT'
'toplevel' / 'GDK_WINDOW_TOPLEVEL'
'child' / 'GDK_WINDOW_CHILD'
'dialog' / 'GDK_WINDOW_DIALOG'
'temp' / 'GDK_WINDOW_TEMP'
'foreign' / 'GDK_WINDOW_FOREIGN'
'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'
Gtk2, Glib::Object, Gtk2::Gdk::Drawable
Copyright (C) 2003-2008 by the gtk2-perl team.
This software is licensed under the LGPL. See Gtk2 for a full notice.