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>
75 lines
1.9 KiB
Makefile
75 lines
1.9 KiB
Makefile
# OrionOS — top-level build
|
|
# Usage:
|
|
# make — build all components
|
|
# make install — install binaries + theme to /usr/local
|
|
# 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 clean install iso
|
|
|
|
all: wm deskbar launcher installer nebula orionpkg skykit rigel
|
|
|
|
wm:
|
|
$(MAKE) -C wm
|
|
|
|
deskbar:
|
|
$(MAKE) -C deskbar
|
|
|
|
launcher:
|
|
$(MAKE) -C launcher
|
|
|
|
installer:
|
|
$(MAKE) -C installer
|
|
|
|
nebula:
|
|
$(MAKE) -C nebula
|
|
|
|
orionpkg:
|
|
$(MAKE) -C orionpkg
|
|
|
|
skykit:
|
|
$(MAKE) -C skykit
|
|
|
|
rigel:
|
|
$(MAKE) -C rigel
|
|
|
|
clean:
|
|
$(MAKE) -C wm clean
|
|
$(MAKE) -C deskbar clean
|
|
$(MAKE) -C launcher clean
|
|
$(MAKE) -C installer clean
|
|
$(MAKE) -C nebula clean
|
|
$(MAKE) -C orionpkg clean
|
|
$(MAKE) -C skykit clean
|
|
$(MAKE) -C rigel clean
|
|
|
|
install: all
|
|
# binaries
|
|
install -Dm755 wm/orionwm /usr/local/bin/orionwm
|
|
install -Dm755 deskbar/oriondeskbar /usr/local/bin/oriondeskbar
|
|
install -Dm755 launcher/orionlauncher /usr/local/bin/orionlauncher
|
|
install -Dm755 themes/orionwallpaper /usr/local/bin/orionwallpaper
|
|
install -Dm755 nebula/nebula /usr/local/bin/nebula
|
|
install -Dm755 orionpkg/orionpkg /usr/local/bin/orionpkg
|
|
install -Dm755 rigel/rigel /usr/local/bin/rigel
|
|
# GTK theme
|
|
mkdir -p /usr/share/themes
|
|
cp -r themes/OrionOS /usr/share/themes/
|
|
# picom config
|
|
install -Dm644 themes/picom.conf /etc/orionos/picom.conf
|
|
# wallpaper
|
|
mkdir -p /usr/share/orionos/wallpapers
|
|
bash themes/wallpapers/generate-default.sh || true
|
|
cp -f themes/wallpapers/orionos-default.png /usr/share/orionos/wallpapers/ 2>/dev/null || true
|
|
@echo ""
|
|
@echo "OrionOS installed. Add this to ~/.xinitrc to start:"
|
|
@echo ""
|
|
@echo " orionwallpaper"
|
|
@echo " picom --config /etc/orionos/picom.conf &"
|
|
@echo " oriondeskbar &"
|
|
@echo " exec orionwm"
|
|
|
|
iso:
|
|
chmod +x build-iso.sh
|
|
./build-iso.sh
|