Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Close stale issues and PRs / stale (push) Successful in 13s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
174 lines
6.5 KiB
XML
174 lines
6.5 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
Copyright (C) 2016 Red Hat, Inc.
|
|
|
|
SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
Author: Matthias Clasen <mclasen@redhat.com>
|
|
-->
|
|
|
|
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
|
|
<!--
|
|
org.freedesktop.portal.Inhibit:
|
|
@short_description: Portal for inhibiting session transitions
|
|
|
|
This simple interface lets sandboxed applications inhibit the user
|
|
session from ending, suspending, idling or getting switched away.
|
|
|
|
This documentation describes version 3 of this interface.
|
|
-->
|
|
<interface name="org.freedesktop.portal.Inhibit">
|
|
<!--
|
|
Inhibit:
|
|
@window: Identifier for the window
|
|
@flags: Flags identifying what is inhibited
|
|
@options: Vardict with optional further information
|
|
@handle: Object path for the :ref:`org.freedesktop.portal.Request` object representing this call
|
|
|
|
Inhibits a session status changes. To remove the inhibition,
|
|
call :ref:`org.freedesktop.portal.Request.Close` on the returned
|
|
handle.
|
|
|
|
The flags determine what changes are inhibited:
|
|
|
|
- ``1``: Logout
|
|
- ``2``: User Switch
|
|
- ``4``: Suspend
|
|
- ``8``: Idle
|
|
|
|
Supported keys in the @options vardict include:
|
|
|
|
* ``handle_token`` (``s``)
|
|
|
|
A string that will be used as the last element of the @handle. Must be a valid
|
|
object path element. See the :ref:`org.freedesktop.portal.Request` documentation for
|
|
more information about the @handle.
|
|
|
|
* ``reason`` (``s``)
|
|
|
|
User-visible reason for the inhibition.
|
|
-->
|
|
<method name="Inhibit">
|
|
<arg type="s" name="window" direction="in"/>
|
|
<arg type="u" name="flags" direction="in"/>
|
|
<annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="QVariantMap"/>
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="o" name="handle" direction="out"/>
|
|
</method>
|
|
|
|
<!--
|
|
CreateMonitor:
|
|
@window: the parent window
|
|
@options: Vardict with optional further information
|
|
@handle: Object path for the :ref:`org.freedesktop.portal.Request` object representing this call
|
|
|
|
Creates a monitoring session. While this session is
|
|
active, the caller will receive StateChanged signals
|
|
with updates on the session state.
|
|
|
|
A successfully created session can at any time be closed using
|
|
org.freedesktop.portal.Session::Close, or may at any time be closed
|
|
by the portal implementation, which will be signalled via
|
|
:ref:`org.freedesktop.portal.Session::Closed`.
|
|
|
|
Supported keys in the @options vardict include:
|
|
|
|
* ``handle_token`` (``s``)
|
|
|
|
A string that will be used as the last element of the @handle. Must be a valid
|
|
object path element. See the :ref:`org.freedesktop.portal.Request` documentation for
|
|
more information about the @handle.
|
|
|
|
* ``session_handle_token`` (``s``)
|
|
|
|
A string that will be used as the last element of the session handle. Must be a valid
|
|
object path element. See the :ref:`org.freedesktop.portal.Session` documentation for
|
|
more information about the session handle.
|
|
|
|
The following results get returned via the :ref:`org.freedesktop.portal.Request::Response` signal:
|
|
|
|
* ``session_handle`` (``s``)
|
|
|
|
The session handle. An object path for the
|
|
:ref:`org.freedesktop.portal.Session` object representing the created
|
|
session.
|
|
|
|
.. note::
|
|
The ``session_handle`` is an object path that was erroneously implemented
|
|
as ``s``. For backwards compatibility it will remain this type.
|
|
|
|
This method was added in version 2 of this interface.
|
|
-->
|
|
<method name="CreateMonitor">
|
|
<arg type="s" name="window" direction="in"/>
|
|
<annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/>
|
|
<arg type="a{sv}" name="options" direction="in"/>
|
|
<arg type="o" name="handle" direction="out"/>
|
|
</method>
|
|
|
|
<!--
|
|
StateChanged:
|
|
@session_handle: Object path for the :ref:`org.freedesktop.portal.Session` object
|
|
@state: Vardict with information about the session state
|
|
|
|
The StateChanged signal is sent to active monitoring sessions when
|
|
the session state changes.
|
|
|
|
When the session state changes to 'Query End', clients with active monitoring
|
|
sessions are expected to respond by calling
|
|
org.freedesktop.portal.Inhibit.QueryEndResponse() within a second
|
|
of receiving the StateChanged signal. They may call org.freedesktop.portal.Inhibit.Inhibit()
|
|
first to inhibit logout, to prevent the session from proceeding to the Ending state.
|
|
|
|
The following information may get returned in the @state vardict:
|
|
|
|
* ``screensaver-active`` (``b``)
|
|
|
|
Whether the screensaver is active.
|
|
|
|
* ``session-state`` (``u``)
|
|
|
|
The state of the session. This member is new in version 3.
|
|
|
|
- ``1``: Running
|
|
- ``2``: Query End
|
|
- ``3``: Ending
|
|
|
|
-->
|
|
<signal name="StateChanged">
|
|
<arg type="o" name="session_handle" direction="out"/>
|
|
<annotation name="org.qtproject.QtDBus.QtTypeName.Out1" value="QVariantMap"/>
|
|
<arg type="a{sv}" name="state" direction="out"/>
|
|
</signal>
|
|
|
|
<!--
|
|
QueryEndResponse:
|
|
@session_handle: Object path for the :ref:`org.freedesktop.portal.Session` object
|
|
|
|
Acknowledges that the caller received the #org.freedesktop.portal.Inhibit::StateChanged
|
|
signal. This method should be called within one second or receiving a StateChanged
|
|
signal with the 'Query End' state.
|
|
|
|
Since version 3.
|
|
-->
|
|
<method name="QueryEndResponse">
|
|
<arg type="o" name="session_handle" direction="in"/>
|
|
</method>
|
|
|
|
<property name="version" type="u" access="read"/>
|
|
</interface>
|
|
</node>
|