docs: add volume, certificate, and reload docs
This commit is contained in:
12
README.md
12
README.md
@@ -10,6 +10,9 @@ TUI Mumble client with voice support and push-to-talk.
|
|||||||
- Channel browsing and text chat
|
- Channel browsing and text chat
|
||||||
- Chat input history (Up/Down arrow navigation)
|
- Chat input history (Up/Down arrow navigation)
|
||||||
- Self-deafen toggle
|
- Self-deafen toggle
|
||||||
|
- Volume control (input/output gain)
|
||||||
|
- Client certificate authentication
|
||||||
|
- Config hot-reload (F5)
|
||||||
|
|
||||||
## Key Bindings
|
## Key Bindings
|
||||||
|
|
||||||
@@ -17,7 +20,10 @@ TUI Mumble client with voice support and push-to-talk.
|
|||||||
|-----|--------|
|
|-----|--------|
|
||||||
| `Tab` | Cycle focus (chat input / channel tree) |
|
| `Tab` | Cycle focus (chat input / channel tree) |
|
||||||
| `F1` | Toggle self-deafen |
|
| `F1` | Toggle self-deafen |
|
||||||
|
| `F2` | Cycle output volume |
|
||||||
|
| `F3` | Cycle input volume |
|
||||||
| `F4` | Push-to-talk (configurable) |
|
| `F4` | Push-to-talk (configurable) |
|
||||||
|
| `F5` | Reload config from disk |
|
||||||
| `Enter` | Send message / join channel (sidebar) |
|
| `Enter` | Send message / join channel (sidebar) |
|
||||||
| `Up` | Previous message (input) / previous channel (sidebar) |
|
| `Up` | Previous message (input) / previous channel (sidebar) |
|
||||||
| `Down` | Next message (input) / next channel (sidebar) |
|
| `Down` | Next message (input) / next channel (sidebar) |
|
||||||
@@ -44,6 +50,12 @@ mkdir -p ~/.config/tuimble
|
|||||||
host = "mumble.example.com"
|
host = "mumble.example.com"
|
||||||
port = 64738
|
port = 64738
|
||||||
username = "myname"
|
username = "myname"
|
||||||
|
# certfile = "/path/to/cert.pem"
|
||||||
|
# keyfile = "/path/to/key.pem"
|
||||||
|
|
||||||
|
[audio]
|
||||||
|
# output_gain = 1.0
|
||||||
|
# input_gain = 1.0
|
||||||
|
|
||||||
[ptt]
|
[ptt]
|
||||||
key = "f4"
|
key = "f4"
|
||||||
|
|||||||
@@ -6,7 +6,13 @@ make run launch tuimble
|
|||||||
make test run tests
|
make test run tests
|
||||||
make lint check code style
|
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
|
q quit
|
||||||
space push-to-talk (hold)
|
|
||||||
Enter send message
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -38,6 +38,21 @@ groups # should include 'input'
|
|||||||
|
|
||||||
Add user to `input` group: `sudo usermod -aG input $USER`
|
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
|
### Connection refused
|
||||||
|
|
||||||
- Verify server address and port
|
- Verify server address and port
|
||||||
|
|||||||
@@ -13,7 +13,10 @@ tuimble --host mumble.example.com --user myname
|
|||||||
|-----|--------|
|
|-----|--------|
|
||||||
| `Tab` | Cycle focus (chat input / channel tree) |
|
| `Tab` | Cycle focus (chat input / channel tree) |
|
||||||
| `F1` | Toggle self-deafen |
|
| `F1` | Toggle self-deafen |
|
||||||
|
| `F2` | Cycle output volume |
|
||||||
|
| `F3` | Cycle input volume |
|
||||||
| `F4` | Push-to-talk (configurable) |
|
| `F4` | Push-to-talk (configurable) |
|
||||||
|
| `F5` | Reload config from disk |
|
||||||
| `Enter` | Send message / join channel (sidebar) |
|
| `Enter` | Send message / join channel (sidebar) |
|
||||||
| `Up` | Previous message (input) / previous channel (sidebar) |
|
| `Up` | Previous message (input) / previous channel (sidebar) |
|
||||||
| `Down` | Next message (input) / next 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
|
Note: cProfile captures the main thread only. Background workers
|
||||||
started with `@work(thread=True)` are not included.
|
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
|
## Configuration
|
||||||
|
|
||||||
See `~/.config/tuimble/config.toml`. All fields are optional;
|
See `~/.config/tuimble/config.toml`. All fields are optional;
|
||||||
|
|||||||
Reference in New Issue
Block a user