Skip to content

iris-gui: real version in Help menu + fix glyphs that render as boxes#32

Merged
techomancer merged 3 commits into
techomancer:mainfrom
danifunker:upstream-improvements
Jun 10, 2026
Merged

iris-gui: real version in Help menu + fix glyphs that render as boxes#32
techomancer merged 3 commits into
techomancer:mainfrom
danifunker:upstream-improvements

Conversation

@danifunker

Copy link
Copy Markdown
Contributor

No emulation/functional changes — UI text and build metadata only.

1. Show the real version in the Help menu

The Help menu hard-codes CARGO_PKG_VERSION, so every build reports 0.1.0.
This adds iris-gui/build.rs, which bakes a RELEASE_VERSION env var (if set)
into APP_VERSION at compile time, falling back to the crate version with a
-dev suffix for local debug builds.

  • Backward compatible: with RELEASE_VERSION unset, release builds still show
    0.1.0 and debug builds show 0.1.0-dev. No CI change required.
  • If you ever stamp builds with a date/tag, set RELEASE_VERSION and the Help
    menu reflects it automatically.

2. Fix glyphs/arrows that render as empty boxes

A few characters aren't in egui's bundled fonts and show as ☐:

  • on the "Restore state" button → dropped (plain text).
  • (U+2192) in several labels/toasts (serial-log hint, COW-overlay label,
    port-forward "→ guest", PROM-fallback and rename toasts) → replaced with ->.

, , and 💾 do render in the bundled fonts and are kept.

3. .gitignore

Consolidate scsi*.raw/cdrom4.iso into wildcards for the disk-image types the
emulator reads/writes (*.raw *.iso *.chd *.img), and ignore generated outputs
(saves/ snapshot store, screenshot_*.png) plus .DS_Store. .bin is left as
explicit entries since nvram.bin is tracked.

Test plan

  • cargo build -p iris-gui → Help menu shows 0.1.0-dev
  • RELEASE_VERSION=2026-06-09-0200 cargo build --release -p iris-gui → Help menu
    shows 2026-06-09-0200
  • Launch the GUI: toolbar buttons, the Disks/Networking labels, and toasts render
    with no empty boxes.

danifunker and others added 3 commits June 9, 2026 21:44
- Add iris-gui/build.rs to bake RELEASE_VERSION (set by CI) into APP_VERSION
  at compile time, falling back to the Cargo.toml version + "-dev" for local
  debug builds. The Help menu shows APP_VERSION instead of the static
  CARGO_PKG_VERSION.
- Fix glyphs/arrows that render as empty boxes in egui's bundled fonts: drop
  the ↶ on "Restore state" (not in the font) and replace the U+2192 arrow (→)
  with "->" in all user-visible labels and toasts. The ▶ ■ 💾 glyphs do
  render and are kept.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Consolidate scsi*.raw / cdrom4.iso into wildcards for the disk-image
  extensions iris reads/writes: *.raw *.iso *.chd *.img (none are tracked).
- Ignore generated outputs: saves/ (snapshot store written by ci.rs) and
  screenshot_*.png (REX3 auto-screenshots).
- Add prom.bin (PROM dumps) and .DS_Store. Kept as explicit .bin entries
  rather than *.bin since nvram.bin is a tracked file.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
scsi_menu.rs used the U+2192 arrow in "Enable COW overlay (writes → .overlay)",
which renders as an empty box in egui's bundled fonts — same class of fix as
the config_ui.rs / main.rs arrows in this PR; this file was missed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@techomancer techomancer merged commit 0e5134a into techomancer:main Jun 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants