fix: make portal startup uwsm-aware to stop light-mode race

Logging in via a bare Hyprland session never activates
graphical-session.target, so the systemd xdg-desktop-portal units can't
start. The old script worked around this by killing and relaunching the
portals manually, but that delayed the portal past waybar/chromium
startup, so they intermittently came up in light mode.

Switch to the "Hyprland (uwsm-managed)" session: uwsm activates
graphical-session.target and systemd starts the portals in the right
order. The startup script now detects that target and bows out, falling
back to the manual launch only on a bare session (e.g. another machine
without uwsm). Document uwsm in the README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jeena 2026-06-13 16:47:44 +09:00
parent 6ece13e84b
commit 6199866e4c
2 changed files with 22 additions and 3 deletions

View file

@ -102,6 +102,10 @@ You also need to install all the dependencies:
- ttf-jetbrains-mono-nerd (required for waybar icons)
- xdg-desktop-portal-hyprland
- xdg-desktop-portal-gtk
- uwsm (recommended; log in via the "Hyprland (uwsm-managed)" session so
systemd starts the portals before the autostart apps — otherwise apps like
waybar and chromium intermittently come up in light mode. Without uwsm the
portal startup script falls back to launching the portals manually.)
- fcitx5
- fcitx5-hangul