# umutray A small system-tray daemon and CLI for running the Battle.net launcher on Linux via [umu-launcher](https://github.com/Open-Wine-Components/umu-launcher) and [GE-Proton](https://github.com/GloriousEggroll/proton-ge-custom). ## Features - Tray icon with Launch / Kill / Update-Proton menu (KDE, GNOME+AppIndicator, Xfce, any SNI-capable desktop). - Background poller that reflects Battle.net's running state in the tray. - `update-proton` subcommand that downloads GE-Proton releases directly from GitHub and installs them under the Steam compat tools directory. - `diagnose` subcommand that sanity-checks the environment (umu-run, prefix, Proton install, Vulkan, display server, stale agent.lock). ## Install ```sh cargo build --release install -Dm755 target/release/umutray ~/.local/bin/umutray ``` Requires `umu-launcher` and `tar` on PATH. On Arch: ```sh sudo pacman -S umu-launcher vulkan-tools ``` The Battle.net Launcher.exe itself is not bundled — run your existing `battlenet-umu-setup.sh` (or install it manually into the prefix) before first launch. ## Usage | Command | What it does | | ------------------------------ | -------------------------------------------------------- | | `umutray` | Start the tray daemon (default) | | `umutray launch` | Launch Battle.net and return (for `.desktop` shortcuts) | | `umutray kill` | SIGTERM → wait 3 s → SIGKILL on all Battle.net procs | | `umutray diagnose` | Run environment health checks | | `umutray update-proton` | Interactive GE-Proton picker | | `update-proton --latest` | Install newest GE-Proton release | | `update-proton --version X` | Install a specific tag (e.g. `GE-Proton10-34`) | | `update-proton --list` | Show recent releases without installing | | `config show` / `config path` | Print current config or its path | | `config edit` | Open config in `$EDITOR` | | `config set --prefix PATH` | Change the Wine prefix (also `--compat-dir`, `--gameid`) | | `service install` | Write + enable a `systemd --user` unit for autostart | | `service uninstall` / `status` | Remove the unit / show its status | ## Config Lives at `~/.config/umutray/config.toml`, written with defaults on first run: ```toml prefix_dir = "~/Games/battlenet-umu" proton_version = "GE-Proton" # or a pinned tag like "GE-Proton10-34" gameid = "umu-battlenet" proton_compat_dir = "~/.local/share/Steam/compatibilitytools.d" ``` `proton_version = "GE-Proton"` tells umu-launcher to auto-fetch the latest on each run. Setting it to a specific tag (done automatically by `update-proton`) pins that version.