Installer copy (installer/orioninstall):
- Root cause: rsync -ax / /mnt/ copies the overlayfs live root, which
is slow, unpredictable, and hangs in VMs with overlapping filesystems
- Fix: copy from /run/archiso/airootfs instead (the squashfs is already
mounted there on every archiso live boot). This is the clean base system,
avoids the cow layer entirely, and is significantly faster.
- Added -H -A -X -S flags for proper hard-link, ACL, xattr, sparse-file handling
- Fallback to live-root rsync if the squashfs mount isn't present
- Also renamed EFI partition label SKYEFI → ORIONEFI
Discoverability (deskbar + wm):
- deskbar "Install OrionOS" was calling 'sudo skyinstall' (old name) — fixed
to 'sudo orioninstall-gui || sudo orioninstall' with GUI-first fallback
- Right-click desktop menu now also has "Install OrionOS" entry
(was only in the deskbar hamburger menu before)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
SkyKit (skykit/):
- Shared palette constants, font setup, and Xlib/Xft drawing utilities
- sk_fill, sk_rect, sk_line, sk_text, sk_text_clip, sk_textw, sk_baseline
- Builds as libskykit.a, consumed by Rigel and future shell components
Rigel (rigel/):
- Native C/Xlib file manager with SkyKit
- Sidebar with 8 bookmarks (Home, Desktop, Documents, Downloads, etc.)
- Editable path bar (Ctrl+L or '/' to activate, Enter to navigate)
- Sortable columns: Name / Size / Modified (click header to sort/reverse)
- Colored type badges: DIR, IMG, SND, VID, ZIP, SRC, PDF, TXT, EXE
- Double-click to open dirs or files (xdg-open)
- Keyboard: ↑↓ select, Enter open, Backspace back, Ctrl+H toggle hidden
- Right-click menu updated: "File Manager" now launches rigel
Text centering fix (deskbar + wm):
- Root cause: draw_str added glyph-specific ext.height/ext.y offset, and
all callers used hardcoded (H-10)/2 magic numbers instead of font metrics
- Fix: draw_str now takes y as a direct baseline; str_baseline() computes
(strip_y + strip_h + ascent - descent) / 2 for consistent centering
- WM titlebar: same fix using font_title->ascent/descent
- Affects: "Orion ▾" button, clock, date, app list, flyout menu items,
letter icons, and all window titlebars
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
System tray in skydeskbar (Phase 1 #4):
- Claims _NET_SYSTEM_TRAY_S<screen> selection on startup and
broadcasts MANAGER so nm-applet and other tray clients connect
- Handles _NET_SYSTEM_TRAY_OPCODE dock requests: XReparentWindow
icon into the deskbar, sends XEMBED_EMBEDDED_NOTIFY
- Tray section is zero-height when empty; expands to DB_TRAY_H=26px
when first icon embeds, shrinking back when last icon exits
- DestroyNotify / ReparentNotify clean up the icon list and
reposition remaining icons; SelectionClear hands off gracefully
- Icon positions are updated (db_tray_reposition) whenever the app
list changes and shifts the tray section vertically
Plymouth boot splash (Phase 2 #10):
- 'skyos' script-module theme: dark navy (#111520) background,
"SkyOS" logo in accent blue (#90BBEE), thin progress bar
- 1×1 pixel bar_bg.png / bar_fg.png scaled at runtime by the
Plymouth script — no large PNGs committed to the repo
- logo.png generated at build time by ImageMagick (same tool used
for the wallpaper); build continues if ImageMagick is absent
- mkinitcpio HOOKS: added 'plymouth' after 'udev'
- Kernel cmdline: added 'splash' for UEFI systemd-boot entry
- customize_airootfs.sh: plymouth-set-default-theme skyos
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>
- Alt+Tab now shows a centered visual switcher overlay with window cards;
cycling with Tab, committing on Alt release, cancelling with Escape
- GTK3 and GTK2 themes rewritten in dark navy palette matching skywm/
skydeskbar color constants (was an off-brand tan/BeOS palette)
- Add alacritty to ISO packages with pre-configured dark color scheme;
update all menu Terminal entries to launch alacritty instead of xterm
- Add KeyReleaseMask to WM root event selection to detect Alt release
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>