# 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. ## Configuration See `~/.config/tuimble/config.toml`. All fields are optional; defaults connect to localhost:64738.