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
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
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
46bbab5d10
ignore zero-width characters for now
2022-08-24 13:48:22 -07:00
Mitchell Hashimoto
ec288d9111
get rid of assertions because its possible they're false
2022-08-20 17:21:14 -07:00
Mitchell Hashimoto
28072157d5
selection of wide chars and copy/paste works
2022-08-20 17:10:10 -07:00
Mitchell Hashimoto
da79aae0ab
terminal: print wide characters
2022-08-20 16:11:48 -07:00
Mitchell Hashimoto
5c2edf4d2a
Fix some stage2 compilation errors
2022-08-17 14:42:23 -07:00
Mitchell Hashimoto
2f36d5f715
pkg/tracy
2022-08-17 14:03:49 -07:00
Mitchell Hashimoto
2457454b07
test wasm of the term package
2022-08-17 13:57:21 -07:00
Mitchell Hashimoto
ead6e5a435
src/terminal can build into a minimal wasm library, I think
2022-08-17 12:25:53 -07:00
Mitchell Hashimoto
ad1cdbcd59
implement erase display scrollback ("clear" command)
2022-08-09 09:22:34 -07:00
Mitchell Hashimoto
fb5afbedd2
add screen .history
tag to fetch scrollback region
2022-08-09 09:18:10 -07:00
Mitchell Hashimoto
38af14ff3a
resize alt screen without reflow
2022-08-08 21:14:27 -07:00
Mitchell Hashimoto
f82493cccf
when growing cols, adjust viewport and cursor if we shorten
2022-08-08 20:52:36 -07:00
Mitchell Hashimoto
16a5a45293
when growing rows, offset cursor by added rows
2022-08-08 18:14:11 -07:00
Mitchell Hashimoto
d551f1126b
when less cols, cursor needs to be in screen space, not viewport
2022-08-08 17:47:16 -07:00
Mitchell Hashimoto
113b5a318b
when shrinking rows, clear empty space from the end (see test case)
2022-08-08 17:24:10 -07:00
Mitchell Hashimoto
a2cf116063
fix a crash when reflowing to smaller cols but still buggy
2022-08-08 14:20:52 -07:00
Mitchell Hashimoto
f3d3d255fb
handle case where cursor is past where content is on col shrink
2022-08-08 14:08:01 -07:00
Mitchell Hashimoto
9493561159
assertions to save our bacon
2022-08-08 14:03:14 -07:00
Mitchell Hashimoto
e4c8bbd394
reflow cursor when shrinking cols
2022-08-08 14:02:28 -07:00
Mitchell Hashimoto
6fa4cb07c7
more cursor reflow
2022-08-08 13:56:09 -07:00
Mitchell Hashimoto
bfbeceeefa
when cols grow, move cursor if it unwraps the line it is on
2022-08-08 13:47:49 -07:00
Mitchell Hashimoto
9ddb19e9b0
replace old resize with new reflow resize
2022-08-08 13:06:01 -07:00
Mitchell Hashimoto
f97b739317
reflow when columns get smaller
2022-08-08 13:04:27 -07:00
Mitchell Hashimoto
8a5dadd995
rowIndex uses tag max so we have max in just one place
2022-08-08 10:38:24 -07:00
Mitchell Hashimoto
57f6986343
rowIterator(.screen) now ignores unused lines, fixes shrinking rows
2022-08-08 10:32:42 -07:00
Mitchell Hashimoto
4ef73efeac
resize less rows, but currently not 100% working (see commented tests)
2022-08-08 10:28:11 -07:00
Mitchell Hashimoto
2cf4a265e5
reflow when cols grow
2022-08-08 09:39:55 -07:00
Mitchell Hashimoto
dc351582bc
resize increasing column width without reflow
2022-08-07 16:23:23 -07:00
Mitchell Hashimoto
be3a539152
start working on new resize with reflow, can grow rows
2022-08-07 15:52:53 -07:00
Mitchell Hashimoto
039b640f6b
Merge branch 'reflow'
...
This actually doesn't implement reflow but I wanted to merge this
because it has an important refactor and clarity around screen
operations.
It is now clearly defined in the API what portion of the screen you're
accessing (active, viewport, etc.) and the terminal only operates on the
active area (fixing TODO item in diff).
This is all groundwork I found was necessary to even start thinking
about reflow.
2022-08-07 10:47:27 -07:00
Mitchell Hashimoto
2d6d027097
Screen.region to get a region of contiguous memory for a tag
2022-08-07 10:46:35 -07:00