control centre: status pill top right that opens into a macOS-like panel

Wi-Fi and hotspot (iwd, never D-Bus-activated by a read), VPN (openrc openvpn.*),
Bluetooth (bluez), battery, volume, screen and keyboard light, performance mode
(platform profile + governor + EPP through doas -n), and the external GPU with the
programs using it (drm fdinfo). Icons move to glyph.rs.
This commit is contained in:
server2
2026-10-10 11:33:04 +02:00
parent 54f51c5671
commit 1b571abef0
9 changed files with 2159 additions and 102 deletions
+5
View File
@@ -73,6 +73,9 @@ pub struct Theme {
// the open media card and the equalizer take the cover's colours as their background
pub cover_colors: bool,
// the iwd access point profile the control centre's hotspot starts (/var/lib/iwd/ap/<name>.ap); empty: none
pub hotspot: String,
}
impl Service for Theme {
@@ -80,6 +83,7 @@ impl Service for Theme {
Self {
colors: Animation::new(PINK_ON_PURPLE),
cover_colors: false,
hotspot: String::new(),
}
}
@@ -174,6 +178,7 @@ fn apply(theme: &str, config: &str, startup: bool) {
let mut theme = Theme::write();
theme.cover_colors = setting("cover_colors") == Some("true");
theme.hotspot = setting("hotspot").unwrap_or("").to_string();
// a change in the middle of a fade starts from the colours on screen now
let now = theme.colors.value();