Commit Graph
10 Commits
Author SHA1 Message Date
daniel 78494cb072 feat: add header dependency tracking for programs 2026-07-08 10:24:21 +02:00
danielandClaude Opus 4.8 45feef596f feat: enlarge and vertically center charmap footer text
Bump the selected character's name (16->19) and metadata (14->15) sizes, and
lay them out as a two-line block vertically centered on the preview glyph box
instead of top-aligned.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 21:26:29 +02:00
danielandClaude Opus 4.8 69100df8ac fix: grey out the charmap Copy button while showing "Copied"
Render the button in its disabled state during the post-copy confirmation
window, matching the Bluetooth app's greyed-out "Scanning..." button.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 21:24:27 +02:00
danielandClaude Opus 4.8 4c5c0fc96f fix: confirm copy via the button label instead of status text
Instead of a separate "Copied to clipboard" line beside the Copy button, flip
the button's own label to "Copied" for ~1.6s after a copy, then back to "Copy".
Simpler and keeps the footer uncluttered.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 21:21:51 +02:00
danielandClaude Opus 4.8 d1bca65cc7 fix: native Copy button and copy confirmation in charmap
The hand-rolled Copy button (bold, custom-shaded accent fill) and the floating
accent "toast" pill both looked out of place. Replace the button with the
canonical mtk::draw_button (BUTTON_PRIMARY), matching the Refresh button in
Devices and buttons elsewhere. Replace the floating pill with a plain
"Copied to clipboard" status line in the footer, right-aligned beside the Copy
button, that fades after ~1.6s — no overlay drawn over the character grid.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 21:18:44 +02:00
danielandClaude Opus 4.8 72e6e870b0 fix: make charmap scrollbar hug the panel edge
The scrollbar was placed inside the padded tile grid, leaving a gap above it
(below the tabs) and beside it (before the window edge). Give the scrollbar
its own viewport spanning the full panel between the tabs and footer, flush to
the right window edge, like the Devices/Music apps. The tile grid keeps its
margins and simply reserves the scrollbar width plus a gap on its right.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 21:13:30 +02:00
danielandClaude Opus 4.8 96cf44785f feat: use the shared mtk scrollbar in charmap
Replace charmap's hand-drawn scrollbar with the mtk scrollbar widgets
(scrollbar_track_rect / scrollbar_thumb_rect / draw_scrollbar), matching the
Devices and Music apps: standard 12px track colored SCROLLBAR_BG/FG with a
draggable thumb. Adds thumb drag, track-click-to-jump, and hover highlight
(mirroring devexplorer's handling); the tile grid reserves an SB_GUTTER on the
right sized from mtk::SCROLLBAR_W. The bar auto-hides when the set fits.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 21:07:19 +02:00
danielandClaude Opus 4.8 75fefa92d8 feat: use the shared mtk tab bar for charmap's top tabs
Replace charmap's bespoke tab drawing/hit-testing with mtk::draw_tab_bar /
mtk::hit_tab_bar so the top tabs match the canonical MontaukOS style used by
the Desktop Settings panel: a surface-colored bar with a bottom border, the
active tab cut out in window_bg with a 3px accent underline, active label in
accent and inactive labels in text_subtle. Tab height is now 36 (theme.tab_h).
Drops the custom hover tint (the canonical style has none).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 21:01:51 +02:00
danielandClaude Opus 4.8 0d67c5b8f7 feat: remove charmap in-window header, float the copy toast
The top header bar duplicated the window-manager title bar. Drop it: tabs
now sit at the top of the content area (window shrinks by the header's
height). The "Copied" confirmation moves from the header to a floating
accent toast anchored to the lower-right of the grid, drawn last.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 20:54:37 +02:00
danielandClaude Opus 4.8 a513e2708d feat: add Character Map (charmap) MTK app
A standalone Window Server app for browsing curated sets of characters
and copying them to the clipboard for pasting into other apps.

- Four sets (Latin, Punctuation, Currency, Symbols) shown as a responsive,
  scrollable tile grid with category tabs, a live preview/detail footer,
  and a Copy button.
- Click a tile (or use arrow keys + Enter/Space) to select and copy; a
  transient toast confirms the copy. Mouse wheel scrolls; Tab cycles sets.
- Styled with the MTK theme (accent, surfaces, rounded tiles) to match the
  other Montauk apps, modeled on the calculator app.

The character set is deliberately the single-byte Windows-1252 range the
system font can render (the glyph cache only holds codepoints 0-255).
Copying writes the raw byte, so glyphs render identically here and in every
other single-byte-text Montauk app (copying UTF-8 would render as mojibake).

Registered in programs/GNUmakefile and scripts/install_apps.sh alongside
calculator; menu category "Applications", icon accessories-character-map.svg.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 18:07:23 +02:00