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:
14 files changed
+977
-31
No files matched your search
@@ -45,10 +45,12 @@
|
||||
#define DB_MAX_APPS 32
|
||||
|
||||
/* ── per-app context menu ────────────────────────────────────────────── */
|
||||
#define DB_CTX_W 140 /* context menu width */
|
||||
#define DB_CTX_W 160 /* context menu width */
|
||||
#define DB_CTX_ITEM_H 26 /* item row height */
|
||||
#define DB_CTX_PAD 4 /* top/bottom padding */
|
||||
#define DB_CTX_N 3 /* number of items: Raise, Minimize, Close */
|
||||
#define DB_CTX_N 3 /* base items: Raise, Minimize, Close */
|
||||
#define DB_CTX_NDESK 4 /* number of "→ Desktop N" items */
|
||||
#define DB_CTX_SEP_H 6 /* separator line height */
|
||||
|
||||
/* ── fly-out menu ────────────────────────────────────────────────────── */
|
||||
#define DB_FLYOUT_W 196 /* fly-out menu panel width */
|
||||
@@ -102,8 +104,10 @@ static const unsigned long DB_ICON_COLORS[] = {
|
||||
typedef struct AppEntry {
|
||||
Window win;
|
||||
char title[64];
|
||||
char cls[64]; /* WM_CLASS instance for icon lookup */
|
||||
int focused;
|
||||
int minimized;
|
||||
int desktop; /* which desktop this window is on */
|
||||
} AppEntry;
|
||||
|
||||
typedef struct Deskbar {
|
||||
|
||||
Reference in new issue
Block a user