refactor: rename service to autostart, fix fork bomb, add rfd file picker, use dirs crate, auto-start launcher, propagate overlays, ensure icon

- Rename service module to autostart (no systemd service is used)
- Fix fork bomb: replace subprocess spawning with thread::spawn
- Replace zenity/kdialog with rfd crate for XDG Portal file picker
- Use dirs crate instead of env::var("HOME")
- Auto-start launcher before game launch for online auth
- Propagate gamemode/mangohud env vars to launcher process
- Auto-install SVG icon on startup via ensure_icon()
- Add assets/umutray.svg
- Remove stale zenity/kdialog optdepends from PKGBUILD
- Update .gitignore for .claude/ and CLAUDE.md
This commit is contained in:
funman300
2026-04-19 13:02:32 -07:00
parent 2f4f1c64d2
commit c1893f9f64
15 changed files with 620 additions and 240 deletions
+5 -5
View File
@@ -28,7 +28,7 @@ Launch / Kill entries. Users can add or remove launchers in `config edit`.
(no ~600 MB in-memory buffering), with a progress indicator.
- `diagnose` — sanity-checks umu-run, Vulkan, display server, per-launcher
prefix / exe / ownership / running state.
- `service` — installs an XDG autostart entry so the tray autostarts with
- `autostart` — manages the XDG autostart entry so the tray starts with
the graphical session.
- `setup` — graphical wizard (iced) that downloads an installer URL
(with progress bar) or accepts a local `.exe`, then runs it via
@@ -51,7 +51,7 @@ sudo pacman -S umu-launcher vulkan-tools
Then enable autostart:
```sh
umutray service install
umutray autostart install
```
## Usage
@@ -79,9 +79,9 @@ umutray service install
| `umutray config add-game …` | Attach a game to a launcher (needs `--exe-path`) |
| `umutray config remove-game …` | Drop a game from a launcher |
| `umutray config set-game-flags …`| Per-game overlay toggles: gamemode/mangohud/gamescope |
| `umutray service install` | Write XDG autostart entry (tray starts on login) |
| `umutray service uninstall` | Remove the autostart and desktop entries |
| `umutray service status` | Show whether XDG autostart is enabled |
| `umutray autostart install` | Write XDG autostart entry (tray starts on login) |
| `umutray autostart uninstall` | Remove the autostart and desktop entries |
| `umutray autostart status` | Show whether XDG autostart is enabled |
## Config