mutter/data/org.gnome.mutter.gschema.xml.in
Jonas Ådahl 97f2c7c161 Add remote desktop and screen cast functionality
This commit adds basic screen casting and remote desktoping
functionalty. This works by exposing two D-Bus API services:
org.gnome.Mutter.ScreenCast and org.gnome.Mutter.RemoteDesktop.

The remote desktop API is used to create remote desktop sessions. For
each session, a D-Bus object is created, and an application can manage
the session by sending messages to the session object. A remote desktop
session the user to emit input events using the D-Bus methods on the
session object. To get framebuffer content, the application should
create an associated screen cast session.

The screen cast API is used to create screen cast sessions. One can so
far either create stand-alone screen cast sessions, or a screen cast
session associated with a remote desktop session. A remote desktop
associated screen cast session is managed by the remote desktop session.

So far only remote desktop managed screen cast sessions are implemented.

Each screen cast session may have one or more streams. A screen cast
stream is a stream of buffers of some part of the compositor content.
So far API exists for creating streams of monitors and windows, but
only monitor streams are implemented.

When a screen cast session is started, the one PipeWire stream is
created for each screen cast stream created for the session. When this
has happened, a PipeWireStreamAdded signal is emitted on the stream
object, passing a unique identifier. The application may use this
identifier to find the associated stream being advertised by the
PipeWire daemon.

The remote desktop and screen cast functionality must be explicitly be
enabled at ./configure time by passing --enable-remote-desktop to
./configure. Doing this will build both screen cast and remote desktop
support.

To actually enable the screen casting and remote desktop, the user must
enable the experimental feature. See
org.gnome.mutter.experimental-features.

https://bugzilla.gnome.org/show_bug.cgi?id=784199
2017-08-29 14:39:04 +08:00

165 lines
6.1 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<schemalist>
<schema id="org.gnome.mutter" path="/org/gnome/mutter/"
gettext-domain="@GETTEXT_DOMAIN@">
<key name="overlay-key" type="s">
<default>'Super_L'</default>
<summary>Modifier to use for extended window management operations</summary>
<description>
This key will initiate the “overlay”, which is a combination window
overview and application launching system. The default is intended
to be the “Windows key” on PC hardware.
Its expected that this binding either the default or set to
the empty string.
</description>
</key>
<key name="attach-modal-dialogs" type="b">
<default>false</default>
<summary>Attach modal dialogs</summary>
<description>
When true, instead of having independent titlebars, modal dialogs
appear attached to the titlebar of the parent window and are moved
together with the parent window.
</description>
</key>
<key name="edge-tiling" type="b">
<default>false</default>
<summary>Enable edge tiling when dropping windows on screen edges</summary>
<description>
If enabled, dropping windows on vertical screen edges maximizes them
vertically and resizes them horizontally to cover half of the available
area. Dropping windows on the top screen edge maximizes them completely.
</description>
</key>
<key name="dynamic-workspaces" type="b">
<default>false</default>
<summary>Workspaces are managed dynamically</summary>
<description>
Determines whether workspaces are managed dynamically or
whether theres a static number of workspaces (determined
by the num-workspaces key in org.gnome.desktop.wm.preferences).
</description>
</key>
<key name="workspaces-only-on-primary" type="b">
<default>false</default>
<summary>Workspaces only on primary</summary>
<description>
Determines whether workspace switching should happen for windows
on all monitors or only for windows on the primary monitor.
</description>
</key>
<key name="no-tab-popup" type="b">
<default>false</default>
<summary>No tab popup</summary>
<description>
Determines whether the use of popup and highlight frame should
be disabled for window cycling.
</description>
</key>
<key name="focus-change-on-pointer-rest" type="b">
<default>false</default>
<summary>Delay focus changes until the pointer stops moving</summary>
<description>
If set to true, and the focus mode is either “sloppy” or “mouse”
then the focus will not be changed immediately when entering a
window, but only after the pointer stops moving.
</description>
</key>
<key name="draggable-border-width" type="i">
<default>10</default>
<range min="0" max="64"/>
<summary>Draggable border width</summary>
<description>
The amount of total draggable borders. If the themes visible
borders are not enough, invisible borders will be added to meet
this value.
</description>
</key>
<key name="auto-maximize" type="b">
<default>true</default>
<summary>Auto maximize nearly monitor sized windows</summary>
<description>
If enabled, new windows that are initially the size of the monitor
automatically get maximized.
</description>
</key>
<key name="center-new-windows" type="b">
<default>false</default>
<summary>Place new windows in the center</summary>
<description>
When true, the new windows will always be put in the center of the
active screen of the monitor.
</description>
</key>
<key name="experimental-features" type="as">
<default>[]</default>
<summary>Enable experimental features</summary>
<description>
To enable experimental features, add the feature keyword to the list.
Whether the feature requires restarting the compositor depends on the
given feature. Any experimental feature is not required to still be
available, or configurable. Dont expect adding anything in this
setting to be future proof.
Currently possible keywords:
• “scale-monitor-framebuffer” — makes mutter default to layout logical
monitors in a logical pixel coordinate
space, while scaling monitor
framebuffers instead of window content,
to manage HiDPI monitors. Does not
require a restart.
• “remote-desktop” — enables remote desktop support. To support
remote desktop with screen sharing,
"screen-cast" must also be enabled.
• “screen-cast” — enables screen cast support.
</description>
</key>
<child name="keybindings" schema="org.gnome.mutter.keybindings"/>
</schema>
<schema id="org.gnome.mutter.keybindings" path="/org/gnome/mutter/keybindings/">
<key name="toggle-tiled-left" type="as">
<default><![CDATA[['<Super>Left']]]></default>
</key>
<key name="toggle-tiled-right" type="as">
<default><![CDATA[['<Super>Right']]]></default>
</key>
<key name="tab-popup-select" type="as">
<default>[]</default>
<summary>Select window from tab popup</summary>
</key>
<key name="tab-popup-cancel" type="as">
<default>[]</default>
<summary>Cancel tab popup</summary>
</key>
<key name="switch-monitor" type="as">
<default><![CDATA[['<Super>p','XF86Display']]]></default>
<summary>Switch monitor configurations</summary>
</key>
<key name="rotate-monitor" type="as">
<default><![CDATA[['XF86RotateWindows']]]></default>
<summary>Rotates the built-in monitor configuration</summary>
</key>
</schema>
</schemalist>