diff options
author | Dongdong Zhou <dzhou121@gmail.com> | 2017-02-24 09:35:27 +0000 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-04-26 02:15:31 +0200 |
commit | 88023d51238698dd625c26300142d3dbe5770b73 (patch) | |
tree | 3a3876cc8525a8ca7147bf273698886759d292be /src/nvim/ui.c | |
parent | 7e571bca5d5e00e9e33e266b983a48bb4014183f (diff) | |
download | rneovim-88023d51238698dd625c26300142d3dbe5770b73.tar.gz rneovim-88023d51238698dd625c26300142d3dbe5770b73.tar.bz2 rneovim-88023d51238698dd625c26300142d3dbe5770b73.zip |
api/ui: externalize tabline
Diffstat (limited to 'src/nvim/ui.c')
-rw-r--r-- | src/nvim/ui.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/nvim/ui.c b/src/nvim/ui.c index 69916fa4cd..6dcc3de1b0 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -58,6 +58,10 @@ static int busy = 0; static int height, width; static int old_mode_idx = -1; +static bool tabline_external = false; +static bool cmdline_external = false; +static bool wildmenu_external = false; + // UI_CALL invokes a function on all registered UI instances. The functions can // have 0-5 arguments (configurable by SELECT_NTH). // @@ -167,17 +171,20 @@ void ui_refresh(void) int width = INT_MAX, height = INT_MAX; bool pum_external = true; + bool tabline_external = true; for (size_t i = 0; i < ui_count; i++) { UI *ui = uis[i]; width = MIN(ui->width, width); height = MIN(ui->height, height); pum_external &= ui->pum_external; + tabline_external &= ui->tabline_external; } row = col = 0; screen_resize(width, height); pum_set_external(pum_external); + ui_set_widget_external(kUITabline, tabline_external); ui_mode_info_set(); old_mode_idx = -1; ui_cursor_shape(); @@ -557,3 +564,30 @@ void ui_cursor_shape(void) conceal_check_cursur_line(); } +bool ui_is_widget_external(UIWidget widget) +{ + switch (widget) { + case kUITabline: + return tabline_external; + case kUICmdline: + return cmdline_external; + case kUIWildmenu: + return wildmenu_external; + } + return false; +} + +void ui_set_widget_external(UIWidget widget, bool external) +{ + switch (widget) { + case kUITabline: + tabline_external = external; + break; + case kUICmdline: + cmdline_external = external; + break; + case kUIWildmenu: + wildmenu_external = external; + break; + } +} |