I was able to get it working, although it does require downgrading
xdg-desktop-portal from 1.15.0-1 to 1.14.6-1, which is not noted in the referenced documentation.
Ensure that environment variables are set properly. If your distro does not set them automatically, use a launch script to export XDG_CURRENT_DESKTOP=sway before Sway is launched.
There are a number of ways to do this, but if you are still using
greetd (the default login manager) then the simplest way is probably to set up a wrapper script as suggested by the
Create the script:
I just pasted the whole window right out of the Flameshot Github page linked above:
Don't forget to make it executable.
sudo chmod +x /usr/local/bin/sway-run
Next, add it to the
On the "
command =" line, change "
sway" to "
sway-run" (the script you just made):
command = "tuigreet -r --cmd sway-run"
Yours might look a little different than mine because I changed my greeter at some point. The important thing is to change "
sway" to "
sway-run"--the rest of the line you can leave as-is.
Add the stuff for
dbus to your config:
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec hash dbus-update-activation-environment 2>/dev/null && \
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
That's about it for what the documentation suggests, but it still wasn't working. I poked around for a bit searching off of debug clues from executing
flameshot gui while the
dbus-monitor --session sender=org.freedesktop.portal.Desktop destination=org.freedesktop.portal.Desktop line was running and somehow wound up on this bug report from August: flameshot gui from cli does nothing. dbus error UnknownMethod: "No such interface “org.freedesktop.portal.Screenshot” · Issue #2872 · flameshot-org/flameshot · GitHub
Multiple people in the thread mentioned they were able to get it working after downgrading
xdg-desktop-portal from 1.15.0-1 to 1.14.6-1 so I gave it a shot.
sudo pacman -U file:///var/cache/pacman/pkg/xdg-desktop-portal-1.14.6-1-x86_64.pkg.tar.zst
Obviously if you don't have the 1.14.6-1 version in your cache (mine is timestamped August 2nd), you'll have to rummage around in the Arch Linux Archive and install it that way.
Don't forget to add
IgnorePkg = xdg-desktop-portal to your
pacman.conf until it gets straightened out. Happy screenshotting!