Mitchell Hashimoto
f64795dc9d
opengl: culling is not necessary
2022-11-18 10:10:16 -08:00
Mitchell Hashimoto
8071836a57
Always send mouse events
2022-11-17 16:18:17 -08:00
Mitchell Hashimoto
08bca077b2
search for unknown codepoints in any available font face
...
If an unknown codepoint is rendered, we now will query the OS for ANY
font that can satisfy the codepoint (rather than rendering `?`).
2022-11-17 16:09:33 -08:00
Mitchell Hashimoto
da2942e083
font: specific codepoint lookup in internals
2022-11-17 15:49:14 -08:00
Mitchell Hashimoto
8f9da82754
Embed nerd fonts into our default font
2022-11-17 14:16:50 -08:00
Mitchell Hashimoto
4521efb83d
move screen resize to a renderer mailbox message
2022-11-17 13:55:04 -08:00
Mitchell Hashimoto
357ad43656
app: deinit darwin info
2022-11-16 21:20:04 -08:00
Mitchell Hashimoto
b4d5901225
update some docs
2022-11-16 21:18:37 -08:00
Mitchell Hashimoto
8ac90d33e6
new_tab action
2022-11-16 21:17:41 -08:00
Mitchell Hashimoto
c6f7eab601
hide tab bar if last window is destroyed
2022-11-16 21:04:55 -08:00
Mitchell Hashimoto
bb90104de3
enable Mac native tabbing
2022-11-16 21:04:54 -08:00
Mitchell Hashimoto
465b4df6ea
fix tests for WNOHANG commit
2022-11-16 21:04:31 -08:00
Mitchell Hashimoto
d567a976b4
waitpid should specify WNOHANG
...
If the child process our terminal is executing behaves poorly and
doesn't waitpid all of its own children, then we can hang the full
terminal. This is not ideal, so specify WNOHANG.
2022-11-16 20:54:17 -08:00
Mitchell Hashimoto
8eb97cd9ad
Option (def true) to inherit font size on new window
2022-11-16 09:51:59 -08:00
Mitchell Hashimoto
69fdd57aa3
screen: support scroll region scrolling with circular buffer wraparound
2022-11-16 09:28:56 -08:00
Mitchell Hashimoto
371a7f79cb
coretext: implement resizing
2022-11-15 20:29:58 -08:00
Mitchell Hashimoto
7e24faac72
metal: implement font size changing
2022-11-15 20:18:39 -08:00
Mitchell Hashimoto
dad4923901
hook up all the keyboard actions
2022-11-15 20:10:50 -08:00
Mitchell Hashimoto
3ce554462a
window cell size event for changing cell size
2022-11-15 19:54:05 -08:00
Mitchell Hashimoto
657c8540c8
renderer: font size changed event, OpenGL impl
2022-11-15 19:48:32 -08:00
Mitchell Hashimoto
6ec5684c27
window caches all sizing so it doesn't depend on renderer state
2022-11-15 19:30:15 -08:00
Mitchell Hashimoto
6218792710
font: GroupCache supports resize
2022-11-15 15:54:57 -08:00
Mitchell Hashimoto
24167d0d59
font: Group supports resize
2022-11-15 15:48:52 -08:00
Mitchell Hashimoto
d759c7fb25
font: freetype face supports resize
2022-11-15 15:37:16 -08:00
Mitchell Hashimoto
1c4552de3b
font: freetype eliminate some duplicated work on init
2022-11-15 15:23:28 -08:00
Mitchell Hashimoto
e24dabd67a
extract out message data from termio
...
This will be used for other mailboxes, for example this is required for
sending the window title to the app thread. Right now we hardcode an
array size but we can do better than that.
2022-11-15 13:41:11 -08:00
Mitchell Hashimoto
78fbf9cb06
remove stage1 workarounds
2022-11-15 13:19:01 -08:00
Mitchell Hashimoto
4727fa9b7b
move opengl to renderer dir
2022-11-15 13:12:30 -08:00
Mitchell Hashimoto
18de7cd2ef
Move shaders into the renderer dir
2022-11-15 13:10:43 -08:00
Mitchell Hashimoto
334743e8a7
Don't crash on huge padding, warn users if padding is absurd
2022-11-14 17:41:15 -08:00
Mitchell Hashimoto
e6c7fd0214
metal: understand explicit padding
2022-11-14 17:35:10 -08:00
Mitchell Hashimoto
860fbc3aee
padding needs to be sent to termio
2022-11-14 17:25:35 -08:00
Mitchell Hashimoto
d7d12d9469
explicit padding works
2022-11-14 17:13:56 -08:00
Mitchell Hashimoto
c515cb9b5f
initial padding options
2022-11-14 16:19:20 -08:00
Mitchell Hashimoto
184b43ebd6
opengl: padding is done via ortho matrix rather than viewport
2022-11-14 13:13:50 -08:00
Mitchell Hashimoto
4cab24a3da
extract auto-padding code to shared logic
2022-11-14 13:10:12 -08:00
Mitchell Hashimoto
024cd65ac8
metal: implement auto padding
2022-11-14 12:37:29 -08:00
Mitchell Hashimoto
f73753ac6f
opengl: automatically pad render area to balance non-grid space
2022-11-14 12:24:38 -08:00
Mitchell Hashimoto
4ced2290b3
OSC handling, handle OSC change window title command
2022-11-14 10:46:40 -08:00
Mitchell Hashimoto
56504a342f
better commenting
2022-11-14 10:03:39 -08:00
Mitchell Hashimoto
20cbee5370
locale always requires libc
2022-11-14 10:02:48 -08:00
Mitchell Hashimoto
ad203db6e4
set COLORTERM -- macOS uses this for emoji
2022-11-14 10:00:38 -08:00
Mitchell Hashimoto
f39484541f
set system locale on startup, read Mac locale from OS preferences
2022-11-14 09:59:22 -08:00
Mitchell Hashimoto
99224ae2c0
implement CSI ESC [ <n> b for repeating previously printed char
2022-11-13 22:07:40 -08:00
Mitchell Hashimoto
feccd550c3
implement many more reset sgr attributes
2022-11-13 21:54:26 -08:00
Mitchell Hashimoto
23e7b8d63e
The cursor should be reset on entering the alt screen
2022-11-13 21:43:59 -08:00
Mitchell Hashimoto
019f1e34bb
metal: copy screen data (see opengl commit for why)
2022-11-13 17:29:23 -08:00
Mitchell Hashimoto
3fcdd9a196
fix outdated test
2022-11-13 16:25:50 -08:00
Mitchell Hashimoto
333ff1e634
opengl: handle screen resize outside of critical area
2022-11-13 16:19:38 -08:00
Mitchell Hashimoto
f1c69343d3
opengl: copy screen data instead of sharing state
...
Through benchmarking I've determined this lowers lock contention by
about 50% on the critical data.
2022-11-13 16:16:08 -08:00