aboutsummaryrefslogtreecommitdiff
path: root/ui-curses.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-05-21 22:29:28 +0200
committerMarc André Tanner <mat@brain-dump.org>2016-05-22 00:05:31 +0200
commitd974dedbfd80e051fc26f9a42ea4f5059823bb86 (patch)
treea04ac4d30c6acf700c47dca957762b584ed5d0ff /ui-curses.c
parentbff2afbf1dc4b302f600e56d46cb413f1c31be3c (diff)
downloadvis-d974dedbfd80e051fc26f9a42ea4f5059823bb86.tar.gz
vis-d974dedbfd80e051fc26f9a42ea4f5059823bb86.tar.xz
vis: add function to change window statusbar content
Diffstat (limited to 'ui-curses.c')
-rw-r--r--ui-curses.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ui-curses.c b/ui-curses.c
index f2f215a..ce4ef03 100644
--- a/ui-curses.c
+++ b/ui-curses.c
@@ -669,6 +669,18 @@ static void ui_window_draw_status(UiWin *w) {
mvwaddstr(win->winstatus, 0, win->width - (msg - buf) - 1, buf);
}
+static void ui_window_status(UiWin *w, const char *status) {
+ UiCursesWin *win = (UiCursesWin*)w;
+ if (!win->winstatus)
+ return;
+ UiCurses *uic = win->ui;
+ bool focused = uic->selwin == win;
+ wattrset(win->winstatus, focused ? A_REVERSE|A_BOLD : A_REVERSE);
+ mvwhline(win->winstatus, 0, 0, ' ', win->width);
+ if (status)
+ mvwprintw(win->winstatus, 0, 0, "%s", status);
+}
+
static void ui_window_draw(UiWin *w) {
UiCursesWin *win = (UiCursesWin*)w;
if (!ui_window_draw_sidebar(win))
@@ -985,6 +997,7 @@ static UiWin *ui_window_new(Ui *ui, View *view, File *file, enum UiOption option
win->uiwin = (UiWin) {
.draw = ui_window_draw,
.draw_status = ui_window_draw_status,
+ .status = ui_window_status,
.options_set = ui_window_options_set,
.options_get = ui_window_options_get,
.reload = ui_window_reload,