### Class

# Meta Window

#### Description [src]

    abstract class Meta.Window : GObject.Object
      implements Gio.Initable {
      /* No available fields */
    }

A display-agnostic abstraction for a window.

`MetaWindow` is the core abstraction in Mutter of a window. It has the properties you’d expect, such as a title, whether it’s fullscreen, has decorations, etc.

Since a lot of different kinds of windows exist, each window also a `MetaWindowType` which denotes which kind of window we’re exactly dealing with. For example, one expects slightly different behaviour from a dialog than a “normal” window. The type of a window can be queried with `meta_window_get_window_type()`.

Common API for windows include:

- Minimizing: `meta_window_minimize()` / `meta_window_unminimize()`
- Maximizing: `meta_window_maximize()` / `meta_window_unmaximize()`
- Fullscreen: `meta_window_make_fullscreen()` / `meta_window_unmake_fullscreen()` / `meta_window_is_fullscreen()`

Each `MetaWindow` is part of either one or all `MetaWorkspace`s of the desktop. You can activate a window on a certain workspace using `meta_window_activate_with_workspace()`, and query on which workspace it is located using `meta_window_located_on_workspace()`. The workspace it is part of can be obtained using `meta_window_get_workspace()`.

Each display protocol should make a subclass to be compatible with that protocols’ specifics, for example `MetaWindowX11` and `MetaWindowWayland`. This is independent of the protocol that the client uses, which is modeled using the `MetaWindowClientType` enum.

To integrate within the Clutter scene graph, which deals with the actual rendering, each `MetaWindow` will be part of a `MetaWindowActor`.

#### Ancestors

- GObject

#### Implements

- GInitable

#### Instance methods

###### meta_window_activate

No description available.

###### meta_window_activate_with_workspace

No description available.

###### meta_window_allows_move

No description available.

###### meta_window_allows_resize

No description available.

###### meta_window_appears_focused

Determines if the window should be drawn with a focused appearance.

###### meta_window_begin_grab_op

No description available.

###### meta_window_can_close

No description available.

###### meta_window_can_maximize

No description available.

###### meta_window_can_minimize

No description available.

###### meta_window_change_workspace

No description available.

###### meta_window_change_workspace_by_index

No description available.

###### meta_window_check_alive

No description available.

###### meta_window_client_rect_to_frame_rect

Converts a desired bounds of the client window into the corresponding bounds of the window frame (excluding invisible borders and client side shadows.).

###### meta_window_delete

No description available.

###### meta_window_find_root_ancestor

Follow the chain of parents of `window`, skipping transient windows, and return the “root” window which has no non-transient parent.

###### meta_window_focus

No description available.

###### meta_window_foreach_ancestor

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`.

###### meta_window_foreach_transient

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.

###### meta_window_frame_rect_to_client_rect

Converts a desired frame bounds for a window into the bounds of the client window.

###### meta_window_get_buffer_rect

Gets the rectangle that the pixmap or buffer of `window` occupies.

###### meta_window_get_client_type

Returns the `MetaWindowClientType` of the window.

###### meta_window_get_compositor_private

Gets the compositor’s wrapper object for `window`.

###### meta_window_get_description

No description available.

###### meta_window_get_display

No description available.

###### meta_window_get_frame

No description available.

###### meta_window_get_frame_bounds

Gets a region representing the outer bounds of the window’s frame.

###### meta_window_get_frame_rect

Gets the rectangle that bounds `window` that is what the user thinks of as the edge of the window.

###### meta_window_get_frame_type

Gets the type of window decorations that should be used for this window.

###### meta_window_get_gtk_app_menu_object_path

No description available.

###### meta_window_get_gtk_application_id

No description available.

###### meta_window_get_gtk_application_object_path

No description available.

###### meta_window_get_gtk_menubar_object_path

No description available.

###### meta_window_get_gtk_theme_variant

No description available.

###### meta_window_get_gtk_unique_bus_name

No description available.

###### meta_window_get_gtk_window_object_path

No description available.

###### meta_window_get_icon_geometry

Gets the location of the icon corresponding to the window.

###### meta_window_get_id

Returns the window id associated with window.

###### meta_window_get_layer

No description available.

###### meta_window_get_maximized

Gets the current maximization state of the window, as combination of the `META_MAXIMIZE_HORIZONTAL` and `META_MAXIMIZE_VERTICAL` flags;.

###### meta_window_get_monitor

Gets index of the monitor that this window is on.

###### meta_window_get_mutter_hints

Gets the current value of the _MUTTER_HINTS property.

###### meta_window_get_pid

Returns the pid of the process that created this window, if available to the windowing system.

###### meta_window_get_role

No description available.

###### meta_window_get_sandboxed_app_id

Gets an unique id for a sandboxed app (currently flatpaks and snaps are supported).

###### meta_window_get_stable_sequence

The stable sequence number is a monotonicially increasing unique integer assigned to each `MetaWindow` upon creation.

###### meta_window_get_startup_id

Gets the startup id of the given `MetaWindow`.

###### meta_window_get_tile_match

Returns the matching tiled window on the same monitor as `window`. This is the topmost tiled window in a complementary tile mode that is:.

###### meta_window_get_title

No description available.

###### meta_window_get_transient_for

Returns the `MetaWindow` for the window that is pointed to by the WM_TRANSIENT_FOR hint on this window (see XGetTransientForHint() or XSetTransientForHint()). Mutter keeps transient windows above their parents. A typical usage of this hint is for a dialog that wants to stay above its associated window.

###### meta_window_get_user_time

The user time represents a timestamp for the last time the user interacted with this window.

###### meta_window_get_window_type

No description available.

###### meta_window_get_wm_class

Return the current value of the name part of `WM_CLASS` X property.

###### meta_window_get_wm_class_instance

Return the current value of the instance part of `WM_CLASS` X property.

###### meta_window_get_work_area_all_monitors

Get the work area for all monitors for `window`.

###### meta_window_get_work_area_current_monitor

Get the work area for the monitor `window` is currently on.

###### meta_window_get_work_area_for_monitor

Get the work area for `window`, given the monitor index `which_monitor`.

###### meta_window_get_workspace

Gets the `MetaWorkspace` that the window is currently displayed on.

###### meta_window_has_attached_dialogs

Tests if `window` has any transients attached to it.

###### meta_window_has_focus

No description available.

###### meta_window_has_pointer

No description available.

###### meta_window_is_above

No description available.

###### meta_window_is_always_on_all_workspaces

No description available.

###### meta_window_is_ancestor_of_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.

###### meta_window_is_attached_dialog

Tests if `window` should be attached to its parent window.

###### meta_window_is_client_decorated

Check if if the window has decorations drawn by the client.

###### meta_window_is_fullscreen

No description available.

###### meta_window_is_hidden

No description available.

###### meta_window_is_monitor_sized

No description available.

###### meta_window_is_on_all_workspaces

No description available.

###### meta_window_is_on_primary_monitor

No description available.

###### meta_window_is_override_redirect

No description available.

###### meta_window_is_remote

No description available.

###### meta_window_is_screen_sized

No description available.

###### meta_window_is_skip_taskbar

Gets whether this window should be ignored by task lists.

###### meta_window_kill

No description available.

###### meta_window_located_on_workspace

No description available.

###### meta_window_lower

No description available.

###### meta_window_lower_with_transients

No description available.

###### meta_window_make_above

No description available.

###### meta_window_make_fullscreen

No description available.

###### meta_window_maximize

No description available.

###### meta_window_minimize

No description available.

###### meta_window_move_frame

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.

###### meta_window_move_resize_frame

Resizes the window so that its outer bounds (including frame) fit within the given rect.

###### meta_window_move_to_monitor

Moves the window to the monitor with index `monitor`, keeping the relative position of the window’s top left corner.

###### meta_window_raise

No description available.

###### meta_window_raise_and_make_recent_on_workspace

Raises a window and marks it as the most recently used window on the workspace `target_workspace`. If the window exists on all workspaces, it will become the most recently used sticky window on all other workspaces. This ensures proper tracking among windows on all workspaces while not overriding MRU for other windows.

###### meta_window_set_compositor_private

No description available.

###### meta_window_set_demands_attention

No description available.

###### meta_window_set_icon_geometry

Sets or unsets the location of the icon corresponding to the window.

###### meta_window_shove_titlebar_onscreen

No description available.

###### meta_window_showing_on_its_workspace

No description available.

###### meta_window_stick

No description available.

###### meta_window_titlebar_is_onscreen

No description available.

###### meta_window_unmake_above

No description available.

###### meta_window_unmake_fullscreen

No description available.

###### meta_window_unmaximize

No description available.

###### meta_window_unminimize

No description available.

###### meta_window_unset_demands_attention

No description available.

###### meta_window_unstick

No description available.

###### meta_window_x11_get_group

No description available.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

#### Properties

###### Meta.Window:above

No description available.

###### Meta.Window:appears-focused

No description available.

###### Meta.Window:decorated

No description available.

###### Meta.Window:demands-attention

No description available.

###### Meta.Window:display

No description available.

###### Meta.Window:effect

No description available.

###### Meta.Window:fullscreen

No description available.

###### Meta.Window:gtk-app-menu-object-path

No description available.

###### Meta.Window:gtk-application-id

No description available.

###### Meta.Window:gtk-application-object-path

No description available.

###### Meta.Window:gtk-menubar-object-path

No description available.

###### Meta.Window:gtk-unique-bus-name

No description available.

###### Meta.Window:gtk-window-object-path

No description available.

###### Meta.Window:is-alive

No description available.

###### Meta.Window:maximized-horizontally

No description available.

###### Meta.Window:maximized-vertically

No description available.

###### Meta.Window:minimized

No description available.

###### Meta.Window:mutter-hints

No description available.

###### Meta.Window:on-all-workspaces

No description available.

###### Meta.Window:resizeable

No description available.

###### Meta.Window:skip-taskbar

No description available.

###### Meta.Window:suspend-state

No description available.

###### Meta.Window:title

No description available.

###### Meta.Window:urgent

No description available.

###### Meta.Window:user-time

No description available.

###### Meta.Window:window-type

No description available.

###### Meta.Window:wm-class

No description available.

#### Signals

###### Meta.Window::focus

No description available.

###### Meta.Window::highest-scale-monitor-changed

This is emitted when the monitor with the highest scale intersecting the window changes.

###### Meta.Window::position-changed

This is emitted when the position of a window might have changed.

###### Meta.Window::raised

No description available.

###### Meta.Window::shown

This is emitted after a window has been shown.

###### Meta.Window::size-changed

This is emitted when the size of a window might have changed.

###### Meta.Window::unmanaged

No description available.

###### Meta.Window::unmanaging

No description available.

###### Meta.Window::workspace-changed

No description available.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct MetaWindowClass {
      /* no available fields */
    }

No description available.