6 Commits
Author SHA1 Message Date
nmemmertandClaude Sonnet 4.6 4854ab85aa Redesign launcher: modern dark UI, 4-col grid, pill filters, footer
- 640x490 window, larger cards (132x106), 4 columns
- Full-width search bar in header with active-state indicator
- Category filters as pill chips with gaps
- Cards show surface bg + accent top bar on hover
- Footer bar with app count and keyboard hints
- Fix menu: pavucontrol -> alsamixer in xterm

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 13:35:23 -04:00
nmemmertandClaude Sonnet 4.6 daf9cb4f96 Fix menu/launcher to use installed apps; add pcmanfm, mousepad, arandr
Menu and launcher fallback pointed to alacritty/firefox/rigel/quill
which are not in the live ISO. Switch to xterm (already installed),
pcmanfm and mousepad (now added to packages). Also add arandr for
display settings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-31 13:29:45 -04:00
Claude b0f64d9b2e Fixes #7–#11: launcher Other tab, ICCCM size hints, icon loading, multi-desktop
Fix #7: Add "Other" catch-all category to the launcher. map_category() now
returns "Other" instead of "" for unrecognized .desktop Categories, and an
"Other" tab is added to the CATS list so those apps are discoverable instead
of silently hidden.

Fix #8: Respect ICCCM WM_NORMAL_HINTS. client_add() reads PMinSize,
PResizeInc, and PBaseSize from the window's size hints. The resize drag
handler in events.c clamps to min_w/min_h and snaps to the
width_inc/height_inc grid, fixing jank in character-cell terminal emulators
(xterm, Alacritty).

Fix #10: Optional freedesktop icon loading via imlib2. The launcher now
parses the Icon= field from .desktop files and attempts to render a PNG icon
from Papirus-Dark (or hicolor fallback). When imlib2 is not present the
existing letter-square is shown unchanged. launcher/Makefile auto-detects
imlib2 via pkg-config and sets -DHAVE_IMLIB2.

Fix #11: True 4-desktop support in the WM. Each Client carries a desktop
field (assigned at map time from wm->cur_desktop). Clicking a workspace
button in the deskbar sends _NET_CURRENT_DESKTOP; the WM now handles it via
wm_switch_desktop() which unmaps frames on the leaving desktop, maps frames
on the arriving desktop, and re-focuses. _NET_WM_DESKTOP is set per window
so the deskbar can filter db_update_apps() to show only current-desktop
windows (sticky windows with desktop 0xFFFFFFFF are always shown).
2026-08-30 20:00:10 +00:00
nmemmertandClaude Sonnet 4.6 61fa1194db Phase 7: rename SkyOS → OrionOS across entire codebase
- Rename all binaries: skywm→orionwm, skydeskbar→oriondeskbar,
  skylauncher→orionlauncher, skyinstall/skyinstall-gui→orioninstall*
- Rename theme directory: themes/SkyOS/ → themes/OrionOS/
- Update all string literals, window titles, menu labels, and comments
- Update ISO build: hostname→orionos, user→orion, all paths/labels
- Add Plymouth boot splash theme (orionos) with Navy+Blue palette
- Update GTK2/GTK3 theme names, wallpaper output name
- Update .gitignore, root Makefile, build-iso.sh for new binary names

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 13:42:18 -04:00
nmemmertandClaude Sonnet 4.6 2b8ea90a57 Phase 1/2: .desktop launcher, volume control in deskbar
- Launcher now loads apps dynamically from /usr/share/applications
  and ~/.local/share/applications instead of a hardcoded list;
  maps desktop Categories to tab system, falls back to built-in list
  on systems without .desktop files (dev/macOS builds)
- Launcher gains scroll support: mouse wheel and PgUp/PgDn scroll
  the app grid, scrollbar drawn on right edge when needed
- Deskbar status bar shows VOL % from pactl (cached, polls every 5s)
- Deskbar status bar: scroll wheel changes volume ±5%, left-click
  toggles mute

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 13:16:18 -04:00
nmemmertandClaude Sonnet 4.6 e641720a3c Initial commit: SkyOS source code
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 12:14:34 -04:00