aboutsummaryrefslogtreecommitdiffhomepage
path: root/input.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-03-05 14:18:16 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-03-05 14:18:16 -0800
commitf35d2629d40908bb4a516e9801a42bb47e501012 (patch)
tree3753d4f49aeada7b53e649adb067a2869bf0c0c0 /input.cpp
parent0e5578204ea8ec906b110c5e710da0c94437b2f7 (diff)
Notice when fish_term256 changes and react to it
Diffstat (limited to 'input.cpp')
-rw-r--r--input.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/input.cpp b/input.cpp
index 26138cfe..8562cd76 100644
--- a/input.cpp
+++ b/input.cpp
@@ -305,6 +305,20 @@ static int interrupt_handler()
return R_NULL;
}
+void update_fish_term256(void)
+{
+ /* Infer term256 support */
+ env_var_t fish_term256 = env_get_string(L"fish_term256");
+ bool support_term256;
+ if (! fish_term256.missing_or_empty()) {
+ support_term256 = from_string<bool>(fish_term256);
+ } else {
+ env_var_t term = env_get_string(L"TERM");
+ support_term256 = ! term.missing() && term.find(L"256color") != wcstring::npos;
+ }
+ output_set_supports_term256(support_term256);
+}
+
int input_init()
{
if( is_init )
@@ -325,16 +339,7 @@ int input_init()
input_terminfo_init();
- /* Infer term256 support. Consider using t_Co */
- env_var_t fish_term256 = env_get_string(L"fish_term256");
- bool support_term256;
- if (! fish_term256.missing_or_empty()) {
- support_term256 = from_string<bool>(fish_term256);
- } else {
- env_var_t term = env_get_string(L"TERM");
- support_term256 = ! term.missing() && term.find(L"256color") != wcstring::npos;
- }
- output_set_supports_term256(support_term256);
+ update_fish_term256();
/* If we have no keybindings, add a few simple defaults */
if( mapping_list.size() )