NAME

Gtk2ExWindowManagerFrame -- access to the window manager frame window

SYNOPSIS

use Gtk2ExWindowManagerFrame;

FUNCTIONS

Gtk2ExWindowManagerFrame::get_frame_window ($widget_or_window)
Gtk2ExWindowManagerFrame::get_frame_XID ($widget_or_window)

Return the frame window added by the window manager to the toplevel of $window_or_widget. get_frame_window returns a "foreign" type Gtk2::Gdk::Window, get_frame_XID returns an X11 ID (a integer). If there's no frame then the return is undef in both cases.

$widget_or_window can be a Gtk2::Widget or a Gtk2::Gdk::Window. A widget must have a toplevel window parent, or be a toplevel Gtk2::Window itself, and that toplevel must be realized, ie. have an underlying Gdk window already created.

Gtk2ExWindowManagerFrame::widget_to_pixbuf_with_frame ($widget)

Return a new Gtk2::Gdk::Pixbuf with the contents of $widget's toplevel window plus its window manager frame (if it has one).

Generally the window and frame must be on-screen and unobscured. (The gambits in gtk_widget_get_snapshot to redirect window draws, instead of using GraphicsExpose, of course can't work with the window manager's drawing.)

IMPLEMENTATION

Gdk doesn't provide direct access to the window manager frame window (as of version 2.14). This module instead uses X11::Protocol if available, or the xwininfo program if not. Currently when using X11::Protocol an extra connection is opened to the display and held open with the Gtk2::Gdk::Display object of any windows used.

SEE ALSO

Gtk2::Gdk::Window, Gtk2::Gdk::Display, X11::Protocol, xwininfo(1)