1610 Commits

Author SHA1 Message Date
Mitchell Hashimoto
1c57bbabda termio/exec: clear screen should erase rows and shift up 2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
06d944c292 terminal: cloneFrom clears destination 2024-03-22 20:28:12 -07:00
Gregory Anders
d54d7cd581 terminal: set PageList viewport to active area when cloned
As an optimization, the renderer does not attempt to find the cell under
the cursor if the viewport is in the scrollback (i.e. not the active
area). When the renderer clones the screen state it also clones the
PageList, and the cloned PageList has its viewport set to the top of the
scrollback.

This caused the renderer to never attempt to find the cell under the
cursor, which in turn caused cells under the cursor to be improperly
highlighted. Instead, when the PageList is cloned initialize its
viewport to the active area.
2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
1f62284c26 terminal: delete/insertLines uses correct page for clearing 2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
5e1f8b6cc4 terminal: insertLines/deleteLines handle split across pages 2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
2b50bd5305 terminal: deleteLines assertion for same page 2024-03-22 20:28:12 -07:00
Mitchell Hashimoto
22c181ca75 terminal: insertLines uses iterators to handle pages 2024-03-22 20:28:11 -07:00
Mitchell Hashimoto
3f0607d6c0 terminal: PageList rowIterator respects limit row 2024-03-22 20:28:07 -07:00
Mitchell Hashimoto
07a27072dc inspector: needs to call new PageList.maxSize func 2024-03-22 20:28:07 -07:00
Mitchell Hashimoto
e7a2a9bcd1 terminal: resize no reflow must do cols before rows 2024-03-22 20:28:07 -07:00
Mitchell Hashimoto
7e010caea1 terminal: handle resizing into increased implicit max size 2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
e8a2dc5715 terminal: cleaner impl of getTopLeft(.active) 2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
b76995b5af terminal: resizing greater cols without reflow should preserve cols 2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
c8a3040519 terminal: resizing to lt rows should not trim blanks with tracked pin 2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
f0e3516c34 terminal: fix off-by-one tracked pin issues when page is pruned 2024-03-22 20:28:06 -07:00
Mitchell Hashimoto
1ac0980ea0 terminal: pruned pages should keep tracked pins in top-left 2024-03-22 20:28:06 -07:00
Qwerasd
869b6b18e8 terminal/page: improve capacity adjust cols tests 2024-03-22 20:28:05 -07:00
Qwerasd
9630c39ea4 terminal/page: improved capacity adjust logic 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
d664840b7f terminal: add StringMap back 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
bca51ee771 terminal: selectionString takes a struct for opts 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
e18a77739c terminal: screen lineIterator 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
f4fa54984c terminal: selectLine can disable whitespace/sem prompt splitting 2024-03-22 20:28:05 -07:00
Mitchell Hashimoto
9015b7548f inspector: support cell pinning again 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
a59d4286c7 terminal: adjust page capacity for graphemes if necessary 2024-03-22 20:28:04 -07:00
Mitchell Hashimoto
c0ed1fa370 terminal: pagelist can adjust grapheme byte capacity 2024-03-22 20:28:02 -07:00
Mitchell Hashimoto
2fe68eb973 terminal: bitmap allocator had off by one on extra bitmaps 2024-03-22 20:28:02 -07:00
Mitchell Hashimoto
935063d892 core: scroll to selection working 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
522c28207e terminal: remove TODO 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
7ae9b0c469 terminal: screen clone that doesn't have sel should set null sel 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
9351cab038 terminal: Screen clone should preserve selection order 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
a3509f32a9 terminal: selection should use pin iterators 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
44d320a23e terminal: selectionString should use proper ordered 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
d7ee705a7a terminal/kitty: calculate cell height more efficiently 2024-03-22 20:28:01 -07:00
Mitchell Hashimoto
347c57f061 terminal: Selection.containedRow 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
d805fdd672 core: mouse untracks pin in right screen 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
992c736986 terminal: dumpScreen handles wrap 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
5813304358 terminal: dumpString options 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
0a6735d05d terminal: jump to prompt 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
1c4fb96e49 terminal: fix page size calculations on Linux 2024-03-22 20:28:00 -07:00
Mitchell Hashimoto
65909df9f9 terminal: commented log line to see active style count 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
3191081ea6 terminal: page.cloneFrom graphemes 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
49e8acbcd2 core: configurable scrollback limit 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
03abde6ba8 terminal: resize handles increased styles/graphemes 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
9137f52cbf terminal: resize cols without reflow handles higher caps 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
a2e97a86d0 terminal: PageList adjustCap should start from original cap 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
ab1a302daa terminal: PageList.clone must use createPageExt for non-std pages 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
dc04cc1317 terminal: handle style ID overflow 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
5e68bc60e0 terminal: resize page on unique style per cell 2024-03-22 20:27:59 -07:00
Mitchell Hashimoto
98b16930c3 terminal: PageList adjustCapacity should return new node and fix pins 2024-03-22 20:27:56 -07:00
Mitchell Hashimoto
7ff5577d05 terminal: PageSize adjustCapacity for non-standard pages 2024-03-22 20:27:56 -07:00