From a55464e179a3f82aa46866564878ad35e11e0ae5 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 7 Oct 2026 19:13:16 +0200 Subject: docs: the island, and waybar gone AGENTS.md describes the hybrid model (desktop/ hosts drawer and island) and gains the gotchas found while building the island: UseQApplication for tray menus, WheelHandler vs MouseArea, accent colliding with green, xkb layout switching, and the tray popup un-hovering the island. The Blur waybar measurement becomes history. READMEs drop their present-tense waybar references. Co-Authored-By: Claude Opus 5.5 --- desktop/README.md | 45 ++++++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 27 deletions(-) (limited to 'desktop/README.md') diff --git a/desktop/README.md b/desktop/README.md index f51feb4..5536d7d 100644 --- a/desktop/README.md +++ b/desktop/README.md @@ -1,7 +1,8 @@ # desktop One drawer, left of DP-1, hosting the things a desktop lets you adjust. -Reached from a launcher at the left end of waybar. +Reached over IPC (`ipc call drawer toggle`), from a Hyprland bind. +The same process also hosts the island, see `island/README.md`. The drawer opens as a grid of tiles, and clicking a tile either opens that module's page or fires an action. A module's back arrow, and Escape while a @@ -89,15 +90,16 @@ while the page is closed. Pages are lazily loaded in every module. ## Geometry -The panel is 600px wide and full height, on `DP-1`. Waybar runs there and the -launcher sits at its left end, while conky holds the right side of the screen, -so the drawer belongs on the left. It falls back to the first screen when +The panel is 600px wide and full height, on `DP-1`. Conky holds the right side +of the screen, so the drawer belongs on the left. It falls back to the first screen when `DP-1` is not connected, so the drawer is never invisible. -The window uses `ExclusionMode.Normal`, not `Ignore`. Waybar claims an -exclusive zone at the top of the screen, so respecting it puts the drawer below -the bar without this code knowing the bar's height, and the bar stays visible -and clickable while the drawer is open. The whole surface is an overlay so a +The window uses `ExclusionMode.Normal`, not `Ignore`. Waybar used to claim +an exclusive zone at the top of the screen, and respecting it put the drawer +below the bar without this code knowing the bar's height. Waybar is gone, so +the drawer now starts at the top edge of `DP-1`; `Normal` stays so a bar added +later is respected. The island is an overlay with no exclusive zone, so it +floats over the drawer's top edge. The whole surface is an overlay so a click outside closes it. The top of the panel is an empty reserved area for the notification engine. It @@ -107,12 +109,9 @@ fixed, never-scrolled `Flow` grid: three columns at 180px minimum, wrapping and adding rows up to a 3x3 ceiling for the modules that exist, in the order Sound, Network, Bluetooth, KDE Connect, Mail, Appearance, Machines. -## Hyprland and waybar +## Hyprland -Nothing here is in the repo's control, and the drawer works without it. Two -pieces of outside configuration belong to it. - -Frosting is the compositor's, matched on the namespace this window sets. The +Nothing here is in the repo's control, and the drawer works without it. Frosting is the compositor's, matched on the namespace this window sets. The drawer sets `quickshell-desktop`, so it needs: hl.layer_rule({ @@ -125,23 +124,15 @@ drawer sets `quickshell-desktop`, so it needs: The sound module's OSD owns its own window and keeps its old `quickshell-volume-osd` namespace, so the existing `blur-volume-osd` rule still -matches and stays. Without any of these the surfaces still render, just flat +matches and stays. Without these the surfaces still render, just flat translucent. -The waybar launcher is a static `custom` module with no `exec`, so it cannot -show whether the drawer is open. Its `on-click` runs the zero-argument toggle: - - "on-click": "qs -p ~/Programming/GIT/quickshell/desktop ipc call drawer toggle" - -The mail module's waybar count keeps its own `custom` module, whose click -deep-links to the mail page with `ipc call drawer open mail`. `SUPER+v` reaches -the vm page the same way, with `ipc call drawer open vm`. The full list of -edits to the live Hyprland and waybar configuration is Task 10 of the plan in -`docs/superpowers/plans/2026-09-14-desktop-shell.md`. +`SUPER+v` reaches the vm page with `ipc call drawer open vm`, and the drawer +toggles with `ipc call drawer toggle`. The island's sound panel opens the +drawer's sound page through the same `show` the IPC uses. -The drawer is the only place network and Bluetooth are managed. The drawer -replaces waybar's own network and Bluetooth indicators; removing them is a -live-configuration change outside this repo. +The drawer is the only place network and Bluetooth are managed. Waybar's own +indicators for both went with waybar. The drawer is the only KDE Connect surface, so the `kdeconnect-indicator` autostart line was removed in the same change. The `kdeconnectd` daemon is a -- cgit v1.2.3