aboutsummaryrefslogtreecommitdiffstats
path: root/CRT.c
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2022-05-02 16:04:21 +0200
committerDaniel Lange <DLange@git.local>2022-05-02 16:04:21 +0200
commit1b805a31720727008b32b1129a167758519fd4db (patch)
tree900c84e10a25f2c8eaeec3ae54f1365688ce02a4 /CRT.c
parenta6822e98434cf7da6fab033898094976d881ee0f (diff)
downloaddebian_htop-1b805a31720727008b32b1129a167758519fd4db.tar.gz
debian_htop-1b805a31720727008b32b1129a167758519fd4db.tar.bz2
debian_htop-1b805a31720727008b32b1129a167758519fd4db.zip
New upstream version 3.2.0upstream/3.2.0
Diffstat (limited to 'CRT.c')
-rw-r--r--CRT.c53
1 files changed, 51 insertions, 2 deletions
diff --git a/CRT.c b/CRT.c
index ce59994..583b626 100644
--- a/CRT.c
+++ b/CRT.c
@@ -13,6 +13,7 @@ in the source distribution for its full text.
#include <fcntl.h>
#include <langinfo.h>
#include <signal.h>
+#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -193,6 +194,11 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
[CPU_SOFTIRQ] = ColorPair(Magenta, Black),
[CPU_STEAL] = ColorPair(Cyan, Black),
[CPU_GUEST] = ColorPair(Cyan, Black),
+ [PANEL_EDIT] = ColorPair(White, Blue),
+ [SCREENS_OTH_BORDER] = ColorPair(Blue, Blue),
+ [SCREENS_OTH_TEXT] = ColorPair(Black, Blue),
+ [SCREENS_CUR_BORDER] = ColorPair(Green, Green),
+ [SCREENS_CUR_TEXT] = ColorPair(Black, Green),
[PRESSURE_STALL_THREEHUNDRED] = ColorPair(Cyan, Black),
[PRESSURE_STALL_SIXTY] = A_BOLD | ColorPair(Cyan, Black),
[PRESSURE_STALL_TEN] = A_BOLD | ColorPair(White, Black),
@@ -295,6 +301,11 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
[CPU_SOFTIRQ] = A_BOLD,
[CPU_STEAL] = A_DIM,
[CPU_GUEST] = A_DIM,
+ [PANEL_EDIT] = A_BOLD,
+ [SCREENS_OTH_BORDER] = A_DIM,
+ [SCREENS_OTH_TEXT] = A_DIM,
+ [SCREENS_CUR_BORDER] = A_REVERSE,
+ [SCREENS_CUR_TEXT] = A_REVERSE,
[PRESSURE_STALL_THREEHUNDRED] = A_DIM,
[PRESSURE_STALL_SIXTY] = A_NORMAL,
[PRESSURE_STALL_TEN] = A_BOLD,
@@ -397,6 +408,11 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
[CPU_SOFTIRQ] = ColorPair(Blue, White),
[CPU_STEAL] = ColorPair(Cyan, White),
[CPU_GUEST] = ColorPair(Cyan, White),
+ [PANEL_EDIT] = ColorPair(White,Blue),
+ [SCREENS_OTH_BORDER] = A_BOLD | ColorPair(Black,White),
+ [SCREENS_OTH_TEXT] = A_BOLD | ColorPair(Black,White),
+ [SCREENS_CUR_BORDER] = ColorPair(Green,Green),
+ [SCREENS_CUR_TEXT] = ColorPair(Black,Green),
[PRESSURE_STALL_THREEHUNDRED] = ColorPair(Black, White),
[PRESSURE_STALL_SIXTY] = ColorPair(Black, White),
[PRESSURE_STALL_TEN] = ColorPair(Black, White),
@@ -499,6 +515,11 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
[CPU_SOFTIRQ] = ColorPair(Blue, Black),
[CPU_STEAL] = ColorPair(Black, Black),
[CPU_GUEST] = ColorPair(Black, Black),
+ [PANEL_EDIT] = ColorPair(White,Blue),
+ [SCREENS_OTH_BORDER] = ColorPair(Blue,Black),
+ [SCREENS_OTH_TEXT] = ColorPair(Blue,Black),
+ [SCREENS_CUR_BORDER] = ColorPair(Green,Green),
+ [SCREENS_CUR_TEXT] = ColorPair(Black,Green),
[PRESSURE_STALL_THREEHUNDRED] = ColorPair(Black, Black),
[PRESSURE_STALL_SIXTY] = ColorPair(Black, Black),
[PRESSURE_STALL_TEN] = ColorPair(Black, Black),
@@ -601,6 +622,11 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
[CPU_SOFTIRQ] = ColorPair(Black, Blue),
[CPU_STEAL] = ColorPair(White, Blue),
[CPU_GUEST] = ColorPair(White, Blue),
+ [PANEL_EDIT] = ColorPair(White,Blue),
+ [SCREENS_OTH_BORDER] = A_BOLD | ColorPair(Yellow,Blue),
+ [SCREENS_OTH_TEXT] = ColorPair(Cyan,Blue),
+ [SCREENS_CUR_BORDER] = ColorPair(Cyan,Cyan),
+ [SCREENS_CUR_TEXT] = ColorPair(Black,Cyan),
[PRESSURE_STALL_THREEHUNDRED] = A_BOLD | ColorPair(Black, Blue),
[PRESSURE_STALL_SIXTY] = A_NORMAL | ColorPair(White, Blue),
[PRESSURE_STALL_TEN] = A_BOLD | ColorPair(White, Blue),
@@ -701,6 +727,11 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
[CPU_SOFTIRQ] = ColorPair(Blue, Black),
[CPU_STEAL] = ColorPair(Cyan, Black),
[CPU_GUEST] = ColorPair(Cyan, Black),
+ [PANEL_EDIT] = ColorPair(White,Cyan),
+ [SCREENS_OTH_BORDER] = ColorPair(White,Black),
+ [SCREENS_OTH_TEXT] = ColorPair(Cyan,Black),
+ [SCREENS_CUR_BORDER] = A_BOLD | ColorPair(White,Black),
+ [SCREENS_CUR_TEXT] = A_BOLD | ColorPair(Green,Black),
[PRESSURE_STALL_THREEHUNDRED] = ColorPair(Green, Black),
[PRESSURE_STALL_SIXTY] = ColorPair(Green, Black),
[PRESSURE_STALL_TEN] = A_BOLD | ColorPair(Green, Black),
@@ -725,8 +756,6 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = {
[COLORSCHEME_BROKENGRAY] = { 0 } // dynamically generated.
};
-int CRT_cursorX = 0;
-
int CRT_scrollHAmount = 5;
int CRT_scrollWheelVAmount = 10;
@@ -816,6 +845,16 @@ static void dumpStderr(void) {
stderrRedirectNewFd = -1;
}
+void CRT_debug_impl(const char* file, size_t lineno, const char* func, const char* fmt, ...) {
+ va_list args;
+
+ fprintf(stderr, "[%s:%zu (%s)]: ", file, lineno, func);
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ va_end(args);
+ fprintf(stderr, "\n");
+}
+
#else /* !NDEBUG */
static void redirectStderr(void) {
@@ -841,6 +880,7 @@ static void CRT_installSignalHandlers(void) {
sigaction (SIGSYS, &act, &old_sig_handler[SIGSYS]);
sigaction (SIGABRT, &act, &old_sig_handler[SIGABRT]);
+ signal(SIGCHLD, SIG_DFL);
signal(SIGINT, CRT_handleSIGTERM);
signal(SIGTERM, CRT_handleSIGTERM);
signal(SIGQUIT, CRT_handleSIGTERM);
@@ -915,6 +955,7 @@ IGNORE_WCASTQUAL_BEGIN
define_key("\033[14~", KEY_F(4));
define_key("\033[14;2~", KEY_F(15));
define_key("\033[17;2~", KEY_F(18));
+ define_key("\033[Z", KEY_SHIFT_TAB);
char sequence[3] = "\033a";
for (char c = 'a'; c <= 'z'; c++) {
sequence[1] = c;
@@ -925,6 +966,9 @@ IGNORE_WCASTQUAL_END
#undef define_key
#endif
}
+ if (termType && (String_startsWith(termType, "rxvt"))) {
+ define_key("\033[Z", KEY_SHIFT_TAB);
+ }
CRT_installSignalHandlers();
@@ -961,6 +1005,11 @@ IGNORE_WCASTQUAL_END
}
void CRT_done() {
+ attron(CRT_colors[RESET_COLOR]);
+ mvhline(LINES - 1, 0, ' ', COLS);
+ attroff(CRT_colors[RESET_COLOR]);
+ refresh();
+
curs_set(1);
endwin();

© 2014-2024 Faster IT GmbH | imprint | privacy policy