1<!DOCTYPE node PUBLIC 2'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN' 3'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'> 4<node> 5 6 <!-- 7 org.gnome.Mutter.ScreenCast: 8 @short_description: Screen cast interface 9 10 This API is private and not intended to be used outside of the integrated 11 system that uses libmutter. No compatibility between versions are 12 promised. 13 --> 14 <interface name="org.gnome.Mutter.ScreenCast"> 15 16 <!-- 17 CreateSession: 18 @properties: Properties 19 @session_path: Path to the new session object 20 21 * "remote-desktop-session-id" (s): The ID of a remote desktop session. 22 Remote desktop driven screen casts 23 are started and stopped by the remote 24 desktop session. 25 * "disable-animations" (b): Set to "true" if the screen cast application 26 would prefer animations to be globally 27 disabled, while the session is running. Default 28 is "false". Available since version 3. 29 --> 30 <method name="CreateSession"> 31 <arg name="properties" type="a{sv}" direction="in" /> 32 <arg name="session_path" type="o" direction="out" /> 33 </method> 34 35 <!-- 36 Version: 37 @short_description: API version 38 --> 39 <property name="Version" type="i" access="read" /> 40 41 </interface> 42 43 <!-- 44 org.gnome.Mutter.ScreenCast.Session: 45 @short_description: Screen cast session 46 --> 47 <interface name="org.gnome.Mutter.ScreenCast.Session"> 48 49 <!-- 50 Start: 51 52 Start the screen cast session 53 --> 54 <method name="Start" /> 55 56 <!-- 57 Stop: 58 59 Stop the screen cast session 60 --> 61 <method name="Stop" /> 62 63 <!-- 64 Closed: 65 66 The session has closed. 67 --> 68 <signal name="Closed" /> 69 70 <!-- 71 RecordMonitor: 72 @connector: Connector of the monitor to record 73 @properties: Properties 74 @stream_path: Path to the new stream object 75 76 Record a single monitor. 77 78 Available @properties include: 79 80 * "cursor-mode" (u): Cursor mode. Default: 'hidden' (see below) 81 Available since API version 2. 82 * "is-recording" (b): Whether this is a screen recording. May be 83 be used for choosing panel icon. 84 Default: false. Available since API version 4. 85 86 Available cursor mode values: 87 88 0: hidden - cursor is not included in the stream 89 1: embedded - cursor is included in the framebuffer 90 2: metadata - cursor is included as metadata in the PipeWire stream 91 --> 92 <method name="RecordMonitor"> 93 <arg name="connector" type="s" direction="in" /> 94 <arg name="properties" type="a{sv}" direction="in" /> 95 <arg name="stream_path" type="o" direction="out" /> 96 </method> 97 98 <!-- 99 RecordWindow: 100 @properties: Properties used determining what window to select 101 @stream_path: Path to the new stream object 102 103 Supported since API version 2. 104 105 Record a single window. The cursor will not be included. 106 107 Available @properties include: 108 109 * "window-id" (t): Id of the window to record. 110 * "cursor-mode" (u): Cursor mode. Default: 'hidden' (see RecordMonitor). 111 * "is-recording" (b): Whether this is a screen recording. May be 112 be used for choosing panel icon. 113 Default: false. Available since API version 4. 114 115 --> 116 <method name="RecordWindow"> 117 <arg name="properties" type="a{sv}" direction="in" /> 118 <arg name="stream_path" type="o" direction="out" /> 119 </method> 120 121 <!-- 122 RecordArea: 123 @x: X position of the recorded area 124 @y: Y position of the recorded area 125 @width: width of the recorded area 126 @height: height of the recorded area 127 @properties: Properties 128 @stream_path: Path to the new stream object 129 130 Record an area of the stage. The coordinates are in stage coordinates. 131 The size of the stream does not necessarily match the size of the 132 recorded area, and will depend on DPI scale of the affected monitors. 133 134 Available @properties include: 135 136 * "cursor-mode" (u): Cursor mode. Default: 'hidden' (see below) 137 Available since API version 2. 138 * "is-recording" (b): Whether this is a screen recording. May be 139 be used for choosing panel icon. 140 Default: false. Available since API version 4. 141 142 Available cursor mode values: 143 144 0: hidden - cursor is not included in the stream 145 1: embedded - cursor is included in the framebuffer 146 2: metadata - cursor is included as metadata in the PipeWire stream 147 --> 148 <method name="RecordArea"> 149 <arg name="x" type="i" direction="in" /> 150 <arg name="y" type="i" direction="in" /> 151 <arg name="width" type="i" direction="in" /> 152 <arg name="height" type="i" direction="in" /> 153 <arg name="properties" type="a{sv}" direction="in" /> 154 <arg name="stream_path" type="o" direction="out" /> 155 </method> 156 </interface> 157 158 <!-- 159 org.gnome.Mutter.ScreenCast.Stream: 160 @short_description: Screen cast stream 161 --> 162 <interface name="org.gnome.Mutter.ScreenCast.Stream"> 163 164 <!-- 165 PipeWireStreamAdded: 166 @short_description: Pipewire stream added 167 168 A signal emitted when PipeWire stream for the screen cast stream has 169 been created. The @node_id corresponds to the PipeWire stream node. 170 --> 171 <signal name="PipeWireStreamAdded"> 172 <annotation name="org.gtk.GDBus.C.Name" value="pipewire-stream-added"/> 173 <arg name="node_id" type="u" direction="out" /> 174 </signal> 175 176 <!-- 177 Parameters: 178 @short_description: Optional stream parameters 179 180 Available parameters include: 181 182 * "position" (ii): Position of the source of the stream in the 183 compositor coordinate space. 184 * "size" (ii): Size of the source of the stream in the compositor 185 coordinate space. 186 --> 187 <property name="Parameters" type="a{sv}" access="read" /> 188 189 </interface> 190 191</node> 192