Top | ![]() |
![]() |
![]() |
![]() |
gboolean
meta_window_appears_focused (MetaWindow *window
);
Determines if the window should be drawn with a focused appearance. This is true for focused windows but also true for windows with a focused modal dialog attached.
gboolean
meta_window_is_override_redirect (MetaWindow *window
);
Returns if this window isn't managed by muffin; it will control its own positioning and muffin won't draw decorations among other things. In X terminology this is "override redirect".
gboolean
meta_window_is_skip_taskbar (MetaWindow *window
);
Gets whether this window should be ignored by task lists.
MetaRectangle *
meta_window_get_rect (MetaWindow *window
);
Gets the rectangle that bounds window
, ignoring any window decorations.
void meta_window_get_input_rect (const MetaWindow *window
,MetaRectangle *rect
);
Gets the rectangle that bounds window
that is responsive to mouse events.
This includes decorations - the visible portion of its border - and (if
present) any invisible area that we make make responsive to mouse clicks in
order to allow convenient border dragging.
void meta_window_get_outer_rect (const MetaWindow *window
,MetaRectangle *rect
);
Gets the rectangle that bounds window
that is responsive to mouse events.
This includes only what is visible; it doesn't include any extra reactive
area we add to the edges of windows.
MetaScreen *
meta_window_get_screen (MetaWindow *window
);
Gets the MetaScreen that the window is on.
Atom
meta_window_get_window_type_atom (MetaWindow *window
);
Gets the X atom from the _NET_WM_WINDOW_TYPE property used by the application to set the window type. (Note that this is constrained to be some value that Muffin recognizes - a completely unrecognized type atom will be returned as None.)
[skip]
MetaWorkspace *
meta_window_get_workspace (MetaWindow *window
);
Gets the MetaWorkspace that the window is currently displayed on. If the window is on all workspaces, returns the currently active workspace.
int
meta_window_get_monitor (MetaWindow *window
);
Gets index of the monitor that this window is on.
void meta_window_activate_with_workspace (MetaWindow *window
,guint32 current_time
,MetaWorkspace *workspace
);
const char *
meta_window_get_wm_class (MetaWindow *window
);
Return the current value of the name part of WM_CLASS X property.
const char *
meta_window_get_wm_class_instance (MetaWindow *window
);
Return the current value of the instance part of WM_CLASS X property.
gboolean
meta_window_showing_on_its_workspace (MetaWindow *window
);
const char *
meta_window_get_gtk_application_id (MetaWindow *window
);
const char *
meta_window_get_gtk_unique_bus_name (MetaWindow *window
);
const char *
meta_window_get_gtk_application_object_path
(MetaWindow *window
);
const char *
meta_window_get_gtk_window_object_path
(MetaWindow *window
);
const char *
meta_window_get_gtk_app_menu_object_path
(MetaWindow *window
);
const char *
meta_window_get_gtk_menubar_object_path
(MetaWindow *window
);
void meta_window_move (MetaWindow *window
,gboolean user_op
,int root_x_nw
,int root_y_nw
);
Moves the window to the desired location on window's assigned workspace. NOTE: does NOT place according to the origin of the enclosing frame/window-decoration, but according to the origin of the window, itself.
void meta_window_move_frame (MetaWindow *window
,gboolean user_op
,int root_x_nw
,int root_y_nw
);
Moves the window to the desired location on window's assigned
workspace, using the northwest edge of the frame as the reference,
instead of the actual window's origin, but only if a frame is present.
Otherwise, acts identically to meta_window_move()
.
void meta_window_move_resize_frame (MetaWindow *window
,gboolean user_op
,int root_x_nw
,int root_y_nw
,int w
,int h
);
Resizes the window so that its outer bounds (including frame) fit within the given rect
void meta_window_move_to_monitor (MetaWindow *window
,int monitor
);
Moves the window to the monitor with index monitor
, keeping
the relative position of the window's top left corner.
void meta_window_resize (MetaWindow *window
,gboolean user_op
,int w
,int h
);
Resize the window to the desired size.
void
meta_window_unset_demands_attention (MetaWindow *window
);
void meta_window_change_workspace_by_index (MetaWindow *window
,gint space_index
,gboolean append
,guint32 timestamp
);
void meta_window_change_workspace (MetaWindow *window
,MetaWorkspace *workspace
);
Moves the window to the specified workspace.
GObject *
meta_window_get_compositor_private (MetaWindow *window
);
Gets the compositor's wrapper object for window
.
void meta_window_set_compositor_private (MetaWindow *window
,GObject *priv
);
void meta_window_configure_notify (MetaWindow *window
,XConfigureEvent *event
);
This is used to notify us of an unrequested configuration (only applicable to override redirect windows)
[skip]
MetaWindow *
meta_window_find_root_ancestor (MetaWindow *window
);
Follow the chain of parents of window
, skipping transient windows,
and return the "root" window which has no non-transient parent.
gboolean meta_window_is_ancestor_of_transient (MetaWindow *window
,MetaWindow *transient
);
The function determines whether window
is an ancestor of transient
; it does
so by traversing the transient
's ancestors until it either locates window
or reaches an ancestor that is not transient.
void meta_window_foreach_transient (MetaWindow *window
,MetaWindowForeachFunc func
,void *user_data
);
Call func
for every window which is either transient for window
, or is
a transient of a window which is in turn transient for window
.
The order of window enumeration is not defined.
Iteration will stop if func
at any point returns FALSE
.
void meta_window_foreach_ancestor (MetaWindow *window
,MetaWindowForeachFunc func
,void *user_data
);
If window
is transient, call func
with the window for which it's transient,
repeatedly until either we find a non-transient window, or func
returns FALSE
.
MetaMaximizeFlags
meta_window_get_maximized (MetaWindow *window
);
Gets the current maximization state of the window, as combination
of the META_MAXIMIZE_HORIZONTAL
and META_MAXIMIZE_VERTICAL
flags;
gboolean
meta_window_is_on_primary_monitor (MetaWindow *window
);
gint * meta_window_get_all_monitors (MetaWindow *window
,gsize *length
);
window |
The MetaWindow |
|
length |
gint holding the length, may be |
[out caller-allocates] |
gboolean
meta_window_is_demanding_attention (MetaWindow *window
);
Returns true if window has the demands-attention flag set.
gboolean
meta_window_is_urgent (MetaWindow *window
);
Returns true if window has the urgent hint set.
gboolean
meta_window_requested_bypass_compositor
(MetaWindow *window
);
gboolean
meta_window_requested_dont_bypass_compositor
(MetaWindow *window
);
gboolean meta_window_get_icon_geometry (MetaWindow *window
,MetaRectangle *rect
);
void meta_window_set_icon_geometry (MetaWindow *window
,MetaRectangle *rect
);
Sets or unsets the location of the icon corresponding to the window. If set, the location should correspond to a dock, task bar or other user interface element displaying the icon, and is relative to the root window.
void meta_window_maximize (MetaWindow *window
,MetaMaximizeFlags directions
);
void meta_window_unmaximize (MetaWindow *window
,MetaMaximizeFlags directions
);
const char *
meta_window_get_title (MetaWindow *window
);
Returns the current title of the window.
MetaWindow *
meta_window_get_transient_for (MetaWindow *window
);
Returns the MetaWindow for the window that is pointed to by the
WM_TRANSIENT_FOR hint on this window (see XGetTransientForHint()
or XSetTransientForHint()
). Metacity keeps transient windows above their
parents. A typical usage of this hint is for a dialog that wants to stay
above its associated window.
Window
meta_window_get_transient_for_as_xid (MetaWindow *window
);
Returns the XID of the window that is pointed to by the
WM_TRANSIENT_FOR hint on this window (see XGetTransientForHint()
or XSetTransientForHint()
). Metacity keeps transient windows above their
parents. A typical usage of this hint is for a dialog that wants to stay
above its associated window.
guint
meta_window_get_stable_sequence (MetaWindow *window
);
The stable sequence number is a monotonicially increasing unique integer assigned to each MetaWindow upon creation.
This number can be useful for sorting windows in a stable fashion.
guint32
meta_window_get_user_time (MetaWindow *window
);
The user time represents a timestamp for the last time the user interacted with this window. Note this property is only available for non-override-redirect windows.
The property is set by Muffin initially upon window creation, and updated thereafter on input events (key and button presses) seen by Muffin, client updates to the _NET_WM_USER_TIME property (if later than the current time) and when focusing the window.
int
meta_window_get_pid (MetaWindow *window
);
Returns pid of the process that created this window, if known (obtained from the _NET_WM_PID property).
int
meta_window_get_client_pid (MetaWindow *window
);
Returns the client pid of the process that created this window, if known (obtained from XCB).
const char *
meta_window_get_client_machine (MetaWindow *window
);
Returns name of the client machine from which this windows was created, if known (obtained from the WM_CLIENT_MACHINE property).
gboolean
meta_window_is_modal (MetaWindow *window
);
Queries whether the window is in a modal state as described by the _NET_WM_STATE protocol.
gboolean
meta_window_is_attached_dialog (MetaWindow *window
);
Tests if window
is should be attached to its parent window.
(If the "attach_modal_dialogs" option is not enabled, this will
always return FALSE
.)
const char *
meta_window_get_muffin_hints (MetaWindow *window
);
Gets the current value of the _MUFFIN_HINTS property.
The purpose of the hints is to allow fine-tuning of the Window Manager and Compositor behaviour on per-window basis, and is intended primarily for hints that are plugin-specific.
The property is a list of colon-separated key=value pairs. The key names for any plugin-specific hints must be suitably namespaced to allow for shared use; 'muffin-' key prefix is reserved for internal use, and must not be used by plugins.
MetaFrameType
meta_window_get_frame_type (MetaWindow *window
);
Gets the type of window decorations that should be used for this window.
cairo_region_t *
meta_window_get_frame_bounds (MetaWindow *window
);
Gets a region representing the outer bounds of the window's frame.
MetaWindow *
meta_window_get_tile_match (MetaWindow *window
);
Returns the matching tiled window on the same monitory as window
. This is
the topmost tiled window in a complementary tile mode that is:
on the same monitor;
on the same workspace;
spanning the remaining monitor width;
there is no 3rd window stacked between both tiled windows that's partially visible in the common edge.
gboolean
meta_window_is_always_on_all_workspaces
(MetaWindow *window
);
gboolean meta_window_can_tile (MetaWindow *window
,MetaTileMode mode
);
Tests if window
can be tiled or snapped in the supplied
tiling zone
gboolean meta_window_tile (MetaWindow *window
,MetaTileMode mode
,gboolean snap
);
Tiles or snaps the window in the requested configuration
window |
||
mode |
the MetaTileMode to use |
|
snap |
whether to snap the window (as opposed to simple tile) |
const char *
meta_window_get_icon_name (MetaWindow *window
);
Returns the currently set icon name or icon path for the window.
Note:
This will currently only be non-NULL for programs that use XAppGtkWindow
in place of GtkWindow and use xapp_gtk_window_set_icon_name()
or
set_icon_from_file()
. These methods will need to be used explicitly in
C programs, but for introspection use you should not need to treat it any
differently (except for using the correct window class.)
GdkPixbuf * meta_window_create_icon (MetaWindow *window
,int size
);
Creates an icon for window
. This is intended to only be used for
window-backed apps.