2298 Commits

Author SHA1 Message Date
Mitchell Hashimoto
923df53825 ci: use custom token for release so it isn't rate limited 2023-08-12 11:41:22 -07:00
Mitchell Hashimoto
63fa34ef6b terminal: avoid underflow on resize, tests added 2023-08-12 11:30:07 -07:00
Mitchell Hashimoto
6fec9f8096 Merge pull request #273 from mitchellh/wide-resize
Fix numerous edge cases with resizing columns with soft-wrapped wide characters (i.e. emoji)
2023-08-12 10:31:56 -07:00
Mitchell Hashimoto
9b5fd4b2ee terminal: print wide char with 1-col width 2023-08-12 10:27:42 -07:00
Mitchell Hashimoto
71c8d5fc8e terminal: resizing to 1 col wide with wide chars 2023-08-12 10:23:06 -07:00
Mitchell Hashimoto
44dd51a5b9 terminal: less col resizing with wide char needs to insert head spacer 2023-08-12 10:07:13 -07:00
Mitchell Hashimoto
eb10e9642c terminal: introduce wide spacer head if reflowing wide char w/ more cols 2023-08-12 09:51:33 -07:00
Mitchell Hashimoto
3d5eda62fe terminal: resize more cols with wide spacer head across multiple lines 2023-08-12 08:26:13 -07:00
Mitchell Hashimoto
a6af75aee4 terminal: resize more cols with wide spacer head deletes the spacer 2023-08-12 08:20:10 -07:00
Mitchell Hashimoto
3d72178ef4 terminal: delete wide char if it wraps and we delete the row above 2023-08-11 16:23:02 -07:00
Mitchell Hashimoto
8bb69045a8 terminal: allow selections outside of written area and clamp
This fixes a possible crash.
2023-08-11 14:21:07 -07:00
Mitchell Hashimoto
8fd772c95e Merge pull request #271 from mitchellh/keymap
macos, gtk: robust keyboard layout handling
2023-08-11 13:15:25 -07:00
Mitchell Hashimoto
55778a049b apprt/gtk, opengl: render preedit 2023-08-11 12:37:27 -07:00
Mitchell Hashimoto
d62161e2c3 support preedit text rendering in core and metal 2023-08-11 12:20:48 -07:00
Mitchell Hashimoto
65c4aada02 input: rename "unmapped" to "physical" 2023-08-11 12:02:01 -07:00
Mitchell Hashimoto
57f7a59168 input: rename Keymap to KeymapDarwin since its macos only for now 2023-08-11 12:02:01 -07:00
Mitchell Hashimoto
ce4eb2112c core: get rid of ignore_char, apprt must handle this now 2023-08-11 12:02:01 -07:00
Mitchell Hashimoto
38477ed547 apprt/gtk: use manual translation, handle dead key states 2023-08-11 12:02:01 -07:00
Mitchell Hashimoto
e787a79702 input: printable, comment on what magic indexes mean 2023-08-11 12:02:01 -07:00
Mitchell Hashimoto
1ded176377 input: only load Keymap on darwin 2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
7ea8feea69 apprt/embedded: fix char callback ignore when key is consumed 2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
4fe739cae0 core: note when keyCallback processed the input 2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
d5df8aea9a apprt/embedded: handle repeat events 2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
d02bf322f8 apprt/embedded: remove old _key api, new only! 2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
1e1ad7deb9 macos: use the new self-hosted translation 2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
6d439c06af keymap had incorrect bitfield for modifiers 2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
f06fecbc43 input: associate input.Key with keycodes from Chrome 2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
1f4a80aa93 apprt/embedded: keymap state is per surface, not per app 2023-08-11 12:02:00 -07:00
Mitchell Hashimoto
57a527b0c9 macos: detect keyboard layout change and reload the keymap 2023-08-11 12:01:59 -07:00
Mitchell Hashimoto
3d23f26326 input, macos: initial work on keymapper and macos usage of it 2023-08-11 12:01:58 -07:00
Mitchell Hashimoto
a042b5db9c Merge pull request #270 from mitchellh/cc-hidden-inactive-cursor
Don't show hollow cursor in inactive windows when cursor is hidden.
2023-08-11 08:56:06 -07:00
cryptocode
6045088afc Don't show hollow cursor in inactive windows when cursor is hidden.
This is the behavior of the other terminals I have, such as iTerm, allcritty, WezTerm, and Kitty. The hollow cursor is especially noticable when running in two panes,
one of them inactive with animations (such as a progress bar)
2023-08-11 17:20:03 +02:00
Mitchell Hashimoto
70efaea787 Merge pull request #269 from mitchellh/ignore-char-control
do not process charCallback if control character was processed
2023-08-10 12:19:58 -07:00
Mitchell Hashimoto
68cb3288be do not process charCallback if control character was processed
Fixes #267

We have a mechanism `ignore_char` to ignore the `charCallback` exactly
once. It is guaranteed by all app runtimes that `keyCallback` is called
before `charCallback` and that they're called in order by key press
(you'll never get 3 `keyCallbacks` and then `charCallback` for the first
press).

We use this for example to ensure that if you bind `a` to something,
that we never actually print 'a', since the binding consumes it.

This commit sets `ignore_char` whenever we detect a key that should be
translated to a control character and written to the pty. As the comment
in the code states: we probably should've been doing this anyways. It is
a complete mystery why macOS behaves the way it does that caused us to
figure this out.
2023-08-10 11:51:11 -07:00
Mitchell Hashimoto
2704b54bc5 warn if the binary is a debug build 2023-08-09 15:18:35 -07:00
Mitchell Hashimoto
7b33ee6b71 Merge pull request #266 from mitchellh/primary-clipboard
Primary (selection) clipboard support
2023-08-09 15:14:59 -07:00
Mitchell Hashimoto
ecb9563f2a apprt/glfw: warn that the macos version has bugs 2023-08-09 15:14:39 -07:00
Mitchell Hashimoto
688ab84661 apprt/embedded: allow noting that selection clipboard is not supported 2023-08-09 14:52:22 -07:00
Mitchell Hashimoto
5d6086a1b1 "copy-on-select" configuation to disable 2023-08-09 14:44:24 -07:00
Mitchell Hashimoto
afc6a9976f apprt/embedded: support selection clipboard 2023-08-09 14:29:39 -07:00
Mitchell Hashimoto
ca008df73d apprt/glfw: support primary clipboard 2023-08-09 14:22:17 -07:00
Mitchell Hashimoto
f012b908b7 apprt/gtk: use glfw for reading primary clipboard (see comment) 2023-08-09 14:17:03 -07:00
Mitchell Hashimoto
347c60d9bd selection copies to the selection clipboard 2023-08-09 14:00:48 -07:00
Mitchell Hashimoto
f3996ff0f8 apprt: primary clipboard awareness (selection clipboard) 2023-08-09 13:41:22 -07:00
Mitchell Hashimoto
232bffe338 Merge pull request #264 from moderation/main
gtk: apply background opacity
2023-08-09 12:38:13 -07:00
moderation
b33b2bb6a4 gtk: apply background opacity
Signed-off-by: moderation <michael@sooper.org>
2023-08-09 12:03:05 -07:00
Mitchell Hashimoto
1bb5158185 Merge pull request #263 from mitchellh/mrn/gtk-fix-up-arrow
gtk: fix arrow-up stealing focus
2023-08-09 11:17:11 -07:00
Thorsten Ball
147d5b0f3e gtk: fix arrow-up stealing focus
This fixes #253 -- with essentially a single line! Just took me a while
to find out where to add this line.

Turns out we already solved this problem for `<Tab>` so now we do the
same thing for `<Up>`: we tell the `GtkApplication` we handled the event
so it doesn't propagate any further.
2023-08-09 20:11:03 +02:00
Mitchell Hashimoto
0ff390919a Merge pull request #262 from mitchellh/split-writes
update libxev to fix split writes on large writes (i.e. big paste)
2023-08-09 10:17:36 -07:00
Mitchell Hashimoto
6cf22f841c ctrl+backspace should send 0x08
Fixes #260
2023-08-09 10:16:23 -07:00