summaryrefslogtreecommitdiff
path: root/src/org.gnome.Mutter.ScreenCast.xml
blob: 409247b03c3ee89f53b4f8c795f5d6ec5aa0a4b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<!DOCTYPE node PUBLIC
'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
<node>

  <!--
      org.gnome.Mutter.ScreenCast:
      @short_description: Screen cast interface
  -->
  <interface name="org.gnome.Mutter.ScreenCast">

    <!--
	CreateSession:
	@properties: Properties
	@session_path: Path to the new session object

	* "remote-desktop-session-id" (s): The ID of a remote desktop session.
					   Remote desktop driven screen casts
					   are started and stopped by the remote
					   desktop session.
    -->
    <method name="CreateSession">
      <arg name="properties" type="a{sv}" direction="in" />
      <arg name="session_path" type="o" direction="out" />
    </method>

  </interface>

  <!--
       org.gnome.Mutter.ScreenCast.Session:
       @short_description: Screen cast session
  -->
  <interface name="org.gnome.Mutter.ScreenCast.Session">

    <!--
	Start:

	Start the screen cast session
    -->
    <method name="Start" />

    <!--
	Stop:

	Stop the screen cast session
    -->
    <method name="Stop" />

    <!--
	Closed:

	The session has closed.
    -->
    <signal name="Closed" />

    <!--
	RecordMonitor:
	@connector: Connector of the monitor to record
	@properties: Properties
	@stream_path: Path to the new stream object

	Record a single monitor.

	Available @properties include: (none)
    -->
    <method name="RecordMonitor">
      <arg name="connector" type="s" direction="in" />
      <arg name="properties" type="a{sv}" direction="in" />
      <arg name="stream_path" type="o" direction="out" />
    </method>

    <!--
	RecordWindow:
	@properties: Properties used determining what window to select
	@stream_path: Path to the new stream object

	Record a single window.

	Available @properties include: (none)
    -->
    <method name="RecordWindow">
      <arg name="properties" type="a{sv}" direction="in" />
      <arg name="stream_path" type="o" direction="out" />
    </method>
  </interface>

  <!--
       org.gnome.Mutter.ScreenCast.Stream:
       @short_description: Screen cast stream
  -->
  <interface name="org.gnome.Mutter.ScreenCast.Stream">

    <!--
	PipeWireStreamAdded:
	@short_description: Pipewire stream added

	A signal emitted when PipeWire stream for the screen cast stream has
	been created. The @node_id corresponds to the PipeWire stream node.
    -->
    <signal name="PipeWireStreamAdded">
      <annotation name="org.gtk.GDBus.C.Name" value="pipewire-stream-added"/>
      <arg name="node_id" type="u" direction="out" />
    </signal>

    <!--
	Parameters:
	@short_description: Optional stream parameters

	Available parameters include:

	* "position" (ii): Position of the source of the stream in the
	                   compositor coordinate space.
	* "size" (ii): Size of the source of the stream in the compositor
		       coordinate space.
    -->
    <property name="Parameters" type="a{sv}" access="read" />

  </interface>

</node>