2006-03-04 18:16:49 +00:00
|
|
|
#ifndef HEADER_Settings
|
|
|
|
#define HEADER_Settings
|
|
|
|
/*
|
2006-06-06 20:28:42 +00:00
|
|
|
htop - Settings.h
|
2011-05-26 16:35:07 +00:00
|
|
|
(C) 2004-2011 Hisham H. Muhammad
|
2020-10-05 07:51:32 +00:00
|
|
|
Released under the GNU GPLv2, see the COPYING file
|
2006-03-04 18:16:49 +00:00
|
|
|
in the source distribution for its full text.
|
|
|
|
*/
|
|
|
|
|
2020-09-19 11:55:23 +00:00
|
|
|
#include "config.h" // IWYU pragma: keep
|
2006-04-10 20:40:38 +00:00
|
|
|
|
2011-12-26 21:35:57 +00:00
|
|
|
#include <stdbool.h>
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-09-18 17:23:04 +00:00
|
|
|
#include "Process.h"
|
|
|
|
|
2020-09-19 11:55:23 +00:00
|
|
|
|
|
|
|
#define DEFAULT_DELAY 15
|
|
|
|
|
2015-01-22 01:27:31 +00:00
|
|
|
typedef struct {
|
|
|
|
int len;
|
|
|
|
char** names;
|
|
|
|
int* modes;
|
|
|
|
} MeterColumnSettings;
|
2015-01-23 05:08:21 +00:00
|
|
|
|
2006-03-04 18:16:49 +00:00
|
|
|
typedef struct Settings_ {
|
2015-01-22 01:27:31 +00:00
|
|
|
char* filename;
|
|
|
|
MeterColumnSettings columns[2];
|
|
|
|
|
|
|
|
ProcessField* fields;
|
|
|
|
int flags;
|
2006-03-04 18:16:49 +00:00
|
|
|
int colorScheme;
|
2006-04-10 20:40:38 +00:00
|
|
|
int delay;
|
2015-01-22 01:27:31 +00:00
|
|
|
|
|
|
|
int direction;
|
|
|
|
ProcessField sortKey;
|
|
|
|
|
2019-12-19 22:30:45 +00:00
|
|
|
bool countCPUsFromOne;
|
2015-01-22 01:27:31 +00:00
|
|
|
bool detailedCPUTime;
|
2019-08-10 18:20:21 +00:00
|
|
|
bool showCPUUsage;
|
2019-08-10 04:34:48 +00:00
|
|
|
bool showCPUFrequency;
|
2015-01-22 01:27:31 +00:00
|
|
|
bool treeView;
|
2015-07-29 19:14:29 +00:00
|
|
|
bool showProgramPath;
|
2015-01-22 01:27:31 +00:00
|
|
|
bool hideThreads;
|
|
|
|
bool shadowOtherUsers;
|
|
|
|
bool showThreadNames;
|
|
|
|
bool hideKernelThreads;
|
|
|
|
bool hideUserlandThreads;
|
|
|
|
bool highlightBaseName;
|
|
|
|
bool highlightMegabytes;
|
|
|
|
bool highlightThreads;
|
2020-10-31 01:56:16 +00:00
|
|
|
bool highlightChanges;
|
|
|
|
int highlightDelaySecs;
|
2015-01-22 01:27:31 +00:00
|
|
|
bool updateProcessNames;
|
|
|
|
bool accountGuestInCPUMeter;
|
|
|
|
bool headerMargin;
|
2019-07-12 19:41:09 +00:00
|
|
|
bool enableMouse;
|
2020-08-26 00:15:00 +00:00
|
|
|
#ifdef HAVE_LIBHWLOC
|
|
|
|
bool topologyAffinity;
|
|
|
|
#endif
|
2015-01-22 01:27:31 +00:00
|
|
|
|
2014-02-27 19:35:22 +00:00
|
|
|
bool changed;
|
2006-03-04 18:16:49 +00:00
|
|
|
} Settings;
|
|
|
|
|
2019-12-19 22:30:45 +00:00
|
|
|
#define Settings_cpuId(settings, cpu) ((settings)->countCPUsFromOne ? (cpu)+1 : (cpu))
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
void Settings_delete(Settings* this);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
bool Settings_write(Settings* this);
|
2006-03-04 18:16:49 +00:00
|
|
|
|
2020-09-23 09:52:57 +00:00
|
|
|
Settings* Settings_new(int initialCpuCount);
|
2015-01-22 01:27:31 +00:00
|
|
|
|
2020-09-02 07:38:44 +00:00
|
|
|
void Settings_invertSortOrder(Settings* this);
|
2008-03-09 08:58:38 +00:00
|
|
|
|
2006-03-04 18:16:49 +00:00
|
|
|
#endif
|