mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 01:34:18 +00:00 
			
		
		
		
	Sync OpenBSD patchset 322:
Permit options such as status-bg to be configured using the entire 256 colour palette by setting "colour0" to "colour255".
This commit is contained in:
		
							
								
								
									
										6
									
								
								clock.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								clock.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: clock.c,v 1.6 2009-08-26 22:12:21 tcunha Exp $ */
 | 
					/* $Id: clock.c,v 1.7 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -120,7 +120,7 @@ clock_draw(struct screen_write_ctx *ctx, u_int colour, int style)
 | 
				
			|||||||
			screen_write_cursormove(ctx, x, y);
 | 
								screen_write_cursormove(ctx, x, y);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
								memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
			gc.fg = colour;
 | 
								colour_set_fg(&gc, colour);
 | 
				
			||||||
			screen_write_puts(ctx, &gc, "%s", tim);
 | 
								screen_write_puts(ctx, &gc, "%s", tim);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
@@ -130,7 +130,7 @@ clock_draw(struct screen_write_ctx *ctx, u_int colour, int style)
 | 
				
			|||||||
	y = (screen_size_y(s) / 2) - 3;
 | 
						y = (screen_size_y(s) / 2) - 3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.bg = colour;
 | 
						colour_set_bg(&gc, colour);
 | 
				
			||||||
	for (ptr = tim; *ptr != '\0'; ptr++) {
 | 
						for (ptr = tim; *ptr != '\0'; ptr++) {
 | 
				
			||||||
		if (*ptr >= '0' && *ptr <= '9')
 | 
							if (*ptr >= '0' && *ptr <= '9')
 | 
				
			||||||
			idx = *ptr - '0';
 | 
								idx = *ptr - '0';
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										45
									
								
								colour.c
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								colour.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: colour.c,v 1.6 2009-05-18 15:42:30 nicm Exp $ */
 | 
					/* $Id: colour.c,v 1.7 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -18,13 +18,42 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <sys/types.h>
 | 
					#include <sys/types.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "tmux.h"
 | 
					#include "tmux.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const char *
 | 
					/*
 | 
				
			||||||
colour_tostring(u_char c)
 | 
					 * Colour to string conversion functions. Bit 8 of the colour means it is one
 | 
				
			||||||
 | 
					 * of the 256 colour palette.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void
 | 
				
			||||||
 | 
					colour_set_fg(struct grid_cell *gc, int c)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						if (c & 0x100)
 | 
				
			||||||
 | 
							gc->flags |= GRID_FLAG_FG256;
 | 
				
			||||||
 | 
						gc->fg = c;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void
 | 
				
			||||||
 | 
					colour_set_bg(struct grid_cell *gc, int c)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (c & 0x100)
 | 
				
			||||||
 | 
							gc->flags |= GRID_FLAG_BG256;
 | 
				
			||||||
 | 
						gc->bg = c;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const char *
 | 
				
			||||||
 | 
					colour_tostring(int c)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						static char	s[32];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (c & 0x100) {
 | 
				
			||||||
 | 
							xsnprintf(s, sizeof s, "colour%u", c & ~0x100);
 | 
				
			||||||
 | 
							return (s);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch (c) {
 | 
						switch (c) {
 | 
				
			||||||
	case 0:
 | 
						case 0:
 | 
				
			||||||
		return ("black");
 | 
							return ("black");
 | 
				
			||||||
@@ -51,6 +80,16 @@ colour_tostring(u_char c)
 | 
				
			|||||||
int
 | 
					int
 | 
				
			||||||
colour_fromstring(const char *s)
 | 
					colour_fromstring(const char *s)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						const char	*errstr;
 | 
				
			||||||
 | 
						int		 n;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (strncasecmp(s, "colour", (sizeof "colour") - 1) == 0) {
 | 
				
			||||||
 | 
							n = strtonum(s + (sizeof "colour") - 1, 0, 255, &errstr);
 | 
				
			||||||
 | 
							if (errstr != NULL)
 | 
				
			||||||
 | 
								return (-1);
 | 
				
			||||||
 | 
							return (n | 0x100);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (strcasecmp(s, "black") == 0 || (s[0] == '0' && s[1] == '\0'))
 | 
						if (strcasecmp(s, "black") == 0 || (s[0] == '0' && s[1] == '\0'))
 | 
				
			||||||
		return (0);
 | 
							return (0);
 | 
				
			||||||
	if (strcasecmp(s, "red") == 0 || (s[0] == '1' && s[1] == '\0'))
 | 
						if (strcasecmp(s, "red") == 0 || (s[0] == '1' && s[1] == '\0'))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: screen-redraw.c,v 1.46 2009-08-31 22:30:15 tcunha Exp $ */
 | 
					/* $Id: screen-redraw.c,v 1.47 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -240,7 +240,7 @@ screen_redraw_draw_number(struct client *c, struct window_pane *wp)
 | 
				
			|||||||
	struct session		*s = c->session;
 | 
						struct session		*s = c->session;
 | 
				
			||||||
	struct grid_cell	 gc;
 | 
						struct grid_cell	 gc;
 | 
				
			||||||
	u_int			 idx, px, py, i, j;
 | 
						u_int			 idx, px, py, i, j;
 | 
				
			||||||
	u_char			 colour;
 | 
						int			 colour;
 | 
				
			||||||
	char			 buf[16], *ptr;
 | 
						char			 buf[16], *ptr;
 | 
				
			||||||
	size_t			 len;
 | 
						size_t			 len;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -256,7 +256,7 @@ screen_redraw_draw_number(struct client *c, struct window_pane *wp)
 | 
				
			|||||||
	if (wp->sx < len * 6 || wp->sy < 5) {
 | 
						if (wp->sx < len * 6 || wp->sy < 5) {
 | 
				
			||||||
		tty_cursor(tty, px - len / 2, py, wp->xoff, wp->yoff);
 | 
							tty_cursor(tty, px - len / 2, py, wp->xoff, wp->yoff);
 | 
				
			||||||
		memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
							memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
		gc.fg = colour;
 | 
							colour_set_fg(&gc, colour);
 | 
				
			||||||
		tty_attributes(tty, &gc);
 | 
							tty_attributes(tty, &gc);
 | 
				
			||||||
		tty_puts(tty, buf);
 | 
							tty_puts(tty, buf);
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
@@ -266,7 +266,7 @@ screen_redraw_draw_number(struct client *c, struct window_pane *wp)
 | 
				
			|||||||
	py -= 2;
 | 
						py -= 2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.bg = colour;
 | 
						colour_set_bg(&gc, colour);
 | 
				
			||||||
	tty_attributes(tty, &gc);
 | 
						tty_attributes(tty, &gc);
 | 
				
			||||||
	for (ptr = buf; *ptr != '\0'; ptr++) {
 | 
						for (ptr = buf; *ptr != '\0'; ptr++) {
 | 
				
			||||||
		if (*ptr < '0' || *ptr > '9')
 | 
							if (*ptr < '0' || *ptr > '9')
 | 
				
			||||||
@@ -276,9 +276,8 @@ screen_redraw_draw_number(struct client *c, struct window_pane *wp)
 | 
				
			|||||||
		for (j = 0; j < 5; j++) {
 | 
							for (j = 0; j < 5; j++) {
 | 
				
			||||||
			for (i = px; i < px + 5; i++) {
 | 
								for (i = px; i < px + 5; i++) {
 | 
				
			||||||
				tty_cursor(tty, i, py + j, wp->xoff, wp->yoff);
 | 
									tty_cursor(tty, i, py + j, wp->xoff, wp->yoff);
 | 
				
			||||||
				if (!clock_table[idx][j][i - px])
 | 
									if (clock_table[idx][j][i - px])
 | 
				
			||||||
					continue;
 | 
										tty_putc(tty, ' ');
 | 
				
			||||||
				tty_putc(tty, ' ');
 | 
					 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		px += 6;
 | 
							px += 6;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: screen-write.c,v 1.71 2009-09-07 23:37:48 tcunha Exp $ */
 | 
					/* $Id: screen-write.c,v 1.72 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -300,7 +300,7 @@ screen_write_parsestyle(
 | 
				
			|||||||
	char		tmp[32];
 | 
						char		tmp[32];
 | 
				
			||||||
	int		val;
 | 
						int		val;
 | 
				
			||||||
	size_t		end;
 | 
						size_t		end;
 | 
				
			||||||
	u_char		fg, bg, attr;
 | 
						u_char		fg, bg, attr, flags;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (*in == '\0')
 | 
						if (*in == '\0')
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
@@ -309,7 +309,8 @@ screen_write_parsestyle(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	fg = gc->fg;
 | 
						fg = gc->fg;
 | 
				
			||||||
	bg = gc->bg;
 | 
						bg = gc->bg;
 | 
				
			||||||
	attr = 0;
 | 
						attr = gc->attr;
 | 
				
			||||||
 | 
						flags = gc->flags;
 | 
				
			||||||
	do {
 | 
						do {
 | 
				
			||||||
		end = strcspn(in, delimiters);
 | 
							end = strcspn(in, delimiters);
 | 
				
			||||||
		if (end > (sizeof tmp) - 1)
 | 
							if (end > (sizeof tmp) - 1)
 | 
				
			||||||
@@ -325,14 +326,24 @@ screen_write_parsestyle(
 | 
				
			|||||||
			if ((val = colour_fromstring(tmp + 3)) == -1)
 | 
								if ((val = colour_fromstring(tmp + 3)) == -1)
 | 
				
			||||||
				return;
 | 
									return;
 | 
				
			||||||
			if (*in == 'f' || *in == 'F') {
 | 
								if (*in == 'f' || *in == 'F') {
 | 
				
			||||||
				if (val != 8)
 | 
									if (val != 8) {
 | 
				
			||||||
 | 
										if (val & 0x100) {
 | 
				
			||||||
 | 
											flags |= GRID_FLAG_FG256;
 | 
				
			||||||
 | 
											val &= ~0x100;
 | 
				
			||||||
 | 
										} else
 | 
				
			||||||
 | 
											flags &= ~GRID_FLAG_FG256;
 | 
				
			||||||
					fg = val;
 | 
										fg = val;
 | 
				
			||||||
				else
 | 
									} else
 | 
				
			||||||
					fg = defgc->fg;
 | 
										fg = defgc->fg;
 | 
				
			||||||
			} else if (*in == 'b' || *in == 'B') {
 | 
								} else if (*in == 'b' || *in == 'B') {
 | 
				
			||||||
				if (val != 8)
 | 
									if (val != 8) {
 | 
				
			||||||
 | 
										if (val & 0x100) {
 | 
				
			||||||
 | 
											flags |= GRID_FLAG_BG256;
 | 
				
			||||||
 | 
											val &= ~0x100;
 | 
				
			||||||
 | 
										} else
 | 
				
			||||||
 | 
											flags &= ~GRID_FLAG_BG256;
 | 
				
			||||||
					bg = val;
 | 
										bg = val;
 | 
				
			||||||
				else
 | 
									} else
 | 
				
			||||||
					bg = defgc->bg;
 | 
										bg = defgc->bg;
 | 
				
			||||||
			} else
 | 
								} else
 | 
				
			||||||
				return;
 | 
									return;
 | 
				
			||||||
@@ -347,6 +358,7 @@ screen_write_parsestyle(
 | 
				
			|||||||
	gc->fg = fg;
 | 
						gc->fg = fg;
 | 
				
			||||||
	gc->bg = bg;
 | 
						gc->bg = bg;
 | 
				
			||||||
	gc->attr = attr;
 | 
						gc->attr = attr;
 | 
				
			||||||
 | 
						gc->flags = flags;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Copy from another screen. */
 | 
					/* Copy from another screen. */
 | 
				
			||||||
@@ -1002,7 +1014,8 @@ screen_write_cell(
 | 
				
			|||||||
	if (screen_check_selection(s, s->cx - width, s->cy)) {
 | 
						if (screen_check_selection(s, s->cx - width, s->cy)) {
 | 
				
			||||||
		memcpy(&tmp_gc2, &s->sel.cell, sizeof tmp_gc2);
 | 
							memcpy(&tmp_gc2, &s->sel.cell, sizeof tmp_gc2);
 | 
				
			||||||
		tmp_gc2.data = gc->data;
 | 
							tmp_gc2.data = gc->data;
 | 
				
			||||||
		tmp_gc2.flags = gc->flags;
 | 
							tmp_gc2.flags = gc->flags & ~(GRID_FLAG_FG256|GRID_FLAG_BG256);
 | 
				
			||||||
 | 
							tmp_gc2.flags |= s->sel.cell.flags & (GRID_FLAG_FG256|GRID_FLAG_BG256);
 | 
				
			||||||
		ttyctx.cell = &tmp_gc2;
 | 
							ttyctx.cell = &tmp_gc2;
 | 
				
			||||||
		tty_write(tty_cmd_cell, &ttyctx);
 | 
							tty_write(tty_cmd_cell, &ttyctx);
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								server.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								server.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: server.c,v 1.183 2009-09-08 00:01:11 tcunha Exp $ */
 | 
					/* $Id: server.c,v 1.184 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -604,7 +604,7 @@ server_redraw_locked(struct client *c)
 | 
				
			|||||||
	style = options_get_number(&global_w_options, "clock-mode-style");
 | 
						style = options_get_number(&global_w_options, "clock-mode-style");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.fg = colour;
 | 
						colour_set_fg(&gc, colour);
 | 
				
			||||||
	gc.attr |= GRID_ATTR_BRIGHT;
 | 
						gc.attr |= GRID_ATTR_BRIGHT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_init(&screen, xx, yy, 0);
 | 
						screen_init(&screen, xx, yy, 0);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										47
									
								
								status.c
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								status.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: status.c,v 1.117 2009-09-07 23:48:54 tcunha Exp $ */
 | 
					/* $Id: status.c,v 1.118 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -66,8 +66,8 @@ status_redraw(struct client *c)
 | 
				
			|||||||
	if (gettimeofday(&c->status_timer, NULL) != 0)
 | 
						if (gettimeofday(&c->status_timer, NULL) != 0)
 | 
				
			||||||
		fatal("gettimeofday");
 | 
							fatal("gettimeofday");
 | 
				
			||||||
	memcpy(&stdgc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&stdgc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	stdgc.fg = options_get_number(&s->options, "status-fg");
 | 
						colour_set_fg(&stdgc, options_get_number(&s->options, "status-fg"));
 | 
				
			||||||
	stdgc.bg = options_get_number(&s->options, "status-bg");
 | 
						colour_set_bg(&stdgc, options_get_number(&s->options, "status-bg"));
 | 
				
			||||||
	stdgc.attr |= options_get_number(&s->options, "status-attr");
 | 
						stdgc.attr |= options_get_number(&s->options, "status-attr");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* 
 | 
						/* 
 | 
				
			||||||
@@ -79,19 +79,19 @@ status_redraw(struct client *c)
 | 
				
			|||||||
	memcpy(&sr_stdgc, &stdgc, sizeof sr_stdgc);
 | 
						memcpy(&sr_stdgc, &stdgc, sizeof sr_stdgc);
 | 
				
			||||||
	sl_fg = options_get_number(&s->options, "status-left-fg");
 | 
						sl_fg = options_get_number(&s->options, "status-left-fg");
 | 
				
			||||||
	if (sl_fg != 8)
 | 
						if (sl_fg != 8)
 | 
				
			||||||
		sl_stdgc.fg = sl_fg;
 | 
							colour_set_fg(&sl_stdgc, sl_fg);
 | 
				
			||||||
	sl_bg = options_get_number(&s->options, "status-left-bg");
 | 
						sl_bg = options_get_number(&s->options, "status-left-bg");
 | 
				
			||||||
	if (sl_bg != 8)
 | 
						if (sl_bg != 8)
 | 
				
			||||||
		sl_stdgc.bg = sl_bg;		
 | 
							colour_set_bg(&sl_stdgc, sl_bg);
 | 
				
			||||||
	sl_attr = options_get_number(&s->options, "status-left-attr");
 | 
						sl_attr = options_get_number(&s->options, "status-left-attr");
 | 
				
			||||||
	if (sl_attr != 0)
 | 
						if (sl_attr != 0)
 | 
				
			||||||
		sl_stdgc.attr = sl_attr;
 | 
							sl_stdgc.attr = sl_attr;
 | 
				
			||||||
	sr_fg = options_get_number(&s->options, "status-right-fg");
 | 
						sr_fg = options_get_number(&s->options, "status-right-fg");
 | 
				
			||||||
	if (sr_fg != 8)
 | 
						if (sr_fg != 8)
 | 
				
			||||||
		sr_stdgc.fg = sr_fg;
 | 
							colour_set_fg(&sr_stdgc, sr_fg);
 | 
				
			||||||
	sr_bg = options_get_number(&s->options, "status-right-bg");
 | 
						sr_bg = options_get_number(&s->options, "status-right-bg");
 | 
				
			||||||
	if (sr_bg != 8)
 | 
						if (sr_bg != 8)
 | 
				
			||||||
		sr_stdgc.bg = sr_bg;
 | 
							colour_set_bg(&sr_stdgc, sr_bg);
 | 
				
			||||||
	sr_attr = options_get_number(&s->options, "status-right-attr");
 | 
						sr_attr = options_get_number(&s->options, "status-right-attr");
 | 
				
			||||||
	if (sr_attr != 0)
 | 
						if (sr_attr != 0)
 | 
				
			||||||
		sr_stdgc.attr = sr_attr;
 | 
							sr_stdgc.attr = sr_attr;
 | 
				
			||||||
@@ -501,16 +501,17 @@ status_width(struct winlink *wl)
 | 
				
			|||||||
char *
 | 
					char *
 | 
				
			||||||
status_print(struct session *s, struct winlink *wl, struct grid_cell *gc)
 | 
					status_print(struct session *s, struct winlink *wl, struct grid_cell *gc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	char   *text, flag;
 | 
						struct options	*oo = &wl->window->options;
 | 
				
			||||||
	u_char	fg, bg, attr;
 | 
						char   		*text, flag;
 | 
				
			||||||
 | 
						u_char		 fg, bg, attr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	fg = options_get_number(&wl->window->options, "window-status-fg");
 | 
						fg = options_get_number(oo, "window-status-fg");
 | 
				
			||||||
	if (fg != 8)
 | 
						if (fg != 8)
 | 
				
			||||||
		gc->fg = fg;
 | 
							colour_set_fg(gc, fg);
 | 
				
			||||||
	bg = options_get_number(&wl->window->options, "window-status-bg");
 | 
						bg = options_get_number(oo, "window-status-bg");
 | 
				
			||||||
	if (bg != 8)
 | 
						if (bg != 8)
 | 
				
			||||||
		gc->bg = bg;
 | 
							colour_set_bg(gc, bg);
 | 
				
			||||||
	attr = options_get_number(&wl->window->options, "window-status-attr");
 | 
						attr = options_get_number(oo, "window-status-attr");
 | 
				
			||||||
	if (attr != 0)
 | 
						if (attr != 0)
 | 
				
			||||||
		gc->attr = attr;
 | 
							gc->attr = attr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -518,13 +519,13 @@ status_print(struct session *s, struct winlink *wl, struct grid_cell *gc)
 | 
				
			|||||||
 	if (wl == SLIST_FIRST(&s->lastw))
 | 
					 	if (wl == SLIST_FIRST(&s->lastw))
 | 
				
			||||||
		flag = '-';
 | 
							flag = '-';
 | 
				
			||||||
	if (wl == s->curw) {
 | 
						if (wl == s->curw) {
 | 
				
			||||||
		fg = options_get_number(&wl->window->options, "window-status-current-fg");
 | 
							fg = options_get_number(oo, "window-status-current-fg");
 | 
				
			||||||
		if (fg != 8)
 | 
							if (fg != 8)
 | 
				
			||||||
			gc->fg = fg;
 | 
								colour_set_fg(gc, fg);
 | 
				
			||||||
		bg = options_get_number(&wl->window->options, "window-status-current-bg");
 | 
							bg = options_get_number(oo, "window-status-current-bg");
 | 
				
			||||||
		if (bg != 8)
 | 
							if (bg != 8)
 | 
				
			||||||
			gc->bg = bg;
 | 
								colour_set_bg(gc, bg);
 | 
				
			||||||
		attr = options_get_number(&wl->window->options, "window-status-current-attr");
 | 
							attr = options_get_number(oo, "window-status-current-attr");
 | 
				
			||||||
		if (attr != 0)
 | 
							if (attr != 0)
 | 
				
			||||||
			gc->attr = attr;
 | 
								gc->attr = attr;
 | 
				
			||||||
		flag = '*';
 | 
							flag = '*';
 | 
				
			||||||
@@ -606,8 +607,8 @@ status_message_redraw(struct client *c)
 | 
				
			|||||||
		len = c->tty.sx;
 | 
							len = c->tty.sx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.fg = options_get_number(&s->options, "message-fg");
 | 
						colour_set_fg(&gc, options_get_number(&s->options, "message-fg"));
 | 
				
			||||||
	gc.bg = options_get_number(&s->options, "message-bg");
 | 
						colour_set_bg(&gc, options_get_number(&s->options, "message-bg"));
 | 
				
			||||||
	gc.attr |= options_get_number(&s->options, "message-attr");
 | 
						gc.attr |= options_get_number(&s->options, "message-attr");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_write_start(&ctx, NULL, &c->status);
 | 
						screen_write_start(&ctx, NULL, &c->status);
 | 
				
			||||||
@@ -719,8 +720,8 @@ status_prompt_redraw(struct client *c)
 | 
				
			|||||||
		len = c->tty.sx;
 | 
							len = c->tty.sx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.fg = options_get_number(&s->options, "message-fg");
 | 
						colour_set_fg(&gc, options_get_number(&s->options, "message-fg"));
 | 
				
			||||||
	gc.bg = options_get_number(&s->options, "message-bg");
 | 
						colour_set_bg(&gc, options_get_number(&s->options, "message-bg"));
 | 
				
			||||||
	gc.attr |= options_get_number(&s->options, "message-attr");
 | 
						gc.attr |= options_get_number(&s->options, "message-attr");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_write_start(&ctx, NULL, &c->status);
 | 
						screen_write_start(&ctx, NULL, &c->status);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								tmux.1
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
.\" $Id: tmux.1,v 1.166 2009-09-08 00:01:11 tcunha Exp $
 | 
					.\" $Id: tmux.1,v 1.167 2009-09-11 14:13:52 tcunha Exp $
 | 
				
			||||||
.\"
 | 
					.\"
 | 
				
			||||||
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
.\"
 | 
					.\"
 | 
				
			||||||
@@ -14,7 +14,7 @@
 | 
				
			|||||||
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 | 
					.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 | 
				
			||||||
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
					.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
				
			||||||
.\"
 | 
					.\"
 | 
				
			||||||
.Dd $Mdocdate: September 7 2009 $
 | 
					.Dd $Mdocdate: September 10 2009 $
 | 
				
			||||||
.Dt TMUX 1
 | 
					.Dt TMUX 1
 | 
				
			||||||
.Os
 | 
					.Os
 | 
				
			||||||
.Sh NAME
 | 
					.Sh NAME
 | 
				
			||||||
@@ -1250,8 +1250,11 @@ is one of:
 | 
				
			|||||||
.Ic blue ,
 | 
					.Ic blue ,
 | 
				
			||||||
.Ic magenta ,
 | 
					.Ic magenta ,
 | 
				
			||||||
.Ic cyan ,
 | 
					.Ic cyan ,
 | 
				
			||||||
.Ic white
 | 
					.Ic white ,
 | 
				
			||||||
or
 | 
					.Ic colour0
 | 
				
			||||||
 | 
					to
 | 
				
			||||||
 | 
					.Ic colour255
 | 
				
			||||||
 | 
					from the 256-colour palette, or
 | 
				
			||||||
.Ic default .
 | 
					.Ic default .
 | 
				
			||||||
.It Ic message-fg Ar colour
 | 
					.It Ic message-fg Ar colour
 | 
				
			||||||
Set status line message foreground colour.
 | 
					Set status line message foreground colour.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								tmux.h
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: tmux.h,v 1.439 2009-09-07 23:59:19 tcunha Exp $ */
 | 
					/* $Id: tmux.h,v 1.440 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -1484,7 +1484,9 @@ void	 input_key(struct window_pane *, int);
 | 
				
			|||||||
void	 input_mouse(struct window_pane *, u_char, u_char, u_char);
 | 
					void	 input_mouse(struct window_pane *, u_char, u_char, u_char);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* colour.c */
 | 
					/* colour.c */
 | 
				
			||||||
const char *colour_tostring(u_char);
 | 
					void	 colour_set_fg(struct grid_cell *, int);
 | 
				
			||||||
 | 
					void	 colour_set_bg(struct grid_cell *, int);
 | 
				
			||||||
 | 
					const char *colour_tostring(int);
 | 
				
			||||||
int	 colour_fromstring(const char *);
 | 
					int	 colour_fromstring(const char *);
 | 
				
			||||||
u_char	 colour_256to16(u_char);
 | 
					u_char	 colour_256to16(u_char);
 | 
				
			||||||
u_char	 colour_256to88(u_char);
 | 
					u_char	 colour_256to88(u_char);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								tty.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								tty.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: tty.c,v 1.131 2009-08-31 22:30:15 tcunha Exp $ */
 | 
					/* $Id: tty.c,v 1.132 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -520,7 +520,8 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
 | 
				
			|||||||
		if (screen_check_selection(s, i, py)) {
 | 
							if (screen_check_selection(s, i, py)) {
 | 
				
			||||||
			memcpy(&tmpgc, &s->sel.cell, sizeof tmpgc);
 | 
								memcpy(&tmpgc, &s->sel.cell, sizeof tmpgc);
 | 
				
			||||||
			tmpgc.data = gc->data;
 | 
								tmpgc.data = gc->data;
 | 
				
			||||||
			tmpgc.flags = gc->flags;
 | 
								tmpgc.flags = gc->flags & ~(GRID_FLAG_FG256|GRID_FLAG_BG256);
 | 
				
			||||||
 | 
								tmpgc.flags |= s->sel.cell.flags & (GRID_FLAG_FG256|GRID_FLAG_BG256);
 | 
				
			||||||
			tty_cell(tty, &tmpgc, gu);
 | 
								tty_cell(tty, &tmpgc, gu);
 | 
				
			||||||
		} else
 | 
							} else
 | 
				
			||||||
			tty_cell(tty, gc, gu);
 | 
								tty_cell(tty, gc, gu);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: window-choose.c,v 1.22 2009-08-09 16:50:57 tcunha Exp $ */
 | 
					/* $Id: window-choose.c,v 1.23 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -295,6 +295,7 @@ window_choose_write_line(
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	struct window_choose_mode_data	*data = wp->modedata;
 | 
						struct window_choose_mode_data	*data = wp->modedata;
 | 
				
			||||||
	struct window_choose_mode_item	*item;
 | 
						struct window_choose_mode_item	*item;
 | 
				
			||||||
 | 
						struct options			*oo = &wp->window->options;
 | 
				
			||||||
	struct screen			*s = &data->screen;
 | 
						struct screen			*s = &data->screen;
 | 
				
			||||||
	struct grid_cell		 gc;
 | 
						struct grid_cell		 gc;
 | 
				
			||||||
 	int				 utf8flag;
 | 
					 	int				 utf8flag;
 | 
				
			||||||
@@ -305,9 +306,9 @@ window_choose_write_line(
 | 
				
			|||||||
	utf8flag = options_get_number(&wp->window->options, "utf8");
 | 
						utf8flag = options_get_number(&wp->window->options, "utf8");
 | 
				
			||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	if (data->selected == data->top + py) {
 | 
						if (data->selected == data->top + py) {
 | 
				
			||||||
		gc.fg = options_get_number(&wp->window->options, "mode-fg");
 | 
							colour_set_fg(&gc, options_get_number(oo, "mode-fg"));
 | 
				
			||||||
		gc.bg = options_get_number(&wp->window->options, "mode-bg");
 | 
							colour_set_bg(&gc, options_get_number(oo, "mode-bg"));
 | 
				
			||||||
		gc.attr |= options_get_number(&wp->window->options, "mode-attr");
 | 
							gc.attr |= options_get_number(oo, "mode-attr");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_write_cursormove(ctx, 0, py);
 | 
						screen_write_cursormove(ctx, 0, py);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: window-copy.c,v 1.85 2009-09-07 23:48:54 tcunha Exp $ */
 | 
					/* $Id: window-copy.c,v 1.86 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -660,14 +660,15 @@ window_copy_write_line(
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	struct window_copy_mode_data	*data = wp->modedata;
 | 
						struct window_copy_mode_data	*data = wp->modedata;
 | 
				
			||||||
	struct screen			*s = &data->screen;
 | 
						struct screen			*s = &data->screen;
 | 
				
			||||||
 | 
						struct options			*oo = &wp->window->options;
 | 
				
			||||||
	struct grid_cell		 gc;
 | 
						struct grid_cell		 gc;
 | 
				
			||||||
	char				 hdr[32];
 | 
						char				 hdr[32];
 | 
				
			||||||
	size_t	 			 last, xoff = 0, size = 0;
 | 
						size_t	 			 last, xoff = 0, size = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.fg = options_get_number(&wp->window->options, "mode-fg");
 | 
						colour_set_fg(&gc, options_get_number(oo, "mode-fg"));
 | 
				
			||||||
	gc.bg = options_get_number(&wp->window->options, "mode-bg");
 | 
						colour_set_bg(&gc, options_get_number(oo, "mode-bg"));
 | 
				
			||||||
	gc.attr |= options_get_number(&wp->window->options, "mode-attr");
 | 
						gc.attr |= options_get_number(oo, "mode-attr");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	last = screen_size_y(s) - 1;
 | 
						last = screen_size_y(s) - 1;
 | 
				
			||||||
	if (py == 0) {
 | 
						if (py == 0) {
 | 
				
			||||||
@@ -765,6 +766,7 @@ window_copy_update_selection(struct window_pane *wp)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	struct window_copy_mode_data	*data = wp->modedata;
 | 
						struct window_copy_mode_data	*data = wp->modedata;
 | 
				
			||||||
	struct screen			*s = &data->screen;
 | 
						struct screen			*s = &data->screen;
 | 
				
			||||||
 | 
						struct options			*oo = &wp->window->options;
 | 
				
			||||||
	struct grid_cell		 gc;
 | 
						struct grid_cell		 gc;
 | 
				
			||||||
	u_int				 sx, sy, ty;
 | 
						u_int				 sx, sy, ty;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -773,9 +775,9 @@ window_copy_update_selection(struct window_pane *wp)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	/* Set colours. */
 | 
						/* Set colours. */
 | 
				
			||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.fg = options_get_number(&wp->window->options, "mode-fg");
 | 
						colour_set_fg(&gc, options_get_number(oo, "mode-fg"));
 | 
				
			||||||
	gc.bg = options_get_number(&wp->window->options, "mode-bg");
 | 
						colour_set_bg(&gc, options_get_number(oo, "mode-bg"));
 | 
				
			||||||
	gc.attr |= options_get_number(&wp->window->options, "mode-attr");
 | 
						gc.attr |= options_get_number(oo, "mode-attr");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Find top of screen. */
 | 
						/* Find top of screen. */
 | 
				
			||||||
	ty = screen_hsize(&wp->base) - data->oy;
 | 
						ty = screen_hsize(&wp->base) - data->oy;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: window-more.c,v 1.37 2009-08-20 11:24:33 tcunha Exp $ */
 | 
					/* $Id: window-more.c,v 1.38 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -164,6 +164,7 @@ window_more_write_line(
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	struct window_more_mode_data	*data = wp->modedata;
 | 
						struct window_more_mode_data	*data = wp->modedata;
 | 
				
			||||||
	struct screen			*s = &data->screen;
 | 
						struct screen			*s = &data->screen;
 | 
				
			||||||
 | 
						struct options			*oo = &wp->window->options;	
 | 
				
			||||||
	struct grid_cell		 gc;
 | 
						struct grid_cell		 gc;
 | 
				
			||||||
	char   				*msg, hdr[32];
 | 
						char   				*msg, hdr[32];
 | 
				
			||||||
	size_t	 			 size;
 | 
						size_t	 			 size;
 | 
				
			||||||
@@ -176,9 +177,9 @@ window_more_write_line(
 | 
				
			|||||||
		size = xsnprintf(hdr, sizeof hdr,
 | 
							size = xsnprintf(hdr, sizeof hdr,
 | 
				
			||||||
		    "[%u/%u]", data->top, ARRAY_LENGTH(&data->list));
 | 
							    "[%u/%u]", data->top, ARRAY_LENGTH(&data->list));
 | 
				
			||||||
		screen_write_cursormove(ctx, screen_size_x(s) - size, 0);
 | 
							screen_write_cursormove(ctx, screen_size_x(s) - size, 0);
 | 
				
			||||||
		gc.fg = options_get_number(&wp->window->options, "mode-fg");
 | 
							colour_set_fg(&gc, options_get_number(oo, "mode-fg"));
 | 
				
			||||||
		gc.bg = options_get_number(&wp->window->options, "mode-bg");
 | 
							colour_set_bg(&gc, options_get_number(oo, "mode-bg"));
 | 
				
			||||||
		gc.attr |= options_get_number(&wp->window->options, "mode-attr");
 | 
							gc.attr |= options_get_number(oo, "mode-attr");
 | 
				
			||||||
		screen_write_puts(ctx, &gc, "%s", hdr);
 | 
							screen_write_puts(ctx, &gc, "%s", hdr);
 | 
				
			||||||
		memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
							memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	} else
 | 
						} else
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: window-scroll.c,v 1.40 2009-08-16 19:26:49 tcunha Exp $ */
 | 
					/* $Id: window-scroll.c,v 1.41 2009-09-11 14:13:52 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -192,6 +192,7 @@ window_scroll_write_line(
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	struct window_scroll_mode_data	*data = wp->modedata;
 | 
						struct window_scroll_mode_data	*data = wp->modedata;
 | 
				
			||||||
	struct screen			*s = &data->screen;
 | 
						struct screen			*s = &data->screen;
 | 
				
			||||||
 | 
						struct options			*oo = &wp->window->options;
 | 
				
			||||||
	struct grid_cell		 gc;
 | 
						struct grid_cell		 gc;
 | 
				
			||||||
	char				 hdr[32];
 | 
						char				 hdr[32];
 | 
				
			||||||
	size_t	 			 size;
 | 
						size_t	 			 size;
 | 
				
			||||||
@@ -200,9 +201,9 @@ window_scroll_write_line(
 | 
				
			|||||||
		memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
							memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
		size = xsnprintf(hdr, sizeof hdr,
 | 
							size = xsnprintf(hdr, sizeof hdr,
 | 
				
			||||||
		    "[%u,%u/%u]", data->ox, data->oy, screen_hsize(&wp->base));
 | 
							    "[%u,%u/%u]", data->ox, data->oy, screen_hsize(&wp->base));
 | 
				
			||||||
		gc.fg = options_get_number(&wp->window->options, "mode-fg");
 | 
							colour_set_fg(&gc, options_get_number(oo, "mode-fg"));
 | 
				
			||||||
		gc.bg = options_get_number(&wp->window->options, "mode-bg");
 | 
							colour_set_bg(&gc, options_get_number(oo, "mode-bg"));
 | 
				
			||||||
		gc.attr |= options_get_number(&wp->window->options, "mode-attr");
 | 
							gc.attr |= options_get_number(oo, "mode-attr");
 | 
				
			||||||
		screen_write_cursormove(ctx, screen_size_x(s) - size, 0);
 | 
							screen_write_cursormove(ctx, screen_size_x(s) - size, 0);
 | 
				
			||||||
		screen_write_puts(ctx, &gc, "%s", hdr);
 | 
							screen_write_puts(ctx, &gc, "%s", hdr);
 | 
				
			||||||
		memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
							memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user