Files
tdesktop/Telegram/ThirdParty/xdg-desktop-portal/data/org.freedesktop.impl.portal.Inhibit.xml
allhaileris afb81b8278
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
init
2026-02-16 15:50:16 +03:00

134 lines
4.9 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.impl.portal.Inhibit:
@short_description: Inhibit portal backend interface
The inhibit portal lets sandboxed applications inhibit the user
session from ending, suspending, idling or getting switched away.
-->
<interface name="org.freedesktop.impl.portal.Inhibit">
<!--
Inhibit:
@handle: Object path for the :ref:`org.freedesktop.impl.portal.Request` object representing this call
@app_id: Application id
@window: Identifier for the window
@flags: Flags identifying what is inhibited
@options: Vardict with optional further information
Inhibits session status changes. As a side-effect of this call,
a :ref:`org.freedesktop.impl.portal.Request` object is exported on the
object path @handle. To end the inhibition, call
:ref:`org.freedesktop.impl.portal.Request.Close` on that object.
The flags determine what changes are inhibited:
- ``1``: Logout
- ``2``: User Switch
- ``4``: Suspend
- ``8``: Idle
Supported keys in the @options vardict include:
* ``reason`` (``s``)
User-visible reason for the inhibition.
-->
<method name="Inhibit">
<arg type="o" name="handle" direction="in"/>
<arg type="s" name="app_id" direction="in"/>
<arg type="s" name="window" direction="in"/>
<arg type="u" name="flags" direction="in"/>
<annotation name="org.qtproject.QtDBus.QtTypeName.In4" value="QVariantMap"/>
<arg type="a{sv}" name="options" direction="in"/>
</method>
<!--
CreateMonitor:
@handle: Object path for the :ref:`org.freedesktop.impl.portal.Request` object representing this call
@session_handle: Object path for the created :ref:`org.freedesktop.impl.portal.Session` object
@app_id: App id of the application
@window: the parent window
@response: the result of the operation (0 == success)
Creates a monitoring session. While this session is
active, the caller will receive StateChanged signals
with updates on the session state.
-->
<method name="CreateMonitor">
<arg type="o" name="handle" direction="in"/>
<arg type="o" name="session_handle" direction="in"/>
<arg type="s" name="app_id" direction="in"/>
<arg type="s" name="window" direction="in"/>
<arg type="u" name="response" 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.impl.portal.Inhibit.QueryEndResponse() within a second
of receiving the StateChanged signal.
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.
- ``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.impl.portal.Session` object
Acknowledges that the caller received the :ref:`org.freedesktop.impl.portal.Inhibit::StateChanged`
signal. This method should be called within one second or receiving a StateChanged
signal with the 'Query End' state.
-->
<method name="QueryEndResponse">
<arg type="o" name="session_handle" direction="in"/>
</method>
</interface>
</node>