aboutsummaryrefslogtreecommitdiffhomepage
path: root/input.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-09-19 15:37:31 -0700
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2014-09-19 18:45:04 -0700
commit555ff00a30b70cb84a767b60e3a5c7015815feae (patch)
treeac196a147b942c345fa5ebd802ca5add774b8139 /input.cpp
parent6083c6fc725727ebb25c209931a38504f9269c5c (diff)
Initial work to support for term-24bit ("true color")
Diffstat (limited to 'input.cpp')
-rw-r--r--input.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/input.cpp b/input.cpp
index 0d7a91be..3b4c0ffa 100644
--- a/input.cpp
+++ b/input.cpp
@@ -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())