Hi,
On Tue, Mar 17, 2015 at 09:04:32PM +0100, LemonBoy wrote:
> ---
> st.c | 47 ++++++++++++++++++++++++++++++++++++++---------
> 1 file changed, 38 insertions(+), 9 deletions(-)
>
> diff --git a/st.c b/st.c
> index 836ae21..37da82e 100644
> --- a/st.c
> +++ b/st.c
> _AT_@ -257,6 +257,7 @@ typedef struct {
> int ch; /* char height */
> int cw; /* char width */
> char state; /* focus, redraw, visible */
> + int cursor; /* cursor style */
> } XWindow;
>
> typedef struct {
> _AT_@ -2173,6 +2174,13 @@ csihandle(void) {
> case 'u': /* DECRC -- Restore cursor position (ANSI.SYS) */
> tcursor(CURSOR_LOAD);
> break;
> + case 'q': /* DECSCUSR -- Set Cursor Style */
From [1], this should be ' ' (space), and we should check that there is
a 'q' in the buffer afterwards, or maybe we need to have a special case
for that in csiparse.
> + DEFAULT(csiescseq.arg[0], 1);
> + if (!BETWEEN(csiescseq.arg[0], 0, 6)) {
> + goto unknown;
> + }
> + xw.cursor = csiescseq.arg[0];
> + break;
> }
> }
> [...]
I personnaly think this sequence is useless, but if people are actually
using it like you told me on IRC, we should probably apply it, once
fixed. And at least you are not doing the blinking versions! :)
[1]
http://vt100.net/docs/vt510-rm/chapter4
--
Ivan "Colona" Delalande
Received on Tue Mar 17 2015 - 22:22:01 CET