Commit graph

17 commits

Author SHA1 Message Date
Daniel Eklöf
751ac55f64
csi: *sigh* looks like e.g. neovim doesn't respect Se
I.e. it issues a \E[2 q regardless of what we've configured the
terminfo Se entry to.

So, make \E[2 q mean "the user configured cursor style" (which
defaults to 'block').
2019-07-22 20:23:29 +02:00
Daniel Eklöf
49034bb759
csi: let CSI 0 q mean "switch to user configured cursor style"
According to the specs, \E[0 q means a blinking block cursor. However,
since it also states that \E[1 q *also* is a blinking block cursor,
and that it is the default, *and* given that fact that parameter-less
CSIs typically means "reset", let's make it mean "reset to the user
configured cursor style".
2019-07-22 20:19:27 +02:00
Daniel Eklöf
61409d40e2
flash: convert our own 'flash' from a CSI to an OSC 2019-07-22 19:10:15 +02:00
Daniel Eklöf
aa4cf1873b
csi: implement CSI 3J - erase scroll back 2019-07-22 19:05:22 +02:00
Daniel Eklöf
42b46df6f1
terminfo: add key sequences for keys with modifiers 2019-07-22 18:44:53 +02:00
Daniel Eklöf
34e11a711f
terminfo: add Se/Ss - describes how to change cursor style 2019-07-22 18:37:29 +02:00
Daniel Eklöf
602f22858b
terminfo: add Ms - modify selection/clipboard 2019-07-22 18:36:15 +02:00
Daniel Eklöf
802c113db3
terminfo: add smxx/rmxx - describes strikeout/crossed-out 2019-07-22 18:34:06 +02:00
Daniel Eklöf
3316a3ea4c
terminfo: set XT (screen) - we understand OSC and mouse tracking 2019-07-22 18:33:29 +02:00
Daniel Eklöf
283ffc79be
terminfo: set AX (screen) - we understand CSI 39/49m 2019-07-22 18:32:49 +02:00
Daniel Eklöf
df91698ff3
terminfo: revert kmous to \E[M
ncurses disables mouse support completely if kmous != \E[M. Now, since
kmous *has* to match XM, this means we must also disable XM.
2019-07-21 21:41:19 +02:00
Daniel Eklöf
ef06576aaf
terminfo: since we now expose our SGR cap, set kmous=\E< 2019-07-21 20:49:42 +02:00
Daniel Eklöf
838738a04a
terminfo: add XM (mouse initialization) 2019-07-21 20:46:17 +02:00
Daniel Eklöf
0dd8951cb3
flash: implement 'flash'
Use our own escape sequence for the 'flash' terminfo entry.

Implemented by arming a timer FD and setting a boolean that indicates
we're currently "flashing".

The renderer draws a semi-transparent yellowish layer over the entire
window when "flashing" is active.
2019-07-21 19:14:19 +02:00
Daniel Eklöf
64135ae365
csi: implement CSI 22t and CSI 23t
22;0|1|2t pushes the current window title/icon to the stack, while 23
pops it.

The second parameter, 0|1|2 has the following meaning:

0 - push/pop icon+title
1 - push/pop icon
2 - push/pop title
2019-07-21 17:48:06 +02:00
Daniel Eklöf
36f30e8b1b
terminfo: change kmous to \E[M. This fixes mouse not working in e.g. htop 2019-07-18 14:39:27 +02:00
Daniel Eklöf
0c565d1558
terminfo: intitial terminfo specification 2019-07-18 14:00:33 +02:00