diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2014-09-19 15:37:31 -0700 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2014-09-19 18:45:04 -0700 |
commit | 555ff00a30b70cb84a767b60e3a5c7015815feae (patch) | |
tree | ac196a147b942c345fa5ebd802ca5add774b8139 /input.cpp | |
parent | 6083c6fc725727ebb25c209931a38504f9269c5c (diff) |
Initial work to support for term-24bit ("true color")
Diffstat (limited to 'input.cpp')
-rw-r--r-- | input.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -423,7 +423,7 @@ static int interrupt_handler() return R_NULL; } -void update_fish_term256(void) +void update_fish_color_support(void) { /* Infer term256 support. If fish_term256 is set, we respect it; otherwise try to detect it from the TERM variable */ env_var_t fish_term256 = env_get_string(L"fish_term256"); @@ -456,7 +456,20 @@ void update_fish_term256(void) support_term256 = false; } } - output_set_supports_term256(support_term256); + + env_var_t fish_term24bit = env_get_string(L"fish_term24bit"); + bool support_term24bit; + if (! fish_term24bit.missing_or_empty()) + { + support_term24bit = from_string<bool>(fish_term24bit); + } + else + { + support_term24bit = false; + } + + color_support_t support = (support_term256 ? color_support_term256 : 0) | (support_term24bit ? color_support_term24bit : 0); + output_set_color_support(support); } int input_init() @@ -496,7 +509,7 @@ int input_init() input_terminfo_init(); - update_fish_term256(); + update_fish_color_support(); /* If we have no keybindings, add a few simple defaults */ if (mapping_list.empty()) |