Commit graph

15 commits

Author SHA1 Message Date
Daniel Eklöf
2fe7145aff
scrolling region: wip 2019-06-23 21:12:32 +02:00
Daniel Eklöf
b0a2c54fe8
vt: wip: implement scrolling region
This is largely untested, but existing scrolling code has been
converted to using a terminal-global scrolling region that is defined
as start-end of the scrollable region.

This is compared to the old code where the scrolling region where
defined in terms of marginals, counted in lines from top and from
bottom.
2019-06-23 18:02:49 +02:00
Daniel Eklöf
fbf0db621c
vt: implement reverse scrolling (terminfo 'ri')
This currently duplicates the code paths for DAMAGE_SCROLL; there are
many similarities between the two, but also major differences...
2019-06-23 17:16:52 +02:00
Daniel Eklöf
de7dcf1a5c
csi: save and restore cursor when switching to and from alt screen 2019-06-23 15:03:22 +02:00
Daniel Eklöf
199e4aa044
vt: initial implementation of alt screen + 256 colors 2019-06-23 15:00:27 +02:00
Daniel Eklöf
35e5fa1f76
vt: implement DECCKM (cursor key sends either SS3 or CSI escapes) 2019-06-23 14:12:20 +02:00
Daniel Eklöf
6aba78a145
csi: wip: recognize the private CSIs for bracketed paste, smcup/rmxup, smkx/rmkx 2019-06-22 22:25:50 +02:00
Daniel Eklöf
a50be28b9d
grid: implement DAMAGE_SCROLL 2019-06-21 14:29:15 +02:00
Daniel Eklöf
304f15d696
Use a 'damage' list to communicate what needs to be updated
Instead of having each cell in the grid track it's own dirtiness, grid
operations now append "damage" to a list.

This list is consumed every time we render the grid.

This allows us to special case some operations, like erase (and in the
future, scroll).
2019-06-19 14:17:43 +02:00
Daniel Eklöf
71dde121e6
wip: initial input handling 2019-06-19 10:04:47 +02:00
Daniel Eklöf
50c43be0d9
grid: track both linear and row,col cursor 2019-06-17 21:15:20 +02:00
Daniel Eklöf
963b266cce
vt: handle cursor-at-right-edge
When printing to the right-most-cell, don't advance the
cursor. Instead, set a flag that indicates that the *next* print
should line-wrap.
2019-06-17 20:53:05 +02:00
Daniel Eklöf
6d5f5b9f7a
wip: vt parsing 2019-06-17 18:57:12 +02:00
Daniel Eklöf
c5b60253a7
vt: cell now tracks attributes (bold, italic, underline etc) 2019-06-16 16:44:42 +02:00
Daniel Eklöf
2a4c08b941
wip: vt parsing: initial csi/osc dispatching 2019-06-15 22:22:44 +02:00