448 Commits

Author SHA1 Message Date
Leo Razoumov
dc527bd2cb feat: keybind escape sequence action "esc:text" similar to "csi:text" 2023-11-02 17:50:17 -04:00
Mitchell Hashimoto
6663c13a66 core: if a font-style is specified, do not restrict style category 2023-11-01 09:49:25 -07:00
Chinmay Dalal
4a0e53c1cc expose selectOutput via ctrl+triple click
closes #752
2023-10-30 21:46:59 +05:30
Gregory Anders
2ee80a52df macos: set window resizeIncrements when cell size changes
The resizeIncrements property is only modified when the cell size of the
focused window changes. If two splits have the same cell size then the
property is not modified when focusing between the two splits.
2023-10-26 20:27:58 -05:00
Mitchell Hashimoto
5d062947da core: check for inspector activity before recording event
Fixes #732
2023-10-26 14:40:25 -07:00
Mitchell Hashimoto
a162c7c47f inspector: move inspector to dedicated folder 2023-10-24 15:27:16 -07:00
Mitchell Hashimoto
00ed6069f6 inspector: render basic key inspector 2023-10-24 15:27:16 -07:00
Mitchell Hashimoto
7f5f6d01cf inspector: keep track of keyboard events (not rendered yet) 2023-10-24 15:27:16 -07:00
Mitchell Hashimoto
eaa7777fbb inspector: cell inspector 2023-10-24 15:27:16 -07:00
Mitchell Hashimoto
bc398327f2 inspector: track mouse state 2023-10-24 15:27:16 -07:00
Mitchell Hashimoto
5a299e14e4 all threads are notified of inspector state, trigger render 2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
afa08ffc02 initial work on basic inspector information 2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
55f681a0fd inspector is scaled to native dpi 2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
865bf7441c apprt/gtk: initialize and run the inspector 2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
7a30d1080e core: hook up all the inspector activation state and such 2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
29bbcbbf92 core: add input binding to control terminal inspector 2023-10-24 15:27:14 -07:00
Matthew Winter
c49c300c3a fix: adjust for window padding when calculating whether selection has started 2023-10-21 08:48:06 -07:00
Mitchell Hashimoto
879bdf27a9 core: scroll viewport back to bottom on any key input that isn't a mod
Fixes #619

This changes the behavior from requiring printable text to any input
that isn't a modifier and also generates some data we send to the pty.
If there is printable text, we also clear the selection.
2023-10-15 08:53:38 -07:00
Mitchell Hashimoto
a75d42b4a5 core: allow arrow key on scroll to fail write to IO
Fixes #625

This only applies if there is a LOT of scroll events. In that case,
clamping the scroll events to whatever our IO thread can handle seems
fine. An alternate approach is to allocate.
2023-10-14 10:53:20 -07:00
Mitchell Hashimoto
6a065540dd terminal: KAM (mode 2)
This has an associated config `vt-kam-allowed` which defaults to "false"
since this mode can cause the terminal to become mostly unusable. We
include this mode for completions sake however.
2023-10-12 17:07:47 -07:00
Mitchell Hashimoto
f94f32be79 website 2023-10-11 22:01:37 -07:00
Mitchell Hashimoto
392da475e1 terminal: XTSHIFTESCAPE 2023-10-11 21:49:04 -07:00
Mitchell Hashimoto
f7cc5ccdd6 config: add mouse-shift-capture configuration 2023-10-11 21:38:52 -07:00
Mitchell Hashimoto
a234627156 core: mouse selection to right should include first cell if past
boundary
2023-10-10 09:37:11 -07:00
Mitchell Hashimoto
a6d3d51945 core: mouse selection when moving left before half-way point
If you have a cell "M" and you click before the mid-point of M on the
left side and then drag left, we should not select "M".
2023-10-10 09:35:11 -07:00
Mitchell Hashimoto
f640fbc394 core: alternate scroll only sends up/down arrows, not left/right 2023-10-07 14:26:39 -07:00
Mitchell Hashimoto
b98cc3d79f config: add remaining font modifiers 2023-10-04 22:08:19 -07:00
Mitchell Hashimoto
2563a195a1 font: wire up all the metric modifiers 2023-10-04 21:42:03 -07:00
Mitchell Hashimoto
54b9b45a7f font: rework font init to use a struct with modifiersets everywhere 2023-10-04 17:23:57 -07:00
Mitchell Hashimoto
3046fb6dd7 core: textCallback to send text directly to the terminal 2023-10-04 07:50:05 -07:00
Mitchell Hashimoto
1127330b3a font/coretext: score discovered fonts 2023-10-03 09:17:41 -07:00
Mitchell Hashimoto
a1a8aeb104 initial window size needs to take into account window chrome 2023-09-30 21:35:50 -07:00
Mitchell Hashimoto
56b0cb51d5 apprt/gtk: previous_tab/next_tab action do not consume if there are no tabs 2023-09-29 22:12:38 -07:00
Mitchell Hashimoto
a85c508892 apprt/gtk: add ctrl+page-up/down as prev/next tab 2023-09-29 22:04:30 -07:00
Mitchell Hashimoto
3569073ff5 core: handle unconsumed bindings in key callbacks 2023-09-29 21:37:30 -07:00
Mitchell Hashimoto
f9962a04ef recomment line 2023-09-29 20:01:26 -07:00
Mitchell Hashimoto
ecb1d19890 input: fix regression with ascii mapping to a keypad key 2023-09-29 20:00:50 -07:00
Tim Culverhouse
488e6670c2 selection: only clear when keypress has utf8
Currently, the selection on a surface is cleared on any keypress that
generates a control sequence. For applications that enable kitty, this
can mean that every keypress clears the current selection thereby making
it impossible to copy text, since it will be cleared as soon as Control
is pressed. This can be very confusing to terminal users: some
applications I can shift+highlight and copy+paste, some I can't - and
unless I know the implementation of the application I won't know
why...very frustrating.

Only clear the selection when there is printable text, otherwise retain
the selection. From my testing, this makes text selection feel the same
between applications using kitty keyboard and applications that don't.
2023-09-29 16:07:21 -05:00
Nathan Youngman
73331887fe fabs builtin was renamed
https://github.com/ziglang/zig/pull/17248

I just tried installing from source and ran into the error:

> error: invalid builtin function: '@fabs'
2023-09-28 15:29:08 -07:00
Mitchell Hashimoto
28b7782bbe core: do not scroll viewport if mouse reporting is requested
Fixes #570
2023-09-28 09:50:44 -07:00
Mitchell Hashimoto
010338354a core: normalize newlines in non-bracketed pastes
Fixes #547

For non-bracketed paste mode, "\r\n" => "\r" and "\n" => "\r". See the
issue for more supporting documentation.
2023-09-26 14:36:07 -07:00
Mitchell Hashimoto
8c4d25050a apprt/gtk: detect keyboard modifier state for mouse events 2023-09-26 12:37:59 -07:00
Mitchell Hashimoto
57d81ba9e1 core: disable styles 2023-09-26 08:39:36 -07:00
Mitchell Hashimoto
17c0e7f75f config: font style is a union 2023-09-26 08:13:11 -07:00
Mitchell Hashimoto
96f835b78b core: shift does not send mouse events
Fixes #542
2023-09-26 07:52:22 -07:00
Mitchell Hashimoto
c2cc2b8f03 core: hook up the codepoint map to the loaded font group 2023-09-24 20:35:05 -07:00
Mitchell Hashimoto
52591161bc config: add font-style configurations 2023-09-24 09:13:25 -07:00
Mitchell Hashimoto
b7055e2026 core: send proper reporting code for alt not super 2023-09-21 08:49:14 -07:00
Mitchell Hashimoto
b30feeb596 core: move clipboard to async process 2023-09-19 10:18:17 -07:00
Mitchell Hashimoto
008738df56 core: only prevent repeat mouse events for motion
Fixes #485
2023-09-18 09:15:26 -07:00