f7738d215b0418677330e53bd42752d8b09cfe82
config subcommand — show, path, edit ($EDITOR), and a non-interactive set that takes --prefix / --compat-dir / --gameid. Lets users retarget the Wine prefix without hand-editing TOML. service subcommand — install / uninstall / status for a systemd --user unit that autostarts the tray. install writes ~/.config/systemd/user/ battlenet-manager.service with ExecStart pointing at the current binary, then daemon-reloads and enable --now's the unit. uninstall tears it back down. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
battlenet-manager
A small system-tray daemon and CLI for running the Battle.net launcher on Linux via umu-launcher and GE-Proton.
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-protonsubcommand that downloads GE-Proton releases directly from GitHub and installs them under the Steam compat tools directory.diagnosesubcommand that sanity-checks the environment (umu-run, prefix, Proton install, Vulkan, display server, stale agent.lock).
Install
cargo build --release
install -Dm755 target/release/battlenet-manager ~/.local/bin/battlenet-manager
Requires umu-launcher and tar on PATH. On Arch:
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 |
|---|---|
battlenet-manager |
Start the tray daemon (default) |
battlenet-manager launch |
Launch Battle.net and return (for .desktop shortcuts) |
battlenet-manager kill |
SIGTERM → wait 3 s → SIGKILL on all Battle.net procs |
battlenet-manager diagnose |
Run environment health checks |
battlenet-manager 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/battlenet-manager/config.toml, written with defaults on
first run:
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.
Languages
Rust
99.1%
Shell
0.9%