Skip to content

v1.1.4

Choose a tag to compare

@github-actions github-actions released this 16 Sep 01:26
· 13 commits to main since this release

UI fixes

Reported from screenshots of the running app — the Theme and Random tabs, plus a Gallery layout bug found along the way.

Checkboxes and radio buttons rendered as white squares

ttk's clam theme silently ignores indicatorcolor, so every checkbox drew as a white square with an X in it (and every radio as a white square with a dot), pressed right up against its label.

All five toggles are now canvas-drawn: accent-red fill with a proper white tick or centre dot, a real gap before the text, a hover edge, a focus ring, and space/Return activation. The dead ttk style blocks are gone.

Theme tab — labels were clipped and overlapped

The colour labels used width=24 (~192px) but GPU Driver / Memory / Disks measures 216px, so it overran and was overdrawn by the colour swatch next to it. All seven rows now share a single grid, so every swatch, hex field and Pick button lines up on one column.

Also restructured into titled bordered panels, moved Options into the right-hand column, and gave the profile snippet the full width — its second line is 63 characters and was being clipped in the narrow column. The Copy button now sits beside the code instead of under it.

The Theme tab was also silently cutting off its own contents. Tab pages are place(relheight=1) overlays, so anything taller than the card is clipped with no error and no scrollbar. The tab had grown to 530px against a 454px viewport, which pushed the profile snippet and the entire button row off the bottom. It's now 447px and fits, with the button row pinned and the controls scrollable as a safety net.

Random tab — the file list was dark-on-dark

A borderless text widget on the panel background, using hand-counted spaces to fake columns. Now a bordered panel with a real three-column grid: accent bullet, monospace path, muted description.

Gallery tab — staggered thumbnails

Cells in a row did not share a baseline. Thumbnails preserve the source aspect ratio, so a wide logo produced a 170×97 label while a tall portrait produced a 105×170 one, and Tk centred each shorter cell vertically in its row. Every thumbnail now sits in a fixed 170×170 box that carries the selection ring, and cells are top-aligned in their rows.

Smaller things

  • The ... colour-picker button (a dot-leader artifact) is now a labelled Pick button, and the swatch itself is clickable
  • Removed a duplicate status() method definition
  • Replaced hardcoded #e04a3f UI fallbacks with the ACCENT constant
  • Added FONT_MONO and THUMB_PX constants for previously inline literals
  • Generalized the gallery's wheel-scroll canvas so each tab scrolls only its own content

Verification

  • 16/16 widget assertions: exactly 1 theme + 4 random toggles, zero leftover ttk toggles, checkbox flips and persists state, radios mutually exclusive, all colour entries share one x-offset, snippet's longest line needs 413px in a 1192px box
  • Gallery regression test: uniform 170×170 footprint, row 0 cell tops all 8px and row 1 all 232px, click-to-select recolours the ring to accent while others stay bordered
  • Height budget measured at 880×720, 1080×669 and 760×620
  • --selftest passes: 8 themes + 5 sixels + launcher, sixel round-trip 44,799/44,799 with 0 mismatched

Full Changelog: v1.1.3...v1.1.4