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