summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornia <nia@NetBSD.org>2021-07-14 21:07:43 +0200
committerBenBE <BenBE@geshi.org>2021-07-15 19:09:08 +0200
commite8f27ebc2616f875c00d814ab7f29d107e4998c1 (patch)
tree3414ba1199802bea2ed9f97602499652c7846b65
parent2ab8fb83ba7d210c7c377b5b417f79822a6f7724 (diff)
Disable mouse option when support is unavailable
-rw-r--r--CommandLine.c4
-rw-r--r--DisplayOptionsPanel.c2
-rw-r--r--Settings.c6
-rw-r--r--Settings.h2
4 files changed, 14 insertions, 0 deletions
diff --git a/CommandLine.c b/CommandLine.c
index 1b09230f..66df3777 100644
--- a/CommandLine.c
+++ b/CommandLine.c
@@ -186,7 +186,9 @@ static CommandLineSettings parseArguments(const char* program, int argc, char**
flags.useColors = false;
break;
case 'M':
+#ifdef HAVE_GETMOUSE
flags.enableMouse = false;
+#endif
break;
case 'U':
flags.allowUnicode = false;
@@ -304,8 +306,10 @@ int CommandLine_run(const char* name, int argc, char** argv) {
settings->delay = flags.delay;
if (!flags.useColors)
settings->colorScheme = COLORSCHEME_MONOCHROME;
+#ifdef HAVE_GETMOUSE
if (!flags.enableMouse)
settings->enableMouse = false;
+#endif
if (flags.treeView)
settings->treeView = true;
if (flags.highlightChanges)
diff --git a/DisplayOptionsPanel.c b/DisplayOptionsPanel.c
index ab80aaa0..23b16bb2 100644
--- a/DisplayOptionsPanel.c
+++ b/DisplayOptionsPanel.c
@@ -131,7 +131,9 @@ DisplayOptionsPanel* DisplayOptionsPanel_new(Settings* settings, ScreenManager*
&(settings->showCPUTemperature)));
Panel_add(super, (Object*) CheckItem_newByRef("- Show temperature in degree Fahrenheit instead of Celsius", &(settings->degreeFahrenheit)));
#endif
+ #ifdef HAVE_GETMOUSE
Panel_add(super, (Object*) CheckItem_newByRef("Enable the mouse", &(settings->enableMouse)));
+ #endif
Panel_add(super, (Object*) NumberItem_newByRef("Update interval (in seconds)", &(settings->delay), -1, 1, 255));
Panel_add(super, (Object*) CheckItem_newByRef("Highlight new and old processes", &(settings->highlightChanges)));
Panel_add(super, (Object*) NumberItem_newByRef("- Highlight time (in seconds)", &(settings->highlightDelaySecs), 0, 1, 24 * 60 * 60));
diff --git a/Settings.c b/Settings.c
index ca8253e2..1cf67395 100644
--- a/Settings.c
+++ b/Settings.c
@@ -224,8 +224,10 @@ static bool Settings_read(Settings* this, const char* fileName, unsigned int ini
if (this->colorScheme < 0 || this->colorScheme >= LAST_COLORSCHEME) {
this->colorScheme = 0;
}
+ #ifdef HAVE_GETMOUSE
} else if (String_eq(option[0], "enable_mouse")) {
this->enableMouse = atoi(option[1]);
+ #endif
} else if (String_eq(option[0], "left_meters")) {
Settings_readMeters(this, option[1], 0);
didReadMeters = true;
@@ -332,7 +334,9 @@ int Settings_write(const Settings* this, bool onCrash) {
fprintf(fd, "update_process_names=%d\n", (int) this->updateProcessNames);
fprintf(fd, "account_guest_in_cpu_meter=%d\n", (int) this->accountGuestInCPUMeter);
fprintf(fd, "color_scheme=%d\n", (int) this->colorScheme);
+ #ifdef HAVE_GETMOUSE
fprintf(fd, "enable_mouse=%d\n", (int) this->enableMouse);
+ #endif
fprintf(fd, "delay=%d\n", (int) this->delay);
fprintf(fd, "left_meters="); writeMeters(this, fd, 0);
fprintf(fd, "left_meter_modes="); writeMeterModes(this, fd, 0);
@@ -437,7 +441,9 @@ Settings* Settings_new(unsigned int initialCpuCount) {
}
}
this->colorScheme = 0;
+#ifdef HAVE_GETMOUSE
this->enableMouse = true;
+#endif
this->changed = false;
this->delay = DEFAULT_DELAY;
bool ok = false;
diff --git a/Settings.h b/Settings.h
index 6cda3a92..6737f3bb 100644
--- a/Settings.h
+++ b/Settings.h
@@ -65,7 +65,9 @@ typedef struct Settings_ {
bool updateProcessNames;
bool accountGuestInCPUMeter;
bool headerMargin;
+ #ifdef HAVE_GETMOUSE
bool enableMouse;
+ #endif
int hideFunctionBar; // 0 - off, 1 - on ESC until next input, 2 - permanently
#ifdef HAVE_LIBHWLOC
bool topologyAffinity;