diff options
author | nicm <nicm> | 2019-06-27 15:17:41 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-06-27 15:17:41 +0000 |
commit | dae2868d1227b95fd076fb4a5efa6256c7245943 (patch) | |
tree | e9c0285c193c9e3463b4e3d45cfd71a7668aedfa /input.c | |
parent | 3a6d90adadfcd4aa6b513df7f8ae5c4dcc05a6dc (diff) | |
download | rtmux-dae2868d1227b95fd076fb4a5efa6256c7245943.tar.gz rtmux-dae2868d1227b95fd076fb4a5efa6256c7245943.tar.bz2 rtmux-dae2868d1227b95fd076fb4a5efa6256c7245943.zip |
Add support for underscore colours with Setulc capability, mostly from
Kai Moschcau.
Diffstat (limited to 'input.c')
-rw-r--r-- | input.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -1829,6 +1829,8 @@ input_csi_dispatch_sgr_256_do(struct input_ctx *ictx, int fgbg, int c) gc->fg = c | COLOUR_FLAG_256; else if (fgbg == 48) gc->bg = c | COLOUR_FLAG_256; + else if (fgbg == 58) + gc->us = c | COLOUR_FLAG_256; } return (1); } @@ -1862,6 +1864,8 @@ input_csi_dispatch_sgr_rgb_do(struct input_ctx *ictx, int fgbg, int r, int g, gc->fg = colour_join_rgb(r, g, b); else if (fgbg == 48) gc->bg = colour_join_rgb(r, g, b); + else if (fgbg == 58) + gc->us = colour_join_rgb(r, g, b); return (1); } @@ -1938,7 +1942,7 @@ input_csi_dispatch_sgr_colon(struct input_ctx *ictx, u_int i) } return; } - if (n < 2 || (p[0] != 38 && p[0] != 48)) + if (n < 2 || (p[0] != 38 && p[0] != 48 && p[0] != 58)) return; switch (p[1]) { case 2: @@ -1983,7 +1987,7 @@ input_csi_dispatch_sgr(struct input_ctx *ictx) if (n == -1) continue; - if (n == 38 || n == 48) { + if (n == 38 || n == 48 || n == 58) { i++; switch (input_get(ictx, i, 0, -1)) { case 2: @@ -2078,6 +2082,9 @@ input_csi_dispatch_sgr(struct input_ctx *ictx) case 55: gc->attr &= ~GRID_ATTR_OVERLINE; break; + case 59: + gc->us = 0; + break; case 90: case 91: case 92: |