mirror of
https://github.com/tiennm99/claude-code-usage-bubble.git
synced 2026-10-22 14:16:31 +00:00
Building a webview window inside a menu or window event handler deadlocks on Windows, so provider toggles and the Destroyed recreate now build the bubble on a short-lived thread, serialised so only one of them creates it. refresh_shell now takes its state snapshot inside the main-thread closure, so a refresh queued by the poll worker cannot re-apply a tree older than one a menu click already applied. On Windows the start-at-login entry is written through auto-launch in current-user mode with the quoted exe path, so an elevated run can no longer write an all-users entry with an unquoted path that a normal run cannot remove. Linux and macOS keep the autostart plugin.
77 lines
2.0 KiB
TOML
77 lines
2.0 KiB
TOML
[package]
|
|
name = "claude-code-usage-bubble"
|
|
version = "0.5.0"
|
|
edition = "2021"
|
|
license = "Apache-2.0"
|
|
description = "Floating bubble showing Claude Code and Codex usage"
|
|
homepage = "https://github.com/tiennm99/claude-code-usage-bubble"
|
|
repository = "https://github.com/tiennm99/claude-code-usage-bubble"
|
|
|
|
[lib]
|
|
name = "claude_code_usage_bubble_lib"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "claude-code-usage-bubble"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = ["tray-icon", "macos-private-api"] }
|
|
tauri-plugin-single-instance = "2"
|
|
# rustls with the OS verifier keeps corporate roots trusted; gzip is a default.
|
|
ureq = { version = "3", features = ["platform-verifier"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
dirs = "6"
|
|
log = "0.4"
|
|
simplelog = "0.12"
|
|
thiserror = "2"
|
|
tiny-skia = "0.11"
|
|
sha2 = "0.10"
|
|
self-replace = "1.5"
|
|
tauri-plugin-notification = "2"
|
|
|
|
[target.'cfg(not(windows))'.dependencies]
|
|
tauri-plugin-autostart = "2"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
x11rb = "0.14"
|
|
libloading = "0.9"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
# Keep the major in step with the `windows` crate tauri pulls
|
|
# (`cargo tree -i windows`), so only one copy is compiled.
|
|
windows = { version = "0.62", features = [
|
|
"Win32_Foundation",
|
|
"Win32_System_Registry",
|
|
"Win32_System_Threading",
|
|
"Win32_UI_WindowsAndMessaging",
|
|
"Win32_UI_Shell",
|
|
"Win32_Graphics_Dwm",
|
|
"Win32_Graphics_Gdi",
|
|
] }
|
|
# Same major as tauri's; used for the WebView2 runtime check.
|
|
webview2-com = "0.39"
|
|
# Same major as the copy auto-launch pulls; reads the system proxy.
|
|
windows-registry = "0.6"
|
|
# The start-at-login entry, pinned to the current user (the autostart
|
|
# plugin's builder cannot set that mode).
|
|
auto-launch = "0.6"
|
|
|
|
[dev-dependencies]
|
|
flate2 = "1"
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
serde_json = "1"
|
|
|
|
[profile.release]
|
|
opt-level = "z"
|
|
lto = true
|
|
strip = true
|
|
codegen-units = 1
|
|
panic = "abort"
|