diff --git a/SignalsPanel.c b/SignalsPanel.c index 6a3b89de4ff734da6e62587aa36d2229cb2bcf43..9816a84855e4e8b3f555526034cbe53effdad5ae 100644 --- a/SignalsPanel.c +++ b/SignalsPanel.c @@ -14,6 +14,7 @@ in the source distribution for its full text. #include #include +#include #include @@ -28,9 +29,16 @@ typedef struct SignalItem_ { Panel* SignalsPanel_new() { Panel* this = Panel_new(1, 1, 1, 1, true, Class(ListItem), FunctionBar_newEnterEsc("Send ", "Cancel ")); - for(unsigned int i = 0; i < Platform_numberOfSignals; i++) + 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; } diff --git a/freebsd/Platform.c b/freebsd/Platform.c index 0d01b0ca2a58a050cc68179cade3f229c5913970..b17032913d915162da54b703fe1f91d924fda99a 100644 --- a/freebsd/Platform.c +++ b/freebsd/Platform.c @@ -37,7 +37,7 @@ ProcessField Platform_defaultFields[] = { PID, USER, PRIORITY, NICE, M_SIZE, M_R int Platform_numberOfFields = LAST_PROCESSFIELD; -static SignalItem Platform_signals[] = { +SignalItem Platform_signals[] = { { .name = " 0 Cancel", .number = 0 }, { .name = " 1 SIGHUP", .number = 1 }, { .name = " 2 SIGINT", .number = 2 },