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
Mitchell Hashimoto
2e1bc7bb01
Bring back freetype font bitmap conversion
...
Monaco on Mac is mono
2022-10-16 20:47:21 -07:00
Mitchell Hashimoto
f29393bca6
Imgui ( #20 )
...
* vendor/cimgui
* Add a "dev mode" window which for now is just imgui demo
2022-10-16 16:20:08 -07:00
Mitchell Hashimoto
846c9db0c3
get rid of stage2 workaround for now
2022-10-15 10:43:39 -07:00
Mitchell Hashimoto
a1087af7c8
Workaround stage2 compile issue with issue link
2022-10-14 09:56:53 -07:00
Mitchell Hashimoto
c99fb89738
new opengl function calls for stage2
2022-10-14 09:18:33 -07:00
Mitchell Hashimoto
9c99a49ac5
font: deferred face can load core text backend
2022-10-09 11:28:28 -07:00
Mitchell Hashimoto
71ec509930
Make font face a compile time interface, stub for coretext
2022-10-08 09:19:21 -07:00
Mitchell Hashimoto
c565c561fd
Use Apple Emoji font on Mac
2022-10-02 11:20:55 -07:00
Mitchell Hashimoto
53aab0a163
--font-family CLI config
2022-09-29 14:51:31 -07:00
Mitchell Hashimoto
72105fc6cd
update to the latest stage2 compiler we can
2022-09-23 12:08:06 -07:00
Mitchell Hashimoto
77851b30a2
Revert "update to latest Zig nightly"
...
This reverts commit f3f2c3df268db905b6af6588e5e5008da0f48b60.
2022-09-14 19:39:10 -07:00
Mitchell Hashimoto
f3f2c3df26
update to latest Zig nightly
2022-09-14 19:34:19 -07:00
Mitchell Hashimoto
59191b05cd
build fontconfig
2022-09-13 14:34:40 -07:00
Mitchell Hashimoto
7ceff79ea9
various methods on Row are grapheme-aware and tested
2022-09-05 09:47:35 -07:00
Mitchell Hashimoto
ac9f9b29d6
bump render to 144hz, slowest 120hz
2022-09-03 22:17:25 -07:00
Mitchell Hashimoto
81b805b8c2
use an arena allocator for tty allocs
...
libuv always called the alloc cb right before read, and read owns the
buffer. By using an arena, we're probably just reusing the same buffer
over and over again. This should be quite fast.
In tracing, this indeed changes the MTPC on ttyReadAlloc from ~750ns to
~275ns. I'll take it!
2022-09-01 22:48:33 -07:00
Mitchell Hashimoto
73581eee0b
small optimizations
2022-09-01 18:36:27 -07:00
Mitchell Hashimoto
30a14d230e
process ASCII events manually to avoid function call overhead
2022-09-01 17:53:40 -07:00
Mitchell Hashimoto
77c8ec0a20
the big screen switchover
2022-09-01 00:58:47 -07:00
Mitchell Hashimoto
f1abca51f7
convert src/font to use new pkg/freetype
2022-08-28 22:22:16 -07:00
Mitchell Hashimoto
28e9619361
allow non-printables even if modifiers are pressed
2022-08-28 21:12:58 -07:00
Mitchell Hashimoto
1609c8e775
hook up scroll down and up CSI codes (SD/SU)
2022-08-27 10:46:11 -07:00
Mitchell Hashimoto
bee82d58dc
Shift Out/Shift In (invoke charset into GL)
2022-08-27 10:08:01 -07:00
Mitchell Hashimoto
7626f194e9
basic charset mapping, support configuration, print tests
2022-08-27 09:42:05 -07:00
Mitchell Hashimoto
ff460887b5
fix miscompilation around sgr mode
2022-08-26 15:07:22 -07:00