Hi,
I’m on nixos (unstable) but this has already been bugging me for a while with previous releases.
It’s a hyprland config and I’m using firefox. When I’m clicking on “Show in folder” in the Downloads list (or alternatively in VSCode I right click a file and click “Open Containing Folder”) nothing happens…
That is,… I get some dbus messages with dbus-monitor, which I don’t fully understand however:
Full dbus-monitor output in response to clicking 'Show in folder' in firefox on a PDF document
method call time=1733908787.889995 sender=:1.29 -> destination=org.freedesktop.DBus serial=171 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.freedesktop.FileManager1'"
method return time=1733908787.890034 sender=org.freedesktop.DBus -> destination=:1.29 serial=120 reply_serial=171
signal time=1733908787.890173 sender=org.freedesktop.DBus -> destination=org.freedesktop.systemd1 serial=67 path=/org/freedesktop/DBus; interface=org.freedesktop.systemd1.Activator; member=ActivationRequest
string "plasma-dolphin.service"
method call time=1733908787.890192 sender=:1.29 -> destination=org.freedesktop.DBus serial=172 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName
string "org.freedesktop.FileManager1"
uint32 0
method call time=1733908787.891312 sender=:1.3 -> destination=org.freedesktop.DBus serial=49 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.freedesktop.FileManager1'"
method return time=1733908787.891349 sender=org.freedesktop.DBus -> destination=:1.3 serial=68 reply_serial=49
method call time=1733908787.891391 sender=:1.3 -> destination=org.freedesktop.DBus serial=50 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
string "org.freedesktop.FileManager1"
error time=1733908787.891405 sender=org.freedesktop.DBus -> destination=:1.3 error_name=org.freedesktop.DBus.Error.NameHasNoOwner reply_serial=50
string "Could not get owner of name 'org.freedesktop.FileManager1': no such name"
method call time=1733908787.982487 sender=:1.44 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1733908787.982513 sender=org.freedesktop.DBus -> destination=:1.44 serial=1 reply_serial=1
string ":1.44"
signal time=1733908787.982522 sender=org.freedesktop.DBus -> destination=(null destination) serial=60 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.44"
string ""
string ":1.44"
signal time=1733908787.982532 sender=org.freedesktop.DBus -> destination=:1.44 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.44"
method call time=1733908787.982729 sender=:1.44 -> destination=org.freedesktop.portal.Desktop serial=2 path=/org/freedesktop/portal/desktop; interface=org.freedesktop.DBus.Properties; member=Get
string "org.freedesktop.portal.Screenshot"
string "version"
method return time=1733908787.982903 sender=:1.10 -> destination=:1.44 serial=160 reply_serial=2
variant uint32 2
method call time=1733908788.020487 sender=:1.44 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName
string "org.kde.dolphin-4865"
uint32 4
signal time=1733908788.020535 sender=org.freedesktop.DBus -> destination=(null destination) serial=61 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.kde.dolphin-4865"
string ""
string ":1.44"
signal time=1733908788.020549 sender=org.freedesktop.DBus -> destination=:1.44 serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string "org.kde.dolphin-4865"
method return time=1733908788.020557 sender=org.freedesktop.DBus -> destination=:1.44 serial=4 reply_serial=3
uint32 1
method call time=1733908788.020940 sender=:1.44 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName
string "org.freedesktop.FileManager1"
uint32 0
signal time=1733908788.020973 sender=org.freedesktop.DBus -> destination=(null destination) serial=70 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.freedesktop.FileManager1"
string ""
string ":1.44"
method return time=1733908788.020985 sender=org.freedesktop.DBus -> destination=:1.29 serial=121 reply_serial=172
uint32 1
signal time=1733908788.020992 sender=org.freedesktop.DBus -> destination=:1.44 serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string "org.freedesktop.FileManager1"
method return time=1733908788.020999 sender=org.freedesktop.DBus -> destination=:1.44 serial=6 reply_serial=4
uint32 1
method call time=1733908788.021022 sender=:1.44 -> destination=org.freedesktop.DBus serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.a11y.Bus',arg1=''"
method call time=1733908788.021149 sender=:1.44 -> destination=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameHasOwner
string "org.a11y.Bus"
method return time=1733908788.021164 sender=org.freedesktop.DBus -> destination=:1.44 serial=7 reply_serial=6
boolean false
method call time=1733908788.021233 sender=:1.29 -> destination=org.freedesktop.DBus serial=173 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
string "org.freedesktop.FileManager1"
method return time=1733908788.021244 sender=org.freedesktop.DBus -> destination=:1.29 serial=122 reply_serial=173
string ":1.44"
method call time=1733908788.021485 sender=:1.29 -> destination=:1.44 serial=174 path=/org/freedesktop/FileManager1; interface=org.freedesktop.FileManager1; member=ShowItems
array [
string "file:///home/max/Downloads/100970D.pdf"
]
string ""
method call time=1733908788.021686 sender=:1.44 -> destination=org.freedesktop.DBus serial=7 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ListNames
method return time=1733908788.021693 sender=org.freedesktop.DBus -> destination=:1.44 serial=8 reply_serial=7
array [
string "org.freedesktop.DBus"
string "org.freedesktop.Notifications"
string ":1.7"
string ":1.8"
string ":1.9"
string "org.freedesktop.portal.Desktop"
string "org.mozilla.firefox.L2hvbWUvbWF4Ly5tb3ppbGxhL2ZpcmVmb3gvc3NyeWZ1Y2EuZGVmYXVsdA__"
string "org.freedesktop.systemd1"
string "org.mpris.MediaPlayer2.firefox.instance_1_29"
string "org.gtk.vfs.Daemon"
string "org.kde.kdeconnect"
string "org.pulseaudio.Server"
string "org.kde.kdeconnect-indicator"
string "org.freedesktop.impl.portal.desktop.hyprland"
string "fr.arouillard.waybar"
string "org.mpris.MediaPlayer2.kdeconnect.mpris_fa9565df7d29442aafeb6500bdbeed50"
string "org.freedesktop.impl.portal.desktop.gtk"
string ":1.40"
string ":1.21"
string ":1.44"
string ":1.22"
string ":1.23"
string ":1.24"
string ":1.25"
string ":1.26"
string ":1.27"
string "org.kde.dolphin-4865"
string "org.freedesktop.portal.Documents"
string ":1.29"
string "org.freedesktop.ScreenSaver"
string "org.freedesktop.ReserveDevice1.Audio0"
string "org.mpris.MediaPlayer2.kdeconnect.mpris_90a8bb6ba59745db95aa4cf8a2a5eb36"
string "org.freedesktop.ReserveDevice1.Audio1"
string "org.freedesktop.ReserveDevice1.Audio2"
string "org.freedesktop.FileManager1"
string "org.kde.kdeconnect.daemon"
string "org.kde.StatusNotifierHost-1717-0"
string "org.kde.StatusNotifierHost-1717-1"
string ":1.10"
string "org.freedesktop.impl.portal.PermissionStore"
string ":1.11"
string ":1.12"
string "org.kde.StatusNotifierWatcher"
string ":1.13"
string ":1.35"
string ":1.14"
string ":1.36"
string ":1.37"
string ":1.2"
string ":1.15"
string ":1.3"
string ":1.16"
string ":1.39"
string ":1.4"
string ":1.5"
string ":1.19"
]
method call time=1733908788.021906 sender=:1.44 -> destination=org.freedesktop.DBus serial=8 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameHasOwner
string "org.freedesktop.systemd1"
method return time=1733908788.021916 sender=org.freedesktop.DBus -> destination=:1.44 serial=9 reply_serial=8
boolean true
method call time=1733908788.022108 sender=:1.44 -> destination=org.freedesktop.DBus serial=9 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.KIOFuse'"
method call time=1733908788.022170 sender=:1.44 -> destination=org.freedesktop.DBus serial=10 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
string "org.kde.KIOFuse"
error time=1733908788.022179 sender=org.freedesktop.DBus -> destination=:1.44 error_name=org.freedesktop.DBus.Error.NameHasNoOwner reply_serial=10
string "Could not get owner of name 'org.kde.KIOFuse': no such name"
method call time=1733908788.031028 sender=:1.44 -> destination=org.freedesktop.DBus serial=11 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.kde.KIOFuse'"
method call time=1733908788.031073 sender=:1.44 -> destination=org.freedesktop.DBus serial=12 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.freedesktop.DBus'"
error time=1733908788.031085 sender=org.freedesktop.DBus -> destination=:1.44 error_name=org.freedesktop.DBus.Error.MatchRuleNotFound reply_serial=12
string "The given match rule wasn't found and can't be removed"
method return time=1733908788.050272 sender=:1.44 -> destination=:1.29 serial=13 reply_serial=174
method call time=1733908788.050881 sender=:1.29 -> destination=org.freedesktop.DBus serial=175 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.freedesktop.FileManager1'"
method return time=1733908788.050910 sender=org.freedesktop.DBus -> destination=:1.29 serial=123 reply_serial=175
method call time=1733908788.051972 sender=:1.44 -> destination=org.freedesktop.DBus serial=14 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ReleaseName
string "org.kde.dolphin-4865"
signal time=1733908788.052003 sender=org.freedesktop.DBus -> destination=:1.44 serial=12 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string "org.kde.dolphin-4865"
signal time=1733908788.052011 sender=org.freedesktop.DBus -> destination=(null destination) serial=62 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.kde.dolphin-4865"
string ":1.44"
string ""
method return time=1733908788.052023 sender=org.freedesktop.DBus -> destination=:1.44 serial=13 reply_serial=14
uint32 1
method call time=1733908788.052829 sender=:1.44 -> destination=org.freedesktop.DBus serial=15 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.a11y.Bus',arg1=''"
signal time=1733908788.066246 sender=org.freedesktop.DBus -> destination=:1.44 serial=14 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string "org.freedesktop.FileManager1"
signal time=1733908788.066290 sender=org.freedesktop.DBus -> destination=(null destination) serial=71 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.freedesktop.FileManager1"
string ":1.44"
string ""
signal time=1733908788.066300 sender=org.freedesktop.DBus -> destination=:1.44 serial=15 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.44"
signal time=1733908788.066308 sender=org.freedesktop.DBus -> destination=(null destination) serial=63 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.44"
string ":1.44"
string ""
method call time=1733908788.069235 sender=:1.3 -> destination=org.freedesktop.DBus serial=51 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
string "type='signal',sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.freedesktop.FileManager1'"
In there I see the lines
freedesktop/FileManager1; interface=org.freedesktop.FileManager1; member=ShowItems
array [
string "file:///home/max/Downloads/100970D.pdf"
]
string ""
so it seems to do send request but I don’t understand why it is not fulfilled.
I have found:
and tried the various proposed desktop portal configs, but to no avail
The workaround in the second post does indeed work, but I could only get it to work with dolphin (I would much rather like to use thunar however).
Also dolphin opens twice in this case?! (I rebooted to make sure that no services are running astray)
Proposed workaround from second reddit thread
systemd.user.services.plasma-dolphin = {
unitConfig = {
Description = "Dolphin file manager";
PartOf = [ "graphical-session.target" ];
};
path = [ "/run/current-system/sw" ];
environment = {
# don't add this if you are not wayland
QT_QPA_PLATFORM = "wayland";
};
serviceConfig = {
Type = "dbus";
BusName = "org.freedesktop.FileManager1";
ExecStart = "${pkgs.dolphin}/bin/dolphin";
};
};
Current (related) config
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
config.common.default = [
"gtk"
"hyprland"
];
# systemctl --user status xdg-desktop-portal-hyprland.service
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
I’m just wondering, whether this is the correct workaround? Or should this work out of the box? Or how one could modify the service to work with thunar? Or maybe why dolphin opens twice with the proposed workaround?
Thanks!