mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-18 07:34:54 +00:00
Splits WindowsChanged into 3 signals: WindowAdded, WindowChanged, WindowRemoved and nclude the window as an argument. This gives us the necessary information to tracked each window changed, rather than requiring continuous calls to GetWindows (returning all windows). The main consumer of the shell-introspect signals is xdg-desktop-portal-gnome, so an API break seems reasonable, rather than introducing a new API. See: https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/merge_requests/93
104 lines
3.4 KiB
XML
104 lines
3.4 KiB
XML
<!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.Shell.Introspect:
|
|
@short_description: Introspection interface
|
|
|
|
The interface used to introspect the state of Shell, such as running
|
|
applications, currently active application, etc.
|
|
-->
|
|
<interface name="org.gnome.Shell.Introspect">
|
|
|
|
<!--
|
|
RunningApplicationsChanged:
|
|
@short_description: Notifies when the running applications changes
|
|
-->
|
|
<signal name="RunningApplicationsChanged" />
|
|
|
|
<!--
|
|
WindowAdded:
|
|
@short_description: Notifies when any window opens
|
|
-->
|
|
<signal name="WindowAdded">
|
|
<arg type="a{sv}" name="window" />
|
|
</signal>
|
|
<!--
|
|
WindowChanged:
|
|
@short_description: Notifies when any window changes
|
|
-->
|
|
<signal name="WindowChanged">
|
|
<arg type="a{sv}" name="window" />
|
|
</signal>
|
|
<!--
|
|
WindowRemoved:
|
|
@short_description: Notifies when any window closes
|
|
-->
|
|
<signal name="WindowRemoved">
|
|
<arg type="a{sv}" name="window" />
|
|
</signal>
|
|
<!--
|
|
GetRunningApplications:
|
|
@short_description: Retrieves the description of all running applications
|
|
|
|
Each application is associated by an application ID. The details of
|
|
each application consists of a varlist of keys and values. Available
|
|
keys are listed below.
|
|
|
|
'active-on-seats' - (as) list of seats the application is active on
|
|
(a seat only has at most one active
|
|
application)
|
|
-->
|
|
<method name="GetRunningApplications">
|
|
<arg name="apps" direction="out" type="a{sa{sv}}" />
|
|
</method>
|
|
|
|
<!--
|
|
GetWindows:
|
|
@short_description: Retrieves the current list of windows and their properties
|
|
|
|
A window is exposed as:
|
|
* t ID: unique ID of the window
|
|
* a{sv} properties: high-level properties
|
|
|
|
Known properties:
|
|
|
|
- "title" (s): (readonly) title of the window
|
|
- "app-id" (s): (readonly) application ID of the window
|
|
- "wm-class" (s): (readonly) class of the window
|
|
- "client-type" (u): (readonly) 0 for Wayland, 1 for X11
|
|
- "is-hidden" (b): (readonly) if the window is currently hidden
|
|
- "has-focus" (b): (readonly) if the window currently have
|
|
keyboard focus
|
|
- "width" (u): (readonly) width of the window
|
|
- "height" (u): (readonly) height of the window
|
|
-->
|
|
<method name="GetWindows">
|
|
<arg name="windows" direction="out" type="a{ta{sv}}" />
|
|
</method>
|
|
|
|
<!--
|
|
AnimationsEnabled:
|
|
@short_description: Whether the shell animations are enabled
|
|
|
|
By default determined by the org.gnome.desktop.interface enable-animations
|
|
gsetting, but may be overridden, e.g. if there is an active screen cast or
|
|
remote desktop session that asked for animations to be disabled.
|
|
|
|
Since: 2
|
|
-->
|
|
<property name="AnimationsEnabled" type="b" access="read"/>
|
|
|
|
<!--
|
|
ScreenSize:
|
|
@short_description: The size of the screen
|
|
|
|
Since: 3
|
|
-->
|
|
<property name="ScreenSize" type="(ii)" access="read"/>
|
|
|
|
<property name="version" type="u" access="read"/>
|
|
</interface>
|
|
</node>
|