htop/Settings.h

97 lines
2.1 KiB
C
Raw Permalink Normal View History

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
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.
*/
#include "config.h" // IWYU pragma: keep
2011-12-26 21:35:57 +00:00
#include <stdbool.h>
2020-12-06 15:22:41 +01:00
#include <stdint.h>
2006-03-04 18:16:49 +00:00
2020-09-18 19:23:04 +02:00
#include "Process.h"
#define DEFAULT_DELAY 15
typedef struct {
int len;
char** names;
int* modes;
} MeterColumnSettings;
2006-03-04 18:16:49 +00:00
typedef struct Settings_ {
char* filename;
MeterColumnSettings columns[2];
ProcessField* fields;
uint32_t flags;
2006-03-04 18:16:49 +00:00
int colorScheme;
int delay;
int direction;
int treeDirection;
ProcessField sortKey;
ProcessField treeSortKey;
bool countCPUsFromOne;
bool detailedCPUTime;
bool showCPUUsage;
bool showCPUFrequency;
2020-12-01 13:59:19 +01:00
#ifdef HAVE_SENSORS_SENSORS_H
bool showCPUTemperature;
bool degreeFahrenheit;
#endif
bool treeView;
bool treeViewAlwaysByPID;
bool showProgramPath;
bool shadowOtherUsers;
bool showThreadNames;
bool hideKernelThreads;
bool hideUserlandThreads;
bool highlightBaseName;
bool highlightMegabytes;
bool highlightThreads;
2020-10-30 21:56:16 -04:00
bool highlightChanges;
int highlightDelaySecs;
2020-10-17 16:24:45 +05:30
bool findCommInCmdline;
bool stripExeFromCmdline;
bool showMergedCommand;
bool updateProcessNames;
bool accountGuestInCPUMeter;
bool headerMargin;
2019-07-12 21:41:09 +02:00
bool enableMouse;
#ifdef HAVE_LIBHWLOC
bool topologyAffinity;
#endif
2014-02-27 16:35:22 -03:00
bool changed;
2006-03-04 18:16:49 +00:00
} Settings;
#define Settings_cpuId(settings, cpu) ((settings)->countCPUsFromOne ? (cpu)+1 : (cpu))
2006-03-04 18:16:49 +00:00
static inline ProcessField Settings_getActiveSortKey(const Settings* this) {
return (this->treeView)
? (this->treeViewAlwaysByPID ? PID : this->treeSortKey)
: this->sortKey;
}
static inline int Settings_getActiveDirection(const Settings* this) {
return this->treeView ? this->treeDirection : this->direction;
}
void Settings_delete(Settings* this);
2006-03-04 18:16:49 +00:00
bool Settings_write(Settings* this);
2006-03-04 18:16:49 +00:00
Settings* Settings_new(int initialCpuCount);
void Settings_invertSortOrder(Settings* this);
void Settings_setSortKey(Settings* this, ProcessField sortKey);
2006-03-04 18:16:49 +00:00
#endif