aboutsummaryrefslogtreecommitdiff
path: root/lib/theme.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/theme.c')
-rw-r--r--lib/theme.c48
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