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]>
87 lines
2.6 KiB
TOML
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
|