forked from ShadowBlip/gamescope-dbus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
org-shadowblip-gamescope-xwayland.xml
287 lines (287 loc) · 8.99 KB
/
org-shadowblip-gamescope-xwayland.xml
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
<?xml version="1.0"?>
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.shadowblip.Gamescope.XWayland">
<!--
Emitted when a window property changes on a watched window.
-->
<signal name="WindowPropertyChanged">
<arg name="window" type="u"/>
<arg name="prop" type="s"/>
</signal>
<!--
Start watching the given window. The [WindowPropertyChanged] signal
will fire whenever a window property changes on the window. Use
[UnwatchWindow] to stop watching the given window.
-->
<method name="WatchWindow">
<arg name="window_id" type="u" direction="in"/>
</method>
<!--
Stop watching the given window. The [WindowPropertyChanged] signal will
no longer fire for the given window.
-->
<method name="UnwatchWindow">
<arg name="window_id" type="u" direction="in"/>
</method>
<!--
Discover the process IDs that are associated with the given window
-->
<method name="GetPidsForWindow">
<arg name="window_id" type="u" direction="in"/>
<arg type="au" direction="out"/>
</method>
<!--
Returns the window id(s) for the given process ID.
-->
<method name="GetWindowsForPid">
<arg name="pid" type="u" direction="in"/>
<arg type="au" direction="out"/>
</method>
<!--
Returns the window name of the given window
-->
<method name="GetWindowName">
<arg name="window_id" type="u" direction="in"/>
<arg type="s" direction="out"/>
</method>
<!--
Returns the window ids of the children of the given window
-->
<method name="GetWindowChildren">
<arg name="window_id" type="u" direction="in"/>
<arg type="au" direction="out"/>
</method>
<!--
Recursively returns all child windows of the given window id
-->
<method name="GetAllWindows">
<arg name="window_id" type="u" direction="in"/>
<arg type="au" direction="out"/>
</method>
<!--
Returns the currently set app ID on the given window
-->
<method name="GetAppId">
<arg name="window_id" type="u" direction="in"/>
<arg type="u" direction="out"/>
</method>
<!--
Sets the app ID on the given window
-->
<method name="SetAppId">
<arg name="window_id" type="u" direction="in"/>
<arg name="app_id" type="u" direction="in"/>
</method>
<!--
Removes the app ID on the given window
-->
<method name="RemoveAppId">
<arg name="window_id" type="u" direction="in"/>
</method>
<!--
Returns whether or not the given window has an app ID set
-->
<method name="HasAppId">
<arg name="window_id" type="u" direction="in"/>
<arg type="b" direction="out"/>
</method>
<!--
The X display name of the XWayland display (E.g. ":0", ":1")
-->
<property name="Name" type="s" access="read"/>
<!--
Returns true if this instance is the primary Gamescope xwayland instance
-->
<property name="Primary" type="b" access="read"/>
<!--
Returns the root window ID of the xwayland instance
-->
<property name="RootWindowId" type="u" access="read"/>
<!--
List of windows currently being watched for property changes. The
[WindowPropertyChanged] signal will fire whenever one of these windows
has a property change.
-->
<property name="WatchedWindows" type="au" access="read"/>
</interface>
<interface name="org.freedesktop.DBus.Peer">
<method name="Ping">
</method>
<method name="GetMachineId">
<arg type="s" direction="out"/>
</method>
</interface>
<interface name="org.freedesktop.DBus.Introspectable">
<method name="Introspect">
<arg type="s" direction="out"/>
</method>
</interface>
<interface name="org.shadowblip.Gamescope.XWayland.Primary">
<!--
Returns true if the window with the given window ID exists in focusable apps
-->
<method name="IsFocusableApp">
<arg name="window_id" type="u" direction="in"/>
<arg type="b" direction="out"/>
</method>
<!--
Fires when the baselayer window has been updated
-->
<signal name="BaselayerWindowUpdated">
</signal>
<!--
Fires when a new window is created
-->
<signal name="WindowCreated">
<arg name="window_id" type="u"/>
</signal>
<!--
Sets the given window as the main launcher app. This will set an X window
property called STEAM_GAME to 769 (Steam), which will make Gamescope
treat the window as the main overlay.
-->
<method name="SetMainApp">
<arg name="window_id" type="u" direction="in"/>
</method>
<!--
Set the given window as the primary overlay input focus. This should be set to
"1" whenever the overlay wants to intercept input from a game.
-->
<method name="SetInputFocus">
<arg name="window_id" type="u" direction="in"/>
<arg name="value" type="u" direction="in"/>
</method>
<!--
Get the overlay status for the given window
-->
<method name="GetOverlay">
<arg name="window_id" type="u" direction="in"/>
<arg type="u" direction="out"/>
</method>
<!--
Set the given window as the main overlay window
-->
<method name="SetOverlay">
<arg name="window_id" type="u" direction="in"/>
<arg name="value" type="u" direction="in"/>
</method>
<!--
Set the given window as a notification. This should be set to "1" when some
UI wants to be shown but not intercept input.
-->
<method name="SetNotification">
<arg name="window_id" type="u" direction="in"/>
<arg name="value" type="u" direction="in"/>
</method>
<!--
Set the given window as an external overlay window
-->
<method name="SetExternalOverlay">
<arg name="window_id" type="u" direction="in"/>
<arg name="value" type="u" direction="in"/>
</method>
<!--
Returns the currently set manual focus
-->
<method name="GetBaselayerWindow">
<arg type="u" direction="out"/>
</method>
<!--
Focuses the given window
-->
<method name="SetBaselayerWindow">
<arg name="window_id" type="u" direction="in"/>
</method>
<!--
Removes the baselayer property to un-focus windows
-->
<method name="RemoveBaselayerWindow">
</method>
<!--
Request a screenshot from Gamescope
-->
<method name="RequestScreenshot">
</method>
<!--
Whether or not Gamescope should be allowed to screen tear
-->
<!--
Sets whether or not Gamescope should be allowed to screen tear
-->
<property name="AllowTearing" type="b" access="readwrite"/>
<!--
The Gamescope blur mode (0 - off, 1 - cond, 2 - always)
-->
<!--
Sets the Gamescope blur mode
-->
<property name="BlurMode" type="u" access="readwrite"/>
<!--
The blur radius size
-->
<!--
Sets the blur radius size
-->
<property name="BlurRadius" type="u" access="readwrite"/>
<!--
Return a list of focusable apps
-->
<property name="FocusableApps" type="au" access="read"/>
<!--
Returns a list of focusable window names
-->
<property name="FocusableWindowNames" type="as" access="read"/>
<!--
Returns a list of focusable window ids
-->
<property name="FocusableWindows" type="au" access="read"/>
<!--
Return the currently focused app id.
-->
<property name="FocusedApp" type="u" access="read"/>
<!--
Return the currently focused gfx app id.
-->
<property name="FocusedAppGfx" type="u" access="read"/>
<!--
Return the currently focused window id.
-->
<property name="FocusedWindow" type="u" access="read"/>
<!--
The current Gamescope FPS limit
-->
<!--
Sets the current Gamescope FPS limit
-->
<property name="FpsLimit" type="u" access="readwrite"/>
<!--
Returns whether or not the overlay window is currently focused
-->
<property name="OverlayFocused" type="b" access="read"/>
</interface>
<interface name="org.freedesktop.DBus.Properties">
<method name="Get">
<arg name="interface_name" type="s" direction="in"/>
<arg name="property_name" type="s" direction="in"/>
<arg type="v" direction="out"/>
</method>
<method name="Set">
<arg name="interface_name" type="s" direction="in"/>
<arg name="property_name" type="s" direction="in"/>
<arg name="value" type="v" direction="in"/>
</method>
<method name="GetAll">
<arg name="interface_name" type="s" direction="in"/>
<arg type="a{sv}" direction="out"/>
</method>
<!--
Emits the `org.freedesktop.DBus.Properties.PropertiesChanged` signal.
-->
<signal name="PropertiesChanged">
<arg name="interface_name" type="s"/>
<arg name="changed_properties" type="a{sv}"/>
<arg name="invalidated_properties" type="as"/>
</signal>
</interface>
</node>