Files
kestrove-desktop/src-tauri/Cargo.toml
T
samiandClaude Opus 5.5 c4a677fc3d
ci / build (ubuntu-22.04) (push) Canceled after 0s
ci / build (windows-2025) (push) Canceled after 0s
ci / deny (push) Canceled after 0s
Title bar in bg on Windows: theme colours on the native caption
Tauri 2 overlays web content on the title bar only on macOS, so Windows and
Linux keep the native title bar and window controls. On Windows 11 the
caption, title and border now take the theme's bg and text (DWM), re-applied
on every theme change and when the OS setting changes under "System", so the
caption and the app header read as one custom title bar. Linux (GTK) keeps
its own colours.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 21:36:31 +09:00

87 lines
2.6 KiB
TOML

[package]
name = "kestrove-desktop"
version = "0.1.0"
edition = "2021"
rust-version = "1.82"
license = "Apache-2.0"
publish = false
# Shared by the app, the native-messaging host and the integration tests.
[lib]
name = "kestrove_desktop"
path = "src/lib.rs"
[[bin]]
name = "kestrove-desktop"
path = "src/main.rs"
# Native messaging host: started by the browser, relays to the running app (docs/05).
[[bin]]
name = "kestrove-nmh"
path = "src/bin/kestrove-nmh.rs"
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
# Repos are checked out side by side (see ../../README.md).
kv-ffi = { path = "../../kestrove-core/crates/kv-ffi" }
tauri = { version = "2", features = ["tray-icon"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
arboard = "3"
# Browser pairing channel (docs/05): X25519 + HKDF-SHA256 + AES-256-GCM (what WebCrypto offers on the extension side).
x25519-dalek = { version = "2", features = ["static_secrets", "zeroize"] }
hkdf = "0.12"
sha2 = "0.10"
aes-gcm = "0.10"
getrandom = "0.2"
base64 = "0.22"
uuid = { version = "1", features = ["v4"] }
url = "2"
zeroize = "1"
# Device key (docs/03 "Device keys"): P-256 software key where no hardware key is available.
p256 = { version = "0.13", features = ["ecdsa"] }
# Onboarding (docs/10): render QR codes locally, read the Emergency Kit QR from an image or a PDF.
qrcode = { version = "0.14", default-features = false, features = ["svg"] }
rqrr = { version = "0.11", default-features = false }
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }
hayro = { version = "0.8", default-features = false }
tokio = { version = "1", features = ["time", "sync", "macros"] }
[target.'cfg(unix)'.dependencies]
libc = "0.2"
# macOS (dev) keychain / Linux Secret Service for the device key. Windows uses CNG (TPM) or DPAPI instead.
[target.'cfg(not(windows))'.dependencies]
keyring = "4"
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61", features = [
"Win32_Security_Cryptography",
"Win32_Foundation",
"Win32_Graphics_Dwm",
"Win32_Security",
"Win32_Security_Authorization",
"Win32_Storage_FileSystem",
"Win32_System_IO",
"Win32_System_Pipes",
"Win32_System_Threading",
"Win32_System_StationsAndDesktops",
"Win32_System_SystemInformation",
"Win32_UI_Input_KeyboardAndMouse",
] }
[target.'cfg(target_os = "macos")'.dependencies]
core-foundation = "0.10"
[dev-dependencies]
tempfile = "3"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true