Warning, /network/krfb/dbus/xdp_dbus_screencast_interface.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0"?> 0002 <!-- 0003 Copyright (C) 2017-2018 Red Hat, Inc. 0004 0005 This library is free software; you can redistribute it and/or 0006 modify it under the terms of the GNU Lesser General Public 0007 License as published by the Free Software Foundation; either 0008 version 2 of the License, or (at your option) any later version. 0009 0010 This library is distributed in the hope that it will be useful, 0011 but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0013 Lesser General Public License for more details. 0014 0015 You should have received a copy of the GNU Lesser General Public 0016 License along with this library. If not, see <http://www.gnu.org/licenses/>. 0017 --> 0018 0019 <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> 0020 <!-- 0021 org.freedesktop.portal.ScreenCast: 0022 @short_description: Screen cast portal 0023 --> 0024 <interface name="org.freedesktop.portal.ScreenCast"> 0025 <!-- 0026 CreateSession: 0027 @options: Vardict with optional further information 0028 @handle: Object path for the #org.freedesktop.portal.Request object representing this call 0029 0030 Create a screen cast session. A successfully created session can at 0031 any time be closed using org.freedesktop.portal.Session::Close, or may 0032 at any time be closed by the portal implementation, which will be 0033 signalled via org.freedesktop.portal.Session::Closed. 0034 0035 The following results get returned via the #org.freedesktop.portal.Request::Response signal: 0036 <variablelist> 0037 <varlistentry> 0038 <term>session_handle o</term> 0039 <listitem><para> 0040 The session handle. An object path for the 0041 #org.freedesktop.portal.Session object representing the created 0042 session. 0043 </para></listitem> 0044 </varlistentry> 0045 </variablelist> 0046 --> 0047 <method name="CreateSession"> 0048 <arg type="a{sv}" name="options" direction="in"/> 0049 <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/> 0050 <arg type="o" name="handle" direction="out"/> 0051 </method> 0052 <!-- 0053 SelectSources: 0054 @session_handle: Object path for the #org.freedesktop.portal.Session object 0055 @options: Vardict with optional further information 0056 @handle: Object path for the #org.freedesktop.portal.Request object representing this call 0057 0058 Configure what the screen cast session should record. This method must 0059 be called before starting the session. 0060 0061 Passing invalid input to this method will cause the session to be 0062 closed. An application may only attempt to select sources once per 0063 session. 0064 0065 Supported keys in the @options vardict include: 0066 <variablelist> 0067 <varlistentry> 0068 <term>types u</term> 0069 <listitem><para> 0070 Bitmask of what types of content to record. Default is MONITOR. 0071 </para></listitem> 0072 </varlistentry> 0073 <varlistentry> 0074 <term>multiple b</term> 0075 <listitem><para> 0076 Whether to allow selecting multiple sources. Default is no. 0077 </para></listitem> 0078 </varlistentry> 0079 </variablelist> 0080 0081 For available source types, see the AvailableSourceTypes property. 0082 --> 0083 <method name="SelectSources"> 0084 <arg type="o" name="session_handle" direction="in"/> 0085 <arg type="a{sv}" name="options" direction="in"/> 0086 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0087 <arg type="o" name="handle" direction="out"/> 0088 </method> 0089 <!-- 0090 Start: 0091 @session_handle: Object path for the #org.freedesktop.portal.Session object 0092 @parent_window: Identifier for the application window 0093 @options: Vardict with optional further information 0094 @handle: Object path for the #org.freedesktop.portal.Request object representing this call 0095 0096 Start the screen cast session. This will typically result the portal 0097 presenting a dialog letting the user do the selection set up by 0098 SelectSources. An application can only attempt start a session once. 0099 0100 A screen cast session may only be started after having selected sources 0101 using org.freedesktop.portal.ScreenCast::SelectSources. 0102 0103 The @parent_window identifier must be of the form "x11:$XID" for an X11 0104 window. Support for other window systems may be added in the future. 0105 0106 The following results get returned via the 0107 #org.freedesktop.portal.Request::Response signal: 0108 <variablelist> 0109 <varlistentry> 0110 <term>streams a(ua{sv})</term> 0111 <listitem><para> 0112 An array of PipeWire streams. Each stream consists of a PipeWire 0113 node ID (the first element in the tuple, and a Vardict of 0114 properties. 0115 0116 The array will contain a single stream if 'multiple' (see 0117 SelectSources) was set to 'false', or at least one stream if 0118 'multiple' was set to 'true' as part of the SelectSources method. 0119 </para></listitem> 0120 </varlistentry> 0121 </variablelist> 0122 0123 Stream properties include: 0124 <variablelist> 0125 <varlistentry> 0126 <term>position (ii)</term> 0127 <listitem><para> 0128 A tuple consisting of the position (x, y) in the compositor 0129 coordinate space. Note that the position may not be equivalent to a 0130 position in a pixel coordinate space. Only available for monitor 0131 streams. 0132 </para></listitem> 0133 </varlistentry> 0134 <varlistentry> 0135 <term>size (ii)</term> 0136 <listitem><para> 0137 A tuple consisting of (width, height). The size represents the size 0138 of the stream as it is displayed in the compositor coordinate 0139 space. Note that this size may not be equivalent to a size in a 0140 pixel coordinate space. The size may differ from the size of the 0141 stream. 0142 </para></listitem> 0143 </varlistentry> 0144 </variablelist> 0145 --> 0146 <method name="Start"> 0147 <arg type="o" name="session_handle" direction="in"/> 0148 <arg type="s" name="parent_window" direction="in"/> 0149 <arg type="a{sv}" name="options" direction="in"/> 0150 <annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="QVariantMap"/> 0151 <arg type="o" name="handle" direction="out"/> 0152 </method> 0153 <!-- 0154 OpenPipeWireRemote: 0155 @session_handle: Object path for the #org.freedesktop.portal.Session object 0156 @options: Vardict with optional further information 0157 @fd: File descriptor of an open PipeWire remote. 0158 0159 Open a file descriptor to the PipeWire remote where the screen cast 0160 streams are available. The file descriptor should be used to create a 0161 <classname>pw_remote</classname> object, by using 0162 <function>pw_remote_connect_fd</function>. Only the screen cast stream 0163 nodes will be available from this PipeWire node. 0164 --> 0165 <method name="OpenPipeWireRemote"> 0166 <annotation name="org.gtk.GDBus.C.Name" value="open_pipewire_remote"/> 0167 <annotation name="org.gtk.GDBus.C.UnixFD" value="true"/> 0168 <arg type="o" name="session_handle" direction="in"/> 0169 <arg type="a{sv}" name="options" direction="in"/> 0170 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0171 <arg type="h" name="fd" direction="out"/> 0172 </method> 0173 <!-- 0174 AvailableSourceTypes: 0175 0176 A bitmask of available source types. Currently defined types are: 0177 0178 <simplelist> 0179 <member>1: MONITOR</member> 0180 <member>2: WINDOW</member> 0181 </simplelist> 0182 --> 0183 <property name="AvailableSourceTypes" type="u" access="read"/> 0184 <property name="version" type="u" access="read"/> 0185 </interface> 0186 </node>