diff options
author | Daniel Lange <DLange@git.local> | 2016-04-11 13:01:07 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2016-04-11 13:01:07 +0200 |
commit | ff9409b1737627857eb47f64f536a3f66b6a09a4 (patch) | |
tree | 61b631ba551e68a4f656b8b76ff7bd0d9955fc64 /SignalsPanel.c | |
parent | f75ab6d2c11e8a8e18191b087564aedebbeb96c5 (diff) | |
download | debian_htop-ff9409b1737627857eb47f64f536a3f66b6a09a4.tar.gz debian_htop-ff9409b1737627857eb47f64f536a3f66b6a09a4.tar.bz2 debian_htop-ff9409b1737627857eb47f64f536a3f66b6a09a4.zip |
Imported Upstream version 2.0.0upstream/2.0.0
Diffstat (limited to 'SignalsPanel.c')
-rw-r--r-- | SignalsPanel.c | 54 |
1 files changed, 13 insertions, 41 deletions
diff --git a/SignalsPanel.c b/SignalsPanel.c index a52e528..9816a84 100644 --- a/SignalsPanel.c +++ b/SignalsPanel.c @@ -7,12 +7,14 @@ in the source distribution for its full text. #include "Panel.h" #include "SignalsPanel.h" +#include "Platform.h" #include "ListItem.h" #include "RichString.h" #include <stdlib.h> #include <assert.h> +#include <signal.h> #include <ctype.h> @@ -25,48 +27,18 @@ typedef struct SignalItem_ { }*/ -static SignalItem signals[] = { - { .name = " 0 Cancel", .number = 0 }, - { .name = " 1 SIGHUP", .number = 1 }, - { .name = " 2 SIGINT", .number = 2 }, - { .name = " 3 SIGQUIT", .number = 3 }, - { .name = " 4 SIGILL", .number = 4 }, - { .name = " 5 SIGTRAP", .number = 5 }, - { .name = " 6 SIGABRT", .number = 6 }, - { .name = " 6 SIGIOT", .number = 6 }, - { .name = " 7 SIGBUS", .number = 7 }, - { .name = " 8 SIGFPE", .number = 8 }, - { .name = " 9 SIGKILL", .number = 9 }, - { .name = "10 SIGUSR1", .number = 10 }, - { .name = "11 SIGSEGV", .number = 11 }, - { .name = "12 SIGUSR2", .number = 12 }, - { .name = "13 SIGPIPE", .number = 13 }, - { .name = "14 SIGALRM", .number = 14 }, - { .name = "15 SIGTERM", .number = 15 }, - { .name = "16 SIGSTKFLT", .number = 16 }, - { .name = "17 SIGCHLD", .number = 17 }, - { .name = "18 SIGCONT", .number = 18 }, - { .name = "19 SIGSTOP", .number = 19 }, - { .name = "20 SIGTSTP", .number = 20 }, - { .name = "21 SIGTTIN", .number = 21 }, - { .name = "22 SIGTTOU", .number = 22 }, - { .name = "23 SIGURG", .number = 23 }, - { .name = "24 SIGXCPU", .number = 24 }, - { .name = "25 SIGXFSZ", .number = 25 }, - { .name = "26 SIGVTALRM", .number = 26 }, - { .name = "27 SIGPROF", .number = 27 }, - { .name = "28 SIGWINCH", .number = 28 }, - { .name = "29 SIGIO", .number = 29 }, - { .name = "29 SIGPOLL", .number = 29 }, - { .name = "30 SIGPWR", .number = 30 }, - { .name = "31 SIGSYS", .number = 31 }, -}; - Panel* SignalsPanel_new() { - Panel* this = Panel_new(1, 1, 1, 1, true, Class(ListItem)); - for(unsigned int i = 0; i < sizeof(signals)/sizeof(SignalItem); i++) - Panel_set(this, i, (Object*) ListItem_new(signals[i].name, signals[i].number)); + Panel* this = Panel_new(1, 1, 1, 1, true, Class(ListItem), FunctionBar_newEnterEsc("Send ", "Cancel ")); + const int defaultSignal = SIGTERM; + int defaultPosition = 15; + for(unsigned int i = 0; i < Platform_numberOfSignals; i++) { + Panel_set(this, i, (Object*) ListItem_new(Platform_signals[i].name, Platform_signals[i].number)); + // signal 15 is not always the 15th signal in the table + if (Platform_signals[i].number == defaultSignal) { + defaultPosition = i; + } + } Panel_setHeader(this, "Send signal:"); - Panel_setSelected(this, 16); // 16th item is SIGTERM + Panel_setSelected(this, defaultPosition); return this; } |