From e8f27ebc2616f875c00d814ab7f29d107e4998c1 Mon Sep 17 00:00:00 2001 From: nia Date: Wed, 14 Jul 2021 21:07:43 +0200 Subject: Disable mouse option when support is unavailable --- CommandLine.c | 4 ++++ DisplayOptionsPanel.c | 2 ++ Settings.c | 6 ++++++ Settings.h | 2 ++ 4 files changed, 14 insertions(+) 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; -- cgit v1.2.3