Tab cycles focus to sidebar where Up/Down navigates channels and Enter joins the selected one. Muted/deafened users show status symbols in the channel tree.
60 lines
1.0 KiB
Markdown
60 lines
1.0 KiB
Markdown
# tuimble
|
|
|
|
TUI Mumble client with voice support and push-to-talk.
|
|
|
|
## Features
|
|
|
|
- Terminal-based UI (Textual)
|
|
- Voice transmission with Opus codec
|
|
- Push-to-talk via Kitty keyboard protocol, evdev, or toggle
|
|
- Channel browsing and text chat
|
|
- Chat input history (Up/Down arrow navigation)
|
|
- Self-deafen toggle
|
|
|
|
## 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 |
|
|
|
|
## Quick Start
|
|
|
|
```sh
|
|
make setup
|
|
make run
|
|
```
|
|
|
|
## Configuration
|
|
|
|
```sh
|
|
mkdir -p ~/.config/tuimble
|
|
```
|
|
|
|
`~/.config/tuimble/config.toml`:
|
|
|
|
```toml
|
|
[server]
|
|
host = "mumble.example.com"
|
|
port = 64738
|
|
username = "myname"
|
|
|
|
[ptt]
|
|
key = "f4"
|
|
mode = "hold"
|
|
backend = "auto"
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- Python 3.11+
|
|
- libopus
|
|
- portaudio (libportaudio2)
|
|
- A Mumble server to connect to
|