mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-11-04 19:08:23 +00:00
a1751d3d87
This is a reworking of a long standing Ubuntu patch that publishes the set of locations open in each Nautilus window. The motivation for this change is that a desktop environment providing special icons for things like removable devices and the trash can match windows to those icons for highlighting purposes. In the original incarnation, Unity provided these icons. In today's world, I'm maintaining a set of patches for dash-to-dock/ubunut-dock that provide these icons too. The original implementation uses Xids to identify windows, but Xids aren't a thing in Wayland so this mechanism is a dead end. Instead, we can use the 'gtk application window object paths' which are published over dbus by GtkApplications, including Nautilus. Mutter already detects these, and makes them available on MetaWindows. The original patch added the mapping property to the fileManager1 interface, and I have left that part as-is, but it's likely not to be the right place to put it. fileManager1 is a generic interface and a property that assumes a GTK behaviour doesn't seem right. We could obviously add it to a new interface under org.gnome.Nautilus, but this would be Nautilus specific - although there isn't a huge scope for other file managers to implement this property, so perhaps that's just fine. dash-to-dock discussion is readable here: https://github.com/micheleg/dash-to-dock/pull/677
43 lines
1.8 KiB
XML
43 lines
1.8 KiB
XML
<!DOCTYPE node PUBLIC
|
|
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
|
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
|
|
|
<!--
|
|
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 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/>.
|
|
-->
|
|
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
|
|
<interface name='org.freedesktop.FileManager1'>
|
|
<method name='ShowFolders'>
|
|
<arg type='as' name='URIs' direction='in'/>
|
|
<arg type='s' name='StartupId' direction='in'/>
|
|
</method>
|
|
<method name='ShowItems'>
|
|
<arg type='as' name='URIs' direction='in'/>
|
|
<arg type='s' name='StartupId' direction='in'/>
|
|
</method>
|
|
<method name='ShowItemProperties'>
|
|
<arg type='as' name='URIs' direction='in'/>
|
|
<arg type='s' name='StartupId' direction='in'/>
|
|
</method>
|
|
<property name="OpenLocations" type="as" access="read"/>
|
|
<!--
|
|
An extension to the official FileManager1 interface that allows Nautilus
|
|
to publish a mapping of windows to the locations in each window.
|
|
This can be used by shell extensions like dash-to-dock/ubuntu-dock to
|
|
associate special dock icons with windows where the icon's location is
|
|
open.
|
|
-->
|
|
<property name="OpenWindowsWithLocations" type="a{sas}" access="read"/>
|
|
</interface>
|
|
</node>
|