452 Commits

Author SHA1 Message Date
Mitchell Hashimoto
0335b0eada core: preedit modification sets full screen dirty
Fixes #1735
2024-05-07 19:19:58 -07:00
Mitchell Hashimoto
bb138becc5 terminal: resize causes full screen redraw 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
037f8d3a5e terminal: set dirty bit for screen swap 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
3f9e3c39a4 terminal: track dirty state of palette and reverse colors 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
f867fabf8e terminal: new coordinate type 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
fb25f5cea1 terminal: more dirty tests 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
cfcd16354a terminal: many more dirty checks 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
1c05939f17 terminal: deleteChars dirty 2024-05-01 20:31:49 -07:00
Mitchell Hashimoto
a53dbaaa31 terminal: more dirty tests 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
19ddbbc7d6 terminal: eraseRowBounded dirty tracking 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
0749b67832 terminal: index dirty tests one todo 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
b46e028069 terminal: scrollDown dirty tests 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
bd1a7d3db1 terminal: scrollDown dirty tests 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
58aa4cc10b terminal: dirty tests for insertLines 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
f7a57bd2c8 terminal: dirty tests on t/b/l/r margins 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
11c195e493 terminal: dirty tracking on print with tests 2024-05-01 20:31:48 -07:00
Mitchell Hashimoto
3f16234f72 terminal: Coordinate uses CellCountInt 2024-04-26 20:52:08 -07:00
Mitchell Hashimoto
910c8cb04a terminal: another enum in a packed struct needs backing int 2024-04-17 20:50:50 -07:00
Mitchell Hashimoto
9ea78f981e terminal: index (LF) that scrolls scroll region preserves SGR
Fixes #1676

The comment in the diff explains. This is a regression that was not unit
tested properly in the old implementation prior to the paged-terminal
merge.
2024-04-13 21:31:41 -07:00
Mitchell Hashimoto
eb2a2e3931 fmt 2024-04-02 08:38:51 -07:00
Qwerasd
51d3c2cf35 fix(kitty_graphics): set dirty state on various scroll operations 2024-03-31 21:49:28 -04:00
Qwerasd
925c7e86a2 fix(terminal): insert/deleteLines boundary cond.s
Introduced a helper function for correctly handling boundary conditions
in insertLines and deleteLines. Also adds a whole host of tests for said
conditions in deleteLines, tests not duplicated for insertLines because
they both use the same helper function.
2024-03-29 16:29:27 -04:00
Qwerasd
20ab4ec01f fix(terminal): correct wrap logic in insert/deleteLines
Appropriately handles clearing spacer heads if shifted lines include rightmost column, and centralizes clearing of row wrap state for full width scrolling regions.
2024-03-29 13:12:52 -04:00
Qwerasd
e55f2daf90 perf(terminal): clear unprotected cells in spans
Previous behavior of clearing one at a time hit a page integrity assertion after clearing a wide character but not its tail. This fixes that and should also be - in theory - significantly more performant as well by identifying spans of unprotected cells and clearing them in bulk.
2024-03-29 13:08:38 -04:00
Mitchell Hashimoto
dce96847a9 terminal: test eraseRowBounded, fix off by ones 2024-03-27 20:23:45 -07:00
Qwerasd
492e147e26 terminal: clean up some code and comments 2024-03-26 12:07:35 -06:00
Qwerasd
2274b8a912 fix(terminal): don't reset x when indexing in scroll region 2024-03-26 12:07:35 -06:00
Qwerasd
aadf795d28 fix(terminal): correctly use slow path for left/right scroll margin 2024-03-26 12:07:35 -06:00
Qwerasd
23d32e248e perf(terminal): fast-paths for scrolling regions 2024-03-26 12:07:35 -06:00
Mitchell Hashimoto
1ad973b274 Merge pull request #1609 from gpanders/kitty-alt-reset
terminal: reset alt screen kitty keyboard state on full reset
2024-03-26 06:46:48 -07:00
Gregory Anders
6c0609ddc8 terminal: reset alt screen kitty keyboard state on full reset 2024-03-26 08:33:21 -05:00
Mitchell Hashimoto
7f1af89abb terminal: turn unreachable into todo 2024-03-25 20:11:21 -07:00
Mitchell Hashimoto
ad5d7b6c5a terminal: insert/deleteLines with L/R region across pages 2024-03-25 20:07:19 -07:00
Mitchell Hashimoto
fe43462eb3 terminal: address todo to re-resolve 905 2024-03-25 11:20:28 -07:00
Mitchell Hashimoto
62abecd49d terminal: deleteLines resets line wrap 2024-03-25 10:09:23 -07:00
Mitchell Hashimoto
a58b03c5a0 terminal: insertLines clears row wrap state 2024-03-25 10:06:14 -07:00
Mitchell Hashimoto
dc858980de terminal: deleteChars resets row wrap state 2024-03-25 09:54:17 -07:00
Mitchell Hashimoto
3e84591b84 terminal: insertBlanks doesn't split spacer tail 2024-03-24 21:27:45 -07:00
Mitchell Hashimoto
d1a0149982 terminal: deleteChars must not shift a spacer head 2024-03-24 20:47:04 -07:00
Mitchell Hashimoto
36240b897c terminal: many more assertions around spacer state 2024-03-24 20:27:47 -07:00
Mitchell Hashimoto
be3749f1ad terminal: decaln accounts for styles across pages 2024-03-24 15:13:13 -07:00
Mitchell Hashimoto
25a5e078fa terminal: more accidental logging 2024-03-22 20:28:23 -07:00
Mitchell Hashimoto
06a8e4ae72 terminal: spacer heads should only exist w/o l/r margin 2024-03-22 20:28:23 -07:00
Mitchell Hashimoto
71c04db5a9 terminal: fix cursor style on deleteLines 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
40cac97c86 terminal: insertChars/deleteChars needs to account properly 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
3b6ae6807c terminal: add more integrity assertions 2024-03-22 20:28:22 -07:00
Mitchell Hashimoto
2d8810b4be terminal: clear styles properly for clearing wide spacers 2024-03-22 20:28:21 -07:00
Mitchell Hashimoto
cc75cc9980 terminal: deleteChars should not split wide char cursor x 2024-03-22 20:28:16 -07:00
Mitchell Hashimoto
a7f74a9dd6 terminal: remove unnecessary todo 2024-03-22 20:28:16 -07:00
Mitchell Hashimoto
b0c0307dda terminal: eraseDisplay complete needs to delete kitty images 2024-03-22 20:28:16 -07:00