269 Commits

Author SHA1 Message Date
Mitchell Hashimoto
6373900dfa comment on screen struct 2022-09-03 21:35:43 -07:00
Mitchell Hashimoto
c0e36bedd6 remove dirty for now 2022-09-03 21:26:49 -07:00
Mitchell Hashimoto
3d0ec16ad4 resize with shrinking cols 2022-09-03 21:25:06 -07:00
Mitchell Hashimoto
7134ddec4e resize less rows 2022-09-03 17:59:24 -07:00
Mitchell Hashimoto
1121438d8a maybe clean up resize more cols 2022-09-03 17:50:04 -07:00
Mitchell Hashimoto
d6e243cde1 resize with reflow more cols 2022-09-03 17:28:26 -07:00
Mitchell Hashimoto
2583b8cb65 fix y pos on resize 2022-09-03 12:25:26 -07:00
Mitchell Hashimoto
41f2b756ae fix scrolling and new row calculation 2022-09-03 12:18:45 -07:00
Mitchell Hashimoto
d22a323896 clean up some assertions 2022-09-01 23:25:51 -07:00
Mitchell Hashimoto
8d6e8eb0aa asserts not being optimized away, use comptime gate 2022-09-01 22:21:54 -07:00
Mitchell Hashimoto
57725cf3a4 cache row iterator max value 2022-09-01 22:05:42 -07:00
Mitchell Hashimoto
5aa6d79519 screen: cache history offset
This is a super hot calculation so taking up memory to cache it resulted
in 15m less function calls when catting a 10mb file, and ~5% speedup.
2022-09-01 21:36:59 -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
d404be2993 grow our scrollback much faster 2022-09-01 01:15:20 -07:00
Mitchell Hashimoto
dba027d307 resize should maintain minimum of screen rows 2022-09-01 01:09:06 -07:00
Mitchell Hashimoto
77c8ec0a20 the big screen switchover 2022-09-01 00:58:47 -07:00
Mitchell Hashimoto
2f2b12a32f resize without reflow preserves cursor better 2022-08-31 21:51:01 -07:00
Mitchell Hashimoto
89e931e468 our new resize without reflow supports scrollback so test that 2022-08-31 21:29:28 -07:00
Mitchell Hashimoto
4056f2abf9 new screen supports resize without reflow 2022-08-31 20:48:48 -07:00
Mitchell Hashimoto
cf969b27eb screen2: dynamically allow scrollback when its needed 2022-08-31 19:54:10 -07:00
Mitchell Hashimoto
a192249c77 circbuf rotateToZero does nothing if its already at zero 2022-08-31 19:33:28 -07:00
Mitchell Hashimoto
50612002a8 circbuf resize operation 2022-08-31 17:17:43 -07:00
Mitchell Hashimoto
b7b83db119 fix some circbuf bugs (add tests) and add rotation 2022-08-31 17:08:02 -07:00
Mitchell Hashimoto
cb06bf4873 use non-extern unions so we get safety checks 2022-08-31 16:02:22 -07:00
Mitchell Hashimoto
10ec5f509e circbuf doesn't use zeroes, it takes a default value 2022-08-31 15:27:45 -07:00
Mitchell Hashimoto
e8009f89cf add cursor to new screen 2022-08-31 15:13:30 -07:00
Mitchell Hashimoto
c7b7e3cb44 screen2: selection 2022-08-31 14:58:43 -07:00
Mitchell Hashimoto
f6f8fee804 screen2: scrolling (to a certain extent), copying in tests 2022-08-31 11:44:39 -07:00
Mitchell Hashimoto
001ec979a2 big API surface for screen2, can test write/read now 2022-08-30 17:33:25 -07:00
Mitchell Hashimoto
19b46b6084 starting the new screen implementation 2022-08-30 16:39:49 -07:00
Mitchell Hashimoto
f2af0983cf dedicated circular buffer 2022-08-30 16:35:44 -07:00
Mitchell Hashimoto
36140d3ee9 TODO 2022-08-29 20:26:02 -07:00
Mitchell Hashimoto
0505018186 Line segmentation into text runs 2022-08-29 16:39:48 -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
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
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