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