Mitchell Hashimoto
01573819ea
Configurable 256 Color Palette ( #50 )
...
The 256 color palette can now be configured with the `palette=N=HEX` format in the config. Example, Dracula:
```
foreground=#f8f8f2
background=#282a36
palette=0=#21222c
palette=8=#6272a4
palette=1=#ff5555
palette=9=#ff6e6e
palette=2=#50fa7b
palette=10=#69ff94
palette=3=#f1fa8c
palette=11=#ffffa5
palette=4=#bd93f9
palette=12=#d6acff
palette=5=#ff79c6
palette=13=#ff92df
palette=6=#8be9fd
palette=14=#a4ffff
palette=7=#f8f8f2
palette=15=#ffffff
```
2022-11-20 15:25:51 -08:00
Mitchell Hashimoto
89834c1412
manually focus next window on macOS <= 12
...
Closes #41
2022-11-20 09:31:57 -08:00
Mitchell Hashimoto
688ec71a74
don't change cursor to ibeam on macOS prior to Ventura
...
glfw crashes with our tab group usage (see comment)
2022-11-20 09:03:28 -08:00
Mitchell Hashimoto
30d62fc144
workaround for x86_64 ABI issue: https://github.com/ziglang/zig/issues/13598
2022-11-19 22:07:48 -08:00
Mitchell Hashimoto
02b6eb123e
fix test name
2022-11-18 18:18:10 -08:00
Mitchell Hashimoto
dbf167d18a
OSC parsing for get/set clipboard (OSC 52) -- not hooked up yet
2022-11-18 18:16:53 -08:00
Mitchell Hashimoto
3de68e1d7a
fix memory leaks with metal resources and multi-window/tab
2022-11-18 14:25:02 -08:00
Mitchell Hashimoto
a714ee2702
fix memory leak when grapheme clusters of >4 codepoints are present
2022-11-18 14:15:14 -08:00
Mitchell Hashimoto
da5164a539
metal: implement two-pass render for bg
2022-11-18 13:54:45 -08:00
Mitchell Hashimoto
ed56d2c2ab
opengl: render bg in a separate pass
2022-11-18 13:24:04 -08:00
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