diff options
author | aszlig <aszlig@nix.build> | 2021-07-09 18:26:00 +0200 |
---|---|---|
committer | aszlig <aszlig@nix.build> | 2021-07-09 18:26:00 +0200 |
commit | 6005f72476428ecab45fa12f6da55a86291e5d25 (patch) | |
tree | 320005c3b2528f427fd7171a4dc9995fdbd372b1 /pkgs/aszlig/xterm | |
parent | 70176cfc488aafaf933fb16e312ac38dce76a635 (diff) |
workstation: Patch XTerm to set $COLORTERM
While ncurses already has support for detecting direct color terminals, a lot of applications out there do not yet query terminfo but instead rely on some shady COLORTERM environment variable. While I don't really like that approach, patching XTerm to set that variable currently is better than patching all the applications to query terminfo. Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'pkgs/aszlig/xterm')
-rw-r--r-- | pkgs/aszlig/xterm/default.nix | 5 | ||||
-rw-r--r-- | pkgs/aszlig/xterm/set-colorterm.patch | 13 |
2 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/aszlig/xterm/default.nix b/pkgs/aszlig/xterm/default.nix new file mode 100644 index 00000000..bbb2144d --- /dev/null +++ b/pkgs/aszlig/xterm/default.nix @@ -0,0 +1,5 @@ +{ xterm }: + +xterm.overrideAttrs (drv: { + patches = [ ./set-colorterm.patch ]; +}) diff --git a/pkgs/aszlig/xterm/set-colorterm.patch b/pkgs/aszlig/xterm/set-colorterm.patch new file mode 100644 index 00000000..2f6b97c5 --- /dev/null +++ b/pkgs/aszlig/xterm/set-colorterm.patch @@ -0,0 +1,13 @@ +diff --git a/main.c b/main.c +index ec3e9bb..88b0983 100644 +--- a/main.c ++++ b/main.c +@@ -4580,6 +4580,8 @@ spawnXTerm(XtermWidget xw, unsigned line_speed) + xtermSetenv("TERM", resource.term_name); + if (!resource.term_name) + *get_tcap_buffer(xw) = 0; ++ else if (!strcmp(resource.term_name, "xterm-direct")) ++ xtermSetenv("COLORTERM", "truecolor"); + + sprintf(buf, "%lu", + ((unsigned long) XtWindow(SHELL_OF(CURRENT_EMU())))); |