- power: RAII DoneGuard sets done=true on every wait() exit path, so the timeout thread no longer sleeps its full 30 s holding a spawn_blocking slot when child.wait() errors. A separate timed_out AtomicBool marks our own SIGKILL so we do not misclassify an external OOM-kill. Memory ordering on the flags is now Release/Acquire. - i18n: detect_locale now reads LC_ALL, LC_MESSAGES, LANG in POSIX priority order before falling back to /etc/locale.conf, so systems installed in English with LC_ALL=de_DE.UTF-8 pick up the correct UI. - panel: execute_action desensitizes button_box on entry and re-enables it on error paths, so double-click or keyboard repeat cannot fire the same power action twice. - config: accept_wallpaper helper applies an extension allowlist (jpg, jpeg, png, webp) plus symlink rejection and a 10 MB size cap, applied to both the user-configured path and the Moonarch ecosystem fallback. Bounds worst-case decode latency and narrows the gdk-pixbuf parser attack surface.
32 lines
666 B
TOML
32 lines
666 B
TOML
[package]
|
|
name = "moonset"
|
|
version = "0.8.4"
|
|
edition = "2024"
|
|
description = "Wayland session power menu with GTK4 and Layer Shell"
|
|
license = "MIT"
|
|
|
|
[dependencies]
|
|
gtk4 = { version = "0.11", features = ["v4_10"] }
|
|
gtk4-layer-shell = "0.8"
|
|
glib = "0.22"
|
|
gdk4 = "0.11"
|
|
gdk-pixbuf = "0.22"
|
|
toml = "0.8"
|
|
dirs = "6"
|
|
serde = { version = "1", features = ["derive"] }
|
|
nix = { version = "0.29", features = ["user", "signal"] }
|
|
graphene-rs = { version = "0.22", package = "graphene-rs" }
|
|
log = "0.4"
|
|
systemd-journal-logger = "2.2"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
strip = true
|
|
|
|
[build-dependencies]
|
|
glib-build-tools = "0.22"
|