Don't be clever and translate default colour.

This commit is contained in:
Nicholas Marriott 2008-06-22 16:54:08 +00:00
parent 76019e1d52
commit 46383e33f8
4 changed files with 20 additions and 23 deletions

10
CHANGES
View File

@ -1,3 +1,11 @@
22 June 2008
* Do not translate black and white into default if the terminal supports
default colours. This was nice to force programs which didn't use default
colours to be properly transparent in rxvt/aterm windows with a background
image, but it causes trouble if someone redefines the default foreground and
background (to have black on white or something).
21 June 2008
* Naive tab completion in the command prompt. This only completes command
@ -542,4 +550,4 @@
(including mutt, emacs). No status bar yet and no key remapping or other
customisation.
$Id: CHANGES,v 1.135 2008-06-21 14:11:39 nicm Exp $
$Id: CHANGES,v 1.136 2008-06-22 16:54:08 nicm Exp $

3
TODO
View File

@ -64,12 +64,10 @@
- get rid of DEFDATA etc
-- For 0.4 --------------------------------------------------------------------
- test and fix wsvt25
- clear EOL etc CANNOT rely on term using the current colour/attr and probably
should not emulate it doing so
- activity/bell should be per-window not per-link? what if it is cur win in
session not being watched?
- command history for command-prompt. tab completion
- tidy up window modes
- support \033_string\033\\ for window title too
- fix bell-action in show-options
@ -77,6 +75,7 @@
- document buffer stuff
- copy-mode enhancements: next word etc etc
- problems with force-width when wrapping line in emacs?
- command history for command-prompt. better tab completion
- options parsing could be much more generic, opening the way for abbreviation
and tab completion of option names
---

4
tmux.h
View File

@ -1,4 +1,4 @@
/* $Id: tmux.h,v 1.161 2008-06-21 14:11:39 nicm Exp $ */
/* $Id: tmux.h,v 1.162 2008-06-22 16:54:08 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -484,7 +484,7 @@ struct screen_write_ctx {
/* Screen default contents. */
#define SCREEN_DEFDATA ' '
#define SCREEN_DEFATTR 0
#define SCREEN_DEFCOLR 0x70 /* white on black */
#define SCREEN_DEFCOLR 0x88 /* default on default ;-) */
/* Input parser sequence argument. */
struct input_arg {

26
tty.c
View File

@ -1,4 +1,4 @@
/* $Id: tty.c,v 1.33 2008-06-21 13:11:28 nicm Exp $ */
/* $Id: tty.c,v 1.34 2008-06-22 16:54:08 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -78,7 +78,7 @@ tty_open(struct tty *tty, char **cause)
tty->out = buffer_create(BUFSIZ);
tty->attr = 0;
tty->colr = 0x70;
tty->colr = 0x88;
tty->flags = 0;
@ -619,7 +619,7 @@ tty_attributes(struct tty *tty, u_char attr, u_char colr)
exit_alt_charset_mode != NULL)
tty_puts(tty, exit_alt_charset_mode);
tty_puts(tty, exit_attribute_mode);
tty->colr = 0x70;
tty->colr = 0x88;
tty->attr = 0;
}
@ -646,14 +646,9 @@ tty_attributes(struct tty *tty, u_char attr, u_char colr)
fg = (colr >> 4) & 0xf;
if (fg != ((tty->colr >> 4) & 0xf)) {
if (tigetflag("AX") == TRUE) {
if (fg == 7)
fg = 8;
} else {
if (fg == 8)
fg = 7;
}
if (tigetflag("AX") != TRUE && fg == 8)
fg = 7;
if (fg == 8)
tty_puts(tty, "\e[39m");
else if (set_a_foreground != NULL)
@ -662,13 +657,8 @@ tty_attributes(struct tty *tty, u_char attr, u_char colr)
bg = colr & 0xf;
if (bg != (tty->colr & 0xf)) {
if (tigetflag("AX") == TRUE) {
if (bg == 0)
bg = 8;
} else {
if (bg == 8)
bg = 0;
}
if (tigetflag("AX") != TRUE && bg == 8)
bg = 0;
if (bg == 8)
tty_puts(tty, "\e[49m");