workspaces: a pill top left on every monitor with its workspaces

- one window per monitor (namespace magic-workspaces, Overlay like the
  island), showing that monitor's hyprland workspaces in the island's
  look: cover gradient, pink glow
- focused workspace pink, shown-elsewhere soft pink, empty ones dim;
  hover eases in (one at a time), a click switches workspace
- special workspaces are skipped; name-only ones show their first letter
- event-driven through Workspaces: redraws only on hyprland events and
  hover
This commit is contained in:
server2
2026-10-08 02:09:25 +02:00
parent ddaef1f805
commit 9329d250f6
4 changed files with 178 additions and 16 deletions
+8 -2
View File
@@ -3,6 +3,7 @@ mod island;
mod parse;
mod sound;
mod spectrum;
mod workspaces;
use amane::{App, Palette, Service};
@@ -10,6 +11,11 @@ fn main() {
// the card's glow follows the cover art, which art::Art copies to this one path
Palette::write().open(&art::palette_file(), 8);
// one island on every monitor; the card opens only on one of them
App::new().font("Fira Code").ipc("island", island::command).window_per_monitor(island::view).run();
// one island on every monitor (the card opens only on one of them), and a workspace pill top left on each
App::new()
.font("Fira Code")
.ipc("island", island::command)
.window_per_monitor(island::view)
.window_per_monitor(workspaces::view)
.run();
}