Commit Graph

225 Commits

Author SHA1 Message Date
daniel f7ec6c69d3 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
daniel 4301f39a9e 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
daniel 8eadf19e97 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
daniel 55867c841a 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
daniel f8327c6b8c 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
daniel 743eca2051 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
daniel fdf586305b 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
daniel 95beb8ae1a 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
daniel 02a0cf66ad 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
daniel fcf8ae1e0b feat: add Power GUI app (powermgr) 2026-07-05 11:34:27 +02:00
daniel 35e5aba23f feat: HWP scaling, C1E, closed-loop thermal governor for Intel CPUs 2026-07-05 10:51:11 +02:00
daniel 5363ca5265 feat: add RTL-SDR, R820t drivers, radio APIs, and sdr demo tool 2026-06-22 11:49:16 +02:00
daniel 4c8e1c3591 cleanup: purge unused sysinfo icon field from DesktopState 2026-06-21 14:33:50 +02:00
daniel 576ea2b84d fix: remove inaccurate virtual path (virtual://apps) 2026-06-21 14:29:27 +02:00
daniel e0db67cb79 feat: add btbonds command 2026-06-21 11:16:12 +02:00
daniel 772eaee9f4 feat: introduce bootloader-agnostic Boot Contract, add btlist command to list connected Bluetooth devices 2026-06-20 21:25:24 +02:00
daniel f2aaa39ca6 feat: add proclist command, fix TLS bug, link libc for system programs 2026-06-19 12:03:12 +02:00
daniel ac25a4edd5 feat: add support for console sessions to crashpad and crash handling in kernel 2026-06-18 12:56:29 +02:00
daniel e3c551b9f6 fix: fix off-by-one in tabcompletion module 2026-06-18 12:21:19 +02:00
daniel a96519f8a6 cleanup: const and type hygeine in tabcompletion module 2026-06-18 12:20:25 +02:00
daniel 2ddb704582 fix: fix underflow in tabcompletion module 2026-06-18 12:12:51 +02:00
daniel 580a95348a feat: complete command completion in shell 2026-06-18 07:56:00 +02:00
daniel 0b9ecf0bb0 fix: terminal/klog build fix 2026-06-17 18:24:46 +02:00
daniel 94997c2cda fix: fix Terminal scrolling issue at zoom 2026-06-17 18:10:07 +02:00
daniel 84f200db8b feat: add Console Session mode 2026-06-17 18:00:47 +02:00
daniel b922207f04 feat: add cwd file matching to shell tab completion 2026-06-17 07:58:41 +02:00
daniel 4261212913 feat: add support for shell builtins to command completion 2026-06-16 18:41:56 +02:00
daniel f616bf6a86 fix: ensure tab completion is not reliant on single-digit volume number 2026-06-16 14:54:49 +02:00
daniel 248afb844c fix: shell tab completion - ensure loop continues if file with non-.elf extension is encountered 2026-06-16 14:37:58 +02:00
daniel 3b87ab5ec5 feat: add rudimentary tab completion for executables to shell 2026-06-16 14:02:46 +02:00
daniel e3dc1e881d cleanup: namespace Montauk (capital M) => montauk::abi 2026-06-16 09:09:16 +02:00
daniel b091af7653 feat: allow MAC spoofing in Bluetooth stack, show paired devices in Bluetooth app 2026-06-16 08:49:06 +02:00
daniel ee660a64f9 fix: fix scrolling cutoff for last entry in devexplorer 2026-06-13 17:13:15 +02:00
daniel dff5a4a4b1 fix: fix UI issues in Files app dialogs 2026-06-07 10:56:43 +02:00
daniel 0642d930df fix: adjust copyright messages for accuracy to license 2026-06-07 09:34:30 +02:00
daniel 3d620673c0 feat: filesystem and Files app support for >64 file entries, 64-bit sizes, async ops, GUI toolkit improvements to devexplorer app 2026-06-07 09:33:46 +02:00
daniel 6554ef7e15 fix: fix Bluetooth shutdown delay with no active connections 2026-06-06 18:46:35 +02:00
daniel cee21738ee feat: disconnect Bluetooth devices, flush disks on shutdown/reboot, display progress in login.elf window 2026-06-06 18:27:19 +02:00
daniel b51ab42eb9 feat: use MTK toolkit widgets in login.elf, improve login.elf draw performance 2026-06-06 17:32:57 +02:00
daniel c27516b8fd feat: Word Processor discovers fonts automatically (via 0:/fonts), UI fix 2026-06-06 10:12:11 +02:00
daniel df204cc15a feat: libdialogs GUI tweaks 2026-06-05 19:29:21 +02:00
daniel 6b44b3ccc9 feat: extend Files app marquee selection and highlight to list view 2026-06-04 07:47:42 +02:00
daniel c4e610991f feat: add build numbering 2026-05-30 10:22:40 +02:00
daniel 19b255d730 fix: delete redundant 0:/common directory, remove dead 0:/home fallback in Music and Video apps 2026-05-28 20:41:16 +02:00
daniel e0778c1b2c feat: rename desktop-applets.toml => config-applets.toml 2026-05-28 20:01:51 +02:00
daniel 90788e842f fix: fix VFS Delete op for Ramdisk driver 2026-05-27 18:06:27 +02:00
daniel f2ca3956b0 feat: add Files app selection marquee, Properties dialog for multiple files 2026-05-26 18:27:31 +02:00
daniel c1d3d05c34 feat: add scroll bar to Music app 2026-05-26 14:40:24 +02:00
daniel 60c1e6858a feat: add scroll bar to Time Zone countries list 2026-05-26 13:58:12 +02:00
daniel f2dd09265e fix: fix list alignment when ident options used in Word Procesor 2026-05-26 13:24:51 +02:00