Add 6 desktop features: workspace shortcuts, Exposé, deskbar icons, notifications, screen lock, move-to-desktop

- Super+1-4: switch virtual desktop; Super+Shift+1-4: move focused window to desktop N
- Super+Space: Exposé window overview (tiled grid), click to select, Escape to cancel
- wm/src/expose.c: expose_show/expose_hide using ceil(sqrt) grid layout with saved/restored geometry
- client_move_to_desktop(): moves window between desktops, fires _NET_WM_DESKTOP update
- on_client_message: handles _NET_WM_DESKTOP to move windows from external requests
- deskbar: optional imlib2 app icon rendering (Papirus-Dark → Papirus → hicolor → pixmaps fallback)
- deskbar: XGetClassHint populates cls field for better icon lookup
- deskbar: context menu extended with separator + "→ Desktop 1-4" items via _NET_WM_DESKTOP
- orionnotify/: freedesktop.org notification daemon (libdbus-1), stacks up to 5 popups top-right
- orionlock/: PAM-authenticated fullscreen screen lock with clock, date, password dots
- Lock Screen menu item wired to orionlock
- Root Makefile includes orionnotify and orionlock targets

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GHiBQKPfUoaJgCKuA9op1H
This commit is contained in:
Claude committed 2026-08-30 20:14:45 +00:00
1 parent b0f64d9b2e
commit 2a42b826fb
14 files changed
+977 -31

No files matched your search

+14 -3
View File
@@ -5,9 +5,9 @@
# make clean — remove build artifacts
# make iso — build the bootable ISO (requires Arch Linux + archiso)
.PHONY: all wm deskbar launcher installer nebula orionpkg skykit rigel quill lens clean install iso
.PHONY: all wm deskbar launcher installer nebula orionpkg skykit rigel quill lens orionnotify orionlock clean install iso
all: wm deskbar launcher installer nebula orionpkg skykit rigel quill lens
all: wm deskbar launcher installer nebula orionpkg skykit rigel quill lens orionnotify orionlock
wm:
$(MAKE) -C wm
@@ -39,6 +39,12 @@ quill:
lens:
$(MAKE) -C lens
orionnotify:
$(MAKE) -C orionnotify
orionlock:
$(MAKE) -C orionlock
clean:
$(MAKE) -C wm clean
$(MAKE) -C deskbar clean
@@ -49,7 +55,9 @@ clean:
$(MAKE) -C skykit clean
$(MAKE) -C rigel clean
$(MAKE) -C quill clean
$(MAKE) -C lens clean
$(MAKE) -C lens clean
$(MAKE) -C orionnotify clean
$(MAKE) -C orionlock clean
install: all
# binaries
@@ -62,6 +70,8 @@ install: all
install -Dm755 rigel/rigel /usr/local/bin/rigel
install -Dm755 quill/quill /usr/local/bin/quill
install -Dm755 lens/lens /usr/local/bin/lens
install -Dm755 orionnotify/orionnotify /usr/local/bin/orionnotify
install -Dm755 orionlock/orionlock /usr/local/bin/orionlock
# GTK theme
mkdir -p /usr/share/themes
cp -r themes/OrionOS /usr/share/themes/
@@ -77,6 +87,7 @@ install: all
@echo " orionwallpaper"
@echo " picom --config /etc/orionos/picom.conf &"
@echo " oriondeskbar &"
@echo " orionnotify &"
@echo " exec orionwm"
iso: