kwin/org.kde.KWin.xml
Martin Flöser 1d71292e13 Add a method to dbus interface to query information about a window
Summary:
This call is added for the window rules kcm which has a detect
functionality. As that detect functionality cannot query any Wayland
windows we need to have some functionality in KWin core. Furthermore
this allows to simplify the code in the kcm as all the custom X11
interaction can be removed. KWin internally has the functionality to
find a window at a given position.

From a security perspective adding this dbus method is fine as the user
stays in control of the functionality. It requires active click to
select a window.

The new dbus call is already used in the rules kcm replacing the
X11 based detect functionality. That a detect is now able to get
information for both X11 and Wayland windows. So far only X11 windows
on X11 were supported. So this fills an important gap in the Wayland
offerings. It should now be possible to create rules for Wayland
windows (though may not be fully functional).

Test Plan: Run the kwin_rules_dialog and it detected the window correctly

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D10490
2018-02-25 14:12:04 +01:00

44 lines
1.6 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>
<interface name="org.kde.KWin">
<method name="cascadeDesktop">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
</method>
<method name="unclutterDesktop">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
</method>
<method name="reconfigure">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
</method>
<method name="killWindow">
<annotation name="org.freedesktop.DBus.Method.NoReply" value="true"/>
</method>
<method name="setCurrentDesktop">
<arg name="desktop" type="i" direction="in"/>
<arg type="b" direction="out"/>
</method>
<method name="currentDesktop">
<arg type="i" direction="out"/>
</method>
<method name="nextDesktop"/>
<method name="previousDesktop"/>
<signal name="reloadConfig"/>
<method name="stopActivity">
<arg type="s" direction="in"/>
<arg type="b" direction="out"/>
</method>
<method name="startActivity">
<arg type="s" direction="in"/>
<arg type="b" direction="out"/>
</method>
<method name="supportInformation">
<arg type="s" direction="out"/>
</method>
<method name="showDebugConsole"/>
<method name="queryWindowInfo">
<annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap"/>
<arg type="a{sv}" direction="out"/>
</method>
</interface>
</node>