[refactor](trx-client): remove Qt/QML frontend support

Remove the Linux-only Qt/QML frontend (trx-frontend-qt) crate and all
references to it from the workspace, trx-client binary, configuration,
and documentation. This prepares for replacement with a native macOS
AppKit frontend.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Stanislaw Grams <stanislawgrams@gmail.com>
This commit is contained in:
2026-02-07 09:10:46 +01:00
parent 004eea0000
commit 2c128127e6
13 changed files with 19 additions and 729 deletions
+1 -13
View File
@@ -20,7 +20,6 @@
| TCP CAT transport | Partial (config wiring only) |
| JSON TCP control (line-delimited) | Implemented (configurable frontend) |
| Plugin registry loading | Implemented (shared libraries) |
| Qt/QML GUI frontend | In progress (Linux only, optional) |
| Configuration file (TOML) | Implemented |
| Rig state machine | Implemented |
| Command handlers | Implemented |
@@ -81,10 +80,9 @@
| `trx-frontend` | Frontend trait (`FrontendSpawner`) |
| `trx-frontend-http` | Web UI with REST API and SSE |
| `trx-frontend-http-json` | JSON-over-TCP control frontend |
| `trx-frontend-qt` | Qt/QML GUI frontend (Linux only, optional) |
| `trx-frontend-rigctl` | Hamlib rigctl-compatible TCP interface |
| `trx-server` | Server binary — connects to rig backend, exposes JSON TCP control |
| `trx-client` | Client binary — connects to server, runs frontends (HTTP, rigctl, Qt) |
| `trx-client` | Client binary — connects to server, runs frontends (HTTP, rigctl) |
---
@@ -103,10 +101,6 @@ Plugin discovery:
- Uses shared libraries with a `trx_register` entrypoint.
- Searches `./plugins`, `~/.config/trx-rs/plugins`, and any paths in `TRX_PLUGIN_DIRS`.
Qt remote client:
- Uses JSON TCP (`frontends.http_json`) with optional bearer tokens.
- Configure the client with `frontends.qt.remote.enabled/url/auth.token`.
### Example Configuration
```toml
@@ -139,12 +133,6 @@ listen = "127.0.0.1"
port = 9000
auth.tokens = ["demo-token"]
[frontends.qt]
enabled = false
remote.enabled = true
remote.url = "127.0.0.1:9000"
remote.auth.token = "demo-token"
[behavior]
poll_interval_ms = 500
poll_interval_tx_ms = 100