SchOS/tools
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz dee3affa3b Boot manager: Niveus window, keys and wells, Instrument Sans, pointer, other systems, working power entries
The F8 menu is redrawn in the Niveus language: a window with three lights,
bevelled keys with a lit edge, wells for panels, anti-aliased corners and a
soft shadow, set in Instrument Sans rasterised into include/gfx/nvfont.h
(tools/python/mknvfont.py, make nvfont). Scale doubles on screens 1400 px tall
or more. Lists taller than the screen scroll.

The keyboard still drives everything, and a mouse, touchpad or tablet does
too: both UEFI pointer protocols are polled, hover moves the highlight, a
click activates. The cursor stays hidden until the pointer has really done
something, since the firmware installs a pointer protocol with or without a
mouse. The 'keep this resolution?' countdown is one ten-second budget however
many times the pointer moves.

Loaders found at well-known paths on any volume (Windows, Ubuntu, Debian,
Fedora, Arch, openSUSE, systemd-boot, rEFInd, other BOOTX64.EFI) are listed
and chain-loaded with LoadImage/StartImage. 'Reboot to firmware' used to halt;
it now sets OsIndications and restarts, and Restart and Shut Down call
ResetSystem.

Checked under QEMU+OVMF: menu, resolution list (incl. 2560x1600 at double
scale), system information, shut down, firmware setup, chain-loading a copy of
the loader from a second disk, and a full boot of the ISO to the login prompt.
Pointer hover and click were checked only with synthetic events: in this setup
a USB mouse or tablet delivered no event to the loader (one USB I/O handle
appeared but no pointer protocol came from it), and why was not established.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVRhxi9zpdW2uDUN4FVcao
2026-10-26 15:31:39 +01:00
..
posix Users and permissions: accounts, login, enforced file permissions, setuid, su, passwd, doas 2026-10-26 13:16:07 +01:00
python Boot manager: Niveus window, keys and wells, Instrument Sans, pointer, other systems, working power entries 2026-10-26 15:31:39 +01:00
windows X on the console: /dev/tty0, a palette, and startx that works 2026-10-24 19:44:10 +02:00
fix-includes.py include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
kmemtest.c kmem: a slab allocator, and what the fixed tables actually cost 2026-09-22 09:32:06 +02:00
ksyms.pl include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
mkfs.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
mkscff.c SCFF: the live root ships compressed, with Xorg and Window Maker 2026-10-24 21:17:31 +02:00
mkschfs.c Users and permissions: accounts, login, enforced file permissions, setuid, su, passwd, doas 2026-10-26 13:16:07 +01:00
pr.pl Initial commit: Schunix as it stands before the SchOS rename 2026-08-09 13:47:01 +02:00
qrtest.c qr: every version, 1 to 40 2026-10-25 00:43:36 +02:00
schfs_fsck.c schfs: commit every 5 s, survive a full disk, mount up to 64 TiB 2026-10-23 12:20:05 +02:00
schfs_objtest.c schfs: commit every 5 s, survive a full disk, mount up to 64 TiB 2026-10-23 12:20:05 +02:00
schfs_test.c schfs: commit every 5 s, survive a full disk, mount up to 64 TiB 2026-10-23 12:20:05 +02:00
ttftest.c font: the console draws outlines now, and a byte could not have held Ą 2026-09-20 00:35:34 +02:00
vectors.pl Initial commit: Schunix as it stands before the SchOS rename 2026-08-09 13:47:01 +02:00
wallpapers.py branding: four skeuomorphic wallpapers; the old art goes 2026-10-23 15:51:29 +02:00