diff options
author | Michael Vetter <jubalh@iodoru.org> | 2019-09-24 16:29:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-24 16:29:53 +0200 |
commit | 367ef570a47429f7f8d421ff4975d732e26aae1b (patch) | |
tree | 31176ed527faceb79cb8675b3d69fe7bf871fd60 /src | |
parent | 8e76283f9743c390bf27c883ef58da79cc4bd2c3 (diff) | |
parent | 641410f6bd507408749a87ade2f5d6ae05ebaa0b (diff) | |
download | profani-tty-367ef570a47429f7f8d421ff4975d732e26aae1b.tar.gz |
Merge pull request #1195 from quite/statusbarcurrent
Add coloring of statusbar.current tab in view
Diffstat (limited to 'src')
-rw-r--r-- | src/config/theme.c | 3 | ||||
-rw-r--r-- | src/config/theme.h | 1 | ||||
-rw-r--r-- | src/ui/console.c | 1 | ||||
-rw-r--r-- | src/ui/statusbar.c | 14 |
4 files changed, 15 insertions, 4 deletions
diff --git a/src/config/theme.c b/src/config/theme.c index b4a46a17..329b30e6 100644 --- a/src/config/theme.c +++ b/src/config/theme.c @@ -99,6 +99,7 @@ theme_init(const char *const theme_name) g_hash_table_insert(defaults, strdup("statusbar.text"), strdup("white")); g_hash_table_insert(defaults, strdup("statusbar.brackets"), strdup("cyan")); g_hash_table_insert(defaults, strdup("statusbar.active"), strdup("cyan")); + g_hash_table_insert(defaults, strdup("statusbar.current"), strdup("cyan")); g_hash_table_insert(defaults, strdup("statusbar.new"), strdup("white")); g_hash_table_insert(defaults, strdup("statusbar.time"), strdup("white")); g_hash_table_insert(defaults, strdup("me"), strdup("yellow")); @@ -704,6 +705,7 @@ theme_attrs(theme_item_t attrs) case THEME_STATUS_TEXT: _theme_prep_fgnd("statusbar.text", lookup_str, &bold); break; case THEME_STATUS_BRACKET: _theme_prep_fgnd("statusbar.brackets", lookup_str, &bold); break; case THEME_STATUS_ACTIVE: _theme_prep_fgnd("statusbar.active", lookup_str, &bold); break; + case THEME_STATUS_CURRENT: _theme_prep_fgnd("statusbar.current", lookup_str, &bold); break; case THEME_STATUS_NEW: _theme_prep_fgnd("statusbar.new", lookup_str, &bold); break; case THEME_STATUS_TIME: _theme_prep_fgnd("statusbar.time", lookup_str, &bold); break; case THEME_ME: _theme_prep_fgnd("me", lookup_str, &bold); break; @@ -794,6 +796,7 @@ theme_attrs(theme_item_t attrs) case THEME_STATUS_TEXT: case THEME_STATUS_BRACKET: case THEME_STATUS_ACTIVE: + case THEME_STATUS_CURRENT: case THEME_STATUS_NEW: case THEME_STATUS_TIME: _theme_prep_bgnd("statusbar", "blue", lookup_str); diff --git a/src/config/theme.h b/src/config/theme.h index cdf6233a..e9444b1c 100644 --- a/src/config/theme.h +++ b/src/config/theme.h @@ -68,6 +68,7 @@ typedef enum { THEME_STATUS_TEXT, THEME_STATUS_BRACKET, THEME_STATUS_ACTIVE, + THEME_STATUS_CURRENT, THEME_STATUS_NEW, THEME_STATUS_TIME, THEME_ME, diff --git a/src/ui/console.c b/src/ui/console.c index 4874d1e1..94fbba33 100644 --- a/src/ui/console.c +++ b/src/ui/console.c @@ -2313,6 +2313,7 @@ cons_theme_properties(void) _cons_theme_bar_prop(THEME_STATUS_TEXT, "statusbar.text"); _cons_theme_bar_prop(THEME_STATUS_BRACKET, "statusbar.brackets"); _cons_theme_bar_prop(THEME_STATUS_ACTIVE, "statusbar.active"); + _cons_theme_bar_prop(THEME_STATUS_CURRENT, "statusbar.current"); _cons_theme_bar_prop(THEME_STATUS_NEW, "statusbar.new"); _cons_theme_bar_prop(THEME_STATUS_TIME, "statusbar.time"); diff --git a/src/ui/statusbar.c b/src/ui/statusbar.c index 4ad1e373..03ab718d 100644 --- a/src/ui/statusbar.c +++ b/src/ui/statusbar.c @@ -336,9 +336,13 @@ _status_bar_draw_extended_tabs(int pos) pos = _status_bar_draw_bracket(is_current, pos, "["); - int status_attrs = theme_attrs(THEME_STATUS_ACTIVE); - if (_extended_new()) { + int status_attrs; + if (is_current) { + status_attrs = theme_attrs(THEME_STATUS_CURRENT); + } else if (_extended_new()) { status_attrs = theme_attrs(THEME_STATUS_NEW); + } else { + status_attrs = theme_attrs(THEME_STATUS_ACTIVE); } wattron(statusbar_win, status_attrs); mvwprintw(statusbar_win, 0, pos, ">"); @@ -362,8 +366,10 @@ _status_bar_draw_tab(StatusBarTab *tab, int pos, int num) pos = _status_bar_draw_bracket(is_current, pos, "["); - int status_attrs = 0; - if (tab->highlight) { + int status_attrs; + if (is_current) { + status_attrs = theme_attrs(THEME_STATUS_CURRENT); + } else if (tab->highlight) { status_attrs = theme_attrs(THEME_STATUS_NEW); } else { status_attrs = theme_attrs(THEME_STATUS_ACTIVE); |