Mitchell Hashimoto
d9cfd00e9f
Big Cursor State Refactor
...
This makes a few major changes:
- cursor style on terminal is single source of stylistic truth
- cursor style is split between style and style request
- cursor blinking is handled by the renderer thread
- cursor style/visibility is no longer stored as persistent state on
renderers
- cursor style computation is extracted to be shared by all renderers
- mode 12 "cursor_blinking" is now source of truth on whether blinking
is enabled or not
- CSI q and mode 12 are synced like xterm
2023-09-09 20:19:37 -07:00
Mitchell Hashimoto
22eb533473
content scale change events should also impact viewport padding
...
This calculates the new padding pixel values and propogates those
changes to the renderer.
2023-09-02 11:00:51 -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
b0b3b0af2d
update config messages use pointers now to make messages small again
2023-03-19 10:48:42 -07:00
Mitchell Hashimoto
7eda21d544
surface propagates new config to renderer
2023-03-19 09:50:55 -07:00
Mitchell Hashimoto
fc3802e632
termio: use host-spawn for pty
2023-02-25 22:36:20 -08:00
Mitchell Hashimoto
6acf67ec66
gtk: render!
2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
fbe35c226b
Integrating new surface
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
1273527048
renderer uses libxev
...
Still some bugs and TODOs, but it is workable.
2023-02-01 15:52:22 -08:00
Mitchell Hashimoto
11a3577ef1
rename window package to apprt
2022-12-29 15:11:03 -08:00
Mitchell Hashimoto
e1cd650245
window: abstract more, it starts
2022-12-29 14:51:56 -08:00
Mitchell Hashimoto
a15afa8211
do not block channel send while draining channel
2022-11-20 20:16:40 -08:00
Mitchell Hashimoto
4521efb83d
move screen resize to a renderer mailbox message
2022-11-17 13:55:04 -08:00
Mitchell Hashimoto
657c8540c8
renderer: font size changed event, OpenGL impl
2022-11-15 19:48:32 -08:00
Mitchell Hashimoto
5b52333e51
name threads and add more tracing
2022-11-07 07:45:46 -08:00
Mitchell Hashimoto
e0db46ac97
clean up some resources better on error
2022-11-06 16:23:36 -08:00
Mitchell Hashimoto
746858cea6
implement cursor reset when data comes in pty
2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
aa98e3ca3a
Move cursor timer to renderer
2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
e2d8ffc3c1
renderer mailbox, focus message
2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
07271a6cfd
Initial metal abstraction (noop)
2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
c0f96f591b
remove render timer from window
2022-10-24 10:50:42 -07:00
Mitchell Hashimoto
dc908cb73d
support screen size, rip out shared state
2022-10-24 09:52:08 -07:00
Mitchell Hashimoto
aa3d132947
run rendering on another real thread (still bugs)
2022-10-24 09:17:48 -07:00
Mitchell Hashimoto
9913bba2e8
introduce renderer thread logic (not starting it yet)
2022-10-23 20:18:10 -07:00