Skip to content
66 linesCodeBlameRaw
1[package]
2name = "g1t-desktop"
3version = "0.3.7"
4edition = "2024"
5license = "MIT"
6repository = "https://g1t.sh/flagon-io/g1t"
7description = "The g1t desktop app: g1t in a window of its own, with native notifications, a badge, a tray, g1t:// links and updates that install themselves."
8
9# Not a member of the repository's Cargo workspace (its Cargo.toml excludes
10# this folder): Tauri needs a toolkit the services never do, so it builds
11# on its own, with its own lockfile, and `cargo test --workspace` stays
12# fast. Build it from apps/desktop with `npm run build`.
13[workspace]
14
15[build-dependencies]
16tauri-build = { version = "2", features = [] }
17
18[dependencies]
19# `unstable`: a window holding more than one web view, so the title bar
20# and the site sit one above the other (src/frame.rs). `devtools`: the web
21# inspector in release builds too, which the Developer tools setting turns
22# on (src/devtools.rs). On macOS it reaches it through WebKit's private
23# API, which the Mac App Store refuses; g1t ships from g1t.sh, not there.
24tauri = { version = "2", features = ["tray-icon", "image-png", "unstable", "devtools"] }
25# Updates: a signed manifest at g1t.sh/downloads/desktop/latest.json.
26tauri-plugin-updater = "2"
27# Native notifications, from the site's live feed.
28tauri-plugin-notification = "2"
29# Links out, opened in the browser the system uses.
30tauri-plugin-opener = "2"
31# g1t:// links, which open the page they name; a second launch hands its
32# link to the app already running.
33tauri-plugin-deep-link = "2"
34tauri-plugin-single-instance = { version = "2", features = ["deep-link"] }
35# The window's size and place, kept between launches.
36tauri-plugin-window-state = "2"
37# Opening g1t when someone signs in to their computer (settings.rs).
38tauri-plugin-autostart = "2"
39serde = { version = "1", features = ["derive"] }
40serde_json = "1"
41url = "2"
42# Whether the server answers, before the window goes there (the same client the updater brings).
43reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] }
44tokio = { version = "1", features = ["time"] }
45# Checking a downloaded g1t-runner against its release's SHA-256, and the
46# release's manifest against g1t's release key (src/runner/native.rs), as
47# the runner checks its own updates.
48sha2 = "0.10"
49ed25519-dalek = "3"
50base64 = "0.22"
51
52# Keeping the menu bar hidden under g1t's own title bar (src/frame.rs); the
53# same GTK that Tauri brings.
54[target.'cfg(target_os = "linux")'.dependencies]
55gtk = "0.18"
56
57# Turning WebView2's own inspector on and off while g1t runs
58# (src/devtools.rs); the same WebView2 bindings that Tauri brings.
59[target.'cfg(windows)'.dependencies]
60webview2-com = "0.39"
61
62[profile.release]
63strip = "debuginfo"
64lto = "thin"
65opt-level = "s"
66codegen-units = 1