267 Commits

Author SHA1 Message Date
Mitchell Hashimoto
05cd77e7cf DevMode only renders on first window 2022-11-06 16:06:34 -08:00
Mitchell Hashimoto
c9b01fdc6c support app quitting to close all windows 2022-11-06 14:10:28 -08:00
Mitchell Hashimoto
be76bc6c1a close window action 2022-11-06 10:44:23 -08:00
Mitchell Hashimoto
410b2b4486 Do not block on app mailbox 2022-11-06 10:41:57 -08:00
Mitchell Hashimoto
ecbd119654 Hook up new window, modify renderers 2022-11-06 10:34:43 -08:00
Mitchell Hashimoto
a2edbb4698 App prepare for multi-window 2022-11-06 10:05:08 -08:00
Mitchell Hashimoto
91d165f4f9 delete unused comment 2022-11-06 09:41:59 -08:00
Mitchell Hashimoto
8f1fcc64e8 rename termio thread message struct 2022-11-05 19:34:41 -07:00
Mitchell Hashimoto
cd705359e8 Window thread is now single event loop! 2022-11-05 19:31:28 -07: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
9a44e45785 bug: assume focused on launch 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
95d054b185 allocate data for paste data if its too large 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
8652b2170e fix deadlock with mouse reports 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
90061016df field rename 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
a05b08fdc7 move bracketed paste to terminal state 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
57b4c73bb2 remove unused fields on Window 2022-11-05 19:31:28 -07:00
Mitchell Hashimoto
f2d9475d5d Switch over to the IO thread. A messy commit! 2022-11-05 19:31:26 -07:00
Mitchell Hashimoto
5cb6ebe34d Actually, we'll manage selection and viewports on the windowing thread 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
989046a06c More IO events 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
1a7b9f7465 termio: clear selection 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
b100406a6e termio: start the thread mailbox, hook up resize 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
a8e7c52041 IO thread can trigger render and write data 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
9b3d22e55e IO thread has more state setup 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
35c1decd58 Start pulling out IO thread and IO implementation 2022-11-05 19:31:02 -07:00
Mitchell Hashimoto
72ac3b4685 re-enable hot path optimization 2022-11-03 15:37:24 -07:00
Mitchell Hashimoto
df50aacff1 macos: Default working directory to home dir if launched from app
This also introduces a `--working-directory` config flag.
2022-11-01 18:10:30 -07:00
Mitchell Hashimoto
a9df393580 fix mouse scroll direction 2022-10-31 12:09:34 -07:00
Mitchell Hashimoto
07271a6cfd Initial metal abstraction (noop) 2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
19f003d7d0 mac: load emoji font last so it is not preferred for text 2022-10-31 09:44:19 -07:00
Mitchell Hashimoto
1e5c17dffa Comment to show native access 2022-10-28 10:02:32 -07:00
Mitchell Hashimoto
b4a83d98c4 window no longer makes any OpenGL calls 2022-10-28 09:24:40 -07:00
Mitchell Hashimoto
bcf485342e fix a couple more memory leaks 2022-10-24 16:17:18 -07:00
Mitchell Hashimoto
9ef431c632 use the c allocator when running under valgrind 2022-10-24 15:34:30 -07:00
Mitchell Hashimoto
c2ce158342 remove the max timer 2022-10-24 10:55:16 -07:00
Mitchell Hashimoto
c0f96f591b remove render timer from window 2022-10-24 10:50:42 -07:00
Mitchell Hashimoto
b4859625bf bring back out of focus no blink 2022-10-24 10:01:38 -07:00
Mitchell Hashimoto
dc908cb73d support screen size, rip out shared state 2022-10-24 09:52:08 -07:00
Mitchell Hashimoto
45ff936ddf no longer store grid size on the renderer 2022-10-24 09:32:51 -07:00
Mitchell Hashimoto
aa3d132947 run rendering on another real thread (still bugs) 2022-10-24 09:17:48 -07:00
Mitchell Hashimoto
aeb592bae9 move to new renderstate, new render method 2022-10-23 21:04:52 -07:00
Mitchell Hashimoto
b347ff458b prepare our render state on the window 2022-10-23 20:55:04 -07:00
Mitchell Hashimoto
89a4c59f3c make opengl loader context-aware 2022-10-23 19:39:02 -07:00
Mitchell Hashimoto
de9731da1f rename grid to a renderer, extract to subfolder
"Grid" was a really antiquated name when it had both the screen state
AND the renderering functionality tied together. This hasn't been true
for a LONG time and it is long overdue that this is renamed to its
proper name.

This also begins setting up a folder structure to anticipate future
renderers and rendering functionality. I'm not working on any alternate
renderers right now so the interface isn't expected to be good, just
laying out the files in this way.
2022-10-23 16:47:34 -07:00
Mitchell Hashimoto
79f69885ca update to latest zig which renames @min/@max 2022-10-19 10:42:31 -07:00
Mitchell Hashimoto
c103a278f1 render font info in dev mode 2022-10-17 14:47:51 -07:00
Mitchell Hashimoto
7cb3f2267f use our built-in font for dev mode 2022-10-17 11:56:46 -07:00
Mitchell Hashimoto
ab721b5b26 disable inputs when they're captured by dev mode 2022-10-17 11:19:35 -07:00
Mitchell Hashimoto
a39fe6baed Use scalable check rather than fixed size check for setting char size 2022-10-16 20:55:06 -07:00