Package: tmux / 1.9-6

upstream-c7f3599ebc.diff Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
commit c7f3599ebca82fcd1c2a00de234f90ac1f5f0ede
Author: nicm <nicm>
Date:   Sat Feb 22 01:38:47 2014 +0000

    Fix -fg/-bg/-style with 256 colour terminals.

diff --git a/style.c b/style.c
index 97d5576..9974408 100644
--- a/style.c
+++ b/style.c
@@ -203,8 +203,14 @@ style_apply(struct grid_cell *gc, struct options *oo, const char *name)
 
 	memcpy(gc, &grid_default_cell, sizeof *gc);
 	gcp = options_get_style(oo, name);
-	colour_set_fg(gc, gcp->fg);
-	colour_set_bg(gc, gcp->bg);
+	if (gcp->flags & GRID_FLAG_FG256)
+		colour_set_fg(gc, gcp->fg | 0x100);
+	else
+		colour_set_fg(gc, gcp->fg);
+	if (gcp->flags & GRID_FLAG_BG256)
+		colour_set_bg(gc, gcp->bg | 0x100);
+	else
+		colour_set_bg(gc, gcp->bg);
 	gc->attr |= gcp->attr;
 }
 
@@ -215,10 +221,18 @@ style_apply_update(struct grid_cell *gc, struct options *oo, const char *name)
 	struct grid_cell	*gcp;
 
 	gcp = options_get_style(oo, name);
-	if (gcp->fg != 8)
-		colour_set_fg(gc, gcp->fg);
-	if (gcp->bg != 8)
-		colour_set_bg(gc, gcp->bg);
+	if (gcp->fg != 8) {
+		if (gcp->flags & GRID_FLAG_FG256)
+			colour_set_fg(gc, gcp->fg | 0x100);
+		else
+			colour_set_fg(gc, gcp->fg);
+	}
+	if (gcp->bg != 8) {
+		if (gcp->flags & GRID_FLAG_BG256)
+			colour_set_bg(gc, gcp->bg | 0x100);
+		else
+			colour_set_bg(gc, gcp->bg);
+	}
 	if (gcp->attr != 0)
 		gc->attr |= gcp->attr;
 }