275 Commits

Author SHA1 Message Date
Mitchell Hashimoto
8889dd7de2 macos: emoji keyboard works 2023-02-19 12:28:17 -08:00
Mitchell Hashimoto
7fa02cae95 window charCallback accepts doesn't assume ASCII, accepts any Unicode CP 2023-02-19 12:02:41 -08:00
Mitchell Hashimoto
1659f52175 macos: mouse button and mouse move events 2023-02-19 10:44:57 -08:00
Mitchell Hashimoto
c68f8082df apprt: can pass options through to Windows 2023-02-19 10:44:55 -08:00
Mitchell Hashimoto
91ace8af64 termio: IO reader thread cleanup works 2023-02-06 15:41:28 -08:00
Mitchell Hashimoto
7e6a86f065 termio: use libxev (with TODOs) 2023-02-04 11:47:51 -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
f2b59353ab window (mac): recalculate sizes on new tab
When a new tab is added, the tab bar may appear which causes our size
grid size calculation to become invalidated. We weren't updating this
previously, which had the effect of mouse selection being in the wrong
place. There were likely other effects...

Fixes https://github.com/mitchellh/ghostty/issues/69
2023-01-26 08:54:09 -08:00
Mitchell Hashimoto
b502d5aa7d apprt: window size limits 2022-12-30 15:36:25 -08:00
Mitchell Hashimoto
d5895f9034 rename windowing_system to just window 2022-12-30 15:32:36 -08:00
Mitchell Hashimoto
0e73c5eb93 apprt: clipboard 2022-12-30 15:29:36 -08:00
Mitchell Hashimoto
8907104e7c comments 2022-12-30 15:22:18 -08:00
Mitchell Hashimoto
71355ada31 window should reach into glfw for addWindow for now 2022-12-30 15:20:45 -08:00
Mitchell Hashimoto
ba0cbecd79 core window doesn't have reference to glfw window anymore! 2022-12-30 15:18:32 -08:00
Mitchell Hashimoto
fe84686a1d apprt: all mouse callbacks 2022-12-30 15:15:54 -08:00
Mitchell Hashimoto
8196481dda apprt: couple more easy callbacks 2022-12-30 14:47:31 -08:00
Mitchell Hashimoto
946383eb77 apprt: key/charCallback, input supports all glfw keys 2022-12-30 14:45:03 -08:00
Mitchell Hashimoto
ff1f1d8925 move the size callback into apprt 2022-12-30 13:33:19 -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
6eb5a0238a window: start abstracting a window implementation 2022-12-29 14:37:18 -08:00
Mitchell Hashimoto
b8832833cb respect application cursor keys for arrow (DECCKM)
This fixes the arrow keys in htop.
2022-11-27 20:57:58 -08:00
Mitchell Hashimoto
278668c953 font: draw single and double underlines as sprites 2022-11-27 15:14:49 -08:00
Mitchell Hashimoto
b34e336c5c rearrange box rendering to prepare for more sprite drawing 2022-11-27 10:17:12 -08:00
Mitchell Hashimoto
cb8f55229b remove test code 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
9bc8d85d67 test rendering box glyphs, looks OKAY 2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
70b017200a copying selection trims trailing whitespace
This is configurable with `clipboard-trim-trailing-spaces`.

This also fixes a bug where debug builds would crash when copying blank
lines. This never affected release builds.
2022-11-22 21:27:05 -08:00
Mitchell Hashimoto
03fdb38a96 moving the mouse too far between clicks will reset the click count 2022-11-22 20:59:15 -08:00
Mitchell Hashimoto
29b651ee46 configurable click interval with click-repeat-interval 2022-11-22 10:57:57 -08:00
Mitchell Hashimoto
d1b565f4d4 hook up triple-click in UI to select lines 2022-11-22 10:07:52 -08:00
Mitchell Hashimoto
f9fed1f3a8 double-click drag selects word by word 2022-11-22 09:15:44 -08:00
Mitchell Hashimoto
a63815c5ba selectWord goes across soft-wrapped lines 2022-11-22 08:04:27 -08:00
Mitchell Hashimoto
804d4534cd window detects double and triple clicks 2022-11-21 20:42:29 -08:00
Mitchell Hashimoto
56de5846f4 OSC 52: Clipboard Control (#52)
This adds support for OSC 52 -- applications can read/write the clipboard. Due to the security risk of this, the default configuration allows for writing but _not reading_. This is configurable using two new settings: `clipboard-read` and `clipboard-write` (both booleans).
2022-11-21 15:12:00 -08:00
Mitchell Hashimoto
2e74b7af9e ability to set selection fg/bg colors 2022-11-20 20:27:12 -08:00
Mitchell Hashimoto
d213c1a939 fix selection regression caused by screen copy optimization 2022-11-20 20:05:07 -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
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
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
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
8eb97cd9ad Option (def true) to inherit font size on new window 2022-11-16 09:51:59 -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
6ec5684c27 window caches all sizing so it doesn't depend on renderer state 2022-11-15 19:30:15 -08:00