NCURSES_LIBS=${NCURSESW_LIBS}
NCURSES_CFLAGS=${NCURSESW_CFLAGS}
AC_DEFINE([HAVE_LIBNCURSESW])
+ CURSES_LIB_NAME="ncursesw"
], [
PKG_CHECK_MODULES(NCURSES, [ncurses], [
have_ncurses=yes
AC_DEFINE([HAVE_LIBNCURSES])
+ CURSES_LIB_NAME="ncursesw"
], [:])
])
AS_IF([test "x$have_ncurses" = xyes], [
AC_CHECK_HEADERS([ncursesw/ncurses.h])
NCURSES_LIBS="-lncursesw"
+ CURSES_LIB_NAME="ncursesw"
])
])
AS_IF([test "x$have_ncurses" = xno], [
UL_CHECK_LIB(ncurses, initscr)
AS_IF([test "x$have_ncurses" = xyes], [
NCURSES_LIBS="-lncurses"
+ CURSES_LIB_NAME="ncurses"
])
])
])
#endif
])
AS_IF([test "x$have_slang" = xno], [
- AC_MSG_ERROR([slang selected but slcurses.h not found])
+ AC_MSG_ERROR([slang selected but slcurses.h not found])],
+ [CURSES_LIB_NAME=slang
])
])
AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
AM_CONDITIONAL([BUILD_CFDISK], [test "x$have_slang" = xyes -o "x$have_ncurses" = xyes])
+AS_IF([test "x$have_slang" = xyes -o "x$have_ncurses" = xyes], [
+ AC_CHECK_LIB([$CURSES_LIB_NAME], use_default_colors, [
+ AC_DEFINE(HAVE_USE_DEFAULT_COLORS, 1,
+ [Define if curses library has the use_default_colors command.])
+ ])
+])
+
dnl Try pkg-config for libtinfo
PKG_CHECK_MODULES(TINFO, [tinfo], [have_tinfo=yes], [
#ifdef HAVE_WIDECHAR
# include <wctype.h>
+# include <wchar.h>
#endif
#include "c.h"
va_list ap;
va_start(ap, fmt);
if (ui_enabled)
- ui_vprint_center(INFO_LINE, COLOR_PAIR(CFDISK_CL_WARNING), fmt, ap);
+ ui_vprint_center(INFO_LINE,
+ colors_wanted() ? COLOR_PAIR(CFDISK_CL_WARNING) : 0,
+ fmt, ap);
else
vfprintf(stderr, fmt, ap);
va_end(ap);
va_start(ap, fmt);
if (ui_enabled)
- ui_vprint_center(INFO_LINE, COLOR_PAIR(CFDISK_CL_WARNING), fmt_m, ap);
+ ui_vprint_center(INFO_LINE,
+ colors_wanted() ? COLOR_PAIR(CFDISK_CL_WARNING) : 0,
+ fmt_m, ap);
else
vfprintf(stderr, fmt_m, ap);
va_end(ap);
ui_enabled = 1;
initscr();
+#ifdef HAVE_USE_DEFAULT_COLORS
if (colors_wanted() && has_colors()) {
size_t i;
start_color();
use_default_colors();
-
for (i = 1; i < ARRAY_SIZE(color_pairs); i++) /* yeah, start from 1! */
init_pair(i, color_pairs[i][0], color_pairs[i][1]);
}
+#else
+ colors_init(UL_COLORMODE_NEVER);
+#endif
cbreak();
noecho();
} else {
int at = 0;
- if (is_freespace(cf, i)) {
+ if (colors_wanted() && is_freespace(cf, i)) {
attron(COLOR_PAIR(CFDISK_CL_FREESPACE));
at = 1;
}
clrtoeol();
if (prompt) {
- mvaddstr(ln, cl, prompt);
+ mvaddstr(ln, cl, (char *) prompt);
cl += mbs_safe_width(prompt);
}
ref = 1;
break;
}
+#ifdef KEY_DC
case KEY_DC:
+#endif
case 'd': /* Delete */
if (fdisk_delete_partition(cf->cxt, n) != 0)
warn = _("Could not delete partition %zu.");
}
}
+
+
colors_init(colormode);
fdisk_init_debug(0);