Namespace

Meta – 10

The Mutter display server, window manager and compositor library

Version10
AuthorsMutter Development Team
LicenseGPL-2.0-or-later
Websitehttps://blogs.gnome.org/shell-dev/
Sourcehttps://gitlab.gnome.org/GNOME/mutter/

Build

C headers
pkg-config files

Dependencies

GObject The base type system library
Browse documentation
Clutter An OpenGL based 'interactive canvas' library
Browse documentation
Cogl A Low Level GPU Graphics and Utilities API
Browse documentation

Additional documentation

Classes

Backend
Background

This class handles tracking and painting the root window background. By integrating with MetaWindowGroup we can avoid painting parts of the background that are obscured by other windows.

BackgroundActor

This class handles tracking and painting the root window background. By integrating with MetaWindowGroup we can avoid painting parts of the background that are obscured by other windows.

BackgroundContent

This class handles tracking and painting the root window background. By integrating with MetaWindowGroup we can avoid painting parts of the background that are obscured by other windows.

BackgroundGroup
BackgroundImage

MetaBackgroundImage is an object that represents a loaded or loading background image.

BackgroundImageCache

MetaBackgroundImageCache caches loading of textures for backgrounds; there’s actually nothing background specific about it, other than it is tuned to work well for large images as typically are used for backgrounds.

Barrier

The MetaBarrier structure contains only private data and should be accessed using the provided API.

Compositor
Context
CursorTracker
Display
Dnd
IdleMonitor
LaunchContext
MonitorManager
Plugin
RemoteAccessController
RemoteAccessHandle
Selection
SelectionSource
SelectionSourceMemory
ShadowFactory

MetaShadowFactory is used to create window shadows. It caches shadows internally so that multiple shadows created for the same shape with the same radius will share the same MetaShadow.

ShapedTexture
SoundPlayer
Stage
StartupNotification
StartupSequence
WaylandClient
Window
WindowActor
WindowGroup
Workspace
WorkspaceManager
X11Display

Structs

BarrierEvent
ButtonLayout
Edge
Frame
FrameBorders
Group
KeyBinding
Laters
PluginInfo
Rectangle
Settings
Shadow

MetaShadow holds a shadow texture along with information about how to apply that texture to draw a window texture. (E.g., it knows how big the unscaled borders are on each side of the shadow texture.)

ShadowParams

The MetaShadowParams structure holds information about how to draw a particular style of shadow.

Strut
Theme
WindowShape

MetaWindowShape represents a 9-sliced region with borders on all sides that are unscaled, and a constant central region that is scaled. For example, the regions representing two windows that are rounded rectangles, with the same corner radius but different sizes, have the same MetaWindowShape. MetaWindowShape is designed to be used as part of a hash table key, so has efficient hash and equal functions.

Enumerations

ButtonFunction

Function a window button can have. Note, you can’t add stuff here without extending the theme format to draw a new function and breaking all existing themes.

CloseDialogResponse
CompEffect

Indicates the appropriate effect to show the user for meta_compositor_show_window() and meta_compositor_hide_window()

CompositorType
Cursor
DisplayCorner
DisplayDirection
EdgeType
ExitCode
FrameType
GrabOp
Gravity
InhibitShortcutsDialogResponse
KeyBindingAction
LaterType
LocaleDirection
MonitorSwitchConfigType
MotionDirection
PadActionType
Preference
SelectionType
ShadowMode
Side
SizeChange
StackLayer

Layers a window can be in. These MUST be in the order of stacking.

TabList
TabShowType
WindowClientType
WindowMenuType

Menu the compositor should display for a given window.

WindowType

Functions

add_clutter_debug_flags
add_debug_paint_flag
add_verbose_topic

Ensure log messages for the given topic topic will be printed.

bug
clutter_init
create_context

Create a context.

disable_unredirect_for_display

Disables unredirection, can be useful in situations where having unredirected windows is undesirable like when recording a video.

enable_unredirect_for_display

Enables unredirection which reduces the overhead for apps like games.

exit
external_binding_name_for_action
fatal
focus_stage_window
g_utf8_strndup
get_backend

Accessor for the singleton MetaBackend.

get_clutter_debug_flags
get_debug_paint_flags
get_feedback_group_for_display
get_locale_direction
get_stage_for_display
get_top_window_group_for_display
get_window_actors
get_window_group_for_display
is_restart

Returns TRUE if this instance of Mutter comes from Mutter restarting itself (for example to enable/disable stereo.) See meta_restart(). If this is the case, any startup visuals or animations should be suppressed.

is_syncing

Returns whether X synchronisation is currently enabled.

is_topic_enabled
is_verbose
is_wayland_compositor
keybindings_set_custom_handler

Allows users to register a custom handler for a builtin key binding.

later_add

Sets up a callback to be called at some later time. when determines the particular later occasion at which it is called. This is much like g_idle_add(), except that the functions interact properly with clutter event handling. If a “later” function is added from a clutter event handler, and is supposed to be run before the stage is redrawn, it will be run before that redraw of the stage, not the next one.

later_remove

Removes a callback added with meta_later_add()

pop_no_msg_prefix
prefs_add_listener
prefs_bell_is_audible
prefs_change_workspace_name
prefs_get_action_double_click_titlebar
prefs_get_action_middle_click_titlebar
prefs_get_action_right_click_titlebar
prefs_get_attach_modal_dialogs
prefs_get_auto_maximize
prefs_get_auto_raise
prefs_get_auto_raise_delay
prefs_get_button_layout
prefs_get_center_new_windows
prefs_get_check_alive_timeout
prefs_get_compositing_manager
prefs_get_cursor_size
prefs_get_cursor_theme
prefs_get_disable_workarounds
prefs_get_drag_threshold
prefs_get_draggable_border_width
prefs_get_dynamic_workspaces
prefs_get_edge_tiling
prefs_get_focus_change_on_pointer_rest
prefs_get_focus_mode
prefs_get_focus_new_windows
prefs_get_force_fullscreen
prefs_get_gnome_accessibility
prefs_get_gnome_animations
prefs_get_keybinding_action
prefs_get_mouse_button_menu
prefs_get_mouse_button_mods
prefs_get_mouse_button_resize
prefs_get_num_workspaces
prefs_get_raise_on_click
prefs_get_show_fallback_app_menu
prefs_get_titlebar_font
prefs_get_visual_bell
prefs_get_visual_bell_type
prefs_get_workspace_name
prefs_get_workspaces_only_on_primary
prefs_remove_listener
prefs_set_force_fullscreen
prefs_set_num_workspaces
prefs_set_show_fallback_app_menu
push_no_msg_prefix
rect
remove_clutter_debug_flags
remove_debug_paint_flag
remove_verbose_topic

Stop printing log messages for the given topic topic. Note that this method does not stack with meta_add_verbose_topic(); i.e. if two calls to meta_add_verbose_topic() for the same topic are made, one call to meta_remove_verbose_topic() will remove it.

restart

Starts the process of restarting the compositor. Note that Mutter’s involvement here is to make the restart visually smooth for the user - it cannot itself safely reexec a program that embeds libmuttter. So in order for this to work, the compositor must handle two signals - MetaDisplay::show-restart-message, to display the message passed here on the Clutter stage, and ::restart to actually reexec the compositor.

topic_to_string
unsigned_long_equal
unsigned_long_hash
warning
x11_error_trap_pop
x11_error_trap_pop_with_return
x11_error_trap_push
x11_init_gdk_display