Gtk2::Gdk::Window(3)

NAME
Gtk2::Gdk::Window

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

METHODS

  window = Gtk2::Gdk::Window->new ($parent, $attributes_ref)

    * $parent (Gtk2::Gdk::Window or undef)
    * $attributes_ref (scalar)

    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.

  $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)

  $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

  list = $window->get_children
    Returns the list of children (Gtk2::Gdk::Window's) known to gdk.

  $window->clear

  $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)

  $window->set_composited ($composited)

    * $composited (boolean)

    Since: gtk+ 2.12

  $window->configure_finished
    Since: gtk+ 2.6

  $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

  $window->set_decorations ($decorations)

    * $decorations (Gtk2::Gdk::WMDecoration)

  $window->deiconify

  $window->destroy

  $window->enable_synchronized_configure
    Since: gtk+ 2.6

  $window->end_paint

  eventmask = $window->get_events

  $window->set_events ($event_mask)

    * $event_mask (Gtk2::Gdk::EventMask)

  $window->focus ($timestamp)
    * $timestamp (unsigned)

  $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

  $window->freeze_updates

  $window->fullscreen
    Since: gtk+ 2.2

  $window->set_functions ($functions)

    * $functions (Gtk2::Gdk::WMFunction)

  $sm_client_id->gdk_set_sm_client_id

  (x, y, width, height, depth) = $window->get_geometry

  $window->set_geometry_hints ($geometry)

  $window->set_geometry_hints ($geometry, $geom_mask)
    * $geometry_ref (scalar)
    * $geom_mask_sv (scalar)
    * $geom_mask (Gtk2::Gdk::WindowHints) optional, usually inferred from $geometry
    * $geometry (Gtk2::Gdk::Geometry)

    The geom_mask argument, describing which fields in the geometry are valid, is optional. If omitted it will be inferred from the geometry itself.

  window = $window->get_group
    Since: gtk+ 2.4

  $window->set_group ($leader)

    * $leader (Gtk2::Gdk::Window)

  $window->hide

  $window->set_icon_list (...)
    * ... (list) of GdkPixbuf's

  $window->set_icon_name ($name)

    * $name (string)

  $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

  $window->input_shape_combine_mask ($mask, $x, $y)

    * $mask (Gtk2::Gdk::Bitmap)
    * $x (integer)
    * $y (integer)

    Since: gtk+ 2.10

  $window->input_shape_combine_region ($shape, $offset_x, $offset_y)

    * $shape (Gtk2::Gdk::Region)
    * $offset_x (integer)
    * $offset_y (integer)

    Since: gtk+ 2.10

  list = $window->get_internal_paint_info

  $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)
    * $invalidate_children (boolean)

  $window->invalidate_region ($region, $invalidate_children)

    * $region (Gtk2::Gdk::Region)
    * $invalidate_children (boolean)

  boolean = $window->is_viewable

  boolean = $window->is_visible

  $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

  $window->maximize

  $window->merge_child_input_shapes
    Since: gtk+ 2.10

  $window->merge_child_shapes

  $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)

  $window->move_to_current_desktop
    Since: gtk+ 2.8

  (x, y) = $window->get_origin

  $window->set_override_redirect ($override_redirect)

    * $override_redirect (boolean)

  window = $window->get_parent

  list = $window->peek_children
    An alias for get_children

  (window_at_pointer, x, y, mask) = $window->get_pointer
    Returns window_at_pointer, a Gtk2::Gdk::Window or undef, x and y, integers, and mask, a Gtk2::Gdk::ModifierType.

  (x, y) = $window->get_position

  Gtk2::Gdk::Window->process_all_updates

  $window->process_all_updates

  $window->process_updates ($update_children)

    * $update_children (boolean)

  $window->property_change ($property, $type, $format, $mode, ...)
    * $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  |
      +--------------------+------------------------------------+

  $window->property_delete ($property)

    * $property (Gtk2::Gdk::Atom)

  (property_type, format, data) = $window->property_get ($property, $type, $offset, $length, $pdelete)
    * $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

  $window->register_dnd

  $window->reparent ($new_parent, $x, $y)

    * $new_parent (Gtk2::Gdk::Window)
    * $x (integer)
    * $y (integer)

  $window->resize ($width, $height)

    * $width (integer)
    * $height (integer)

  $window->set_role ($role)

    * $role (string)

  (x, y) = $window->get_root_origin

  $window->scroll ($dx, $dy)
    * $dx (integer)
    * $dy (integer)

  $window->shape_combine_mask ($mask, $x, $y)

    * $mask (Gtk2::Gdk::Bitmap)
    * $x (integer)
    * $y (integer)

  $window->shape_combine_region ($shape_region, $offset_x, $offset_y)

    * $shape_region (Gtk2::Gdk::Region)
    * $offset_x (integer)
    * $offset_y (integer)

  $window->show

  $window->show_unraised

  $window->set_skip_pager_hint ($skips_pager)

    * $skips_pager (boolean)

    Since: gtk+ 2.2

  $window->set_skip_taskbar_hint ($skips_taskbar)

    * $skips_taskbar (boolean)

    Since: gtk+ 2.2

  $window->set_startup_id ($startup_id)

    * $startup_id (string)

    Since: gtk+ 2.12

  windowstate = $window->get_state

  boolean = $window->set_static_gravities ($use_static)

    * $use_static (boolean)

  $window->stick

  $window->thaw_updates

  $window->set_title ($title)
    * $title (string)

  window = $window->get_toplevel

  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)

    * $parent (Gtk2::Gdk::Window)

  windowtypehint = $window->get_type_hint
    Since: gtk+ 2.10

  $window->set_type_hint ($hint)

    * $hint (Gtk2::Gdk::WindowTypeHint)

  $window->unfullscreen
    Since: gtk+ 2.2

  $window->unmaximize

  $window->unstick

  region or undef = $window->get_update_area

  $window->set_urgency_hint ($urgent)

    * $urgent (boolean)

    Since: gtk+ 2.8

  unsigned = $window->get_user_data

  $window->set_user_data ($user_data)

    * $user_data (unsigned)

  $window->set_user_time ($timestamp)
    * $timestamp (unsigned)

    Since: gtk+ 2.6

  windowtype = $window->get_window_type

  $window->withdraw

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'

  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
Copyright (C) 2003-2008 by the gtk2-perl team.

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