diff options
Diffstat (limited to 'lib/theme.c')
-rw-r--r-- | lib/theme.c | 48 |
1 files changed, 20 insertions, 28 deletions
diff --git a/lib/theme.c b/lib/theme.c index 0948501e52ff..48eed6a8e598 100644 --- a/lib/theme.c +++ b/lib/theme.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2021 Alfonso Sabato Siciliano + * Copyright (c) 2021-2022 Alfonso Sabato Siciliano * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -25,15 +25,11 @@ * SUCH DAMAGE. */ -#ifdef PORTNCURSES -#include <ncurses/ncurses.h> -#else -#include <ncurses.h> -#endif +#include <curses.h> #include "bsddialog.h" -#include "lib_util.h" #include "bsddialog_theme.h" +#include "lib_util.h" #define GET_COLOR(bg, fg) (COLOR_PAIR(bg * 8 + fg +1)) @@ -42,7 +38,7 @@ struct bsddialog_theme t; static struct bsddialog_theme bsddialogtheme = { #define bgwidget COLOR_WHITE #define bgcurr COLOR_YELLOW - .terminal.color = GET_COLOR(COLOR_BLACK, COLOR_CYAN), + .screen.color = GET_COLOR(COLOR_BLACK, COLOR_CYAN), .shadow.color = GET_COLOR(COLOR_BLACK, COLOR_BLACK), .shadow.h = 1, @@ -55,8 +51,6 @@ static struct bsddialog_theme bsddialogtheme = { .dialog.color = GET_COLOR(COLOR_BLACK, bgwidget), .dialog.bottomtitlecolor = GET_COLOR(COLOR_BLACK, bgwidget), - .text.hmargin = 1, - .menu.arrowcolor = GET_COLOR(COLOR_YELLOW, bgwidget), .menu.selectorcolor = GET_COLOR(COLOR_BLACK, bgwidget) | A_BOLD, .menu.f_desccolor = GET_COLOR(COLOR_WHITE, bgcurr), @@ -89,7 +83,7 @@ static struct bsddialog_theme bsddialogtheme = { static struct bsddialog_theme blackwhite = { #define fg COLOR_WHITE #define bk COLOR_BLACK - .terminal.color = GET_COLOR(fg, bk), + .screen.color = GET_COLOR(fg, bk), .shadow.color = GET_COLOR(COLOR_BLACK, COLOR_BLACK), .shadow.h = 1, @@ -102,8 +96,6 @@ static struct bsddialog_theme blackwhite = { .dialog.color = GET_COLOR(fg, bk), .dialog.bottomtitlecolor = GET_COLOR(fg, bk), - .text.hmargin = 1, - .menu.arrowcolor = GET_COLOR(fg, bk), .menu.selectorcolor = GET_COLOR(fg, bk), .menu.f_desccolor = GET_COLOR(fg, bk) | A_REVERSE, @@ -134,7 +126,7 @@ static struct bsddialog_theme blackwhite = { }; static struct bsddialog_theme dialogtheme = { - .terminal.color = GET_COLOR(COLOR_CYAN, COLOR_BLUE) | A_BOLD, + .screen.color = GET_COLOR(COLOR_CYAN, COLOR_BLUE) | A_BOLD, .shadow.color = GET_COLOR(COLOR_BLACK, COLOR_BLACK), .shadow.h = 1, @@ -147,18 +139,16 @@ static struct bsddialog_theme dialogtheme = { .dialog.color = GET_COLOR(COLOR_BLACK, COLOR_WHITE), .dialog.bottomtitlecolor = GET_COLOR(COLOR_BLACK, COLOR_WHITE) | A_BOLD, - .text.hmargin = 1, - .menu.arrowcolor = GET_COLOR(COLOR_GREEN, COLOR_WHITE), - .menu.selectorcolor = GET_COLOR(COLOR_BLACK, bgwidget) | A_BOLD, - .menu.f_desccolor = GET_COLOR(COLOR_WHITE, COLOR_BLUE) | A_BOLD, - .menu.desccolor = GET_COLOR(COLOR_BLACK, COLOR_WHITE) | A_BOLD, - .menu.f_namecolor = GET_COLOR(COLOR_YELLOW, COLOR_BLUE) | A_BOLD, - .menu.namecolor = GET_COLOR(COLOR_BLUE, COLOR_WHITE) | A_BOLD, + .menu.selectorcolor = GET_COLOR(COLOR_BLACK, bgwidget), + .menu.f_desccolor = GET_COLOR(COLOR_WHITE, COLOR_BLUE), + .menu.desccolor = GET_COLOR(COLOR_BLACK, COLOR_WHITE), + .menu.f_namecolor = GET_COLOR(COLOR_YELLOW, COLOR_BLUE), + .menu.namecolor = GET_COLOR(COLOR_BLUE, COLOR_WHITE), .menu.namesepcolor = GET_COLOR(COLOR_RED, COLOR_WHITE), .menu.descsepcolor = GET_COLOR(COLOR_RED, COLOR_WHITE), - .menu.f_shortcutcolor = GET_COLOR(COLOR_RED, COLOR_BLUE) | A_BOLD, - .menu.shortcutcolor = GET_COLOR(COLOR_RED, COLOR_WHITE) | A_BOLD, + .menu.f_shortcutcolor = GET_COLOR(COLOR_RED, COLOR_BLUE), + .menu.shortcutcolor = GET_COLOR(COLOR_RED, COLOR_WHITE), .form.f_fieldcolor = GET_COLOR(COLOR_WHITE, COLOR_BLUE) | A_BOLD, .form.fieldcolor = GET_COLOR(COLOR_WHITE, COLOR_CYAN) | A_BOLD, @@ -181,11 +171,12 @@ static struct bsddialog_theme dialogtheme = { static void set_theme(struct bsddialog_theme *dst, struct bsddialog_theme *src) { + dst->screen.color = src->screen.color; + dst->shadow.color = src->shadow.color; dst->shadow.h = src->shadow.h; dst->shadow.w = src->shadow.w; - dst->terminal.color = src->terminal.color; dst->dialog.delimtitle = src->dialog.delimtitle; dst->dialog.titlecolor = src->dialog.titlecolor; dst->dialog.lineraisecolor = src->dialog.lineraisecolor; @@ -193,8 +184,6 @@ set_theme(struct bsddialog_theme *dst, struct bsddialog_theme *src) dst->dialog.color = src->dialog.color; dst->dialog.bottomtitlecolor = src->dialog.bottomtitlecolor; - dst->text.hmargin = src->text.hmargin; - dst->menu.arrowcolor = src->menu.arrowcolor; dst->menu.selectorcolor = src->menu.selectorcolor; dst->menu.f_desccolor = src->menu.f_desccolor; @@ -223,7 +212,7 @@ set_theme(struct bsddialog_theme *dst, struct bsddialog_theme *src) dst->button.f_shortcutcolor = src->button.f_shortcutcolor; dst->button.shortcutcolor = src->button.shortcutcolor; - bkgd(dst->terminal.color); + bkgd(dst->screen.color); refresh(); } @@ -258,6 +247,9 @@ int bsddialog_set_default_theme(enum bsddialog_default_theme newtheme) if (newtheme == BSDDIALOG_THEME_DEFAULT) { bsddialog_set_theme(&dialogtheme); t.dialog.lineraisecolor = t.dialog.linelowercolor; + t.dialog.delimtitle = true; + t.button.leftch = '['; + t.button.rightch = ']'; } else if (newtheme == BSDDIALOG_THEME_BSDDIALOG) bsddialog_set_theme(&bsddialogtheme); @@ -285,4 +277,4 @@ bsddialog_color(enum bsddialog_color foreground, cursesflags |= A_UNDERLINE; return (GET_COLOR(foreground, background) | cursesflags); -} +}
\ No newline at end of file |