diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml
index 7814150..65b0c30 100644
--- a/.forgejo/workflows/release.yml
+++ b/.forgejo/workflows/release.yml
@@ -17,16 +17,7 @@ jobs:
"https://git.breadway.dev/${GITHUB_REPOSITORY}.git" src
- name: build
- run: |
- set -euo pipefail
- if [ ! -f src/ci/build.sh ]; then
- echo "::error::ci/build.sh is missing — bakery release builds must go through the shared CI wrapper"
- exit 1
- fi
- cd src && bash ci/build.sh cargo build --release --locked || {
- echo "::error::cargo build --release --locked failed. If Cargo.lock drifted, update and commit it; do not drop --locked."
- exit 1
- }
+ run: cd src && bash ci/build.sh cargo build --release --locked
- name: prepare artifacts
run: |
@@ -43,14 +34,8 @@ jobs:
ln -sfn "${VERSION}" "/srv/breadway-dl/breadbar/latest"
- name: regenerate index.json
- env:
- MINISIGN_SEC_KEY: ${{ secrets.BAKERY_MINISIGN_SEC_KEY_PATH }}
run: |
set -euo pipefail
- if [ -z "${MINISIGN_SEC_KEY:-}" ]; then
- echo "::error::BAKERY_MINISIGN_SEC_KEY_PATH secret not set — refusing to regenerate index.json unsigned (would leave a stale signature mismatched against fresh content and break bakery for everyone)"
- exit 1
- fi
rm -rf /tmp/bread-ecosystem-ci
git clone https://git.breadway.dev/Breadway/bread-ecosystem.git /tmp/bread-ecosystem-ci
bash /tmp/bread-ecosystem-ci/scripts/gen-index.sh
diff --git a/.gitignore b/.gitignore
index af5d71a..816e2ad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,9 +35,3 @@ logs/
# Internal design documents (not for distribution)
aster-brief.md
-
-# graphify knowledge-graph output (local tool cache, not for commit)
-graphify-out/
-
-# Local-only source overrides (see .cargo/config.toml).
-.cargo/
diff --git a/Cargo.lock b/Cargo.lock
index 23b75b3..1a1122a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -123,13 +123,13 @@ dependencies = [
[[package]]
name = "async-trait"
-version = "0.1.92"
+version = "0.1.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
+checksum = "ae36dc4177970ef04fde5178d3e2429882def40e57a451f919c098f72baa6cec"
dependencies = [
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 3.0.3",
]
[[package]]
@@ -150,30 +150,31 @@ version = "2.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da"
-[[package]]
-name = "bread-launcher"
-version = "0.7.5"
-source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.5#46b886b7bc168e73945269e143b18ef8a0d987f8"
-dependencies = [
- "bread-utils",
- "gtk4",
- "serde_json",
-]
-
[[package]]
name = "bread-screenshots"
-version = "0.7.5"
-source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.5#46b886b7bc168e73945269e143b18ef8a0d987f8"
+version = "0.7.2"
+source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.2#30517f161724132cdeb658c04cf5e490be07ee73"
dependencies = [
"anyhow",
"bread-utils",
"tracing",
]
+[[package]]
+name = "bread-shared"
+version = "0.7.0"
+source = "git+https://git.breadway.dev/Breadway/bread?tag=v0.7.0#22e34e2cf2202305d7960759dfccb54dc79f948b"
+dependencies = [
+ "dirs 5.0.1",
+ "serde",
+ "serde_json",
+ "toml 0.8.23",
+]
+
[[package]]
name = "bread-shared"
version = "0.8.0"
-source = "git+https://git.breadway.dev/Breadway/bread?tag=v0.8.0#cdd5de8f58e437b3fc6d9b9087eb7b3d0fd09704"
+source = "git+https://git.breadway.dev/Breadway/bread?tag=v0.8.0-rc.1#2485e1af1f941c724461c0d59416c829ded638fe"
dependencies = [
"dirs 6.0.0",
"serde",
@@ -184,24 +185,21 @@ dependencies = [
[[package]]
name = "bread-theme"
-version = "0.7.5"
-source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.5#46b886b7bc168e73945269e143b18ef8a0d987f8"
+version = "0.7.2"
+source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.2#30517f161724132cdeb658c04cf5e490be07ee73"
dependencies = [
- "anyhow",
"dirs 5.0.1",
"gtk4",
"serde",
"serde_json",
- "toml 0.8.23",
- "tracing",
]
[[package]]
name = "bread-utils"
-version = "0.7.5"
-source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.5#46b886b7bc168e73945269e143b18ef8a0d987f8"
+version = "0.7.2"
+source = "git+https://git.breadway.dev/Breadway/bread-ecosystem?tag=v0.7.2#30517f161724132cdeb658c04cf5e490be07ee73"
dependencies = [
- "bread-shared",
+ "bread-shared 0.7.0",
"dirs 5.0.1",
"serde",
"serde_json",
@@ -209,12 +207,11 @@ dependencies = [
[[package]]
name = "breadbar"
-version = "0.3.3"
+version = "0.3.1"
dependencies = [
"anyhow",
- "bread-launcher",
"bread-screenshots",
- "bread-shared",
+ "bread-shared 0.8.0",
"bread-theme",
"bread-utils",
"clap",
@@ -250,9 +247,9 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
[[package]]
name = "cairo-rs"
-version = "0.22.9"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df683f1d30b457964673a5541a4603208ef95ab6873d2a55871895cf310f3b56"
+checksum = "5cc8d9aa793480744cd9a0524fef1a2e197d9eaa0f739cde19d16aba530dcb95"
dependencies = [
"bitflags",
"cairo-sys-rs",
@@ -262,20 +259,20 @@ dependencies = [
[[package]]
name = "cairo-sys-rs"
-version = "0.22.9"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee548131103ad8f698c6725669647b9c757b3b66992dd6a026037596417bee21"
+checksum = "f8b4985713047f5faee02b8db6a6ef32bbb50269ff53c1aee716d1d195b76d54"
dependencies = [
"glib-sys",
"libc",
- "system-deps 9.0.0",
+ "system-deps",
]
[[package]]
name = "cfg-expr"
-version = "0.20.9"
+version = "0.20.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe4ece8474b5f766c63426647e7b4b316b67431ade1036a8313cee24a03ae917"
+checksum = "fb693542bcafa528e198be0ebd9d3632ca5b7c93dbe7237460e199910835997c"
dependencies = [
"smallvec",
"target-lexicon",
@@ -289,9 +286,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
[[package]]
name = "clap"
-version = "4.6.6"
+version = "4.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "473c7e07f409a8d772161724aa8db6a765a2532a70f9667eeb7b49d3d02fbdca"
+checksum = "d91e0c145792ef73a6ad36d27c75ac09f1832222a3c209689d90f534685ee5b7"
dependencies = [
"clap_builder",
"clap_derive",
@@ -299,9 +296,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.6.6"
+version = "4.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b48fea5a88e9ae728a2dcbedbfc0e730f7d60da42e1cb049a83c9fb8b789889"
+checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b"
dependencies = [
"anstream",
"anstyle",
@@ -318,7 +315,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 3.0.3",
]
[[package]]
@@ -344,9 +341,9 @@ dependencies = [
[[package]]
name = "crc32fast"
-version = "1.5.1"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550"
+checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
dependencies = [
"cfg-if",
]
@@ -424,9 +421,9 @@ dependencies = [
[[package]]
name = "either"
-version = "1.18.0"
+version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34"
+checksum = "9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d"
[[package]]
name = "endi"
@@ -530,13 +527,12 @@ dependencies = [
[[package]]
name = "flate2"
-version = "1.1.10"
+version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb"
+checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
dependencies = [
"crc32fast",
- "miniz_oxide 0.9.1",
- "zlib-rs",
+ "miniz_oxide",
]
[[package]]
@@ -568,9 +564,9 @@ dependencies = [
[[package]]
name = "futures"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3"
+checksum = "a88cf1f829d945f548cf8fec32c61b1f202b6d93b45848602fc02af4b12ad218"
dependencies = [
"futures-channel",
"futures-core",
@@ -583,9 +579,9 @@ dependencies = [
[[package]]
name = "futures-channel"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4"
+checksum = "262590f4fe6afeb0bc83be1daa64e52657fe185690a958af7f3ad0e92085c5ae"
dependencies = [
"futures-core",
"futures-sink",
@@ -593,15 +589,15 @@ dependencies = [
[[package]]
name = "futures-core"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e"
+checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7"
[[package]]
name = "futures-executor"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432"
+checksum = "6754879cc9f2c66f88c6e5c35344bb0bdb0708b0352b1201815667c7eabc7458"
dependencies = [
"futures-core",
"futures-task",
@@ -610,9 +606,9 @@ dependencies = [
[[package]]
name = "futures-io"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed"
+checksum = "4577ecaa3c4f96589d473f679a71b596316f6641bc350038b962a5daf0085d7a"
[[package]]
name = "futures-lite"
@@ -629,32 +625,32 @@ dependencies = [
[[package]]
name = "futures-macro"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44"
+checksum = "2d6d3cde68c518367be28956066ddfef33813991b77a55005a69dae04bf3b10b"
dependencies = [
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 2.0.119",
]
[[package]]
name = "futures-sink"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d"
+checksum = "e34418ac499d6305c2fb5ad0ed2f6ac998c5f8ca209b4510f7f94242c647e307"
[[package]]
name = "futures-task"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd"
+checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109"
[[package]]
name = "futures-util"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc"
+checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa"
dependencies = [
"futures-channel",
"futures-core",
@@ -681,15 +677,15 @@ dependencies = [
[[package]]
name = "gdk-pixbuf-sys"
-version = "0.22.9"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d5209294ba3775f9b650bf78bfadeba4332089f2329b3e2f6ce0a4957a45bff"
+checksum = "48f31b37b1fc4b48b54f6b91b7ef04c18e00b4585d98359dd7b998774bbd91fb"
dependencies = [
"gio-sys",
"glib-sys",
"gobject-sys",
"libc",
- "system-deps 9.0.0",
+ "system-deps",
]
[[package]]
@@ -722,7 +718,7 @@ dependencies = [
"libc",
"pango-sys",
"pkg-config",
- "system-deps 7.0.8",
+ "system-deps",
]
[[package]]
@@ -751,9 +747,9 @@ dependencies = [
[[package]]
name = "gio"
-version = "0.22.9"
+version = "0.22.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b399f4650bb52c051f3fdf49a234e8a27ab5725c8cd774556c55eee64b2c0350"
+checksum = "8b3e1f669909c326b9413bde5a742097b8c90a7d78f45326db13668984769ded"
dependencies = [
"futures-channel",
"futures-core",
@@ -768,14 +764,14 @@ dependencies = [
[[package]]
name = "gio-sys"
-version = "0.22.9"
+version = "0.22.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c28739f914c15b87a9856000bed9cbd5b3a8afbca5e982d9a299e1601422cb5"
+checksum = "353fdc7da7cd16da916104b1e0e4e7de380ec9c8aaa20d4d742d66310ab4b0d5"
dependencies = [
"glib-sys",
"gobject-sys",
"libc",
- "system-deps 9.0.0",
+ "system-deps",
"windows-sys 0.61.2",
]
@@ -801,9 +797,9 @@ dependencies = [
[[package]]
name = "glib"
-version = "0.22.9"
+version = "0.22.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18b9b8d350db41f690ec1b87109f202782748bbd8ab2f2ede17cb40d29e2838c"
+checksum = "ddbcf514bd1881fc1b960e4e52b4e82873f4da3bceddbd58d42827b508888100"
dependencies = [
"bitflags",
"futures-channel",
@@ -822,35 +818,35 @@ dependencies = [
[[package]]
name = "glib-macros"
-version = "0.22.9"
+version = "0.22.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9597c68fa7bdf4154a3079642cd21c4dccac0b0bdd2897d82861523bf91e7b9"
+checksum = "506d23499707c7142898429757e8d9a3871d965239a2cb66dfa05052be6d6f19"
dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 2.0.119",
]
[[package]]
name = "glib-sys"
-version = "0.22.9"
+version = "0.22.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99b38907e67e40dec9b60f858bcada952598719cb512a13eb13d6cdcd16f8295"
+checksum = "030967459f9f676851872c6304adea7825c6d462ec9b72554c733cf0c5952233"
dependencies = [
"libc",
- "system-deps 9.0.0",
+ "system-deps",
]
[[package]]
name = "gobject-sys"
-version = "0.22.9"
+version = "0.22.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07595c9ba696bd9819cb6a8df39f08078f3dd679508fe052dd558492c2053834"
+checksum = "22a861859b887a79cf461359c192c97a57d8fb0229dd291232e57aa11f6fa72c"
dependencies = [
"glib-sys",
"libc",
- "system-deps 9.0.0",
+ "system-deps",
]
[[package]]
@@ -865,13 +861,13 @@ dependencies = [
[[package]]
name = "graphene-sys"
-version = "0.22.9"
+version = "0.22.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97842c7543828f98aa5583aa54fcda28aa84fa2b0f8c556142177f7bbb638057"
+checksum = "5c7ffdfde88f3570d3705e0d8a2433e036d387a1f2930bbf47eafcb5f569fd04"
dependencies = [
"glib-sys",
"libc",
- "system-deps 9.0.0",
+ "system-deps",
]
[[package]]
@@ -902,7 +898,7 @@ dependencies = [
"graphene-sys",
"libc",
"pango-sys",
- "system-deps 7.0.8",
+ "system-deps",
]
[[package]]
@@ -928,9 +924,9 @@ dependencies = [
[[package]]
name = "gtk4-layer-shell"
-version = "0.8.1"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17c28ea0f4676fdaaae7ff2413a24d0d35c8657424f84856c1103c73454c9da4"
+checksum = "a4069987ff4793699511a251028cc336b438e46565b463f111250148d574752a"
dependencies = [
"bitflags",
"gdk4",
@@ -943,15 +939,15 @@ dependencies = [
[[package]]
name = "gtk4-layer-shell-sys"
-version = "0.6.1"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcf19bb884ef0ef55b9e6b2b369c39b4fcc0c41e3a0c1cbc8c267720338b690b"
+checksum = "8f566a5ec5bcc454e7fcf2ab76930887ced5365afce12c1e5201bb296b95f1b9"
dependencies = [
"gdk4-sys",
"glib-sys",
"gtk4-sys",
"libc",
- "system-deps 8.0.0",
+ "system-deps",
]
[[package]]
@@ -982,7 +978,7 @@ dependencies = [
"gsk4-sys",
"libc",
"pango-sys",
- "system-deps 7.0.8",
+ "system-deps",
]
[[package]]
@@ -1040,9 +1036,9 @@ checksum = "09e54e57b4c48b40f7aec75635392b12b3421fa26fe8b4332e63138ed278459c"
[[package]]
name = "indexmap"
-version = "2.14.1"
+version = "2.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07aa2048142242915a31d35844fb311e0e53fcca590c3a0a40dcf1b841fa09eb"
+checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
dependencies = [
"equivalent",
"hashbrown",
@@ -1062,9 +1058,9 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
[[package]]
name = "js-sys"
-version = "0.3.104"
+version = "0.3.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a"
+checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102"
dependencies = [
"cfg-if",
"futures-util",
@@ -1097,9 +1093,9 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
[[package]]
name = "libredox"
-version = "0.1.21"
+version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7955dfc218a8afb29dfeffd540e3a6e96baeb94fe7138228dd7cc6937fbbf96"
+checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652"
dependencies = [
"libc",
]
@@ -1121,9 +1117,9 @@ dependencies = [
[[package]]
name = "log"
-version = "0.4.34"
+version = "0.4.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
+checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
[[package]]
name = "memchr"
@@ -1150,16 +1146,6 @@ dependencies = [
"simd-adler32",
]
-[[package]]
-name = "miniz_oxide"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c"
-dependencies = [
- "adler2",
- "simd-adler32",
-]
-
[[package]]
name = "mio"
version = "1.2.2"
@@ -1210,9 +1196,9 @@ dependencies = [
[[package]]
name = "pango"
-version = "0.22.9"
+version = "0.22.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2022dbbd82e1c42bd950a6f1df9b98c796e725dce5ec275e03cbf9772e4efa"
+checksum = "5d800d8d0de2ad5d0fb046f5344dbaba14a003cf3dd27cc21d85893d35ea316c"
dependencies = [
"gio",
"glib",
@@ -1221,14 +1207,14 @@ dependencies = [
[[package]]
name = "pango-sys"
-version = "0.22.9"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca02d64761b74d56cdd4b437db6d73dc95e6c0d40f27e1c707952c0f09052948"
+checksum = "bbd111a20ca90fedf03e09c59783c679c00900f1d8491cca5399f5e33609d5d6"
dependencies = [
"glib-sys",
"gobject-sys",
"libc",
- "system-deps 9.0.0",
+ "system-deps",
]
[[package]]
@@ -1257,9 +1243,9 @@ checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
[[package]]
name = "pkg-config"
-version = "0.3.34"
+version = "0.3.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548"
+checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e"
[[package]]
name = "png"
@@ -1271,7 +1257,7 @@ dependencies = [
"crc32fast",
"fdeflate",
"flate2",
- "miniz_oxide 0.8.9",
+ "miniz_oxide",
]
[[package]]
@@ -1335,7 +1321,7 @@ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
dependencies = [
"getrandom 0.2.17",
"libredox",
- "thiserror 2.0.20",
+ "thiserror 2.0.19",
]
[[package]]
@@ -1471,7 +1457,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
dependencies = [
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 3.0.3",
]
[[package]]
@@ -1495,7 +1481,7 @@ checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906"
dependencies = [
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 3.0.3",
]
[[package]]
@@ -1616,9 +1602,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "3.0.4"
+version = "3.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f"
+checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3"
dependencies = [
"proc-macro2",
"quote",
@@ -1638,32 +1624,6 @@ dependencies = [
"version-compare",
]
-[[package]]
-name = "system-deps"
-version = "8.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83779a5c956bcb6ba627a4ecf0a9d7625db47d7537e0892d97f712ac995648a3"
-dependencies = [
- "cfg-expr",
- "heck",
- "pkg-config",
- "toml 1.1.4+spec-1.1.0",
- "version-compare",
-]
-
-[[package]]
-name = "system-deps"
-version = "9.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a0dae2cbca1f0ff93795713cfe0a4c02f760e3c0b8ae2ab4ec4045808ff429f"
-dependencies = [
- "cfg-expr",
- "heck",
- "pkg-config",
- "toml 1.1.4+spec-1.1.0",
- "version-compare",
-]
-
[[package]]
name = "target-lexicon"
version = "0.13.5"
@@ -1694,11 +1654,11 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "2.0.20"
+version = "2.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f"
+checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
dependencies = [
- "thiserror-impl 2.0.20",
+ "thiserror-impl 2.0.19",
]
[[package]]
@@ -1714,13 +1674,13 @@ dependencies = [
[[package]]
name = "thiserror-impl"
-version = "2.0.20"
+version = "2.0.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af"
+checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd"
dependencies = [
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 3.0.3",
]
[[package]]
@@ -1768,13 +1728,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.7.2"
+version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
+checksum = "6328af13490e73a9b4694030fafd93f8c8c6a9dede33e821c3fc63eddf8042ba"
dependencies = [
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 2.0.119",
]
[[package]]
@@ -1959,9 +1919,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
-version = "1.26.0"
+version = "1.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5772d71c9be8a8a6ac2117d949c5b224c1b72241bb611d9a3012edcf8af7812"
+checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239"
dependencies = [
"getrandom 0.4.3",
"js-sys",
@@ -1983,9 +1943,9 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "wasm-bindgen"
-version = "0.2.127"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70"
+checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4"
dependencies = [
"cfg-if",
"once_cell",
@@ -1996,9 +1956,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.127"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1"
+checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -2006,9 +1966,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.127"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284"
+checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e"
dependencies = [
"bumpalo",
"proc-macro2",
@@ -2019,9 +1979,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.127"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf"
+checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24"
dependencies = [
"unicode-ident",
]
@@ -2127,9 +2087,9 @@ dependencies = [
[[package]]
name = "xml-rs"
-version = "0.8.29"
+version = "0.8.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
+checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f"
[[package]]
name = "xmlwriter"
@@ -2139,9 +2099,9 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9"
[[package]]
name = "zbus"
-version = "5.19.0"
+version = "5.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db4be7c075cb421e4b7ee645541604239bd243ba7c357511f4ff3a74b555907"
+checksum = "fe18fb60dc696039e738717b76eaea21e7a4489bbb1885020b43c94236d7e98a"
dependencies = [
"async-broadcast",
"async-recursion",
@@ -2169,14 +2129,14 @@ dependencies = [
[[package]]
name = "zbus_macros"
-version = "5.19.0"
+version = "5.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2990635d09ade6df1868f72f8cac69a876a90981e8bd3c40b1be413f8dc88f40"
+checksum = "fe96480bed92df2b442a1a30df364e12d08eed03aeb061f2b8dc6afb2be91119"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 2.0.119",
"zbus_names",
"zvariant",
"zvariant_utils",
@@ -2193,21 +2153,6 @@ dependencies = [
"zvariant",
]
-[[package]]
-name = "zcheapstr"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1afec51604565183aeb5c54c20aeab286120d4e4460f7f76e3e8bb8c0d99473"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "zlib-rs"
-version = "0.6.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12"
-
[[package]]
name = "zmij"
version = "1.0.23"
@@ -2216,41 +2161,40 @@ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
[[package]]
name = "zvariant"
-version = "5.15.0"
+version = "5.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1d34c27cc6cdd1f458427519dd6b8612f7b7e3f7b9a0b2355d041dda9869147"
+checksum = "bee2a0bcd2a907786a456fff45aaaaf54c9ba5f50b71ae9ec1a4edd200c94911"
dependencies = [
"endi",
"enumflags2",
"serde",
"winnow 1.0.4",
- "zcheapstr",
"zvariant_derive",
"zvariant_utils",
]
[[package]]
name = "zvariant_derive"
-version = "5.15.0"
+version = "5.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "864155e69b4352db0c7f374917bf45d1e0c8d17659c8b3dbf9795f3673f8c497"
+checksum = "38a708216a18780796770bfe3f4739c7c83a3e8f789b755534bbbc06e4e23e12"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 3.0.4",
+ "syn 2.0.119",
"zvariant_utils",
]
[[package]]
name = "zvariant_utils"
-version = "4.2.0"
+version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bad0294361a320b694a328460dc73add56c306150f5cb6bfafc44446120008a3"
+checksum = "90cb9383f9b45290407a1258b202d3f8f01db719eb60b4e4055c6375af4fc7c7"
dependencies = [
"proc-macro2",
"quote",
"serde",
- "syn 3.0.4",
+ "syn 2.0.119",
"winnow 1.0.4",
]
diff --git a/Cargo.toml b/Cargo.toml
index 21f8fa6..1648851 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "breadbar"
-version = "0.3.3"
+version = "0.3.1"
edition = "2021"
description = "Minimal status bar and notification daemon for Hyprland on Wayland"
license = "MIT"
@@ -10,22 +10,17 @@ keywords = ["wayland", "hyprland", "bar", "status-bar", "gtk4"]
categories = ["gui"]
[dependencies]
-bread-theme = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.5", features = ["gtk"] }
+bread-theme = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.2", features = ["gtk"] }
# Widget rendering client: bread-utils::BreadClient (emit/request/subscribe)
# for talking to breadd's IPC socket, and bread-shared purely for the
# WidgetSpec/WidgetNode wire types so we deserialize into real structs
# instead of hand-parsing serde_json::Value. See src/widgets/.
-bread-utils = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.5", features = ["bread-client"] }
-# bread_shared::widget wire types; match the bread-shared tag bread-utils
-# pins (v0.8.0) so only one copy of bread-shared is linked.
-bread-shared = { git = "https://git.breadway.dev/Breadway/bread", tag = "v0.8.0" }
+bread-utils = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.2", features = ["bread-client"] }
+# v0.8.0-rc.1 carries bread_shared::widget; keep this bread tag even if
+# ecosystem crates move independently.
+bread-shared = { git = "https://git.breadway.dev/Breadway/bread", tag = "v0.8.0-rc.1" }
# Capture primitives for `--screenshot` mode — see src/screenshot.rs.
-bread-screenshots = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.5" }
-# Headless app-launcher core + GTK4 results-list widget (plan §3/§7): theme
-# 04/spotlight embeds the SAME `ResultsList` breadbox's overlay wraps, via
-# `bar::launcher_results` — one implementation, two hosts. `gtk` feature for
-# the results widget itself.
-bread-launcher = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.5", features = ["gtk"] }
+bread-screenshots = { git = "https://git.breadway.dev/Breadway/bread-ecosystem", tag = "v0.7.2" }
gtk4 = { version = "0.11", features = ["v4_12"] }
gtk4-layer-shell = "0.8"
relm4 = { version = "0.11", features = ["macros"] }
diff --git a/README.md b/README.md
index 3addfa1..0047613 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ A single Rust binary that provides a full-width top bar, a D-Bus notification da
- Implements `org.freedesktop.Notifications` (D-Bus) — works with any standard sender (`notify-send`, etc.)
- Popups appear top-right, stack vertically, auto-dismiss after the sender-specified timeout (default 5 s)
- Supports `CloseNotification` and `replaces_id`
-- History of the last 50 notifications (app, summary, truncated body, time). Loaded from and saved to `$XDG_STATE_HOME/breadbar/history.json` (typically `~/.local/state/breadbar/history.json`). Toggle with `breadbar --history` (Hyprland: `bind = SUPER, N, exec, breadbar --history`) or D-Bus `dev.breadway.Bar.ToggleHistory` on `org.freedesktop.Notifications` at `/dev/breadway/Bar`.
+- In-memory history of the last 50 notifications (app, summary, truncated body, time). Toggle with `breadbar --history` (Hyprland: `bind = SUPER, N, exec, breadbar --history`) or D-Bus `dev.breadway.Bar.ToggleHistory` on `org.freedesktop.Notifications` at `/dev/breadway/Bar`. Not persisted.
**Volume/brightness OSD**:
@@ -141,7 +141,7 @@ Example — change the font size:
| `src/bar/tray.rs` | `org.kde.StatusNotifierWatcher` D-Bus service, SNI item rendering |
| `src/notifications/mod.rs` | `org.freedesktop.Notifications` zbus service + `dev.breadway.Bar` history IPC |
| `src/notifications/popup.rs` | Layer-shell popup window and card stack |
-| `src/notifications/history.rs` | Bounded history (last 50, persisted under XDG state) and layer-shell history window |
+| `src/notifications/history.rs` | Bounded in-memory history and layer-shell history window |
| `src/osd.rs` | Volume/brightness on-screen display |
| `src/widgets/` | Live Lua widgets from breadd (`BreadClient` + `WidgetSpec`) |
| `src/theme.rs` | `bread-theme` palette loading, GTK CSS provider injection |
diff --git a/assets/GPU.svg b/assets/GPU.svg
deleted file mode 100644
index 03c7f1c..0000000
--- a/assets/GPU.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/bar/clock.rs b/src/bar/clock.rs
index f7d897b..4501fde 100644
--- a/src/bar/clock.rs
+++ b/src/bar/clock.rs
@@ -1,34 +1,11 @@
use crate::{App, AppInput};
use relm4::ComponentSender;
-pub fn now() -> gtk4::glib::DateTime {
- gtk4::glib::DateTime::now_local().expect("local time")
-}
-
-pub fn time() -> String {
- let dt = now();
- format!("{:02}:{:02}", dt.hour(), dt.minute())
-}
-
-pub fn date() -> String {
- now().format("%a %d/%m").expect("date format").to_string()
-}
-
pub fn current() -> String {
- format!("{} {}", date(), time())
-}
-
-/// `modules.clock.format` rendered against GLib's own `DateTime::format`
-/// (a strftime subset — `%H`, `%M`, `%a`, `%d`, `%m`, ... all work). Falls
-/// back to [`time`]'s hardcoded "HH:MM" on a malformed format string rather
-/// than propagating an error — a broken theme's clock format must degrade,
-/// not crash the bar, same as every other "malformed theme" fallback in
-/// this system.
-pub fn formatted(format: &str) -> String {
- now()
- .format(format)
- .map(|s| s.to_string())
- .unwrap_or_else(|_| time())
+ let dt = gtk4::glib::DateTime::now_local().expect("local time");
+ let date = dt.format("%a %d/%m").expect("date format");
+ let time = format!("{:02}:{:02}", dt.hour(), dt.minute());
+ format!("{} {}", date, time)
}
pub fn spawn_ticker(sender: ComponentSender) {
diff --git a/src/bar/control.rs b/src/bar/control.rs
index 43cb6c3..ed99568 100644
--- a/src/bar/control.rs
+++ b/src/bar/control.rs
@@ -121,29 +121,11 @@ pub fn spawn_set_brightness(v: f64) {
});
}
-pub fn spawn_set_sink(name: String, sender: ComponentSender) {
+pub fn spawn_set_sink(name: String) {
relm4::spawn(async move {
let _ = tokio::process::Command::new("pactl")
.args(["set-default-sink", &name])
.output()
.await;
- // Default sink alone leaves already-playing streams on the old
- // device — move them too so the switch is audible immediately.
- if let Ok(o) = tokio::process::Command::new("pactl")
- .args(["list", "short", "sink-inputs"])
- .output()
- .await
- {
- for line in String::from_utf8_lossy(&o.stdout).lines() {
- let Some(id) = line.split_whitespace().next() else {
- continue;
- };
- let _ = tokio::process::Command::new("pactl")
- .args(["move-sink-input", id, &name])
- .output()
- .await;
- }
- }
- spawn_load(sender);
});
}
diff --git a/src/bar/mod.rs b/src/bar/mod.rs
index 0d20edc..e006a63 100644
--- a/src/bar/mod.rs
+++ b/src/bar/mod.rs
@@ -2,7 +2,6 @@ pub mod bluetooth;
pub mod clock;
pub mod control;
pub mod media;
-pub mod slots;
pub mod stats;
pub mod tray;
pub mod wifi;
diff --git a/src/bar/slots.rs b/src/bar/slots.rs
deleted file mode 100644
index 87bf915..0000000
--- a/src/bar/slots.rs
+++ /dev/null
@@ -1,86 +0,0 @@
-//! Module registry for the theme manifest's `[bar.slots]` (plan Phase 3a),
-//! extended in Phase 3b to also route `widget:` entries.
-//!
-//! Each bar module (`workspaces`, `media`, `clock`, `volume`, `wifi`,
-//! `battery`, `control`, …) is still built exactly where it always was in
-//! `main.rs` — this registry only decouples the ORDER in which those
-//! already-constructed widgets get appended into the left/centre/right
-//! containers from the fixed source-code order they were built in. main.rs
-//! registers each widget by its manifest module name once construction is
-//! done, then walks `ShellTheme::slots()` to append them in the theme's
-//! order instead of a hardcoded sequence.
-//!
-//! A slot entry may also be `widget:`, where `` is either a
-//! `WidgetPlacement` alias (`right_of_workspaces`, `left_of_clock`,
-//! `right_of_clock`, `left_of_stats`, `tray`) or a Lua module name (see
-//! `bread_shared::widget::WidgetSpec::module`) — these route through
-//! `for_each_in_slot`'s `on_widget` callback rather than this registry,
-//! since their containers are Lua-widget slots created on demand by the
-//! caller, not modules registered here. `WidgetPlacement` itself is a wire
-//! type from `bread-shared` and is never referenced in this file.
-
-use gtk4::prelude::*;
-use std::collections::HashMap;
-
-/// Maps a `[bar.slots]` module name to its already-built widget.
-#[derive(Default)]
-pub struct ModuleRegistry(HashMap<&'static str, gtk4::Widget>);
-
-impl ModuleRegistry {
- pub fn new() -> Self {
- Self::default()
- }
-
- /// Registers `widget` under `name` (a `[bar.slots]` module name, e.g.
- /// `"workspaces"` or `"clock"`).
- pub fn register(&mut self, name: &'static str, widget: &impl IsA) {
- self.0.insert(name, widget.clone().upcast());
- }
-
- /// Walks every entry named in `names` (a manifest slot list, in theme
- /// order). A `widget:` entry calls `on_widget(key)`, letting the
- /// caller create-or-fetch that Lua widget container and append it at
- /// this exact position. Anything else is looked up as a registered
- /// module name and passed to `on_module`; a name with no registered
- /// widget is logged and skipped — an unrecognized or unmapped module in
- /// a theme manifest must never crash the bar.
- pub fn for_each_in_slot(
- &self,
- names: &[String],
- mut on_module: impl FnMut(&str, >k4::Widget),
- mut on_widget: impl FnMut(&str),
- ) {
- for name in names {
- if let Some(key) = name.strip_prefix("widget:") {
- on_widget(key);
- continue;
- }
- match self.0.get(name.as_str()) {
- Some(widget) => on_module(name, widget),
- None => eprintln!("breadbar: [bar.slots] names unknown module '{name}' — skipping"),
- }
- }
- }
-}
-
-/// Returns the widget container keyed `key` in `containers`, creating it
-/// (a plain horizontal box, styled like every other Lua widget slot) on
-/// first use. Called from `for_each_in_slot`'s `on_widget` callback so a
-/// `widget:` slot entry gets a container the first time a theme
-/// places one there, regardless of whether `key` is a `WidgetPlacement`
-/// alias or a Lua module name — `reconcile_widgets` (main.rs) is what
-/// gives that distinction meaning when it routes specs into these
-/// containers.
-pub fn widget_slot_container(
- containers: &mut HashMap,
- key: &str,
-) -> gtk4::Box {
- containers
- .entry(key.to_string())
- .or_insert_with(|| {
- let b = gtk4::Box::new(gtk4::Orientation::Horizontal, 6);
- b.add_css_class("bread-widget-slot");
- b
- })
- .clone()
-}
diff --git a/src/bar/stats.rs b/src/bar/stats.rs
index 26358e0..764d758 100644
--- a/src/bar/stats.rs
+++ b/src/bar/stats.rs
@@ -25,14 +25,6 @@ pub const WIFI_MEDIUM: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "
pub const WIFI_WEAK: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/assets/WiFi Weak.svg"));
pub const WIFI_OFF: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/assets/WiFi Disconnect.svg"));
-/// Adwaita symbolic names — these are drawn for 16px status bars, not our
-/// hand-cropped Lucide arcs.
-pub const WIFI_ICON_EXCELLENT: &str = "network-wireless-signal-excellent-symbolic";
-pub const WIFI_ICON_GOOD: &str = "network-wireless-signal-good-symbolic";
-pub const WIFI_ICON_OK: &str = "network-wireless-signal-ok-symbolic";
-pub const WIFI_ICON_WEAK: &str = "network-wireless-signal-weak-symbolic";
-pub const WIFI_ICON_OFF: &str = "network-wireless-offline-symbolic";
-
pub const BAT_HIGH: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/assets/Battery 3 Bars.svg"));
pub const BAT_MID: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/assets/Battery 2 Bars.svg"));
pub const BAT_LOW: &str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/assets/Battery 1 Bar.svg"));
@@ -73,7 +65,6 @@ pub struct Stats {
pub gpu_temp: Option,
pub net_rx_kbs: f32,
pub net_tx_kbs: f32,
- pub volume_pct: u8,
}
struct CpuSnapshot {
@@ -85,7 +76,7 @@ static PREV_CPU: OnceLock> = OnceLock::new();
static BAT_PATH: OnceLock