feat(portal): keep windowed browser video from sleeping the screen
Update PKGBUILD version / update-pkgver (push) Successful in 3s
Update PKGBUILD version / update-pkgver (push) Successful in 3s
Add /etc/xdg-desktop-portal/niri-portals.conf with Inhibit=none. The gtk portal reports Inhibit success even though nothing implements it under Niri, so Firefox/Waterfox skips the native Wayland idle-inhibit. With no backend the browser falls back to zwp_idle_inhibit, which Niri honors.
This commit is contained in:
@@ -71,6 +71,14 @@ Systemweite generic-family Defaults via `defaults/etc/fonts/conf.d/65-moonarch-f
|
|||||||
- Aliases brauchen `binding="strong"` — ein weak `<prefer>` (fontconfig-Default) rankt hinter dem effektiven generischen Fallback und greift nicht.
|
- Aliases brauchen `binding="strong"` — ein weak `<prefer>` (fontconfig-Default) rankt hinter dem effektiven generischen Fallback und greift nicht.
|
||||||
- Greift nur für Apps die generische Familien nutzen (z.B. Firefox-Web-Fallback). moonarch-Apps (Waybar, foot, GTK, walker, swaync) setzen den Font explizit.
|
- Greift nur für Apps die generische Familien nutzen (z.B. Firefox-Web-Fallback). moonarch-Apps (Waybar, foot, GTK, walker, swaync) setzen den Font explizit.
|
||||||
|
|
||||||
|
## Browser Idle-Inhibit (xdg-desktop-portal)
|
||||||
|
|
||||||
|
Damit Fenster-Browservideo (Firefox/Waterfox) den Screen wachhält, via `defaults/etc/xdg-desktop-portal/niri-portals.conf` (owned by moonarch-git, höhere Priorität als niris `/usr/share/xdg-desktop-portal/niri-portals.conf`):
|
||||||
|
- `xdg-desktop-portal-gtk` meldet das `Inhibit`-Interface als success, obwohl es unter Niri niemand implementiert → Firefox glaubt, der Idle-Inhibit lief über den Portal, und nutzt den nativen Wayland-`idle-inhibit` nicht. Ergebnis: kein Inhibitor, Screen schläft.
|
||||||
|
- Fix: `org.freedesktop.impl.portal.Inhibit=none` → Firefox fällt auf `zwp_idle_inhibit` zurück, den Niri honoriert. Die übrigen `[preferred]`-Zeilen sind 1:1 von niris Default übernommen (portals.conf wird nicht gemerged — die höchstpriore Datei gilt komplett).
|
||||||
|
- stasis ist hier unbeteiligt: `monitor_media` (pactl) erfasst Browser-Audio per Design nicht (nur Non-Browser-Player); Browser laufen über den Inhibit-Pfad.
|
||||||
|
- **Aktivierung:** xdg-desktop-portal + Browser neu starten — Firefox fragt den Portal-Support beim Start ab.
|
||||||
|
|
||||||
## Konventionen
|
## Konventionen
|
||||||
|
|
||||||
- Paketlisten sind einfache Textdateien, ein Paket pro Zeile, Kommentare mit `#`
|
- Paketlisten sind einfache Textdateien, ein Paket pro Zeile, Kommentare mit `#`
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
[preferred]
|
||||||
|
default=gnome;gtk;
|
||||||
|
org.freedesktop.impl.portal.Access=gtk;
|
||||||
|
org.freedesktop.impl.portal.Notification=gtk;
|
||||||
|
org.freedesktop.impl.portal.Secret=gnome-keyring;
|
||||||
|
# xdg-desktop-portal-gtk reports the Inhibit interface as success even though
|
||||||
|
# nothing implements it under Niri, which makes Firefox/Waterfox skip the
|
||||||
|
# native Wayland idle-inhibit. With no backend the browser falls back to
|
||||||
|
# zwp_idle_inhibit, which Niri honors, so windowed video keeps the screen awake.
|
||||||
|
org.freedesktop.impl.portal.Inhibit=none;
|
||||||
Reference in New Issue
Block a user