aboutsummaryrefslogtreecommitdiffhomepage
path: root/input.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-06-05 02:06:33 -0700
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-06-05 02:06:33 -0700
commit93f6aabe129016d22625b53aea25e6227210329d (patch)
tree753380e10cf90342b38c5c1997895d3fb225fae8 /input.cpp
parent10aa107380cea9d79b7a35e2c5c4b507d7646334 (diff)
Fix to stop identifying SnowLeopard's terminal as term256
Diffstat (limited to 'input.cpp')
-rw-r--r--input.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/input.cpp b/input.cpp
index a01a8f13..f65f1d5a 100644
--- a/input.cpp
+++ b/input.cpp
@@ -316,9 +316,16 @@ void update_fish_term256(void)
env_var_t term = env_get_string(L"TERM");
if (term.missing()) {
support_term256 = false;
+ } else if (term.find(L"256color") != wcstring::npos) {
+ /* Explicitly supported */
+ support_term256 = true;
+ } else if (term.find(L"xterm") != wcstring::npos) {
+ // assume that all xterms are 256, except for OS X SnowLeopard
+ env_var_t prog = env_get_string(L"TERM_PROGRAM");
+ support_term256 = (prog != L"Apple_Terminal");
} else {
- // assume that all xterms are 256
- support_term256 = (term.find(L"256color") != wcstring::npos || term.find(L"xterm") != wcstring::npos);
+ // Don't know, default to false
+ support_term256 = false;
}
}
output_set_supports_term256(support_term256);