f7738d215b
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>
67 lines
3.0 KiB
Markdown
67 lines
3.0 KiB
Markdown
# battlenet-manager
|
|
|
|
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/battlenet-manager ~/.local/bin/battlenet-manager
|
|
```
|
|
|
|
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 |
|
|
| --------------------------------- | -------------------------------------------------------- |
|
|
| `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:
|
|
|
|
```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.
|