| 1 | [package] |
| 2 | name = "headroom-cli" |
| 3 | description = "automatic loudness and per-app volume control (pipewire)" |
| 4 | version.workspace = true |
| 5 | edition.workspace = true |
| 6 | license.workspace = true |
| 7 | homepage.workspace = true |
| 8 | repository.workspace = true |
| 9 | authors.workspace = true |
| 10 | |
| 11 | [[bin]] |
| 12 | name = "headroom" |
| 13 | path = "src/main.rs" |
| 14 | |
| 15 | [dependencies] |
| 16 | headroom-client = { workspace = true } |
| 17 | headroom-core = { workspace = true } |
| 18 | headroom-ipc = { workspace = true } |
| 19 | |
| 20 | assert_no_alloc = { workspace = true } |
| 21 | clap = { workspace = true } |
| 22 | serde_json = { workspace = true } |
| 23 | thiserror = { workspace = true } |
| 24 | tracing = { workspace = true } |
| 25 | tracing-subscriber = { workspace = true } |
| 26 | |
| 27 | # tui-only deps, behind the default `tui` feature. `--no-default-features` |
| 28 | # drops ratatui/crossterm for a graphics-free daemon + cli build. |
| 29 | crossbeam-channel = { workspace = true, optional = true } |
| 30 | crossterm = { workspace = true, optional = true } |
| 31 | ratatui = { workspace = true, optional = true } |
| 32 | |
| 33 | [features] |
| 34 | default = ["tui"] |
| 35 | # full-screen `headroom monitor` tui. without it, `monitor --json` still |
| 36 | # works (daemon + every other subcommand unaffected). |
| 37 | tui = ["dep:crossbeam-channel", "dep:crossterm", "dep:ratatui"] |