4505 Commits

Author SHA1 Message Date
Mitchell Hashimoto
7eda21d544 surface propagates new config to renderer 2023-03-19 09:50:55 -07:00
Mitchell Hashimoto
f34da17a11 renderer: use a DerivedConfig to avoid the main Config pointer 2023-03-19 09:50:54 -07:00
Mitchell Hashimoto
b26e51d222 macos: implement config reloading callback 2023-03-19 09:50:54 -07:00
Mitchell Hashimoto
8d3f40fa41 apprt/embedded: reload config support 2023-03-19 09:50:54 -07:00
Mitchell Hashimoto
f5c1dfa374 reload_config keybinding (defaults to ctrl+alt+super+space) 2023-03-19 09:50:53 -07:00
Mitchell Hashimoto
a9928cfb90 implement reload_config app message 2023-03-19 09:50:18 -07:00
Mitchell Hashimoto
3e1f975551 move config loading into apprt to prep for reloading 2023-03-19 09:50:17 -07:00
Mitchell Hashimoto
8cb9ee5d59 make it claer the config pointer is not stable after renderer/IO init 2023-03-19 09:49:44 -07:00
Mitchell Hashimoto
9b10b5d716 surface doesn't store a pointer to Config anymore 2023-03-19 09:49:44 -07:00
Mitchell Hashimoto
3ce7baf30e config: dedicated load func so we can reload 2023-03-19 09:49:44 -07:00
Mitchell Hashimoto
11e4215f9f config: implement comparison for keybinding change 2023-03-19 09:49:44 -07:00
Mitchell Hashimoto
0d93da5f30 config: changed() to test if a specific key has changed 2023-03-19 09:49:44 -07:00
Mitchell Hashimoto
16166b6297 config: implement change iterator (one todo) 2023-03-19 09:49:44 -07:00
Mitchell Hashimoto
510f4b4699 config supports clone() operation for a deep copy 2023-03-19 09:49:42 -07:00
Mitchell Hashimoto
f03d765020 Merge pull request #114 from mitchellh/process-exit
Detect command exit and close surface
2023-03-18 19:59:55 -07:00
Mitchell Hashimoto
ddbc0dc586 apprt/embedded: incorrect function call for new close surface 2023-03-18 19:40:42 -07:00
Mitchell Hashimoto
a950adbf17 apprt/gtk: do not use unique app mode (do not set ID for GApplication)
Fixes #101. This prevents single-instance GTK mode from being enabled.
For now, this makes the most sense in my opinion but we can revisit
later.
2023-03-18 19:37:00 -07:00
Mitchell Hashimoto
91c9655475 remove unused function, make apprt surface close mandatory 2023-03-18 19:33:08 -07:00
Mitchell Hashimoto
6b61a2449a termio: no need to close pty primary when process exits 2023-03-18 19:30:01 -07:00
Mitchell Hashimoto
00c837e0d2 apprt: all implement close surface 2023-03-18 19:25:54 -07:00
Mitchell Hashimoto
d83bf5aeb4 termio: close surface on process exit 2023-03-18 19:21:28 -07:00
Mitchell Hashimoto
872c1211f5 pty: deinit should close child end 2023-03-18 19:15:29 -07:00
Mitchell Hashimoto
679f07605e termio: detect child process exit 2023-03-18 18:58:34 -07:00
Mitchell Hashimoto
f02dc2f32f handle horizontal scrolling for mouse reports 2023-03-17 19:24:18 -07:00
Mitchell Hashimoto
1b88f7e9ab support mouse alt scroll (mode 1007)
This enables less and other older legacy programs to get mouse scroll
events
2023-03-17 19:10:08 -07:00
Mitchell Hashimoto
8b9a1d8530 linux: proper split shortcuts 2023-03-17 14:27:49 -07:00
Mitchell Hashimoto
f79d9ba3a7 fix regression where BEL is accepted to end OSC sequences 2023-03-17 14:18:34 -07:00
Mitchell Hashimoto
4b57a715b0 terminal: clean up duplicate states in parse table 2023-03-17 14:07:24 -07:00
Mitchell Hashimoto
38cd496c82 terminal: add missing anywhere states to ground, get rid of real state 2023-03-17 13:46:59 -07:00
Mitchell Hashimoto
f5e49e2989 apprt/gtk: copy the app id because we need to own it according to docs 2023-03-17 12:03:58 -07:00
Mitchell Hashimoto
afc1ac5321 apprt/gtk: add more debug logs about scale factors 2023-03-17 11:25:23 -07:00
Mitchell Hashimoto
54d6654d8b terminal: selectLine can select last line with scrollback
We had incorrect logic around when the line you want to select is the
last line and it crashed. A new test case covers this.
2023-03-17 11:07:43 -07:00
Mitchell Hashimoto
b0cb46dab9 linux copy/paste defaults to ctrl+shift+c/v 2023-03-16 23:27:21 -07:00
Mitchell Hashimoto
20f9e98894 font/freetype: add a 1px border to each glyph in the texture atlas 2023-03-16 22:54:21 -07:00
Mitchell Hashimoto
0744e504e1 Use proper Linux default keybindings
These are just different from macOS. I've looked at various Linux
terminals and there seems to be some general consensus around this.
2023-03-16 21:59:17 -07:00
Mitchell Hashimoto
53d82d71a4 apprt/gtk: make compatible with GTK < 2.74 2023-03-16 16:38:00 -07:00
Mitchell Hashimoto
58d89b6bb3 apprt/glfw: add logging with error information when glfw init fails 2023-03-12 17:27:33 -07:00
Mitchell Hashimoto
3976da8149 macos: navigate splits directionally 2023-03-11 17:55:31 -08:00
Mitchell Hashimoto
04c38ef3b0 macos: change focus callback to use an enum so we can get other dirs 2023-03-11 17:44:00 -08:00
Mitchell Hashimoto
18cf0dc9fc macos: put next/prev split focus into menu 2023-03-11 17:25:39 -08:00
Mitchell Hashimoto
b582691185 macos: hook up all the bindings so we're ready to handle focus event 2023-03-11 16:22:04 -08:00
Mitchell Hashimoto
f85c1c256c macos: menu bar to split 2023-03-10 15:24:45 -08:00
Mitchell Hashimoto
0aadd19282 macos: close surface works 2023-03-10 14:44:33 -08:00
Mitchell Hashimoto
a265e7ce20 macos: take over menu bar, separate close and close window 2023-03-10 14:27:55 -08:00
Mitchell Hashimoto
dc6e5e1437 macos: fix bug where like... 5 terminals were being launched in the
background
2023-03-09 11:40:47 -08:00
Mitchell Hashimoto
6c857877e8 apprt/embedded: close surface callback 2023-03-08 15:05:15 -08:00
Mitchell Hashimoto
fa9ee0815f apprt/embedded: newSplit callback 2023-03-08 14:56:50 -08:00
Mitchell Hashimoto
8ce6f349f8 input: new_split binding, can parse enums 2023-03-08 08:57:38 -08:00
Mitchell Hashimoto
15b7e7fcd7 termio: coalesce resize events
On macOS, we were seeing resize events dropped by child processes if
too many SIGWNCH events were generated.
2023-03-08 08:43:42 -08:00
Mitchell Hashimoto
b1a7baf394 metal: do not use setPurgeableState on MTLTexture/Buffer
The Metal system automatically will free hardware resources when no
other references exist (I believe) and this causes a crash if you close
a window while a render is in-flight.
2023-03-05 10:00:05 -08:00