Commit Graph
3 Commits
Author SHA1 Message Date
nmemmertandClaude Sonnet 4.6 d19aca2333 Fix installer GUI ghosting: add double-buffer, fix text baseline
Ghosting root cause: all X11 drawing (XFillRectangle, XDrawLine, XDrawArc,
XDrawRectangle) and XRender Xft text rendering were going directly to the
window. XRender composites text on top of pixels without clearing underneath,
so previous log lines bled through on every update.

Fix:
- Added Pixmap buf to Ins struct (created at WIN_W × WIN_H after window init)
- Redirected all drawing calls (fill_rect, draw_line, XDrawRectangle,
  XDrawArc, XFillArc) from s->win to s->buf
- XftDrawCreate in redraw() now targets s->buf
- At end of redraw(): XCopyArea(buf → win) blits the complete frame at once
- Also fixed xft_text baseline: was y + ext.height - ext.y (glyph-specific,
  varied per string); now y + f->ascent (consistent font metric)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 16:12:51 -04:00
nmemmertandClaude Sonnet 4.6 0ed61cea4c Add orionpkg (package manager GUI) + installer locale step
orionpkg/orionpkg.c (~500 lines, native Xlib/Xft):
- Launches with checkupdates (pacman-contrib) to list pending upgrades
- ST_CHECKING: animated spinner while querying
- ST_UPDATES: scrollable package list with name / old ver → new ver columns
- ST_UPDATING: pkexec pacman -Syu in background, live log output,
  progress bar estimated from pacman's (N/M) counters
- ST_DONE / ST_ERROR: success or failure screen
- Refresh (r key), scroll (mouse wheel / arrow keys), Close (Esc/q)
- pacman-contrib added to ISO packages

Installer: add STEP_LOCALE (timezone + keyboard layout):
- Inserted between STEP_DISK and STEP_USER
- Timezone pane: searchable filter input + scrollable list of 37 zones
- Keyboard pane: 20 common layouts with code + description
- Timezone and keyboard passed as args 6/7 to orioninstall
- orioninstall: sets /etc/vconsole.conf and X11 xorg.conf.d keyboard
  config from args; uses selected timezone for localtime symlink

Also:
- Right-click menu: "Software Updates" → orionpkg
- Root Makefile: orionpkg target + install rule
- ISO: orionpkg binary installed, permissions map, gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 14:39:00 -04: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