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_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.)
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)
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
);
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_is_mapped (MetaWindow *window
);
Determines whether the X window for the MetaWindow is mapped.
gboolean
meta_window_toplevel_is_mapped (MetaWindow *window
);
Determines whether the toplevel X window for the MetaWindow is mapped. (The frame window is mapped even without the client window when a window is shaded.)
gboolean meta_window_get_icon_geometry (MetaWindow *window
,MetaRectangle *rect
);
Gets the location of the icon corresponding to the window. The location will be provided set by the task bar or other user interface element displaying the icon, and is relative to the root window. This currently retrieves the icon geometry from the X server as a round trip on every call.
void meta_window_maximize (MetaWindow *window
,MetaMaximizeFlags directions
);
void meta_window_unmaximize (MetaWindow *window
,MetaMaximizeFlags directions
);
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).
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_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) |