mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-26 02:58:32 -06:00
* fix(theme): complete Linux System appearance tracking Follow up on #881 for #446 with the standard numeric appearance portal setting and event-driven updates that wake idle windows. Keep manual modes independent, cache their desktop updates without repainting, and cancel the worker on close. Retain inherited native window appearance and populate both egui style branches with the chosen palette. Preserve saved System, the Light default and unknown source fallback, and avoid desktop session access in headless UI contexts. Assisted-by: Codex (gpt-6.1-sol) * Desktop theme: keep the GNOME colour-scheme fallback XFCE needs The portal tracker read only org.freedesktop.appearance, which XFCE's portal doesn't answer (it proxies the GSettings schemas). It now also reads and subscribes to org.gnome.desktop.interface color-scheme and uses it when the freedesktop setting states no preference, as main's reader did. KDE answers only the freedesktop one, which wins when it states a preference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Brandon Thomas <echelon@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
25 lines
833 B
TOML
25 lines
833 B
TOML
[package]
|
|
name = "pdfcraft-platform"
|
|
description = "Operating-system services shared by the PdfCraft desktop app and automation tools"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
# Already in the dependency graph through the accessibility integration. The portal watcher
|
|
# uses the async API so dropping it can cancel an idle subscription without polling.
|
|
zbus = { version = "=5.19.0", default-features = false, features = ["async-io"] }
|
|
async-channel = "2"
|
|
futures-lite = "2"
|
|
|
|
[dev-dependencies]
|
|
# Exercise the actual portal wire decoder and cancellable worker on every native test host.
|
|
zbus = { version = "=5.19.0", default-features = false, features = ["async-io"] }
|
|
async-channel = "2"
|
|
futures-lite = "2"
|