c19702ae09be | atagen | 2026-05-27 15:49 UTC | 1 | [package] |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 2 | name = "headroom-gui" |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 3 | version.workspace = true |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 4 | # optional, additive crate: pulls iced's gpu/system-lib stack (wgpu, |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 5 | # cosmic-text, winit), *not* part of the graphics-free daemon/cli build. |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 6 | # build from the nix dev shell or the `headroom-gui` nix package; both |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 7 | # supply iced's system libs. |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 8 | edition = "2021" |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 9 | license.workspace = true |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 10 | homepage.workspace = true |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 11 | repository.workspace = true |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 12 | authors.workspace = true |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 13 | |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 14 | [[bin]] |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 15 | name = "headroom-gui" |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 16 | path = "src/main.rs" |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 17 | |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 18 | [dependencies] |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 19 | # internal — same control-plane client/types the ratatui tui uses. |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 20 | headroom-client = { workspace = true } |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 21 | headroom-ipc = { workspace = true } |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 22 | |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 23 | # iced ui, trimmed feature set on purpose: |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 24 | # - default-features off drops `linux-theme-detection` (pulls zbus + |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 25 | # async-process + async-io just to probe the desktop theme — we |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 26 | # hardcode dark), plus `web-colors` / `crisp` cosmetics. |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 27 | # - `wgpu` + `tiny-skia` (software fallback) renderers, `wayland` only. |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 28 | # - `smol` backs the `time::every` timer (no `tokio`); `thread-pool` is |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 29 | # the subscription executor. |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 30 | # net: ~199 crates vs gpui-component's ~525 (no av1 encoder, no http stack). |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 31 | # |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 32 | # x11 off: add iced's `"x11"` feature here (and the x11 client libs back |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 33 | # to `guiLibs` in flake.nix) to build the x11 backend. |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 34 | iced = { version = "0.14", default-features = false, features = [ |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 35 | "wgpu", |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 36 | "tiny-skia", |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 37 | "wayland", |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 38 | "thread-pool", |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 39 | "smol", |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 40 | ] } |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 41 | |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 42 | # bridge: reader thread → ui channel. |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 43 | crossbeam-channel = { workspace = true } |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 44 | |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 45 | # json event decoding (mirrors the tui's `apply_event`). |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 46 | serde_json = { workspace = true } |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 47 | |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 48 | # errors / logging. |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 49 | anyhow = "1.0" |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 50 | tracing = { workspace = true } |
c19702ae09be | atagen | 2026-05-27 15:49 UTC | 51 | tracing-subscriber = { workspace = true } |