diff --git a/config/dot/xdg-desktop-portal/hyprland-portals.conf b/config/dot/xdg-desktop-portal/hyprland-portals.conf index 4657150..c55f331 100644 --- a/config/dot/xdg-desktop-portal/hyprland-portals.conf +++ b/config/dot/xdg-desktop-portal/hyprland-portals.conf @@ -15,9 +15,18 @@ # Secret -> gnome-keyring. Its own portal file is UseIn=gnome, so under # XDG_CURRENT_DESKTOP=Hyprland nothing would claim Secret and # Flatpak apps needing credential storage would fail. +# Background -> xdg-desktop-portal-gnome. It's the only installed backend +# that implements this interface (gnome.portal is UseIn=gnome, +# same problem as Secret above), and it runs as a standalone +# daemon that doesn't need GNOME Shell or gnome-session -- +# confirmed live: it starts cleanly under Hyprland and Flatpak +# apps' RequestBackground calls succeed. Without this mapping +# nothing serves org.freedesktop.portal.Background at all, so +# any Flatpak app's own "run/start on login" toggle silently +# fails (Bitwarden logged this on every launch). # -# xdg-desktop-portal-gnome stays installed but is inert here (its portal file -# is UseIn=gnome); it is still needed for the GNOME session. +# xdg-desktop-portal-gnome stays installed and is now used for one interface +# here; it is still the default handler for the GNOME session. # ───────────────────────────────────────────────────────────────────────────── [preferred] @@ -25,3 +34,4 @@ default=hyprland;gtk org.freedesktop.impl.portal.Screenshot=hyprland org.freedesktop.impl.portal.ScreenCast=hyprland org.freedesktop.impl.portal.Secret=gnome-keyring +org.freedesktop.impl.portal.Background=gnome