docs: add volume, certificate, and reload docs

This commit is contained in:
Username
2026-02-24 14:19:15 +01:00
parent 0bc41d1a46
commit 0b178d371e
4 changed files with 73 additions and 2 deletions

View File

@@ -10,6 +10,9 @@ TUI Mumble client with voice support and push-to-talk.
- Channel browsing and text chat
- Chat input history (Up/Down arrow navigation)
- Self-deafen toggle
- Volume control (input/output gain)
- Client certificate authentication
- Config hot-reload (F5)
## Key Bindings
@@ -17,7 +20,10 @@ TUI Mumble client with voice support and push-to-talk.
|-----|--------|
| `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) |
@@ -44,6 +50,12 @@ mkdir -p ~/.config/tuimble
host = "mumble.example.com"
port = 64738
username = "myname"
# certfile = "/path/to/cert.pem"
# keyfile = "/path/to/key.pem"
[audio]
# output_gain = 1.0
# input_gain = 1.0
[ptt]
key = "f4"

View File

@@ -6,7 +6,13 @@ make run launch tuimble
make test run tests
make lint check code style
F1 toggle self-deafen
F2 cycle output volume
F3 cycle input volume
F4 push-to-talk
F5 reload config
Tab cycle focus
Enter send message / join channel
Up/Down history / channel navigation
q quit
space push-to-talk (hold)
Enter send message
```

View File

@@ -38,6 +38,21 @@ groups # should include 'input'
Add user to `input` group: `sudo usermod -aG input $USER`
### Certificate errors
If the server requires client certificates:
```sh
# Verify cert/key pair
openssl x509 -in cert.pem -noout -subject -dates
openssl rsa -in key.pem -check -noout
```
- Both `certfile` and `keyfile` must be PEM-encoded
- Paths must be absolute or relative to the working directory
- Key must not be passphrase-protected (pymumble limitation)
- If the server uses a self-signed CA, pymumble verifies by default
### Connection refused
- Verify server address and port

View File

@@ -13,7 +13,10 @@ tuimble --host mumble.example.com --user myname
|-----|--------|
| `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) |
@@ -45,6 +48,41 @@ python3 -m pstats /tmp/tuimble.prof # interactive explorer
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;