Files
tuimble/docs/USAGE.md
2026-02-24 14:54:40 +01:00

105 lines
2.8 KiB
Markdown

# Usage
## Running
```sh
tuimble # uses ~/.config/tuimble/config.toml
tuimble --host mumble.example.com --user myname
```
## Key Bindings
| Key | Action |
|-----|--------|
| `Tab` | Cycle focus (chat input / channel tree) |
| `F1` | Toggle self-deafen |
| `F2` | Cycle output volume |
| `F3` | Cycle input volume |
| `F4` | Push-to-talk (configurable) |
| `F5` | Reload config from disk |
| `Enter` | Send message / join channel (sidebar) |
| `Up` | Previous message (input) / previous channel (sidebar) |
| `Down` | Next message (input) / next channel (sidebar) |
| `q` | Quit |
| `Ctrl+C` | Quit |
## Push-to-Talk Modes
- **toggle** — press to start, press again to stop (default)
- **hold** — hold key to transmit, release to stop (requires evdev)
## Profiling
```sh
tuimble --cprofile # saves to ~/.config/tuimble/profile.prof
tuimble --cprofile /tmp/tuimble.prof # saves to custom path
```
Profile data is dumped every 30 seconds and on exit, so snapshots
are available even after a crash or `kill`. Output is standard `.prof`
format:
```sh
python3 -m pstats /tmp/tuimble.prof # interactive explorer
# or install snakeviz for a browser-based flamegraph:
# pip install snakeviz && snakeviz /tmp/tuimble.prof
```
Note: cProfile captures the main thread only. Background workers
started with `@work(thread=True)` are not included.
## Volume Control
`F2` and `F3` cycle through volume steps: 0%, 25%, 50%, 75%, 100%,
125%, 150%, 200%, then back to 0%. Volume is shown in the status bar
as block indicators.
```toml
[audio]
output_gain = 0.75 # 0.0 to 2.0 (default 1.0)
input_gain = 1.5 # 0.0 to 2.0 (default 1.0)
```
## Client Certificates
For servers requiring client certificate authentication:
```toml
[server]
certfile = "/path/to/client-cert.pem"
keyfile = "/path/to/client-key.pem"
```
Both must be PEM-encoded. Leave empty to connect without a certificate.
## Config Reload
`F5` reloads `~/.config/tuimble/config.toml` from disk.
**Safe changes** (applied immediately): PTT key/mode/backend, audio
gain values.
**Restart-requiring changes** (server settings, audio device/rate):
shown as warnings. Press `F5` again to confirm reconnect, or any
other key to cancel.
## Reconnection
On unexpected disconnect (server restart, network loss), tuimble
automatically retries with exponential backoff:
- Initial delay: 2 seconds, doubling each attempt (2, 4, 8, 16, 30...)
- Maximum delay: 30 seconds
- Maximum attempts: 10
The status bar shows `◐ reconnecting` during retry. If the server
rejects authentication, retries stop immediately.
After all attempts are exhausted, press `F5` to retry manually.
`F5` also cancels an in-progress reconnect and starts a fresh attempt.
## Configuration
See `~/.config/tuimble/config.toml`. All fields are optional;
defaults connect to localhost:64738.