376 Commits

Author SHA1 Message Date
Mitchell Hashimoto
6307162e49 small comment changes 2024-05-17 16:46:30 -04:00
Qwerasd
4d67f660a4 fix(renderer/Metal): dirty track link highlights
Partial fix for link highlight dirty tracking. Some issues remain with
soft-wrapped links (see TODO in code), as well as pressing cmd while
hovering without moving the mouse at all doesn't highlight until you do
move the mouse for some reason.
2024-05-12 18:46:32 -04:00
Qwerasd
ac5725d582 fix(renderer): rebuild font grid and reset shaper cache on hot reload
When hot reloading config with a new font, shaper cache data needs to be
invalidated and the font grid needs to be rebuilt. This change just
makes that happen on all config reloads since it's a rare action so it's
not a performance concern.
2024-05-10 09:39:07 -07:00
Qwerasd
575a477be5 cast dpi to int again
forgot to change this back when I reverted the dpi from f32 to u16
2024-05-09 00:03:40 -04:00
Qwerasd
9056771509 keep font size in sane range 2024-05-09 00:03:40 -04:00
Qwerasd
d4a7549222 feat(font): Non-integer point sizes
Allows for high dpi displays to get odd numbered pixel sizes, for
example, 13.5pt @ 2px/pt for 27px font. This implementation performs
all the sizing calculations with f32, rounding to the nearest pixel
size when it comes to rendering. In the future this can be enhanced
by adding fractional scaling to support fractional pixel sizes.
2024-05-09 00:03:40 -04:00
Mitchell Hashimoto
0335b0eada core: preedit modification sets full screen dirty
Fixes #1735
2024-05-07 19:19:58 -07:00
Mitchell Hashimoto
e31e25f54d apprt/embedded: add draw now API 2024-05-04 14:49:49 -07:00
Mitchell Hashimoto
506ba854fa core: font size changes work 2024-04-06 19:33:49 -07:00
Mitchell Hashimoto
f51dad445f core: add todo for next time 2024-04-06 10:56:21 -07:00
Mitchell Hashimoto
b8d11e57c9 renderer/Metal: change font size works again 2024-04-06 10:55:58 -07:00
Mitchell Hashimoto
b9efd83798 font: SharedGridSet uses DerivedConfig 2024-04-06 10:37:26 -07:00
Mitchell Hashimoto
04e0cd29e5 core: begin converting to SharedGridSet, renderers still broken 2024-04-05 15:25:45 -07:00
Mitchell Hashimoto
5de88fe3f8 core: deref the font group when not used 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
6d7053a1ad core: convert surface/app to use GroupCacheSet 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
2a386daa19 font: GroupCacheSet.Key has metric modifiers 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
9d8da8fcc7 font: CodepointMap hashable, use for groupcacheset 2024-04-05 09:29:40 -07:00
Mitchell Hashimoto
bfcd5f380a font: introduce GroupCacheSet, use it for descriptors to start 2024-04-05 09:29:40 -07:00
Qwerasd
624ebb5b51 fix(inspector): cell picker in scrollback
Previously cell picking only worked correctly in the active area, not when scrolled in to scrollback.
2024-04-04 20:39:39 -04:00
Mitchell Hashimoto
5664c3e3c9 core: enable link hovering 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
bca51ee771 terminal: selectionString takes a struct for opts 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
2de86ce500 core: converting more to new screen state 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
f4fa54984c terminal: selectLine can disable whitespace/sem prompt splitting 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
172d62ca12 inspector: get mouse points working 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
9015b7548f inspector: support cell pinning again 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
935063d892 core: scroll to selection working 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
1527936f90 core: only adjust selection on keypress 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
d805fdd672 core: mouse untracks pin in right screen 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
3e247baef7 core: write scrollback file works again 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
1cdeacea34 core: remove incorrect std.meta.eql on selection 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
e018059a5d core: re-enable click to move cursor 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
6de661b9d1 core: remove completed todos 2024-03-22 20:27:56 -07:00
Mitchell Hashimoto
edc0864f32 core: drag triple click 2024-03-22 20:27:56 -07:00
Mitchell Hashimoto
4d0f210025 core: double-click drag 2024-03-22 20:27:56 -07:00
Mitchell Hashimoto
361fdd2179 core: checkResetSelSwitch converted 2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
4254dc9eef core: single click selection is on the way 2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
8ccc30da10 core: surface now tracks left click pin 2024-03-22 20:27:55 -07:00
Mitchell Hashimoto
21f09a9159 remove point.Viewport 2024-03-22 20:27:52 -07:00
Mitchell Hashimoto
d966e74f45 core: surface compiles 2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
9b4ab0e209 zig build test with renamed terminal package 2024-03-22 20:27:44 -07:00
Mitchell Hashimoto
c86ae79d52 core: reset left click count if mouse reporting goes on 2024-03-20 15:58:16 -07:00
Tim Culverhouse
806b33f8f2 mouse: handle switch case '0' for left_click_count
A state of '0' if a valid state for the mouse click. I'm unsure *how* we
get a 0 within this branch but I was able to reliably trigger it while
clicking and dragging. We handle the state explicitly because the `else`
prong is `unreachable`. We only handle triple clicks, and in another
function we reset to 3 if the count goes above that. Add an assert to
confirm this is the case.
2024-03-20 10:57:52 -05:00
Mitchell Hashimoto
08f88a0c86 core: remove undefined access on variable
It was possible if there was no selection for `reset` to be undefined.
2024-03-10 17:29:54 -07:00
ProfOak
96daf97d19 Add keybind support for shift+insert selection paste 2024-02-21 19:33:05 -06:00
Mitchell Hashimoto
e1908f7cc7 renderer: handle renderer pause/redraw on occlusion 2024-02-13 09:21:04 -08:00
Mitchell Hashimoto
e95b1707c1 core: fallback to heap allocation for long preedit inputs
Fixes #1514

We previously required all preedit inputs to fit into the small copied
message size. That's true for 99% of all inputs, but if a long pre-edit
input comes in, this may not be true. We should try the small array
fast-path but fall back to heap allocation if we must.
2024-02-12 21:21:35 -08:00
Mitchell Hashimoto
be0595d71d apprt/embedded: add occlusion state callback 2024-02-12 13:48:09 -08:00
Erlend Lind Madsen
928d338c2b preeditCallback(self): remove fast path codepoint width 2024-02-09 21:44:54 +01:00
Erlend Lind Madsen
cf0d498e75 replace ziglyph codePointWidth -> table.get 2024-02-09 20:04:51 +01:00
Mitchell Hashimoto
f414787779 move SplitDirection to apprt 2024-02-04 20:42:42 -08:00