mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 01:34:18 +00:00 
			
		
		
		
	Allow status, mode and message attributes to be changed by three new options: status-attr, mode-attr, message-attr. A comma-separataed list is accepted containing: bright, dim, underscore, blink, reverse, hidden, italics, for example: set -g status-attr bright,blink
From Josh Elsasser, thanks!
This commit is contained in:
		
							
								
								
									
										13
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								CHANGES
									
									
									
									
									
								
							@@ -1,3 +1,14 @@
 | 
				
			|||||||
 | 
					27 January 2009
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Allow status, mode and message attributes to be changed by three new options:
 | 
				
			||||||
 | 
					  status-attr, mode-attr, message-attr. A comma-separataed list is accepted
 | 
				
			||||||
 | 
					  containing: bright, dim, underscore, blink, reverse, hidden, italics, for
 | 
				
			||||||
 | 
					  example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						set -g status-attr bright,blink
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  From Josh Elsasser, thanks!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
26 January 2009
 | 
					26 January 2009
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Be more clever about picking the right process to create the window name.
 | 
					* Be more clever about picking the right process to create the window name.
 | 
				
			||||||
@@ -1014,7 +1025,7 @@
 | 
				
			|||||||
  (including mutt, emacs). No status bar yet and no key remapping or other
 | 
					  (including mutt, emacs). No status bar yet and no key remapping or other
 | 
				
			||||||
  customisation.
 | 
					  customisation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$Id: CHANGES,v 1.236 2009-01-26 22:57:18 nicm Exp $
 | 
					$Id: CHANGES,v 1.237 2009-01-27 20:22:33 nicm Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 LocalWords:  showw utf UTF fulvio ciriaco joshe OSC APC gettime abc DEF OA clr
 | 
					 LocalWords:  showw utf UTF fulvio ciriaco joshe OSC APC gettime abc DEF OA clr
 | 
				
			||||||
 LocalWords:  rivo nurges lscm Erdely eol smysession mysession ek dstname RB ms
 | 
					 LocalWords:  rivo nurges lscm Erdely eol smysession mysession ek dstname RB ms
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
# $Id: GNUmakefile,v 1.67 2009-01-25 19:00:10 tcunha Exp $
 | 
					# $Id: GNUmakefile,v 1.68 2009-01-27 20:22:33 nicm Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: clean
 | 
					.PHONY: clean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -42,7 +42,7 @@ SRCS= tmux.c server.c server-msg.c server-fn.c buffer.c buffer-poll.c status.c \
 | 
				
			|||||||
      options.c options-cmd.c paste.c colour.c utf8.c clock.c \
 | 
					      options.c options-cmd.c paste.c colour.c utf8.c clock.c \
 | 
				
			||||||
      tty.c tty-term.c tty-keys.c tty-write.c util.c names.c \
 | 
					      tty.c tty-term.c tty-keys.c tty-write.c util.c names.c \
 | 
				
			||||||
      osdep-unknown.c osdep-openbsd.c osdep-freebsd.c osdep-linux.c \
 | 
					      osdep-unknown.c osdep-openbsd.c osdep-freebsd.c osdep-linux.c \
 | 
				
			||||||
      osdep-darwin.c
 | 
					      osdep-darwin.c attributes.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CC?= gcc
 | 
					CC?= gcc
 | 
				
			||||||
INCDIRS+= -I. -I-
 | 
					INCDIRS+= -I. -I-
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
# $Id: Makefile,v 1.106 2009-01-25 19:00:10 tcunha Exp $
 | 
					# $Id: Makefile,v 1.107 2009-01-27 20:22:33 nicm Exp $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.SUFFIXES: .c .o .y .h
 | 
					.SUFFIXES: .c .o .y .h
 | 
				
			||||||
.PHONY: clean update-index.html upload-index.html
 | 
					.PHONY: clean update-index.html upload-index.html
 | 
				
			||||||
@@ -45,7 +45,7 @@ SRCS= tmux.c server.c server-msg.c server-fn.c buffer.c buffer-poll.c status.c \
 | 
				
			|||||||
      options.c options-cmd.c paste.c colour.c utf8.c clock.c \
 | 
					      options.c options-cmd.c paste.c colour.c utf8.c clock.c \
 | 
				
			||||||
      tty.c tty-term.c tty-keys.c tty-write.c util.c names.c \
 | 
					      tty.c tty-term.c tty-keys.c tty-write.c util.c names.c \
 | 
				
			||||||
      osdep-unknown.c osdep-openbsd.c osdep-freebsd.c osdep-linux.c \
 | 
					      osdep-unknown.c osdep-openbsd.c osdep-freebsd.c osdep-linux.c \
 | 
				
			||||||
      osdep-darwin.c
 | 
					      osdep-darwin.c attributes.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CC?= cc
 | 
					CC?= cc
 | 
				
			||||||
INCDIRS+= -I. -I- -I/usr/local/include
 | 
					INCDIRS+= -I. -I- -I/usr/local/include
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										92
									
								
								attributes.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								attributes.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,92 @@
 | 
				
			|||||||
 | 
					/* $Id: attributes.c,v 1.1 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Copyright (c) 2009 Joshua Elsasser <josh@elsasser.org>
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Permission to use, copy, modify, and distribute this software for any
 | 
				
			||||||
 | 
					 * purpose with or without fee is hereby granted, provided that the above
 | 
				
			||||||
 | 
					 * copyright notice and this permission notice appear in all copies.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
				
			||||||
 | 
					 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 | 
				
			||||||
 | 
					 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
				
			||||||
 | 
					 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
				
			||||||
 | 
					 * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
 | 
				
			||||||
 | 
					 * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
 | 
				
			||||||
 | 
					 * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <sys/types.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "tmux.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const char *
 | 
				
			||||||
 | 
					attributes_tostring(u_char ch)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						static char	buf[128];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (ch == 0)
 | 
				
			||||||
 | 
							return ("default");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						buf[0] = '\0';
 | 
				
			||||||
 | 
						if (ch & GRID_ATTR_BRIGHT)
 | 
				
			||||||
 | 
							strlcat(buf, "bright,", sizeof (buf));
 | 
				
			||||||
 | 
						if (ch & GRID_ATTR_DIM)
 | 
				
			||||||
 | 
							strlcat(buf, "dim,", sizeof (buf));
 | 
				
			||||||
 | 
						if (ch & GRID_ATTR_UNDERSCORE)
 | 
				
			||||||
 | 
							strlcat(buf, "underscore,", sizeof (buf));
 | 
				
			||||||
 | 
						if (ch & GRID_ATTR_BLINK)
 | 
				
			||||||
 | 
							strlcat(buf, "blink,", sizeof (buf));
 | 
				
			||||||
 | 
						if (ch & GRID_ATTR_REVERSE)
 | 
				
			||||||
 | 
							strlcat(buf, "reverse,", sizeof (buf));
 | 
				
			||||||
 | 
						if (ch & GRID_ATTR_HIDDEN)
 | 
				
			||||||
 | 
							strlcat(buf, "hidden,", sizeof (buf));
 | 
				
			||||||
 | 
						if (ch & GRID_ATTR_ITALICS)
 | 
				
			||||||
 | 
							strlcat(buf, "italics,", sizeof (buf));
 | 
				
			||||||
 | 
						*(strrchr(buf, ',')) = '\0';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return (buf);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					attributes_fromstring(const char *str)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						const char	delimiters[] = " ,|";
 | 
				
			||||||
 | 
						u_char		ch;
 | 
				
			||||||
 | 
						size_t		end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (*str == '\0' || strcspn(str, delimiters) == 0)
 | 
				
			||||||
 | 
							return (-1);
 | 
				
			||||||
 | 
						if (strchr(delimiters, str[strlen(str) - 1]) != NULL)
 | 
				
			||||||
 | 
							return (-1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (strcasecmp(str, "default") == 0)
 | 
				
			||||||
 | 
							return (0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ch = 0;
 | 
				
			||||||
 | 
						do {
 | 
				
			||||||
 | 
							end = strcspn(str, delimiters);
 | 
				
			||||||
 | 
							if ((end == 6 && strncasecmp(str, "bright", end) == 0) ||
 | 
				
			||||||
 | 
							    (end == 4 && strncasecmp(str, "bold", end) == 0))
 | 
				
			||||||
 | 
								ch |= GRID_ATTR_BRIGHT;
 | 
				
			||||||
 | 
							else if (end == 3 && strncasecmp(str, "dim", end) == 0)
 | 
				
			||||||
 | 
								ch |= GRID_ATTR_DIM;
 | 
				
			||||||
 | 
							else if (end == 10 && strncasecmp(str, "underscore", end) == 0)
 | 
				
			||||||
 | 
								ch |= GRID_ATTR_UNDERSCORE;
 | 
				
			||||||
 | 
							else if (end == 5 && strncasecmp(str, "blink", end) == 0)
 | 
				
			||||||
 | 
								ch |= GRID_ATTR_BLINK;
 | 
				
			||||||
 | 
							else if (end == 7 && strncasecmp(str, "reverse", end) == 0)
 | 
				
			||||||
 | 
								ch |= GRID_ATTR_REVERSE;
 | 
				
			||||||
 | 
							else if (end == 6 && strncasecmp(str, "hidden", end) == 0)
 | 
				
			||||||
 | 
								ch |= GRID_ATTR_HIDDEN;
 | 
				
			||||||
 | 
							else if (end == 7 && strncasecmp(str, "italics", end) == 0)
 | 
				
			||||||
 | 
								ch |= GRID_ATTR_ITALICS;
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								return (-1);
 | 
				
			||||||
 | 
							str += end + strspn(str + end, delimiters);
 | 
				
			||||||
 | 
						} while (*str != '\0');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return (ch);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: cmd-set-option.c,v 1.56 2009-01-23 20:48:19 nicm Exp $ */
 | 
					/* $Id: cmd-set-option.c,v 1.57 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -53,12 +53,14 @@ const struct set_option_entry set_option_table[NSETOPTION] = {
 | 
				
			|||||||
	{ "display-time", SET_OPTION_NUMBER, 1, INT_MAX, NULL },
 | 
						{ "display-time", SET_OPTION_NUMBER, 1, INT_MAX, NULL },
 | 
				
			||||||
	{ "history-limit", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
						{ "history-limit", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
				
			||||||
	{ "lock-after-time", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
						{ "lock-after-time", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
				
			||||||
 | 
						{ "message-attr", SET_OPTION_ATTRIBUTES, 0, 0, NULL },
 | 
				
			||||||
	{ "message-bg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
						{ "message-bg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
				
			||||||
	{ "message-fg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
						{ "message-fg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
				
			||||||
	{ "prefix", SET_OPTION_KEY, 0, 0, NULL },
 | 
						{ "prefix", SET_OPTION_KEY, 0, 0, NULL },
 | 
				
			||||||
	{ "repeat-time", SET_OPTION_NUMBER, 0, SHRT_MAX, NULL },
 | 
						{ "repeat-time", SET_OPTION_NUMBER, 0, SHRT_MAX, NULL },
 | 
				
			||||||
	{ "set-titles", SET_OPTION_FLAG, 0, 0, NULL },
 | 
						{ "set-titles", SET_OPTION_FLAG, 0, 0, NULL },
 | 
				
			||||||
	{ "status", SET_OPTION_FLAG, 0, 0, NULL },
 | 
						{ "status", SET_OPTION_FLAG, 0, 0, NULL },
 | 
				
			||||||
 | 
						{ "status-attr", SET_OPTION_ATTRIBUTES, 0, 0, NULL },
 | 
				
			||||||
	{ "status-bg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
						{ "status-bg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
				
			||||||
	{ "status-fg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
						{ "status-fg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
				
			||||||
	{ "status-interval", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
						{ "status-interval", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
				
			||||||
@@ -143,6 +145,9 @@ cmd_set_option_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
				
			|||||||
		case SET_OPTION_COLOUR:
 | 
							case SET_OPTION_COLOUR:
 | 
				
			||||||
			set_option_colour(ctx, oo, entry, data->value);
 | 
								set_option_colour(ctx, oo, entry, data->value);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
							case SET_OPTION_ATTRIBUTES:
 | 
				
			||||||
 | 
								set_option_attributes(ctx, oo, entry, data->value);
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
		case SET_OPTION_FLAG:
 | 
							case SET_OPTION_FLAG:
 | 
				
			||||||
			set_option_flag(ctx, oo, entry, data->value);
 | 
								set_option_flag(ctx, oo, entry, data->value);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: cmd-set-window-option.c,v 1.22 2009-01-20 19:35:03 nicm Exp $ */
 | 
					/* $Id: cmd-set-window-option.c,v 1.23 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -61,6 +61,7 @@ const struct set_option_entry set_window_option_table[NSETWINDOWOPTION] = {
 | 
				
			|||||||
	  SET_OPTION_CHOICE, 0, 0, set_option_clock_mode_style_list },
 | 
						  SET_OPTION_CHOICE, 0, 0, set_option_clock_mode_style_list },
 | 
				
			||||||
	{ "force-height", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
						{ "force-height", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
				
			||||||
	{ "force-width", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
						{ "force-width", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
 | 
				
			||||||
 | 
						{ "mode-attr", SET_OPTION_ATTRIBUTES, 0, 0, NULL },
 | 
				
			||||||
	{ "mode-bg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
						{ "mode-bg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
				
			||||||
	{ "mode-fg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
						{ "mode-fg", SET_OPTION_COLOUR, 0, 0, NULL },
 | 
				
			||||||
	{ "mode-keys", SET_OPTION_CHOICE, 0, 0, set_option_mode_keys_list },
 | 
						{ "mode-keys", SET_OPTION_CHOICE, 0, 0, set_option_mode_keys_list },
 | 
				
			||||||
@@ -145,6 +146,9 @@ cmd_set_window_option_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
				
			|||||||
		case SET_OPTION_COLOUR:
 | 
							case SET_OPTION_COLOUR:
 | 
				
			||||||
			set_option_colour(ctx, oo, entry, data->value);
 | 
								set_option_colour(ctx, oo, entry, data->value);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
							case SET_OPTION_ATTRIBUTES:
 | 
				
			||||||
 | 
								set_option_attributes(ctx, oo, entry, data->value);
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
		case SET_OPTION_FLAG:
 | 
							case SET_OPTION_FLAG:
 | 
				
			||||||
			set_option_flag(ctx, oo, entry, data->value);
 | 
								set_option_flag(ctx, oo, entry, data->value);
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: cmd-show-options.c,v 1.10 2009-01-19 18:23:40 nicm Exp $ */
 | 
					/* $Id: cmd-show-options.c,v 1.11 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -86,6 +86,11 @@ cmd_show_options_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
				
			|||||||
 			ctx->print(ctx, "%s %s",
 | 
					 			ctx->print(ctx, "%s %s",
 | 
				
			||||||
			    entry->name, colour_tostring(vn));
 | 
								    entry->name, colour_tostring(vn));
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
							case SET_OPTION_ATTRIBUTES:
 | 
				
			||||||
 | 
								vn = options_get_number(oo, entry->name);
 | 
				
			||||||
 | 
					 			ctx->print(ctx, "%s %s",
 | 
				
			||||||
 | 
								    entry->name, attributes_tostring(vn));
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
		case SET_OPTION_FLAG:
 | 
							case SET_OPTION_FLAG:
 | 
				
			||||||
			vn = options_get_number(oo, entry->name);
 | 
								vn = options_get_number(oo, entry->name);
 | 
				
			||||||
			if (vn)
 | 
								if (vn)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: cmd-show-window-options.c,v 1.6 2009-01-19 18:23:40 nicm Exp $ */
 | 
					/* $Id: cmd-show-window-options.c,v 1.7 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -86,6 +86,11 @@ cmd_show_window_options_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
				
			|||||||
 			ctx->print(ctx, "%s %s",
 | 
					 			ctx->print(ctx, "%s %s",
 | 
				
			||||||
			    entry->name, colour_tostring(vn));
 | 
								    entry->name, colour_tostring(vn));
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
							case SET_OPTION_ATTRIBUTES:
 | 
				
			||||||
 | 
								vn = options_get_number(oo, entry->name);
 | 
				
			||||||
 | 
					 			ctx->print(ctx, "%s %s",
 | 
				
			||||||
 | 
								    entry->name, attributes_tostring(vn));
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
		case SET_OPTION_FLAG:
 | 
							case SET_OPTION_FLAG:
 | 
				
			||||||
			vn = options_get_number(oo, entry->name);
 | 
								vn = options_get_number(oo, entry->name);
 | 
				
			||||||
			if (vn)
 | 
								if (vn)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								colour.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								colour.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: colour.c,v 1.3 2009-01-10 01:51:21 nicm Exp $ */
 | 
					/* $Id: colour.c,v 1.4 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -49,7 +49,7 @@ colour_tostring(u_char c)
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* String to colour. */
 | 
					/* String to colour. */
 | 
				
			||||||
u_char
 | 
					int
 | 
				
			||||||
colour_fromstring(const char *s)
 | 
					colour_fromstring(const char *s)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (strcasecmp(s, "black") == 0 || (s[0] == '0' && s[1] == '\0'))
 | 
						if (strcasecmp(s, "black") == 0 || (s[0] == '0' && s[1] == '\0'))
 | 
				
			||||||
@@ -70,7 +70,7 @@ colour_fromstring(const char *s)
 | 
				
			|||||||
		return (7);
 | 
							return (7);
 | 
				
			||||||
	if (strcasecmp(s, "default") == 0 || (s[0] == '8' && s[1] == '\0'))
 | 
						if (strcasecmp(s, "default") == 0 || (s[0] == '8' && s[1] == '\0'))
 | 
				
			||||||
		return (8);
 | 
							return (8);
 | 
				
			||||||
	return (255);
 | 
						return (-1);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u_char
 | 
					u_char
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: options-cmd.c,v 1.3 2009-01-10 01:51:22 nicm Exp $ */
 | 
					/* $Id: options-cmd.c,v 1.4 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -81,14 +81,14 @@ void
 | 
				
			|||||||
set_option_colour(struct cmd_ctx *ctx, struct options *oo,
 | 
					set_option_colour(struct cmd_ctx *ctx, struct options *oo,
 | 
				
			||||||
    const struct set_option_entry *entry, char *value)
 | 
					    const struct set_option_entry *entry, char *value)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	u_char	colour;
 | 
						int	colour;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (value == NULL) {
 | 
						if (value == NULL) {
 | 
				
			||||||
		ctx->error(ctx, "empty value");
 | 
							ctx->error(ctx, "empty value");
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if ((colour = colour_fromstring(value)) > 8) {
 | 
						if ((colour = colour_fromstring(value)) == -1) {
 | 
				
			||||||
		ctx->error(ctx, "bad colour: %s", value);
 | 
							ctx->error(ctx, "bad colour: %s", value);
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -98,6 +98,27 @@ set_option_colour(struct cmd_ctx *ctx, struct options *oo,
 | 
				
			|||||||
	    "set option: %s -> %s", entry->name, colour_tostring(colour));
 | 
						    "set option: %s -> %s", entry->name, colour_tostring(colour));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void
 | 
				
			||||||
 | 
					set_option_attributes(struct cmd_ctx *ctx, struct options *oo,
 | 
				
			||||||
 | 
					    const struct set_option_entry *entry, char *value)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int	attr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (value == NULL) {
 | 
				
			||||||
 | 
							ctx->error(ctx, "empty value");
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if ((attr = attributes_fromstring(value)) == -1) {
 | 
				
			||||||
 | 
							ctx->error(ctx, "bad attributes: %s", value);
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						options_set_number(oo, entry->name, attr);
 | 
				
			||||||
 | 
						ctx->info(ctx,
 | 
				
			||||||
 | 
						    "set option: %s -> %s", entry->name, attributes_tostring(attr));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
set_option_flag(struct cmd_ctx *ctx, struct options *oo,
 | 
					set_option_flag(struct cmd_ctx *ctx, struct options *oo,
 | 
				
			||||||
    const struct set_option_entry *entry, char *value)
 | 
					    const struct set_option_entry *entry, char *value)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										31
									
								
								status.c
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								status.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: status.c,v 1.67 2009-01-23 20:49:01 nicm Exp $ */
 | 
					/* $Id: status.c,v 1.68 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -50,6 +50,7 @@ status_redraw(struct client *c)
 | 
				
			|||||||
	size_t				size, start, width;
 | 
						size_t				size, start, width;
 | 
				
			||||||
	struct grid_cell	        gc;
 | 
						struct grid_cell	        gc;
 | 
				
			||||||
	int				larrow, rarrow;
 | 
						int				larrow, rarrow;
 | 
				
			||||||
 | 
						u_char				stdattr, revattr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	left = right = NULL;
 | 
						left = right = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -69,7 +70,9 @@ status_redraw(struct client *c)
 | 
				
			|||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.bg = options_get_number(&s->options, "status-fg");
 | 
						gc.bg = options_get_number(&s->options, "status-fg");
 | 
				
			||||||
	gc.fg = options_get_number(&s->options, "status-bg");
 | 
						gc.fg = options_get_number(&s->options, "status-bg");
 | 
				
			||||||
	gc.attr |= GRID_ATTR_REVERSE;
 | 
						gc.attr |= options_get_number(&s->options, "status-attr");
 | 
				
			||||||
 | 
						stdattr = gc.attr;
 | 
				
			||||||
 | 
						revattr = gc.attr ^ GRID_ATTR_REVERSE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	yy = c->sy - 1;
 | 
						yy = c->sy - 1;
 | 
				
			||||||
	if (yy == 0)
 | 
						if (yy == 0)
 | 
				
			||||||
@@ -199,7 +202,7 @@ draw:
 | 
				
			|||||||
				rarrow = -1;
 | 
									rarrow = -1;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		gc.attr |= GRID_ATTR_REVERSE;
 | 
							gc.attr = stdattr;
 | 
				
			||||||
		if (offset < start + width) {
 | 
							if (offset < start + width) {
 | 
				
			||||||
			if (offset >= start) {
 | 
								if (offset >= start) {
 | 
				
			||||||
				screen_write_putc(&ctx, &gc, ' ');
 | 
									screen_write_putc(&ctx, &gc, ' ');
 | 
				
			||||||
@@ -223,27 +226,27 @@ draw:
 | 
				
			|||||||
	/* Draw the arrows. */
 | 
						/* Draw the arrows. */
 | 
				
			||||||
	if (larrow != 0) {
 | 
						if (larrow != 0) {
 | 
				
			||||||
		if (larrow == -1)
 | 
							if (larrow == -1)
 | 
				
			||||||
			gc.attr &= ~GRID_ATTR_REVERSE;
 | 
								gc.attr = revattr;
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			gc.attr |= GRID_ATTR_REVERSE;
 | 
								gc.attr = stdattr;
 | 
				
			||||||
		if (llen != 0)
 | 
							if (llen != 0)
 | 
				
			||||||
			screen_write_cursormove(&ctx, llen + 1, yy);
 | 
								screen_write_cursormove(&ctx, llen + 1, yy);
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			screen_write_cursormove(&ctx, 0, yy);
 | 
								screen_write_cursormove(&ctx, 0, yy);
 | 
				
			||||||
		screen_write_putc(&ctx, &gc, '<');
 | 
							screen_write_putc(&ctx, &gc, '<');
 | 
				
			||||||
		gc.attr &= ~GRID_ATTR_REVERSE;
 | 
							gc.attr = revattr;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (rarrow != 0) {
 | 
						if (rarrow != 0) {
 | 
				
			||||||
		if (rarrow == -1)
 | 
							if (rarrow == -1)
 | 
				
			||||||
			gc.attr &= ~GRID_ATTR_REVERSE;
 | 
								gc.attr = revattr;
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			gc.attr |= GRID_ATTR_REVERSE;
 | 
								gc.attr = stdattr;
 | 
				
			||||||
		if (rlen != 0)
 | 
							if (rlen != 0)
 | 
				
			||||||
			screen_write_cursormove(&ctx, c->sx - rlen - 2, yy);
 | 
								screen_write_cursormove(&ctx, c->sx - rlen - 2, yy);
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			screen_write_cursormove(&ctx, c->sx - 1, yy);
 | 
								screen_write_cursormove(&ctx, c->sx - 1, yy);
 | 
				
			||||||
		screen_write_putc(&ctx, &gc, '>');
 | 
							screen_write_putc(&ctx, &gc, '>');
 | 
				
			||||||
		gc.attr |= GRID_ATTR_REVERSE;
 | 
							gc.attr = stdattr;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	goto out;
 | 
						goto out;
 | 
				
			||||||
@@ -391,11 +394,11 @@ status_print(struct session *s, struct winlink *wl, struct grid_cell *gc)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	if (session_alert_has(s, wl, WINDOW_ACTIVITY)) {
 | 
						if (session_alert_has(s, wl, WINDOW_ACTIVITY)) {
 | 
				
			||||||
		flag = '#';
 | 
							flag = '#';
 | 
				
			||||||
		gc->attr &= ~GRID_ATTR_REVERSE;
 | 
							gc->attr ^= GRID_ATTR_REVERSE;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (session_alert_has(s, wl, WINDOW_BELL)) {
 | 
						if (session_alert_has(s, wl, WINDOW_BELL)) {
 | 
				
			||||||
		flag = '!';
 | 
							flag = '!';
 | 
				
			||||||
		gc->attr &= ~GRID_ATTR_REVERSE;
 | 
							gc->attr ^= GRID_ATTR_REVERSE;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	xasprintf(&text, "%d:%s%c", wl->idx, wl->window->name, flag);
 | 
						xasprintf(&text, "%d:%s%c", wl->idx, wl->window->name, flag);
 | 
				
			||||||
@@ -425,7 +428,7 @@ status_message_redraw(struct client *c)
 | 
				
			|||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.bg = options_get_number(&s->options, "message-fg");
 | 
						gc.bg = options_get_number(&s->options, "message-fg");
 | 
				
			||||||
	gc.fg = options_get_number(&s->options, "message-bg");
 | 
						gc.fg = options_get_number(&s->options, "message-bg");
 | 
				
			||||||
	gc.attr |= GRID_ATTR_REVERSE;
 | 
						gc.attr |= options_get_number(&s->options, "message-attr");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_write_start(&ctx, NULL, &c->status);
 | 
						screen_write_start(&ctx, NULL, &c->status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -462,7 +465,7 @@ status_prompt_redraw(struct client *c)
 | 
				
			|||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.bg = options_get_number(&s->options, "message-fg");
 | 
						gc.bg = options_get_number(&s->options, "message-fg");
 | 
				
			||||||
	gc.fg = options_get_number(&s->options, "message-bg");
 | 
						gc.fg = options_get_number(&s->options, "message-bg");
 | 
				
			||||||
	gc.attr |= GRID_ATTR_REVERSE;
 | 
						gc.attr |= options_get_number(&s->options, "message-attr");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_write_start(&ctx, NULL, &c->status);
 | 
						screen_write_start(&ctx, NULL, &c->status);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -502,7 +505,7 @@ status_prompt_redraw(struct client *c)
 | 
				
			|||||||
		ch = c->prompt_buffer[c->prompt_index];
 | 
							ch = c->prompt_buffer[c->prompt_index];
 | 
				
			||||||
	if (ch == '\0')
 | 
						if (ch == '\0')
 | 
				
			||||||
		ch = ' ';
 | 
							ch = ' ';
 | 
				
			||||||
	gc.attr &= ~GRID_ATTR_REVERSE;
 | 
						gc.attr ^= GRID_ATTR_REVERSE;
 | 
				
			||||||
	screen_write_putc(&ctx, &gc, ch);
 | 
						screen_write_putc(&ctx, &gc, ch);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_write_stop(&ctx);
 | 
						screen_write_stop(&ctx);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								tmux.1
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
.\" $Id: tmux.1,v 1.70 2009-01-26 18:22:55 nicm Exp $
 | 
					.\" $Id: tmux.1,v 1.71 2009-01-27 20:22:33 nicm Exp $
 | 
				
			||||||
.\"
 | 
					.\"
 | 
				
			||||||
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
.\"
 | 
					.\"
 | 
				
			||||||
@@ -789,6 +789,22 @@ 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.
 | 
				
			||||||
 | 
					.It Ic message-attr Ar attributes
 | 
				
			||||||
 | 
					Set status line message attributes, where
 | 
				
			||||||
 | 
					.Ar attributes
 | 
				
			||||||
 | 
					is either
 | 
				
			||||||
 | 
					.Ic default
 | 
				
			||||||
 | 
					or a comma-delimited list of one or more of:
 | 
				
			||||||
 | 
					.Ic bright
 | 
				
			||||||
 | 
					(or
 | 
				
			||||||
 | 
					.Ic bold ) ,
 | 
				
			||||||
 | 
					.Ic dim ,
 | 
				
			||||||
 | 
					.Ic underscore ,
 | 
				
			||||||
 | 
					.Ic blink ,
 | 
				
			||||||
 | 
					.Ic reverse ,
 | 
				
			||||||
 | 
					.Ic hidden ,
 | 
				
			||||||
 | 
					or
 | 
				
			||||||
 | 
					.Ic italics .
 | 
				
			||||||
.It Ic prefix Ar key
 | 
					.It Ic prefix Ar key
 | 
				
			||||||
Set the current prefix key.
 | 
					Set the current prefix key.
 | 
				
			||||||
.It Ic repeat-time Ar number
 | 
					.It Ic repeat-time Ar number
 | 
				
			||||||
@@ -821,6 +837,8 @@ Show or hide the status line.
 | 
				
			|||||||
Set status line background colour.
 | 
					Set status line background colour.
 | 
				
			||||||
.It Ic status-fg Ar colour
 | 
					.It Ic status-fg Ar colour
 | 
				
			||||||
Set status line foreground colour.
 | 
					Set status line foreground colour.
 | 
				
			||||||
 | 
					.It Ic status-attr Ar attributes
 | 
				
			||||||
 | 
					Set status line attributes.
 | 
				
			||||||
.It Ic status-interval Ar interval
 | 
					.It Ic status-interval Ar interval
 | 
				
			||||||
Update the status bar every
 | 
					Update the status bar every
 | 
				
			||||||
.Ar interval
 | 
					.Ar interval
 | 
				
			||||||
@@ -930,6 +948,8 @@ A value of zero restores the default unlimited setting.
 | 
				
			|||||||
Set window modes background colour.
 | 
					Set window modes background colour.
 | 
				
			||||||
.It Ic mode-fg Ar colour
 | 
					.It Ic mode-fg Ar colour
 | 
				
			||||||
Set window modes foreground colour.
 | 
					Set window modes foreground colour.
 | 
				
			||||||
 | 
					.It Ic mode-attr Ar attributes
 | 
				
			||||||
 | 
					Set window modes attributes.
 | 
				
			||||||
.It Xo Ic mode-keys
 | 
					.It Xo Ic mode-keys
 | 
				
			||||||
.Op Ic vi | Ic emacs
 | 
					.Op Ic vi | Ic emacs
 | 
				
			||||||
.Xc
 | 
					.Xc
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								tmux.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								tmux.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: tmux.c,v 1.102 2009-01-23 16:19:56 nicm Exp $ */
 | 
					/* $Id: tmux.c,v 1.103 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -237,6 +237,7 @@ main(int argc, char **argv)
 | 
				
			|||||||
	options_set_number(&global_options, "history-limit", 2000);
 | 
						options_set_number(&global_options, "history-limit", 2000);
 | 
				
			||||||
	options_set_number(&global_options, "message-bg", 3);
 | 
						options_set_number(&global_options, "message-bg", 3);
 | 
				
			||||||
	options_set_number(&global_options, "message-fg", 0);
 | 
						options_set_number(&global_options, "message-fg", 0);
 | 
				
			||||||
 | 
						options_set_number(&global_options, "message-attr", GRID_ATTR_REVERSE);
 | 
				
			||||||
	options_set_number(&global_options, "prefix", META);
 | 
						options_set_number(&global_options, "prefix", META);
 | 
				
			||||||
	options_set_number(&global_options, "repeat-time", 500);
 | 
						options_set_number(&global_options, "repeat-time", 500);
 | 
				
			||||||
	options_set_number(&global_options, "set-titles", 1);
 | 
						options_set_number(&global_options, "set-titles", 1);
 | 
				
			||||||
@@ -244,6 +245,7 @@ main(int argc, char **argv)
 | 
				
			|||||||
	options_set_number(&global_options, "status", 1);
 | 
						options_set_number(&global_options, "status", 1);
 | 
				
			||||||
	options_set_number(&global_options, "status-bg", 2);
 | 
						options_set_number(&global_options, "status-bg", 2);
 | 
				
			||||||
	options_set_number(&global_options, "status-fg", 0);
 | 
						options_set_number(&global_options, "status-fg", 0);
 | 
				
			||||||
 | 
						options_set_number(&global_options, "status-attr", GRID_ATTR_REVERSE);
 | 
				
			||||||
	options_set_number(&global_options, "status-interval", 15);
 | 
						options_set_number(&global_options, "status-interval", 15);
 | 
				
			||||||
	options_set_number(&global_options, "status-left-length", 10);
 | 
						options_set_number(&global_options, "status-left-length", 10);
 | 
				
			||||||
	options_set_number(&global_options, "status-right-length", 40);
 | 
						options_set_number(&global_options, "status-right-length", 40);
 | 
				
			||||||
@@ -259,6 +261,7 @@ main(int argc, char **argv)
 | 
				
			|||||||
	options_set_number(&global_window_options, "automatic-rename", 1);
 | 
						options_set_number(&global_window_options, "automatic-rename", 1);
 | 
				
			||||||
	options_set_number(&global_window_options, "mode-bg", 3);
 | 
						options_set_number(&global_window_options, "mode-bg", 3);
 | 
				
			||||||
	options_set_number(&global_window_options, "mode-fg", 0);
 | 
						options_set_number(&global_window_options, "mode-fg", 0);
 | 
				
			||||||
 | 
						options_set_number(&global_window_options, "mode-attr", GRID_ATTR_REVERSE);
 | 
				
			||||||
	options_set_number(&global_window_options, "mode-keys", MODEKEY_EMACS);
 | 
						options_set_number(&global_window_options, "mode-keys", MODEKEY_EMACS);
 | 
				
			||||||
	options_set_number(&global_window_options, "monitor-activity", 0);
 | 
						options_set_number(&global_window_options, "monitor-activity", 0);
 | 
				
			||||||
	options_set_number(&global_window_options, "utf8", 0);
 | 
						options_set_number(&global_window_options, "utf8", 0);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										19
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								tmux.h
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: tmux.h,v 1.251 2009-01-26 22:57:19 nicm Exp $ */
 | 
					/* $Id: tmux.h,v 1.252 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -461,13 +461,13 @@ struct options_entry {
 | 
				
			|||||||
		OPTIONS_STRING,
 | 
							OPTIONS_STRING,
 | 
				
			||||||
		OPTIONS_NUMBER,
 | 
							OPTIONS_NUMBER,
 | 
				
			||||||
		OPTIONS_KEY,
 | 
							OPTIONS_KEY,
 | 
				
			||||||
		OPTIONS_COLOURS
 | 
							OPTIONS_COLOURS,
 | 
				
			||||||
 | 
							OPTIONS_ATTRIBUTES
 | 
				
			||||||
	} type;
 | 
						} type;
 | 
				
			||||||
	union {
 | 
						union {
 | 
				
			||||||
		char	*string;
 | 
							char	*string;
 | 
				
			||||||
		long long number;
 | 
							long long number;
 | 
				
			||||||
		int	 key;
 | 
							int	 key;
 | 
				
			||||||
		u_char	 colours;
 | 
					 | 
				
			||||||
	} value;
 | 
						} value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	SPLAY_ENTRY(options_entry) entry;
 | 
						SPLAY_ENTRY(options_entry) entry;
 | 
				
			||||||
@@ -899,6 +899,7 @@ struct set_option_entry {
 | 
				
			|||||||
		SET_OPTION_NUMBER,
 | 
							SET_OPTION_NUMBER,
 | 
				
			||||||
		SET_OPTION_KEY,
 | 
							SET_OPTION_KEY,
 | 
				
			||||||
		SET_OPTION_COLOUR,
 | 
							SET_OPTION_COLOUR,
 | 
				
			||||||
 | 
							SET_OPTION_ATTRIBUTES,
 | 
				
			||||||
		SET_OPTION_FLAG,
 | 
							SET_OPTION_FLAG,
 | 
				
			||||||
		SET_OPTION_CHOICE
 | 
							SET_OPTION_CHOICE
 | 
				
			||||||
	} type;
 | 
						} type;
 | 
				
			||||||
@@ -910,8 +911,8 @@ struct set_option_entry {
 | 
				
			|||||||
};
 | 
					};
 | 
				
			||||||
extern const struct set_option_entry set_option_table[];
 | 
					extern const struct set_option_entry set_option_table[];
 | 
				
			||||||
extern const struct set_option_entry set_window_option_table[];
 | 
					extern const struct set_option_entry set_window_option_table[];
 | 
				
			||||||
#define NSETOPTION 20
 | 
					#define NSETOPTION 22
 | 
				
			||||||
#define NSETWINDOWOPTION 13
 | 
					#define NSETWINDOWOPTION 14
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Edit keys. */
 | 
					/* Edit keys. */
 | 
				
			||||||
enum mode_key {
 | 
					enum mode_key {
 | 
				
			||||||
@@ -1062,6 +1063,8 @@ void	set_option_key(struct cmd_ctx *,
 | 
				
			|||||||
    	    struct options *, const struct set_option_entry *, char *);
 | 
					    	    struct options *, const struct set_option_entry *, char *);
 | 
				
			||||||
void	set_option_colour(struct cmd_ctx *,
 | 
					void	set_option_colour(struct cmd_ctx *,
 | 
				
			||||||
    	    struct options *, const struct set_option_entry *, char *);
 | 
					    	    struct options *, const struct set_option_entry *, char *);
 | 
				
			||||||
 | 
					void	set_option_attributes(struct cmd_ctx *,
 | 
				
			||||||
 | 
					    	    struct options *, const struct set_option_entry *, char *);
 | 
				
			||||||
void	set_option_flag(struct cmd_ctx *,
 | 
					void	set_option_flag(struct cmd_ctx *,
 | 
				
			||||||
    	    struct options *, const struct set_option_entry *, char *);
 | 
					    	    struct options *, const struct set_option_entry *, char *);
 | 
				
			||||||
void	set_option_choice(struct cmd_ctx *,
 | 
					void	set_option_choice(struct cmd_ctx *,
 | 
				
			||||||
@@ -1307,9 +1310,13 @@ void	 input_key(struct window_pane *, int);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* colour.c */
 | 
					/* colour.c */
 | 
				
			||||||
const char *colour_tostring(u_char);
 | 
					const char *colour_tostring(u_char);
 | 
				
			||||||
u_char	 colour_fromstring(const char *);
 | 
					int	 colour_fromstring(const char *);
 | 
				
			||||||
u_char	 colour_translate256(u_char);
 | 
					u_char	 colour_translate256(u_char);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* attributes.c */
 | 
				
			||||||
 | 
					const char *attributes_tostring(u_char);
 | 
				
			||||||
 | 
					int	 attributes_fromstring(const char *);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* grid.c */
 | 
					/* grid.c */
 | 
				
			||||||
extern const struct grid_cell grid_default_cell;
 | 
					extern const struct grid_cell grid_default_cell;
 | 
				
			||||||
struct grid_data *grid_create(u_int, u_int, u_int);
 | 
					struct grid_data *grid_create(u_int, u_int, u_int);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: window-choose.c,v 1.6 2009-01-23 20:49:01 nicm Exp $ */
 | 
					/* $Id: window-choose.c,v 1.7 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -260,7 +260,7 @@ window_choose_write_line(
 | 
				
			|||||||
	if (data->selected == data->top + py) {
 | 
						if (data->selected == data->top + py) {
 | 
				
			||||||
		gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
							gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
				
			||||||
		gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
							gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
				
			||||||
		gc.attr |= GRID_ATTR_REVERSE;
 | 
							gc.attr |= options_get_number(&wp->window->options, "mode-attr");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_write_cursormove(ctx, 0, py);
 | 
						screen_write_cursormove(ctx, 0, py);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: window-copy.c,v 1.45 2009-01-25 18:51:28 tcunha Exp $ */
 | 
					/* $Id: window-copy.c,v 1.46 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -217,7 +217,7 @@ window_copy_write_line(struct window_pane *wp, struct screen_write_ctx *ctx, u_i
 | 
				
			|||||||
		    "[%u,%u/%u]", data->ox, data->oy, screen_hsize(&wp->base));
 | 
							    "[%u,%u/%u]", data->ox, data->oy, screen_hsize(&wp->base));
 | 
				
			||||||
		gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
							gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
				
			||||||
		gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
							gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
				
			||||||
		gc.attr |= GRID_ATTR_REVERSE;
 | 
							gc.attr |= options_get_number(&wp->window->options, "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);
 | 
				
			||||||
		screen_write_puts(ctx, &gc, "%s", hdr);
 | 
							screen_write_puts(ctx, &gc, "%s", hdr);
 | 
				
			||||||
@@ -322,7 +322,7 @@ window_copy_update_selection(struct window_pane *wp)
 | 
				
			|||||||
	memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
						memcpy(&gc, &grid_default_cell, sizeof gc);
 | 
				
			||||||
	gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
						gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
				
			||||||
	gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
						gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
				
			||||||
	gc.attr |= GRID_ATTR_REVERSE;
 | 
						gc.attr |= options_get_number(&wp->window->options, "mode-attr");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Find top-left of screen. */
 | 
						/* Find top-left of screen. */
 | 
				
			||||||
	tx = data->ox;
 | 
						tx = data->ox;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: window-more.c,v 1.26 2009-01-23 20:49:01 nicm Exp $ */
 | 
					/* $Id: window-more.c,v 1.27 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -182,7 +182,7 @@ window_more_write_line(
 | 
				
			|||||||
		screen_write_cursormove(ctx, screen_size_x(s) - size, 0);
 | 
							screen_write_cursormove(ctx, screen_size_x(s) - size, 0);
 | 
				
			||||||
		gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
							gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
				
			||||||
		gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
							gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
				
			||||||
		gc.attr |= GRID_ATTR_REVERSE;
 | 
							gc.attr |= options_get_number(&wp->window->options, "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.28 2009-01-23 20:49:01 nicm Exp $ */
 | 
					/* $Id: window-scroll.c,v 1.29 2009-01-27 20:22:33 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -160,7 +160,7 @@ window_scroll_write_line(
 | 
				
			|||||||
		    "[%u,%u/%u]", data->ox, data->oy, screen_hsize(&wp->base));
 | 
							    "[%u,%u/%u]", data->ox, data->oy, screen_hsize(&wp->base));
 | 
				
			||||||
		gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
							gc.bg = options_get_number(&wp->window->options, "mode-fg");
 | 
				
			||||||
		gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
							gc.fg = options_get_number(&wp->window->options, "mode-bg");
 | 
				
			||||||
		gc.attr |= GRID_ATTR_REVERSE;
 | 
							gc.attr |= options_get_number(&wp->window->options, "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