diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-07 19:13:16 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-07 19:13:16 +0200 |
| commit | a55464e179a3f82aa46866564878ad35e11e0ae5 (patch) | |
| tree | 7e604416cb2c6c1a22f633a8dc6158d4d30d7e1f /desktop/README.md | |
| parent | fe80b03136a141fb6832474e7dd6dc0ba822e454 (diff) | |
| download | quickshell-a55464e179a3f82aa46866564878ad35e11e0ae5.tar.gz quickshell-a55464e179a3f82aa46866564878ad35e11e0ae5.zip | |
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 <noreply@anthropic.com>
Diffstat (limited to 'desktop/README.md')
| -rw-r--r-- | desktop/README.md | 45 |
1 files changed, 18 insertions, 27 deletions
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 |
