atagen

headroom

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