32819ff952
fix(gui): gui mouse button mapping should match tui
2026-04-07 21:57:16 +02:00
d077f80d05
Merge branch 'terminal' into wio-sokol-gui
2026-04-07 21:52:12 +02:00
74c18a55ef
build: rework release build system to support gui targets
2026-04-07 21:52:09 +02:00
97558ad621
fix(gui): default to .beam cursor in gui until idle rendering is more efficient
2026-04-07 21:52:09 +02:00
cf496c881c
feat(gui): generate focus_in/_out events from wio app
2026-04-07 21:52:09 +02:00
4766673ead
fix(terminal): don't error when re-opening existing terminal
2026-04-07 21:51:02 +02:00
32ed60bc64
fix(win32): fix d3d11 gui build
2026-04-07 16:26:49 +02:00
1c1886defc
feat(gui): add gui cursor blink rendering
2026-04-07 16:17:35 +02:00
546cf1f6dc
feat(gui): add gui cursor rendering
2026-04-07 15:28:47 +02:00
b0d32f3581
refactor(tui): centralize native cursor check in has_native_cursor()
2026-04-07 11:30:37 +02:00
908f780605
fix(gui): renderer.vaxis must be pub for terminal
2026-04-03 22:45:58 +02:00
0564673946
Merge branch 'terminal' into wio-sokol-gui
2026-04-03 22:43:14 +02:00
1937831df5
Merge branch 'master' into terminal
2026-04-03 22:42:37 +02:00
d3aa7e17f5
feat(gui): add freetype rasterizer backend
2026-04-03 22:39:40 +02:00
51753cc87a
feat: add restore_last_cursor_position_exclusions config option
...
Defaults to just COMMIT_EDITMSG
2026-04-03 18:06:03 +02:00
1901696b7b
fix(gui): rounded box drawing improvements (wip)
2026-04-03 16:46:10 +02:00
4ef923cf0a
fix(gui): typo in SW corner octant codepoint number
2026-04-03 12:07:11 +02:00
4dba57ebab
feat(gui): add geometric rendering of more box and line drawing symbols
2026-04-03 12:06:09 +02:00
4d15884402
fix(gui): render block drawing glyphs with no anti aliasing
2026-04-01 14:40:23 +02:00
6954983d40
fix(gui): prevent crash on very small font sizes
2026-04-01 13:31:00 +02:00
6292000ada
feat(gui): implement gui loadConfig and saveConfig
2026-04-01 13:16:37 +02:00
091345fd02
fix(gui): fix resize crash
2026-04-01 11:14:15 +02:00
4ca31b0f75
feat(gui): implement get_fontfaces
2026-04-01 11:13:39 +02:00
6faea2ef02
refactor(gui): improve hidpi scaling support
2026-04-01 10:39:20 +02:00
f484ea0b57
fix(gui): add pixel offsets to scroll events
2026-04-01 10:10:18 +02:00
45db14f894
refactor(gui): clean-up pixel to cell coordinate conversions
2026-04-01 10:08:35 +02:00
ce85a73063
fix(gui): implement horizontal scrolling
2026-04-01 10:08:04 +02:00
b3e1f22aa3
Merge branch 'master' into wio-sokol-gui
2026-03-31 22:37:16 +02:00
0ff9a9c522
fix: add non-conflicting keybinds for font size adjustment
2026-03-31 22:34:50 +02:00
fab38872ee
fix(gui): calculate cell size from full block glyph bounding box
2026-03-31 22:34:20 +02:00
cf7fc6af54
fix: allow loading custom theme files up to 512Kb in size
...
closes #544
2026-03-31 20:58:54 +02:00
310221bb26
feat: support adding entirely new themes via the config
2026-03-31 20:58:00 +02:00
d53d155c6d
feat: add V language support
...
closes #509
2026-03-31 14:03:18 +02:00
Paul Graydon
ce7cc48a72
feat: [vim] Add bracket textobject actions
2026-03-31 10:07:55 +02:00
Paul Graydon
ba840b72e0
feat: [vim] Add word textobject actions
2026-03-31 10:07:55 +02:00
a8437d6139
feat(themes): add Kanso theme (zen, ink, mist, pearl variants)
2026-03-31 09:52:31 +02:00
50d9773956
fix(gui): only encode shifted codepoints if shift is active
2026-03-30 21:57:50 +02:00
932b640271
fix(gui): fix encoding of base and shifted key codes
2026-03-30 21:37:31 +02:00
6784797078
fix(gui): drop button press events if we also have text input
2026-03-30 21:26:20 +02:00
b1b50b7ff0
feat(gui): clipboard, title, cursor, attention
2026-03-30 21:17:27 +02:00
273be78055
fix(gui): fix shutdown hang
2026-03-30 20:58:52 +02:00
875c42ad9e
fix(gui): map keys to vaxis Key constants
2026-03-30 20:54:34 +02:00
c353c92bc3
fix(gui): map uppercase/shifted codepoints when *only* the shift modifer is set
2026-03-30 20:46:59 +02:00
0a9842f34d
fix(gui): correct dispatching of mouse dragging events
2026-03-30 20:40:39 +02:00
9b0f40f155
fix(gui): don't map control characters
2026-03-30 20:32:39 +02:00
a9efe0ca4c
fix(gui): eliminate row clipping at top of window
2026-03-30 20:28:09 +02:00
7fc2113b8a
feat(gui): implement double-wide glyph support
2026-03-30 19:56:54 +02:00
4291ccf2c5
fix(gui): resolve crashes and glyph rendering bugs from M3 smoke test
2026-03-30 00:27:24 +02:00
996e6714ba
fix(gui): shader build
2026-03-29 20:01:45 +02:00
ae0f62c3bf
feat(gui): M3 - TrueType rasterizer with fontconfig font discovery
...
Replace the M2 stub rasterizer with a real font rasterizer:
- build.zig.zon: add TrueType as a lazy path dependency
- build.zig: swap stub_rasterizer_mod for truetype_rasterizer_mod; link
fontconfig + libc on Linux; TrueType dep is lazy (falls back gracefully)
- src/gui/rasterizer/truetype.zig: andrewrk/TrueType rasterizer; loadFont
uses fontconfig to locate the font file, derives cell dimensions from
vertical metrics (ascent−descent) and 'M' advance width; render blits the
A8 glyph bitmap into the caller-provided staging buffer with correct
baseline placement (ascent_px + off_y) and double-wide support (+cell_w
x-offset for kind=.right); arena allocator per render call
- src/gui/rasterizer/font_finder.zig: OS dispatcher (Linux only for now)
- src/gui/rasterizer/font_finder/linux.zig: fontconfig C API - FcFontMatch
resolves a font name pattern to an absolute file path
Requires: libfontconfig-dev (already present alongside libgl-dev etc.)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 19:33:24 +02:00