4478 Commits

Author SHA1 Message Date
Mitchell Hashimoto
43554c1b64 font: remove old logging 2023-06-22 16:07:43 -07:00
Mitchell Hashimoto
e810a7bf91 font: fix double underline drawing with very low underline positions 2023-06-22 16:07:10 -07:00
Mitchell Hashimoto
cfb8108279 font: curly underline has a minimum wave height
This fixes rendering issues with some fonts where the underline position
is too close to the bottom of the cell causing a very shallow curl.
2023-06-22 16:01:00 -07:00
Mitchell Hashimoto
86705a181a finalize comments 2023-06-20 09:40:50 -07:00
Mitchell Hashimoto
1c2451b532 renderer: render underline color if set 2023-06-20 09:39:52 -07:00
Mitchell Hashimoto
860209e968 terminal: track underline color on cell 2023-06-20 09:37:58 -07:00
Mitchell Hashimoto
b9bc61c0a4 terminal: parse underline color sequences (but do not handle yet) 2023-06-20 09:34:29 -07:00
Mitchell Hashimoto
28a22fc07f various tests to ensure we parse curly underlines correctly 2023-06-20 09:24:07 -07:00
Mitchell Hashimoto
01de38b20d font: if CoreText needs to allocate, stack allocate and log 2023-05-31 22:03:27 -07:00
Mitchell Hashimoto
f31d6fb8fe apprt: clean up how apprt initializes surfaces 2023-05-31 21:08:50 -07:00
Mitchell Hashimoto
0fca74c089 apprt/glfw: inherit working dir 2023-05-31 19:18:55 -07:00
Mitchell Hashimoto
866de88ee6 termio/exec: check cwd validity 2023-05-31 19:17:08 -07:00
Mitchell Hashimoto
553e09eff9 apprt/embedded: new surfaces inherit last focused 2023-05-31 19:12:01 -07:00
Mitchell Hashimoto
a158813a3d app keeps track of last focused surface 2023-05-31 18:59:40 -07:00
Mitchell Hashimoto
e59b2f7fca terminal: track pwd reported via OSC 7 2023-05-31 18:54:24 -07:00
Mitchell Hashimoto
b538072972 terminal: osc 7 parsing 2023-05-31 17:32:06 -07:00
Mitchell Hashimoto
e26cb46f4a terminal: tests for semantic prompt on resize 2023-05-31 16:20:30 -07:00
Mitchell Hashimoto
414f2e52a5 terminal: semantic prompt aware resize 2023-05-31 16:16:00 -07:00
Mitchell Hashimoto
283c94f874 terminal: parse OSC 133 A redraw like kitty 2023-05-31 15:39:54 -07:00
Thorsten Ball
1d772d1717 Handle non-printable characters when ctrl is pressed
This extends the list of characters we convert to non-printable
characters when control is pressed by adding `backslash`,
`left_bracket`, `right_bracket` to the list.

This is based on the "Legacy `ctrl` mapping of ASCII keys" section in
the Kitty documentation [0]. That page also links to the VT100
documentation [1] that contains Table 3-5, which shows the same mappings
at the Kitty documentation.

I started out wanting to add only `left_bracket` because I very often
use ctrl+[ to escape insert mode in Vim (it maps to escape), but then
added `backslash`, `right_bracket` too because they're next in the list
and having `ctrl+right_bracket` mapped also makes it work in Vim as the
default go-to-def combination.

Why not complete the whole table? Some keys aren't yet handled in
`input.zig`, such as `circumflex` (not defined), and mitchellh said that
it'd require more elaborate handling of different keyboard layouts. So
instead of adding something that might be wrong, I tried to add what I
knew (and tested) to work.

[0]: https://sw.kovidgoyal.net/kitty/keyboard-protocol/#legacy-ctrl-mapping-of-ascii-keys
[1]: https://vt100.net/docs/vt100-ug/chapter3.html
2023-05-31 06:24:19 +02:00
Mitchell Hashimoto
7116ce0806 update zig version 2023-05-29 08:24:12 -07:00
Mitchell Hashimoto
5acf7eb8fd apprt/embedded: clipboard value can be null 2023-05-28 10:20:59 -07:00
Mitchell Hashimoto
56928b926a terminal: don't log semantic prompt marks 2023-05-27 16:55:19 -07:00
Mitchell Hashimoto
7b651627d5 core: surface confirm close logic updated to handle semantic prompts 2023-05-27 16:00:35 -07:00
Mitchell Hashimoto
de00892f8e termio/exec: handle semantic prompt events 2023-05-27 15:48:31 -07:00
Mitchell Hashimoto
4047a90555 terminal: track semantic prompt metadata per row 2023-05-27 15:45:51 -07:00
Mitchell Hashimoto
77dcc10f80 linux: fit gtk/flatpak builds 2023-05-27 10:01:20 -07:00
Mitchell Hashimoto
8b22918783 Merge pull request #145 from mitchellh/cursor-invert
renderer: do not draw cursor cell inversion if we don't draw the cursor
2023-05-25 22:00:06 -07:00
Mitchell Hashimoto
80402b655c update zig 2023-05-25 21:47:05 -07:00
Mitchell Hashimoto
1d14b121c0 renderer: do not draw cursor cell inversion if we don't draw the cursor
We previously used the "screen.viewportIsBottom" check but this is
always true since awhile back since we copy only the viewport now. A
cleaner check really is that we only track the cursor cell if we're even
drawing the cursor.
2023-05-25 21:41:43 -07:00
Mitchell Hashimoto
b196e43ee4 fix some issues for future Zig update 2023-05-19 08:34:07 -07:00
Mitchell Hashimoto
97d9157d22 update zig version 2023-05-07 20:50:51 -07:00
Jack Pearkes
3c49ece069 pass through confirm close config in surface 2023-04-05 13:15:34 -07:00
Jack Pearkes
5aa3514122 config: add confirm-close-surface 2023-04-05 12:49:03 -07:00
Mitchell Hashimoto
d856aba84c selection toViewport point should extend to end of last row
Fixes #138
2023-03-28 09:30:47 -07:00
Mitchell Hashimoto
f5269df68f apprt/glfw: quit cleans up resources properly 2023-03-27 10:47:54 -07:00
Mitchell Hashimoto
69aaab50eb apprt/gtk: quit confirmation window 2023-03-27 10:45:27 -07:00
Mitchell Hashimoto
59f42f50a4 apprt/gtk: window close confirmation 2023-03-27 10:41:30 -07:00
Mitchell Hashimoto
4d29f028c6 apprt/gtk: close tab button will show confirmation properly 2023-03-27 10:35:49 -07:00
Mitchell Hashimoto
16244d0dab apprt/gtk: close keybind doesn't leak memory 2023-03-27 10:24:01 -07:00
Mitchell Hashimoto
f36a35ecc9 core: quit flag is reset after tick 2023-03-27 10:10:06 -07:00
Mitchell Hashimoto
4d41b3ff54 Merge pull request #134 from mitchellh/gtk-confirm
gtk, macos: show confirmation dialog on surface close with active child process
2023-03-26 10:59:09 -07:00
Mitchell Hashimoto
bc9973d37f apprt/gtk: set proper defaults to confirmation dialog 2023-03-25 16:45:17 -07:00
Mitchell Hashimoto
86c4a8ed7d apprt/embedded: support new process alive callback on close 2023-03-25 16:41:18 -07:00
Mitchell Hashimoto
3689f1fe39 apprt/gtk: only show exit confirmation if process is alive 2023-03-25 16:36:12 -07:00
Mitchell Hashimoto
2c0dbab7ba apprt/gtk: always confirm when surface is closed 2023-03-25 16:26:30 -07:00
Mitchell Hashimoto
1c587759a0 apprt/gtk: fix key callback 2023-03-25 15:45:15 -07:00
Mitchell Hashimoto
decaee61b2 apprt/embedded: support unmapped keys 2023-03-25 15:44:17 -07:00
Mitchell Hashimoto
67d3507f9a apprt/glfw: new keycallback for unmapped 2023-03-25 15:40:49 -07:00
Mitchell Hashimoto
c774e37548 core: input bindings support unmapped bindings 2023-03-25 15:36:37 -07:00