Files
tsunagi/crates/tsunagi-tray/Cargo.toml
T
Aleksandr BogomiakovandClaude 9966b50407 Rename the CLI package to tsunagi and its executable to tsng
The command line package is now `tsunagi` and builds the `tsng` executable,
which the packages, the unit, the installers and the workflows install and
run. The core library package becomes `tsunagi-core`, keeping the library name
`tsunagi`, so no code changes `use tsunagi::...`. Directories follow
(crates/tsunagi-core, crates/tsunagi). Every command shown to a person is now
`tsng ...`.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-03 02:14:43 +01:00

42 lines
1.5 KiB
TOML

[package]
name = "tsunagi-tray"
version = "0.1.0"
description = "Tray application to manage a running tsunagi agent."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
[[bin]]
name = "tsunagi-tray"
path = "src/main.rs"
[dependencies]
# The agent control client and the report types: the GUI is a thin client over
# the same local control interface the CLI uses, so it reuses these directly
# and never re-implements the protocol.
tsunagi-core = { path = "../tsunagi-core", version = "0.1.0" }
# Native, lightweight GUI — no web engine. eframe re-exports egui.
eframe = { version = "0.31", default-features = false, features = ["default_fonts", "glow", "wayland", "x11"] }
# Cross-platform tray icon + menu (Windows tray, macOS menu bar, Linux SNI).
tray-icon = "0.21"
# Background worker that talks to the agent off the UI thread.
tokio = { version = "1.53", features = ["rt", "rt-multi-thread", "sync", "time", "macros"] }
tracing.workspace = true
tracing-subscriber.workspace = true
egui-phosphor = "0.9"
# Linux only: tray-icon (already GTK-based there) needs the app to initialise
# GTK and run its main loop.
[target.'cfg(target_os = "linux")'.dependencies]
gtk = "0.18"
# Windows and macOS: the tray process has no GUI toolkit, only an event loop to
# serve the icon (and, on macOS, the Accessory activation policy that keeps it
# out of the Dock). Pinned to eframe's winit so the types unify.
[target.'cfg(any(windows, target_os = "macos"))'.dependencies]
winit = "0.30"
[lints]
workspace = true