Skip to content

osXos v0.1.1

Choose a tag to compare

@fezcode fezcode released this 20 Sep 03:30
· 7 commits to main since this release

osXos v0.1.1

Four bugs reported against 0.1.0, all fixed, plus the groundwork for tools that will need administrator rights.

✨ Button icons are visible again

The chevron on Continue and the checkmark on Save Settings were painting in the button's own fill colour — not dim, invisible. A PathIcon does not inherit its button's foreground: Avalonia's control theme gives it an explicit one, and explicit beats inherited. Every button class that sets a foreground now sets its icon ink too.

✨ No more freeze on a large folder

Opening Empty Temp Folder on a temp directory holding 40,647 entries froze the window, and scrolling it afterwards was unusable.

The scan was never the problem — that already ran off the UI thread. The found-list was an ItemsControl inside a ScrollViewer, which hands it infinite height, so it built all 40,000 rows at once and blocked the dispatcher mid-layout. That is why the frozen frame still said "Inspecting…".

  • The list virtualises now, with fixed-height rows so the scroll extent can be estimated and long paths trimmed rather than wrapped.
  • Row projection moved off the UI thread as well.
  • FileSweep takes a cancellation token, so closing the window actually stops a long walk instead of leaving it grinding in the background.

Measured with 40,000 rows: ready in ~750 ms off-thread, window rendered in ~670 ms, smooth scrolling.

✨ Runs report progress

Pressing Run and watching nothing happen for thousands of files was indistinguishable from a hang. The Review summary now becomes a live progress bar with a count and the current file — 16,284 of 40,647 — wctA479.tmp — and Back and Run disable while it works. Tools whose work cannot be counted show an indeterminate bar rather than a fake percentage.

✨ Hisashi menubar no longer says osXos twice

Hisashi draws the application's name itself, so a first menu also called osXos produced a menubar reading osXos osXos Tools View Help. It is File on Windows and Linux now, with About moved to Help where it belongs. macOS keeps the app-named first menu, because there the first submenu becomes the application menu.

✨ Elevation groundwork

Some tools will need administrator rights. The plumbing is in place for them:

  • IElevationService elevates one named command — runas on Windows, an AppleScript authorisation prompt on macOS, pkexec on Linux. osXos never relaunches itself as administrator, so the window, your settings and every other tool stay at normal rights.
  • A tool declares that it needs rights, or a preview declares that this particular run does. The Review stage then names the prompt the OS is about to show, before it shows it.
  • The category header states the fact rather than a slogan.

No tool shipped today needs elevation, and a test enforces that. The README and About panel no longer promise there will never be a prompt, because one day there will be.

✨ New wordmark

The sidebar and About lockup are set in Exo, with the X picked out in the accent — the same angular geometry the app mark draws.

📦 Downloads

Platform Asset
Windows x64 osXos-Setup-0.1.1.exe
macOS Apple Silicon osXos-0.1.1-osx-arm64.tar.gz
macOS Intel osXos-0.1.1-osx-x64.tar.gz
Linux x64 osXos-0.1.1-linux-x64.tar.gz

⚠️ What has actually been verified

  • Windows — the icon fix, the 40k-row list and the progress bar were all measured on Windows 11, the last two against a real 40,647-entry temp folder.
  • macOS and Linux — cross-compiled and packaged, still never run on their own systems.
  • The menu bar — the File/osXos split is unit-tested and the native menu is built for real, but it has still not been seen in a macOS menu bar or a Linux global menu. The Hisashi fix is from your screenshot, not from a running Hisashi here.
  • Elevation — plumbed and unit-tested for the commands it builds; no prompt has been raised on any platform, because nothing calls it yet.

164 tests pass, up from 141.