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
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
Mitchell Hashimoto
e15b5ab42c
fix error set for libxev cross-platform
2023-08-09 10:05:48 -07:00
Mitchell Hashimoto
e33f6c71de
update libxev to fix split writes on large writes (i.e. big paste)
...
Fixes #258
This was an upstream bug in libxev where partial the queueWrite
mechanism would not correctly handle partial write results:
https://github.com/mitchellh/libxev/pull/60
2023-08-09 08:18:43 -07:00
Mitchell Hashimoto
2fb8ad8196
linux default keybindings for scroll top, bot, page up, down
2023-08-09 07:40:55 -07:00
Mitchell Hashimoto
0ed76b4300
scroll_page_fractional keybinding
2023-08-09 07:37:18 -07:00
Mitchell Hashimoto
a8380e937d
scroll top, bot, page up, page down binding actions
2023-08-09 07:24:11 -07:00
Mitchell Hashimoto
7ac61469c9
bind sequences for PC style function keys from xterm
...
Fixes #256
This makes a whole lot more sequences work, such as `ctrl+left`,
`ctrl+shift+f1`, etc. We were just missing these completely.
This also found an issue where if you split a sequence across two
`write()` syscalls, then `/bin/sh` (I didn't test other shells)
treats it as two literals rather than parsing as a single sequence.
Great.
2023-08-08 16:43:27 -07:00
Mitchell Hashimoto
bfe6cfeb1a
keyboard bindings should never take caps/num lock into account
2023-08-08 10:58:05 -07:00
Mitchell Hashimoto
42735bd0e0
apprt/embedded: new resources dir api
2023-08-08 09:55:23 -07:00
Mitchell Hashimoto
e93a6eb2e4
apprt/gtk: set icon name
2023-08-08 09:44:11 -07:00
Mitchell Hashimoto
6b45d931c3
plumb through the resources dir to termio
2023-08-08 09:29:38 -07:00
Mitchell Hashimoto
bd7cc4b71d
core: App looks up resources dir on startup
2023-08-08 09:21:52 -07:00
Mitchell Hashimoto
4e9dcf6b62
os: add resourcesDir function to find app resource dir
2023-08-08 09:17:14 -07:00
Mitchell Hashimoto
c0f5c0ef41
termio/exec: poll() needs a negative timeout to block 🤡
2023-08-08 09:14:08 -07:00
Kevin Hovsäter
22b8173164
Fix typos
2023-08-08 14:27:34 +02:00
Mitchell Hashimoto
aff64d9951
Merge pull request #247 from mitchellh/gtk-single-instance
...
GTK single instance, fix UB in termio read thread termination
2023-08-07 21:43:08 -07:00
Mitchell Hashimoto
6d32d74996
apprt/gtk: remove useless calls
2023-08-07 21:15:42 -07:00
Mitchell Hashimoto
e2e876bfa1
termio/exec: make sure that process is dead before killing read thread
2023-08-07 21:13:33 -07:00
Mitchell Hashimoto
b5bb3b3739
termio/exec: if read thread gets 0 bytes then break the tight loop
2023-08-07 21:10:11 -07:00
Mitchell Hashimoto
816cad07b9
termio/exec: set pty fd to non-blocking, try to read as long as possible
2023-08-07 20:55:01 -07:00
Mitchell Hashimoto
f40a90e7aa
termio: use a pipe to notify the reader thread to quit
...
Simultaneously reading and closing a fd is UB. We need to ensure that we
quit, then close.
2023-08-07 20:41:34 -07:00
Mitchell Hashimoto
2e98d43a58
apprt/glfw: launch window on startup
2023-08-07 19:28:48 -07:00
Mitchell Hashimoto
60a36ca5cc
apprt/gtk: enable single instance mode
2023-08-07 19:26:57 -07:00
Mitchell Hashimoto
22296b377a
Revert "Merge pull request #244 from mitchellh/alt-as-esc"
...
This reverts commit c139279d479682c17f63d9b57c2d56608d09d16a, reversing
changes made to 4ed21047a734d7c586debe0026e3b6ea90ed1622.
We do want to do this but this broke bindings.
2023-08-07 17:06:40 -07:00
Mitchell Hashimoto
23935c3563
change sentinel value for resources dir, its different on Linux
2023-08-07 16:16:44 -07:00
Mitchell Hashimoto
ebbf42eec6
search for resources dir relative to executing binary on Linux ( #245 )
...
* search for resources dir relative to executing binary on Linux
From Andrew in #241 :
This works in all 3 of the possible scenarios I can think of on Linux:
* `zig build` with default prefix into `zig-out`
* `zig build -p ~/local` (my choice when compiling from source)
* ghostty packaged for a linux distribution into /usr/bin and /share
* update README
2023-08-07 16:08:27 -07:00
Mitchell Hashimoto
274f934e88
key: fix wrong comment
2023-08-07 15:39:08 -07:00
Mitchell Hashimoto
32eb226fa3
non-macos doesn't support directional bindings
2023-08-07 14:52:20 -07:00
Mitchell Hashimoto
47bed51177
bindings can contain directional modifiers: left_shift+a
2023-08-07 14:43:44 -07:00
Mitchell Hashimoto
eca5955e65
apprt/gtk: new input mods format
2023-08-07 14:35:52 -07:00
Mitchell Hashimoto
67cbabd605
make keyboard modifiers left/right-aware throughout core
2023-08-07 14:33:56 -07:00
Mitchell Hashimoto
5e100a3b6b
CSI r for top/bot margin must have no intermediates
...
We were incorrectly interpreting the restore mode CSI (`ESC [ ? r`) as
set top and bottom margin. We need to verify that there are no
intermediates.
2023-08-07 09:45:44 -07:00
Mitchell Hashimoto
24ef5d1b1c
tests for insert mode (4)
2023-08-07 08:07:14 -07:00
Mitchell Hashimoto
5c6d3c7df2
terminal: implement insert mode (mode = 4)
2023-08-07 07:44:13 -07:00
Mitchell Hashimoto
85e32f9a15
renderer: hide cursor is state explicit asks for invisible cursor
...
This was a regression. The previous logic would always show the cursor
if we were using a non-blinking cursor. But, if the terminal state is
explicitly requesting an invisible cursor (mode 25) then we need to hide
the cursor.
2023-08-06 09:55:13 -07:00
Mitchell Hashimoto
2065dd77d7
renderer/opengl: need to release OpenGL context with glfw
2023-08-05 22:33:55 -07:00
Mitchell Hashimoto
321be2d5ad
termio: respect GHOSTTY_RESOURCES_DIR
2023-08-05 21:38:32 -07:00
Mitchell Hashimoto
2840062ad5
bind shift+<page-up/down> to jump_to_prompt back/forward, respectively
2023-08-05 21:32:30 -07:00
Mitchell Hashimoto
ef5d75e328
input: support assigning integer binding action values
...
This enables jump_to_prompt
2023-08-05 21:31:34 -07:00
Mitchell Hashimoto
0bb286eeb2
C API for invoking bindings
2023-08-05 14:46:47 -07:00
Mitchell Hashimoto
2e55b87e51
Merge pull request #222 from mitchellh/size
...
only send resize messages to renderer/io thread if changes happen
2023-08-04 19:58:40 -07:00