aboutsummaryrefslogtreecommitdiff
path: root/vis-cmds.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-01-31 09:10:07 +0100
committerMarc André Tanner <mat@brain-dump.org>2017-01-31 09:40:28 +0100
commit963c238ff8d3f734bd852669d379e951f4fc7649 (patch)
tree6b0f1688b04e6ce7c2cddccbe29281b264fa34b7 /vis-cmds.c
parenteca2fbb4c6d9de94f7a4cb1140819246425bebbd (diff)
downloadvis-963c238ff8d3f734bd852669d379e951f4fc7649.tar.gz
vis-963c238ff8d3f734bd852669d379e951f4fc7649.tar.xz
vis: add workaround for broken color handling in Terminal.app
Terminal.app sets $TERM=xterm-256color and ships a corresponding terminfo description advocating that it is capable of color changes to the 256 color palette when in fact it can not. We introduce a new boolean option "change-256colors" which is true by default but can be used to disable color changes. It is automatically set if Terminal.app is detected using $TERM_PROGRAM. This should fix display artifacts as described in #456.
Diffstat (limited to 'vis-cmds.c')
-rw-r--r--vis-cmds.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/vis-cmds.c b/vis-cmds.c
index 879eadd..8e512cc 100644
--- a/vis-cmds.c
+++ b/vis-cmds.c
@@ -291,6 +291,9 @@ static bool cmd_set(Vis *vis, Win *win, Command *cmd, const char *argv[], Cursor
return false;
}
break;
+ case OPTION_CHANGE_256COLORS:
+ vis->change_colors = toggle ? !vis->change_colors : arg.b;
+ break;
default:
return false;
}