aboutsummaryrefslogtreecommitdiff
path: root/grid.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2016-02-05 10:08:55 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2016-02-05 10:08:55 +0000
commit07c23ccc05314f5d351cb70d08a9256e15d105d9 (patch)
tree70a8a25daa06d7330bfabba5dbe9be8fd9fc43c8 /grid.c
parent2130a07b70db7df8d57b9cad96a6866203daacad (diff)
parent26f899be109d2b7e8c8fae4ca8e3baaccf8d2655 (diff)
downloadrtmux-07c23ccc05314f5d351cb70d08a9256e15d105d9.tar.gz
rtmux-07c23ccc05314f5d351cb70d08a9256e15d105d9.tar.bz2
rtmux-07c23ccc05314f5d351cb70d08a9256e15d105d9.zip
Merge branch 'master' of github.com:tmux/tmux
Diffstat (limited to 'grid.c')
-rw-r--r--grid.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/grid.c b/grid.c
index 782032f4..0be0254f 100644
--- a/grid.c
+++ b/grid.c
@@ -452,6 +452,12 @@ grid_string_cells_fg(const struct grid_cell *gc, int *values)
values[n++] = 38;
values[n++] = 5;
values[n++] = gc->fg;
+ } else if (gc->flags & GRID_FLAG_FGRGB) {
+ values[n++] = 38;
+ values[n++] = 2;
+ values[n++] = gc->fg_rgb.r;
+ values[n++] = gc->fg_rgb.g;
+ values[n++] = gc->fg_rgb.b;
} else {
switch (gc->fg) {
case 0:
@@ -493,6 +499,12 @@ grid_string_cells_bg(const struct grid_cell *gc, int *values)
values[n++] = 48;
values[n++] = 5;
values[n++] = gc->bg;
+ } else if (gc->flags & GRID_FLAG_BGRGB) {
+ values[n++] = 48;
+ values[n++] = 2;
+ values[n++] = gc->bg_rgb.r;
+ values[n++] = gc->bg_rgb.g;
+ values[n++] = gc->bg_rgb.b;
} else {
switch (gc->bg) {
case 0:
@@ -532,7 +544,7 @@ void
grid_string_cells_code(const struct grid_cell *lastgc,
const struct grid_cell *gc, char *buf, size_t len, int escape_c0)
{
- int oldc[16], newc[16], s[32];
+ int oldc[64], newc[64], s[128];
size_t noldc, nnewc, n, i;
u_int attr = gc->attr;
u_int lastattr = lastgc->attr;