2026-06-10 16:31:40 +01:00
|
|
|
# furumi
|
|
|
|
|
|
|
|
|
|
Terminal client (TUI) for the furumusic server. Cross-platform: Linux,
|
|
|
|
|
macOS, Windows.
|
|
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
|
|
|
|
|
Rust 1.88+ (edition 2024).
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cargo build --release # binary: target/release/furumi
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Linux
|
|
|
|
|
|
|
|
|
|
Sound output needs the system ALSA library — the one and only system
|
|
|
|
|
build dependency (PipeWire/PulseAudio are reached through the ALSA
|
|
|
|
|
compatibility layer at runtime):
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Debian/Ubuntu
|
|
|
|
|
sudo apt install libasound2-dev pkg-config
|
|
|
|
|
# Fedora
|
|
|
|
|
sudo dnf install alsa-lib-devel pkgconf-pkg-config
|
|
|
|
|
# Arch
|
|
|
|
|
sudo pacman -S alsa-lib pkgconf
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Everything else is pure Rust: TLS is rustls, MPRIS media keys go through
|
|
|
|
|
zbus (no libdbus), images and audio decoding are Rust crates.
|
|
|
|
|
|
|
|
|
|
### macOS / Windows
|
|
|
|
|
|
2026-06-10 17:58:55 +01:00
|
|
|
No system packages required.
|
2026-06-10 16:31:40 +01:00
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
2026-06-10 17:58:55 +01:00
|
|
|
- `keymap.toml` in the config dir — keybinding overrides, see
|
2026-06-10 16:31:40 +01:00
|
|
|
`src/config/default_keymap.toml` for the format and defaults.
|
2026-06-10 17:58:55 +01:00
|
|
|
Config dir: `~/.config/furumi` on Linux,
|
|
|
|
|
`~/Library/Application Support/furumi` on macOS.
|
|
|
|
|
- `credentials.json` in the same dir — created on login (0600).
|
2026-06-10 16:31:40 +01:00
|
|
|
- Logs: in-app on the Logs tab (`5`), and in the cache dir
|
|
|
|
|
(`furumi-cli.log`), filtered by `RUST_LOG`.
|