Unverified Commit 7e7a0699 authored by teutat3s's avatar teutat3s
Browse files

nixos/sway: workaround idle inhibit not working

in Firefox

Source:
https://www.reddit.com/r/swaywm/comments/1dqud2a/how_to_get_firefox_to_inhibit_idle_when_watching/
> Firefox supports the Wayaland inhibit protocol, but it attempts to use the DBus interfaces first. However, the gtk portal has an issue where it returns success even though the wlr portal/sway doesn't have an implementation for the inhibit method, see #465.
parent 2b62add7
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -144,7 +144,19 @@ in
      services.displayManager.sessionPackages = lib.optional (cfg.package != null) cfg.package;

      # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
      xdg.portal.config.sway.default = lib.mkDefault [ "wlr" "gtk" ];
      # https://github.com/emersion/xdg-desktop-portal-wlr/blob/master/contrib/wlroots-portals.conf
      # https://github.com/emersion/xdg-desktop-portal-wlr/pull/315
      xdg.portal.config.sway = {
        # Use xdg-desktop-portal-gtk for every portal interface...
        default = "gtk";
        # ... except for the ScreenCast, Screenshot and Secret
        "org.freedesktop.impl.portal.ScreenCast" = "wlr";
        "org.freedesktop.impl.portal.Screenshot" = "wlr";
        # ignore inhibit bc gtk portal always returns as success,
        # despite sway/the wlr portal not having an implementation,
        # stopping firefox from using wayland idle-inhibit
        "org.freedesktop.impl.portal.Inhibit" = "none";
      };
    }

    (import ./wayland-session.nix {