Mitchell Hashimoto
2cab94e64d
move cell metrics calculation out into src/font
2022-08-29 11:44:05 -07:00
Mitchell Hashimoto
bd9c048c02
use new font.GroupCache, remove unused font structs
2022-08-29 11:34:21 -07:00
Mitchell Hashimoto
a0aa100815
font: GroupCache is like Group, but with caching...
2022-08-29 11:10:50 -07:00
Mitchell Hashimoto
a75035c042
font: introduce Group which will eventually replace FallbackSet
...
This is more oriented around glyph indexes and also introduces an
important concept in the FontIndex which can be cached ahead of time so
that we can eventually break down text into runs for text shaping.
2022-08-29 10:16:53 -07:00
Mitchell Hashimoto
985b329c8a
src/font: change Face to require font to init
2022-08-29 08:48:40 -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
7af9091497
pkg/freetype: Library and Face
2022-08-28 17:07:27 -07:00
Mitchell Hashimoto
d8a06e7768
clean up some imports
2022-08-28 14:50:22 -07:00
Mitchell Hashimoto
44dfe54fe8
output harfbuzz version on startup
2022-08-28 10:26:49 -07:00
Mitchell Hashimoto
8ff98446a9
sgr parsing bright colors now sets color properly
2022-08-27 10:55:10 -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
312d589a2e
implement locking shift
2022-08-27 10:20:54 -07:00
Mitchell Hashimoto
4a247e3bb8
single shift 2/3
2022-08-27 10:16:21 -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
75b63f3df3
british charset
2022-08-27 08:41:06 -07:00
Mitchell Hashimoto
40ca2a69fb
starting charset tables
2022-08-26 20:00:25 -07:00
Mitchell Hashimoto
ff460887b5
fix miscompilation around sgr mode
2022-08-26 15:07:22 -07:00
Mitchell Hashimoto
fe6ba02709
sgr pixels mouse report format
2022-08-26 14:59:44 -07:00
Mitchell Hashimoto
1039ad76bf
urxvt reporting format
2022-08-26 14:57:35 -07:00
Mitchell Hashimoto
f551c0ef66
SGR reporting
2022-08-26 14:55:18 -07:00
Mitchell Hashimoto
b46fe522d5
UTF-8 mouse reporting
2022-08-26 14:42:20 -07:00
Mitchell Hashimoto
ab305add6c
any event mouse tracking
2022-08-26 14:26:42 -07:00
Mitchell Hashimoto
bd5dd69538
normal event (motion) mouse tracking
2022-08-26 14:17:42 -07:00
Mitchell Hashimoto
9aa5378ffa
Track/cache button state and mods state
2022-08-26 13:55:24 -07:00
Mitchell Hashimoto
a4bab6592d
normal events can now track scroll
2022-08-26 12:25:33 -07:00
Mitchell Hashimoto
3096b32f13
mouse normal events in x10 format
2022-08-26 12:17:58 -07:00
Mitchell Hashimoto
93f45af41b
X10 click-only mouse reporting
2022-08-26 12:04:54 -07:00
Mitchell Hashimoto
43b7727cf8
change u1 in mode to bool
2022-08-26 11:27:44 -07:00
Mitchell Hashimoto
f9274bdafc
define mouse events, all TODO
2022-08-26 11:14:34 -07:00
Mitchell Hashimoto
dc6fc5c1c3
implement faint colors (SGR 2)
2022-08-26 11:13:34 -07:00
Mitchell Hashimoto
65df657b4e
make cell attrs bools instead of u1s
2022-08-26 11:09:48 -07:00
Mitchell Hashimoto
469515c02b
bind function keys (F1 to F12)
2022-08-26 10:27:41 -07:00
Mitchell Hashimoto
4ffd5cd994
SGR 39/49 (reset fg/bg, respectively)
2022-08-26 09:56:17 -07:00
Mitchell Hashimoto
a1130095f8
note charsets are TODO
2022-08-26 09:27:51 -07:00
Mitchell Hashimoto
c7a5045bd4
missed comment
2022-08-25 16:24:20 -07:00
Mitchell Hashimoto
84b75967a2
scale the cursor position from screen coords to pixels
2022-08-25 16:09:54 -07:00
Mitchell Hashimoto
a9b34b43c5
code for getting physical DPI
...
we don't need it but I want to put it in Git history
2022-08-25 15:53:29 -07:00
Mitchell Hashimoto
9601920b4d
font size is now in font points, determine size based on window DPI
2022-08-25 12:29:28 -07:00
Mitchell Hashimoto
46bbab5d10
ignore zero-width characters for now
2022-08-24 13:48:22 -07:00
Mitchell Hashimoto
f4b1783c1f
atlas tracks modified/resize state, reallocate on GPU if resized
2022-08-24 12:41:31 -07:00
Mitchell Hashimoto
d8248ef0ae
fix data corruption on growing the Atlas
2022-08-24 12:14:02 -07:00
Mitchell Hashimoto
5713c2f468
move input test to qualified
2022-08-24 11:17:28 -07:00
Mitchell Hashimoto
3b5a9caff5
hook up more control keys: home, end, page up, page down
2022-08-24 11:16:36 -07:00
Mitchell Hashimoto
80376ce6da
hook up keybindings for copy/paste and arrow keys
2022-08-24 11:08:39 -07:00
Mitchell Hashimoto
e6f09093dd
unify non-printables up by bindings
2022-08-24 10:21:27 -07:00
Mitchell Hashimoto
b33268cee3
only handle non-printables on press/release, and BS is 0x7F
2022-08-24 10:18:05 -07:00
Mitchell Hashimoto
622537d665
look up keybindings on keypress, clean up how non-printables are handled
2022-08-24 10:02:13 -07:00
Mitchell Hashimoto
2800a46854
keybind parsing in CLI args
2022-08-24 09:31:14 -07:00