mirror of
https://github.com/xzeldon/htop.git
synced 2024-12-23 22:55:46 +00:00
Merge branch 'noheadergen' of https://github.com/zevweiss/htop into zevweiss-noheadergen
This commit is contained in:
commit
eede79b29a
1
.gitignore
vendored
1
.gitignore
vendored
@ -39,5 +39,4 @@ libtool
|
||||
ltmain.sh
|
||||
m4/
|
||||
missing
|
||||
scripts/MakeHeader.py
|
||||
stamp-h1
|
||||
|
32
Action.c
32
Action.c
@ -30,38 +30,6 @@ in the source distribution for its full text.
|
||||
#include <sys/param.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
/*{
|
||||
|
||||
#include "IncSet.h"
|
||||
#include "Settings.h"
|
||||
#include "Header.h"
|
||||
#include "UsersTable.h"
|
||||
#include "ProcessList.h"
|
||||
#include "Panel.h"
|
||||
|
||||
typedef enum {
|
||||
HTOP_OK = 0x00,
|
||||
HTOP_REFRESH = 0x01,
|
||||
HTOP_RECALCULATE = 0x03, // implies HTOP_REFRESH
|
||||
HTOP_SAVE_SETTINGS = 0x04,
|
||||
HTOP_KEEP_FOLLOWING = 0x08,
|
||||
HTOP_QUIT = 0x10,
|
||||
HTOP_REDRAW_BAR = 0x20,
|
||||
HTOP_UPDATE_PANELHDR = 0x41, // implies HTOP_REFRESH
|
||||
} Htop_Reaction;
|
||||
|
||||
typedef Htop_Reaction (*Htop_Action)();
|
||||
|
||||
typedef struct State_ {
|
||||
Settings* settings;
|
||||
UsersTable* ut;
|
||||
ProcessList* pl;
|
||||
Panel* panel;
|
||||
Header* header;
|
||||
} State;
|
||||
|
||||
}*/
|
||||
|
||||
Object* Action_pickFromVector(State* st, Panel* list, int x, bool followProcess) {
|
||||
Panel* panel = st->panel;
|
||||
Header* header = st->header;
|
||||
|
12
Action.h
12
Action.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Action
|
||||
#define HEADER_Action
|
||||
/*
|
||||
@ -39,19 +37,19 @@ typedef struct State_ {
|
||||
} State;
|
||||
|
||||
|
||||
extern Object* Action_pickFromVector(State* st, Panel* list, int x, bool followProcess);
|
||||
Object* Action_pickFromVector(State* st, Panel* list, int x, bool followProcess);
|
||||
|
||||
// ----------------------------------------
|
||||
|
||||
extern bool Action_setUserOnly(const char* userName, uid_t* userId);
|
||||
bool Action_setUserOnly(const char* userName, uid_t* userId);
|
||||
|
||||
extern Htop_Reaction Action_setSortKey(Settings* settings, ProcessField sortKey);
|
||||
Htop_Reaction Action_setSortKey(Settings* settings, ProcessField sortKey);
|
||||
|
||||
// ----------------------------------------
|
||||
|
||||
extern Htop_Reaction Action_follow(State* st);
|
||||
Htop_Reaction Action_follow(State* st);
|
||||
|
||||
|
||||
extern void Action_setBindings(Htop_Action* keys);
|
||||
void Action_setBindings(Htop_Action* keys);
|
||||
|
||||
#endif
|
||||
|
12
Affinity.c
12
Affinity.c
@ -21,18 +21,6 @@ in the source distribution for its full text.
|
||||
#include <sched.h>
|
||||
#endif
|
||||
|
||||
/*{
|
||||
#include "Process.h"
|
||||
#include "ProcessList.h"
|
||||
|
||||
typedef struct Affinity_ {
|
||||
ProcessList* pl;
|
||||
int size;
|
||||
int used;
|
||||
int* cpus;
|
||||
} Affinity;
|
||||
|
||||
}*/
|
||||
|
||||
Affinity* Affinity_new(ProcessList* pl) {
|
||||
Affinity* this = xCalloc(1, sizeof(Affinity));
|
||||
|
16
Affinity.h
16
Affinity.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Affinity
|
||||
#define HEADER_Affinity
|
||||
/*
|
||||
@ -30,23 +28,23 @@ typedef struct Affinity_ {
|
||||
} Affinity;
|
||||
|
||||
|
||||
extern Affinity* Affinity_new(ProcessList* pl);
|
||||
Affinity* Affinity_new(ProcessList* pl);
|
||||
|
||||
extern void Affinity_delete(Affinity* this);
|
||||
void Affinity_delete(Affinity* this);
|
||||
|
||||
extern void Affinity_add(Affinity* this, int id);
|
||||
void Affinity_add(Affinity* this, int id);
|
||||
|
||||
#ifdef HAVE_LIBHWLOC
|
||||
|
||||
extern Affinity* Affinity_get(Process* proc, ProcessList* pl);
|
||||
Affinity* Affinity_get(Process* proc, ProcessList* pl);
|
||||
|
||||
extern bool Affinity_set(Process* proc, Arg arg);
|
||||
bool Affinity_set(Process* proc, Arg arg);
|
||||
|
||||
#elif HAVE_LINUX_AFFINITY
|
||||
|
||||
extern Affinity* Affinity_get(Process* proc, ProcessList* pl);
|
||||
Affinity* Affinity_get(Process* proc, ProcessList* pl);
|
||||
|
||||
extern bool Affinity_set(Process* proc, Arg arg);
|
||||
bool Affinity_set(Process* proc, Arg arg);
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -17,13 +17,6 @@ in the source distribution for its full text.
|
||||
#include <hwloc.h>
|
||||
#endif
|
||||
|
||||
/*{
|
||||
#include "Panel.h"
|
||||
#include "Affinity.h"
|
||||
#include "ProcessList.h"
|
||||
|
||||
}*/
|
||||
|
||||
typedef struct MaskItem_ {
|
||||
Object super;
|
||||
const char* text;
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_AffinityPanel
|
||||
#define HEADER_AffinityPanel
|
||||
/*
|
||||
@ -33,8 +31,8 @@ in the source distribution for its full text.
|
||||
|
||||
extern PanelClass AffinityPanel_class;
|
||||
|
||||
extern Panel* AffinityPanel_new(ProcessList* pl, Affinity* affinity, int* width);
|
||||
Panel* AffinityPanel_new(ProcessList* pl, Affinity* affinity, int* width);
|
||||
|
||||
extern Affinity* AffinityPanel_getAffinity(Panel* super, ProcessList* pl);
|
||||
Affinity* AffinityPanel_getAffinity(Panel* super, ProcessList* pl);
|
||||
|
||||
#endif
|
||||
|
@ -16,15 +16,6 @@ in the source distribution for its full text.
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
|
||||
/*{
|
||||
#include "Panel.h"
|
||||
|
||||
typedef struct AvailableColumnsPanel_ {
|
||||
Panel super;
|
||||
Panel* columns;
|
||||
} AvailableColumnsPanel;
|
||||
|
||||
}*/
|
||||
|
||||
static const char* const AvailableColumnsFunctions[] = {" ", " ", " ", " ", "Add ", " ", " ", " ", " ", "Done ", NULL};
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_AvailableColumnsPanel
|
||||
#define HEADER_AvailableColumnsPanel
|
||||
/*
|
||||
@ -19,6 +17,6 @@ typedef struct AvailableColumnsPanel_ {
|
||||
|
||||
extern PanelClass AvailableColumnsPanel_class;
|
||||
|
||||
extern AvailableColumnsPanel* AvailableColumnsPanel_new(Panel* columns);
|
||||
AvailableColumnsPanel* AvailableColumnsPanel_new(Panel* columns);
|
||||
|
||||
#endif
|
||||
|
@ -16,23 +16,6 @@ in the source distribution for its full text.
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
#include "Settings.h"
|
||||
#include "Panel.h"
|
||||
#include "ScreenManager.h"
|
||||
#include "ProcessList.h"
|
||||
|
||||
typedef struct AvailableMetersPanel_ {
|
||||
Panel super;
|
||||
ScreenManager* scr;
|
||||
|
||||
Settings* settings;
|
||||
Header* header;
|
||||
Panel* leftPanel;
|
||||
Panel* rightPanel;
|
||||
} AvailableMetersPanel;
|
||||
|
||||
}*/
|
||||
|
||||
static void AvailableMetersPanel_delete(Object* object) {
|
||||
Panel* super = (Panel*) object;
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_AvailableMetersPanel
|
||||
#define HEADER_AvailableMetersPanel
|
||||
/*
|
||||
@ -27,6 +25,6 @@ typedef struct AvailableMetersPanel_ {
|
||||
|
||||
extern PanelClass AvailableMetersPanel_class;
|
||||
|
||||
extern AvailableMetersPanel* AvailableMetersPanel_new(Settings* settings, Header* header, Panel* leftMeters, Panel* rightMeters, ScreenManager* scr, ProcessList* pl);
|
||||
AvailableMetersPanel* AvailableMetersPanel_new(Settings* settings, Header* header, Panel* leftMeters, Panel* rightMeters, ScreenManager* scr, ProcessList* pl);
|
||||
|
||||
#endif
|
||||
|
@ -18,15 +18,6 @@ This meter written by Ian P. Hands (iphands@gmail.com, ihands@redhat.com).
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
|
||||
typedef enum ACPresence_ {
|
||||
AC_ABSENT,
|
||||
AC_PRESENT,
|
||||
AC_ERROR
|
||||
} ACPresence;
|
||||
}*/
|
||||
|
||||
int BatteryMeter_attributes[] = {
|
||||
BATTERY
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_BatteryMeter
|
||||
#define HEADER_BatteryMeter
|
||||
/*
|
||||
|
18
CPUMeter.c
18
CPUMeter.c
@ -16,24 +16,6 @@ in the source distribution for its full text.
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
|
||||
typedef enum {
|
||||
CPU_METER_NICE = 0,
|
||||
CPU_METER_NORMAL = 1,
|
||||
CPU_METER_KERNEL = 2,
|
||||
CPU_METER_IRQ = 3,
|
||||
CPU_METER_SOFTIRQ = 4,
|
||||
CPU_METER_STEAL = 5,
|
||||
CPU_METER_GUEST = 6,
|
||||
CPU_METER_IOWAIT = 7,
|
||||
CPU_METER_FREQUENCY = 8,
|
||||
CPU_METER_ITEMCOUNT = 9, // number of entries in this enum
|
||||
} CPUMeterValues;
|
||||
|
||||
}*/
|
||||
|
||||
int CPUMeter_attributes[] = {
|
||||
CPU_NICE, CPU_NORMAL, CPU_SYSTEM, CPU_IRQ, CPU_SOFTIRQ, CPU_STEAL, CPU_GUEST, CPU_IOWAIT
|
||||
};
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_CPUMeter
|
||||
#define HEADER_CPUMeter
|
||||
/*
|
||||
|
104
CRT.c
104
CRT.c
@ -45,110 +45,6 @@ in the source distribution for its full text.
|
||||
|
||||
//#link curses
|
||||
|
||||
/*{
|
||||
#include <stdbool.h>
|
||||
|
||||
typedef enum TreeStr_ {
|
||||
TREE_STR_HORZ,
|
||||
TREE_STR_VERT,
|
||||
TREE_STR_RTEE,
|
||||
TREE_STR_BEND,
|
||||
TREE_STR_TEND,
|
||||
TREE_STR_OPEN,
|
||||
TREE_STR_SHUT,
|
||||
TREE_STR_COUNT
|
||||
} TreeStr;
|
||||
|
||||
typedef enum ColorSchemes_ {
|
||||
COLORSCHEME_DEFAULT = 0,
|
||||
COLORSCHEME_MONOCHROME = 1,
|
||||
COLORSCHEME_BLACKONWHITE = 2,
|
||||
COLORSCHEME_LIGHTTERMINAL = 3,
|
||||
COLORSCHEME_MIDNIGHT = 4,
|
||||
COLORSCHEME_BLACKNIGHT = 5,
|
||||
COLORSCHEME_BROKENGRAY = 6,
|
||||
LAST_COLORSCHEME = 7,
|
||||
} ColorSchemes;
|
||||
|
||||
typedef enum ColorElements_ {
|
||||
RESET_COLOR,
|
||||
DEFAULT_COLOR,
|
||||
FUNCTION_BAR,
|
||||
FUNCTION_KEY,
|
||||
FAILED_SEARCH,
|
||||
PANEL_HEADER_FOCUS,
|
||||
PANEL_HEADER_UNFOCUS,
|
||||
PANEL_SELECTION_FOCUS,
|
||||
PANEL_SELECTION_FOLLOW,
|
||||
PANEL_SELECTION_UNFOCUS,
|
||||
LARGE_NUMBER,
|
||||
METER_TEXT,
|
||||
METER_VALUE,
|
||||
LED_COLOR,
|
||||
UPTIME,
|
||||
BATTERY,
|
||||
TASKS_RUNNING,
|
||||
SWAP,
|
||||
PROCESS,
|
||||
PROCESS_SHADOW,
|
||||
PROCESS_TAG,
|
||||
PROCESS_MEGABYTES,
|
||||
PROCESS_TREE,
|
||||
PROCESS_R_STATE,
|
||||
PROCESS_D_STATE,
|
||||
PROCESS_BASENAME,
|
||||
PROCESS_HIGH_PRIORITY,
|
||||
PROCESS_LOW_PRIORITY,
|
||||
PROCESS_THREAD,
|
||||
PROCESS_THREAD_BASENAME,
|
||||
BAR_BORDER,
|
||||
BAR_SHADOW,
|
||||
GRAPH_1,
|
||||
GRAPH_2,
|
||||
MEMORY_USED,
|
||||
MEMORY_BUFFERS,
|
||||
MEMORY_BUFFERS_TEXT,
|
||||
MEMORY_CACHE,
|
||||
LOAD,
|
||||
LOAD_AVERAGE_FIFTEEN,
|
||||
LOAD_AVERAGE_FIVE,
|
||||
LOAD_AVERAGE_ONE,
|
||||
CHECK_BOX,
|
||||
CHECK_MARK,
|
||||
CHECK_TEXT,
|
||||
CLOCK,
|
||||
HELP_BOLD,
|
||||
HOSTNAME,
|
||||
CPU_NICE,
|
||||
CPU_NICE_TEXT,
|
||||
CPU_NORMAL,
|
||||
CPU_SYSTEM,
|
||||
CPU_IOWAIT,
|
||||
CPU_IRQ,
|
||||
CPU_SOFTIRQ,
|
||||
CPU_STEAL,
|
||||
CPU_GUEST,
|
||||
PRESSURE_STALL_TEN,
|
||||
PRESSURE_STALL_SIXTY,
|
||||
PRESSURE_STALL_THREEHUNDRED,
|
||||
ZFS_MFU,
|
||||
ZFS_MRU,
|
||||
ZFS_ANON,
|
||||
ZFS_HEADER,
|
||||
ZFS_OTHER,
|
||||
ZFS_COMPRESSED,
|
||||
ZFS_RATIO,
|
||||
LAST_COLORELEMENT
|
||||
} ColorElements;
|
||||
|
||||
extern void CRT_fatalError(const char* note) __attribute__ ((noreturn));
|
||||
|
||||
extern void CRT_handleSIGSEGV(int sgn);
|
||||
|
||||
#define KEY_ALT(x) (KEY_F(64 - 26) + (x - 'A'))
|
||||
|
||||
}*/
|
||||
|
||||
const char *CRT_treeStrAscii[TREE_STR_COUNT] = {
|
||||
"-", // TREE_STR_HORZ
|
||||
"|", // TREE_STR_VERT
|
||||
|
24
CRT.h
24
CRT.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_CRT
|
||||
#define HEADER_CRT
|
||||
/*
|
||||
@ -129,9 +127,9 @@ typedef enum ColorElements_ {
|
||||
LAST_COLORELEMENT
|
||||
} ColorElements;
|
||||
|
||||
extern void CRT_fatalError(const char* note) __attribute__ ((noreturn));
|
||||
void CRT_fatalError(const char* note) __attribute__ ((noreturn));
|
||||
|
||||
extern void CRT_handleSIGSEGV(int sgn);
|
||||
void CRT_handleSIGSEGV(int sgn);
|
||||
|
||||
#define KEY_ALT(x) (KEY_F(64 - 26) + (x - 'A'))
|
||||
|
||||
@ -172,9 +170,9 @@ extern void *backtraceArray[128];
|
||||
|
||||
#define DIE(msg) do { CRT_done(); fprintf(stderr, msg); exit(1); } while(0)
|
||||
|
||||
extern void CRT_dropPrivileges();
|
||||
void CRT_dropPrivileges();
|
||||
|
||||
extern void CRT_restorePrivileges();
|
||||
void CRT_restorePrivileges();
|
||||
|
||||
#else
|
||||
|
||||
@ -189,18 +187,18 @@ extern void CRT_restorePrivileges();
|
||||
|
||||
// TODO: pass an instance of Settings instead.
|
||||
|
||||
extern void CRT_init(int delay, int colorScheme, bool allowUnicode);
|
||||
void CRT_init(int delay, int colorScheme, bool allowUnicode);
|
||||
|
||||
extern void CRT_done();
|
||||
void CRT_done();
|
||||
|
||||
extern void CRT_fatalError(const char* note);
|
||||
void CRT_fatalError(const char* note);
|
||||
|
||||
extern int CRT_readKey();
|
||||
int CRT_readKey();
|
||||
|
||||
extern void CRT_disableDelay();
|
||||
void CRT_disableDelay();
|
||||
|
||||
extern void CRT_enableDelay();
|
||||
void CRT_enableDelay();
|
||||
|
||||
extern void CRT_setColors(int colorScheme);
|
||||
void CRT_setColors(int colorScheme);
|
||||
|
||||
#endif
|
||||
|
@ -17,22 +17,6 @@ in the source distribution for its full text.
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
#include "Panel.h"
|
||||
#include "Settings.h"
|
||||
#include "ScreenManager.h"
|
||||
#include "ProcessList.h"
|
||||
|
||||
typedef struct CategoriesPanel_ {
|
||||
Panel super;
|
||||
ScreenManager* scr;
|
||||
|
||||
Settings* settings;
|
||||
Header* header;
|
||||
ProcessList* pl;
|
||||
} CategoriesPanel;
|
||||
|
||||
}*/
|
||||
|
||||
static const char* const CategoriesFunctions[] = {" ", " ", " ", " ", " ", " ", " ", " ", " ", "Done ", NULL};
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_CategoriesPanel
|
||||
#define HEADER_CategoriesPanel
|
||||
/*
|
||||
@ -24,10 +22,10 @@ typedef struct CategoriesPanel_ {
|
||||
} CategoriesPanel;
|
||||
|
||||
|
||||
extern void CategoriesPanel_makeMetersPage(CategoriesPanel* this);
|
||||
void CategoriesPanel_makeMetersPage(CategoriesPanel* this);
|
||||
|
||||
extern PanelClass CategoriesPanel_class;
|
||||
|
||||
extern CategoriesPanel* CategoriesPanel_new(ScreenManager* scr, Settings* settings, Header* header, ProcessList* pl);
|
||||
CategoriesPanel* CategoriesPanel_new(ScreenManager* scr, Settings* settings, Header* header, ProcessList* pl);
|
||||
|
||||
#endif
|
||||
|
11
CheckItem.c
11
CheckItem.c
@ -12,17 +12,6 @@ in the source distribution for its full text.
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
#include "Object.h"
|
||||
|
||||
typedef struct CheckItem_ {
|
||||
Object super;
|
||||
char* text;
|
||||
bool* ref;
|
||||
bool value;
|
||||
} CheckItem;
|
||||
|
||||
}*/
|
||||
|
||||
static void CheckItem_delete(Object* cast) {
|
||||
CheckItem* this = (CheckItem*)cast;
|
||||
|
10
CheckItem.h
10
CheckItem.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_CheckItem
|
||||
#define HEADER_CheckItem
|
||||
/*
|
||||
@ -21,12 +19,12 @@ typedef struct CheckItem_ {
|
||||
|
||||
extern ObjectClass CheckItem_class;
|
||||
|
||||
extern CheckItem* CheckItem_newByRef(char* text, bool* ref);
|
||||
CheckItem* CheckItem_newByRef(char* text, bool* ref);
|
||||
|
||||
extern CheckItem* CheckItem_newByVal(char* text, bool value);
|
||||
CheckItem* CheckItem_newByVal(char* text, bool value);
|
||||
|
||||
extern void CheckItem_set(CheckItem* this, bool value);
|
||||
void CheckItem_set(CheckItem* this, bool value);
|
||||
|
||||
extern bool CheckItem_get(CheckItem* this);
|
||||
bool CheckItem_get(CheckItem* this);
|
||||
|
||||
#endif
|
||||
|
@ -11,9 +11,6 @@ in the source distribution for its full text.
|
||||
|
||||
#include <time.h>
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
}*/
|
||||
|
||||
int ClockMeter_attributes[] = {
|
||||
CLOCK
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_ClockMeter
|
||||
#define HEADER_ClockMeter
|
||||
/*
|
||||
|
@ -20,19 +20,6 @@ in the source distribution for its full text.
|
||||
// * Add a define in CRT.h that matches the order of the array
|
||||
// * Add the colors in CRT_setColors
|
||||
|
||||
/*{
|
||||
#include "Panel.h"
|
||||
#include "Settings.h"
|
||||
#include "ScreenManager.h"
|
||||
|
||||
typedef struct ColorsPanel_ {
|
||||
Panel super;
|
||||
|
||||
Settings* settings;
|
||||
ScreenManager* scr;
|
||||
} ColorsPanel;
|
||||
|
||||
}*/
|
||||
|
||||
static const char* const ColorsFunctions[] = {" ", " ", " ", " ", " ", " ", " ", " ", " ", "Done ", NULL};
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_ColorsPanel
|
||||
#define HEADER_ColorsPanel
|
||||
/*
|
||||
@ -29,6 +27,6 @@ typedef struct ColorsPanel_ {
|
||||
|
||||
extern PanelClass ColorsPanel_class;
|
||||
|
||||
extern ColorsPanel* ColorsPanel_new(Settings* settings, ScreenManager* scr);
|
||||
ColorsPanel* ColorsPanel_new(Settings* settings, ScreenManager* scr);
|
||||
|
||||
#endif
|
||||
|
@ -16,18 +16,6 @@ in the source distribution for its full text.
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
|
||||
/*{
|
||||
#include "Panel.h"
|
||||
#include "Settings.h"
|
||||
|
||||
typedef struct ColumnsPanel_ {
|
||||
Panel super;
|
||||
|
||||
Settings* settings;
|
||||
bool moving;
|
||||
} ColumnsPanel;
|
||||
|
||||
}*/
|
||||
|
||||
static const char* const ColumnsFunctions[] = {" ", " ", " ", " ", " ", " ", "MoveUp", "MoveDn", "Remove", "Done ", NULL};
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_ColumnsPanel
|
||||
#define HEADER_ColumnsPanel
|
||||
/*
|
||||
@ -22,10 +20,10 @@ typedef struct ColumnsPanel_ {
|
||||
|
||||
extern PanelClass ColumnsPanel_class;
|
||||
|
||||
extern ColumnsPanel* ColumnsPanel_new(Settings* settings);
|
||||
ColumnsPanel* ColumnsPanel_new(Settings* settings);
|
||||
|
||||
extern int ColumnsPanel_fieldNameToIndex(const char* name);
|
||||
int ColumnsPanel_fieldNameToIndex(const char* name);
|
||||
|
||||
extern void ColumnsPanel_update(Panel* super);
|
||||
void ColumnsPanel_update(Panel* super);
|
||||
|
||||
#endif
|
||||
|
@ -14,19 +14,6 @@ in the source distribution for its full text.
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*{
|
||||
#include "Panel.h"
|
||||
#include "Settings.h"
|
||||
#include "ScreenManager.h"
|
||||
|
||||
typedef struct DisplayOptionsPanel_ {
|
||||
Panel super;
|
||||
|
||||
Settings* settings;
|
||||
ScreenManager* scr;
|
||||
} DisplayOptionsPanel;
|
||||
|
||||
}*/
|
||||
|
||||
static const char* const DisplayOptionsFunctions[] = {" ", " ", " ", " ", " ", " ", " ", " ", " ", "Done ", NULL};
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_DisplayOptionsPanel
|
||||
#define HEADER_DisplayOptionsPanel
|
||||
/*
|
||||
@ -23,6 +21,6 @@ typedef struct DisplayOptionsPanel_ {
|
||||
|
||||
extern PanelClass DisplayOptionsPanel_class;
|
||||
|
||||
extern DisplayOptionsPanel* DisplayOptionsPanel_new(Settings* settings, ScreenManager* scr);
|
||||
DisplayOptionsPanel* DisplayOptionsPanel_new(Settings* settings, ScreenManager* scr);
|
||||
|
||||
#endif
|
||||
|
@ -11,13 +11,6 @@
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/*{
|
||||
#include "InfoScreen.h"
|
||||
|
||||
typedef struct EnvScreen_ {
|
||||
InfoScreen super;
|
||||
} EnvScreen;
|
||||
}*/
|
||||
|
||||
InfoScreenClass EnvScreen_class = {
|
||||
.super = {
|
||||
|
10
EnvScreen.h
10
EnvScreen.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_EnvScreen
|
||||
#define HEADER_EnvScreen
|
||||
|
||||
@ -11,12 +9,12 @@ typedef struct EnvScreen_ {
|
||||
|
||||
extern InfoScreenClass EnvScreen_class;
|
||||
|
||||
extern EnvScreen* EnvScreen_new(Process* process);
|
||||
EnvScreen* EnvScreen_new(Process* process);
|
||||
|
||||
extern void EnvScreen_delete(Object* this);
|
||||
void EnvScreen_delete(Object* this);
|
||||
|
||||
extern void EnvScreen_draw(InfoScreen* this);
|
||||
void EnvScreen_draw(InfoScreen* this);
|
||||
|
||||
extern void EnvScreen_scan(InfoScreen* this);
|
||||
void EnvScreen_scan(InfoScreen* this);
|
||||
|
||||
#endif
|
||||
|
@ -14,19 +14,6 @@ in the source distribution for its full text.
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
typedef struct FunctionBar_ {
|
||||
int size;
|
||||
char** functions;
|
||||
char** keys;
|
||||
int* events;
|
||||
bool staticData;
|
||||
} FunctionBar;
|
||||
|
||||
}*/
|
||||
|
||||
static const char* const FunctionBar_FKeys[] = {"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", NULL};
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_FunctionBar
|
||||
#define HEADER_FunctionBar
|
||||
/*
|
||||
@ -22,18 +20,18 @@ typedef struct FunctionBar_ {
|
||||
|
||||
|
||||
|
||||
extern FunctionBar* FunctionBar_newEnterEsc(const char* enter, const char* esc);
|
||||
FunctionBar* FunctionBar_newEnterEsc(const char* enter, const char* esc);
|
||||
|
||||
extern FunctionBar* FunctionBar_new(const char* const* functions, const char* const* keys, const int* events);
|
||||
FunctionBar* FunctionBar_new(const char* const* functions, const char* const* keys, const int* events);
|
||||
|
||||
extern void FunctionBar_delete(FunctionBar* this);
|
||||
void FunctionBar_delete(FunctionBar* this);
|
||||
|
||||
extern void FunctionBar_setLabel(FunctionBar* this, int event, const char* text);
|
||||
void FunctionBar_setLabel(FunctionBar* this, int event, const char* text);
|
||||
|
||||
extern void FunctionBar_draw(const FunctionBar* this, char* buffer);
|
||||
void FunctionBar_draw(const FunctionBar* this, char* buffer);
|
||||
|
||||
extern void FunctionBar_drawAttr(const FunctionBar* this, char* buffer, int attr);
|
||||
void FunctionBar_drawAttr(const FunctionBar* this, char* buffer, int attr);
|
||||
|
||||
extern int FunctionBar_synthesizeEvent(const FunctionBar* this, int pos);
|
||||
int FunctionBar_synthesizeEvent(const FunctionBar* this, int pos);
|
||||
|
||||
#endif
|
||||
|
20
Hashtable.c
20
Hashtable.c
@ -11,26 +11,6 @@ in the source distribution for its full text.
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
|
||||
/*{
|
||||
#include <stdbool.h>
|
||||
|
||||
typedef struct Hashtable_ Hashtable;
|
||||
|
||||
typedef void(*Hashtable_PairFunction)(int, void*, void*);
|
||||
|
||||
typedef struct HashtableItem {
|
||||
unsigned int key;
|
||||
void* value;
|
||||
struct HashtableItem* next;
|
||||
} HashtableItem;
|
||||
|
||||
struct Hashtable_ {
|
||||
int size;
|
||||
HashtableItem** buckets;
|
||||
int items;
|
||||
bool owner;
|
||||
};
|
||||
}*/
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
|
16
Hashtable.h
16
Hashtable.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Hashtable
|
||||
#define HEADER_Hashtable
|
||||
/*
|
||||
@ -30,20 +28,20 @@ struct Hashtable_ {
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
extern int Hashtable_count(Hashtable* this);
|
||||
int Hashtable_count(Hashtable* this);
|
||||
|
||||
#endif
|
||||
|
||||
extern Hashtable* Hashtable_new(int size, bool owner);
|
||||
Hashtable* Hashtable_new(int size, bool owner);
|
||||
|
||||
extern void Hashtable_delete(Hashtable* this);
|
||||
void Hashtable_delete(Hashtable* this);
|
||||
|
||||
extern void Hashtable_put(Hashtable* this, unsigned int key, void* value);
|
||||
void Hashtable_put(Hashtable* this, unsigned int key, void* value);
|
||||
|
||||
extern void* Hashtable_remove(Hashtable* this, unsigned int key);
|
||||
void* Hashtable_remove(Hashtable* this, unsigned int key);
|
||||
|
||||
extern void* Hashtable_get(Hashtable* this, unsigned int key);
|
||||
void* Hashtable_get(Hashtable* this, unsigned int key);
|
||||
|
||||
extern void Hashtable_foreach(Hashtable* this, Hashtable_PairFunction f, void* userData);
|
||||
void Hashtable_foreach(Hashtable* this, Hashtable_PairFunction f, void* userData);
|
||||
|
||||
#endif
|
||||
|
15
Header.c
15
Header.c
@ -16,21 +16,6 @@ in the source distribution for its full text.
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
#include "Settings.h"
|
||||
#include "Vector.h"
|
||||
|
||||
typedef struct Header_ {
|
||||
Vector** columns;
|
||||
Settings* settings;
|
||||
struct ProcessList_* pl;
|
||||
int nrColumns;
|
||||
int pad;
|
||||
int height;
|
||||
} Header;
|
||||
|
||||
}*/
|
||||
|
||||
#ifndef MAX
|
||||
#define MAX(a,b) ((a)>(b)?(a):(b))
|
||||
|
28
Header.h
28
Header.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Header
|
||||
#define HEADER_Header
|
||||
/*
|
||||
@ -31,30 +29,30 @@ typedef struct Header_ {
|
||||
#define Header_forEachColumn(this_, i_) for (int (i_)=0; (i_) < (this_)->nrColumns; ++(i_))
|
||||
#endif
|
||||
|
||||
extern Header* Header_new(struct ProcessList_* pl, Settings* settings, int nrColumns);
|
||||
Header* Header_new(struct ProcessList_* pl, Settings* settings, int nrColumns);
|
||||
|
||||
extern void Header_delete(Header* this);
|
||||
void Header_delete(Header* this);
|
||||
|
||||
extern void Header_populateFromSettings(Header* this);
|
||||
void Header_populateFromSettings(Header* this);
|
||||
|
||||
extern void Header_writeBackToSettings(const Header* this);
|
||||
void Header_writeBackToSettings(const Header* this);
|
||||
|
||||
extern MeterModeId Header_addMeterByName(Header* this, char* name, int column);
|
||||
MeterModeId Header_addMeterByName(Header* this, char* name, int column);
|
||||
|
||||
extern void Header_setMode(Header* this, int i, MeterModeId mode, int column);
|
||||
void Header_setMode(Header* this, int i, MeterModeId mode, int column);
|
||||
|
||||
extern Meter* Header_addMeterByClass(Header* this, MeterClass* type, int param, int column);
|
||||
Meter* Header_addMeterByClass(Header* this, MeterClass* type, int param, int column);
|
||||
|
||||
extern int Header_size(Header* this, int column);
|
||||
int Header_size(Header* this, int column);
|
||||
|
||||
extern char* Header_readMeterName(Header* this, int i, int column);
|
||||
char* Header_readMeterName(Header* this, int i, int column);
|
||||
|
||||
extern MeterModeId Header_readMeterMode(Header* this, int i, int column);
|
||||
MeterModeId Header_readMeterMode(Header* this, int i, int column);
|
||||
|
||||
extern void Header_reinit(Header* this);
|
||||
void Header_reinit(Header* this);
|
||||
|
||||
extern void Header_draw(const Header* this);
|
||||
void Header_draw(const Header* this);
|
||||
|
||||
extern int Header_calculateHeight(Header* this);
|
||||
int Header_calculateHeight(Header* this);
|
||||
|
||||
#endif
|
||||
|
@ -11,9 +11,6 @@ in the source distribution for its full text.
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
}*/
|
||||
|
||||
int HostnameMeter_attributes[] = {
|
||||
HOSTNAME
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_HostnameMeter
|
||||
#define HEADER_HostnameMeter
|
||||
/*
|
||||
|
33
IncSet.c
33
IncSet.c
@ -13,39 +13,6 @@ in the source distribution for its full text.
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
|
||||
#include "FunctionBar.h"
|
||||
#include "Panel.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
#define INCMODE_MAX 40
|
||||
|
||||
typedef enum {
|
||||
INC_SEARCH = 0,
|
||||
INC_FILTER = 1
|
||||
} IncType;
|
||||
|
||||
#define IncSet_filter(inc_) (inc_->filtering ? inc_->modes[INC_FILTER].buffer : NULL)
|
||||
|
||||
typedef struct IncMode_ {
|
||||
char buffer[INCMODE_MAX+1];
|
||||
int index;
|
||||
FunctionBar* bar;
|
||||
bool isFilter;
|
||||
} IncMode;
|
||||
|
||||
typedef struct IncSet_ {
|
||||
IncMode modes[2];
|
||||
IncMode* active;
|
||||
FunctionBar* defaultBar;
|
||||
bool filtering;
|
||||
bool found;
|
||||
} IncSet;
|
||||
|
||||
typedef const char* (*IncMode_GetPanelValue)(Panel*, int);
|
||||
|
||||
}*/
|
||||
|
||||
static void IncMode_reset(IncMode* mode) {
|
||||
mode->index = 0;
|
||||
|
22
IncSet.h
22
IncSet.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_IncSet
|
||||
#define HEADER_IncSet
|
||||
/*
|
||||
@ -41,24 +39,24 @@ typedef struct IncSet_ {
|
||||
typedef const char* (*IncMode_GetPanelValue)(Panel*, int);
|
||||
|
||||
|
||||
extern void IncSet_reset(IncSet* this, IncType type);
|
||||
void IncSet_reset(IncSet* this, IncType type);
|
||||
|
||||
extern IncSet* IncSet_new(FunctionBar* bar);
|
||||
IncSet* IncSet_new(FunctionBar* bar);
|
||||
|
||||
extern void IncSet_delete(IncSet* this);
|
||||
void IncSet_delete(IncSet* this);
|
||||
|
||||
extern bool IncSet_next(IncSet* this, IncType type, Panel* panel, IncMode_GetPanelValue getPanelValue);
|
||||
bool IncSet_next(IncSet* this, IncType type, Panel* panel, IncMode_GetPanelValue getPanelValue);
|
||||
|
||||
extern bool IncSet_prev(IncSet* this, IncType type, Panel* panel, IncMode_GetPanelValue getPanelValue);
|
||||
bool IncSet_prev(IncSet* this, IncType type, Panel* panel, IncMode_GetPanelValue getPanelValue);
|
||||
|
||||
extern bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue getPanelValue, Vector* lines);
|
||||
bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue getPanelValue, Vector* lines);
|
||||
|
||||
extern const char* IncSet_getListItemValue(Panel* panel, int i);
|
||||
const char* IncSet_getListItemValue(Panel* panel, int i);
|
||||
|
||||
extern void IncSet_activate(IncSet* this, IncType type, Panel* panel);
|
||||
void IncSet_activate(IncSet* this, IncType type, Panel* panel);
|
||||
|
||||
extern void IncSet_drawBar(IncSet* this);
|
||||
void IncSet_drawBar(IncSet* this);
|
||||
|
||||
extern int IncSet_synthesizeEvent(IncSet* this, int x);
|
||||
int IncSet_synthesizeEvent(IncSet* this, int x);
|
||||
|
||||
#endif
|
||||
|
36
InfoScreen.c
36
InfoScreen.c
@ -13,42 +13,6 @@
|
||||
#include <unistd.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
/*{
|
||||
#include "Process.h"
|
||||
#include "Panel.h"
|
||||
#include "FunctionBar.h"
|
||||
#include "IncSet.h"
|
||||
|
||||
typedef struct InfoScreen_ InfoScreen;
|
||||
|
||||
typedef void(*InfoScreen_Scan)(InfoScreen*);
|
||||
typedef void(*InfoScreen_Draw)(InfoScreen*);
|
||||
typedef void(*InfoScreen_OnErr)(InfoScreen*);
|
||||
typedef bool(*InfoScreen_OnKey)(InfoScreen*, int);
|
||||
|
||||
typedef struct InfoScreenClass_ {
|
||||
ObjectClass super;
|
||||
const InfoScreen_Scan scan;
|
||||
const InfoScreen_Draw draw;
|
||||
const InfoScreen_OnErr onErr;
|
||||
const InfoScreen_OnKey onKey;
|
||||
} InfoScreenClass;
|
||||
|
||||
#define As_InfoScreen(this_) ((InfoScreenClass*)(((InfoScreen*)(this_))->super.klass))
|
||||
#define InfoScreen_scan(this_) As_InfoScreen(this_)->scan((InfoScreen*)(this_))
|
||||
#define InfoScreen_draw(this_) As_InfoScreen(this_)->draw((InfoScreen*)(this_))
|
||||
#define InfoScreen_onErr(this_) As_InfoScreen(this_)->onErr((InfoScreen*)(this_))
|
||||
#define InfoScreen_onKey(this_, ch_) As_InfoScreen(this_)->onKey((InfoScreen*)(this_), ch_)
|
||||
|
||||
struct InfoScreen_ {
|
||||
Object super;
|
||||
Process* process;
|
||||
Panel* display;
|
||||
FunctionBar* bar;
|
||||
IncSet* inc;
|
||||
Vector* lines;
|
||||
};
|
||||
}*/
|
||||
|
||||
static const char* const InfoScreenFunctions[] = {"Search ", "Filter ", "Refresh", "Done ", NULL};
|
||||
|
||||
|
14
InfoScreen.h
14
InfoScreen.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_InfoScreen
|
||||
#define HEADER_InfoScreen
|
||||
|
||||
@ -38,16 +36,16 @@ struct InfoScreen_ {
|
||||
Vector* lines;
|
||||
};
|
||||
|
||||
extern InfoScreen* InfoScreen_init(InfoScreen* this, Process* process, FunctionBar* bar, int height, const char* panelHeader);
|
||||
InfoScreen* InfoScreen_init(InfoScreen* this, Process* process, FunctionBar* bar, int height, const char* panelHeader);
|
||||
|
||||
extern InfoScreen* InfoScreen_done(InfoScreen* this);
|
||||
InfoScreen* InfoScreen_done(InfoScreen* this);
|
||||
|
||||
extern void InfoScreen_drawTitled(InfoScreen* this, const char* fmt, ...);
|
||||
void InfoScreen_drawTitled(InfoScreen* this, const char* fmt, ...);
|
||||
|
||||
extern void InfoScreen_addLine(InfoScreen* this, const char* line);
|
||||
void InfoScreen_addLine(InfoScreen* this, const char* line);
|
||||
|
||||
extern void InfoScreen_appendLine(InfoScreen* this, const char* line);
|
||||
void InfoScreen_appendLine(InfoScreen* this, const char* line);
|
||||
|
||||
extern void InfoScreen_run(InfoScreen* this);
|
||||
void InfoScreen_run(InfoScreen* this);
|
||||
|
||||
#endif
|
||||
|
11
ListItem.c
11
ListItem.c
@ -15,17 +15,6 @@ in the source distribution for its full text.
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
#include "Object.h"
|
||||
|
||||
typedef struct ListItem_ {
|
||||
Object super;
|
||||
char* value;
|
||||
int key;
|
||||
bool moving;
|
||||
} ListItem;
|
||||
|
||||
}*/
|
||||
|
||||
static void ListItem_delete(Object* cast) {
|
||||
ListItem* this = (ListItem*)cast;
|
||||
|
10
ListItem.h
10
ListItem.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_ListItem
|
||||
#define HEADER_ListItem
|
||||
/*
|
||||
@ -21,12 +19,12 @@ typedef struct ListItem_ {
|
||||
|
||||
extern ObjectClass ListItem_class;
|
||||
|
||||
extern ListItem* ListItem_new(const char* value, int key);
|
||||
ListItem* ListItem_new(const char* value, int key);
|
||||
|
||||
extern void ListItem_append(ListItem* this, const char* text);
|
||||
void ListItem_append(ListItem* this, const char* text);
|
||||
|
||||
extern const char* ListItem_getRef(ListItem* this);
|
||||
const char* ListItem_getRef(ListItem* this);
|
||||
|
||||
extern long ListItem_compare(const void* cast1, const void* cast2);
|
||||
long ListItem_compare(const void* cast1, const void* cast2);
|
||||
|
||||
#endif
|
||||
|
@ -10,9 +10,6 @@ in the source distribution for its full text.
|
||||
#include "CRT.h"
|
||||
#include "Platform.h"
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
}*/
|
||||
|
||||
int LoadAverageMeter_attributes[] = {
|
||||
LOAD_AVERAGE_ONE, LOAD_AVERAGE_FIVE, LOAD_AVERAGE_FIFTEEN
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_LoadAverageMeter
|
||||
#define HEADER_LoadAverageMeter
|
||||
/*
|
||||
|
19
MainPanel.c
19
MainPanel.c
@ -13,25 +13,6 @@ in the source distribution for its full text.
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
#include "Panel.h"
|
||||
#include "Action.h"
|
||||
#include "Settings.h"
|
||||
|
||||
typedef struct MainPanel_ {
|
||||
Panel super;
|
||||
State* state;
|
||||
IncSet* inc;
|
||||
Htop_Action *keys;
|
||||
pid_t pidSearch;
|
||||
} MainPanel;
|
||||
|
||||
typedef bool(*MainPanel_ForeachProcessFn)(Process*, Arg);
|
||||
|
||||
#define MainPanel_getFunctionBar(this_) (((Panel*)(this_))->defaultBar)
|
||||
|
||||
}*/
|
||||
|
||||
static const char* const MainFunctions[] = {"Help ", "Setup ", "Search ", "Filter ", "Tree ", "SortBy ", "Nice - ", "Nice + ", "Kill ", "Quit ", NULL};
|
||||
|
||||
void MainPanel_updateTreeFunctions(MainPanel* this, bool mode) {
|
||||
|
18
MainPanel.h
18
MainPanel.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_MainPanel
|
||||
#define HEADER_MainPanel
|
||||
/*
|
||||
@ -27,22 +25,22 @@ typedef bool(*MainPanel_ForeachProcessFn)(Process*, Arg);
|
||||
#define MainPanel_getFunctionBar(this_) (((Panel*)(this_))->defaultBar)
|
||||
|
||||
|
||||
extern void MainPanel_updateTreeFunctions(MainPanel* this, bool mode);
|
||||
void MainPanel_updateTreeFunctions(MainPanel* this, bool mode);
|
||||
|
||||
extern void MainPanel_pidSearch(MainPanel* this, int ch);
|
||||
void MainPanel_pidSearch(MainPanel* this, int ch);
|
||||
|
||||
extern int MainPanel_selectedPid(MainPanel* this);
|
||||
int MainPanel_selectedPid(MainPanel* this);
|
||||
|
||||
extern const char* MainPanel_getValue(MainPanel* this, int i);
|
||||
const char* MainPanel_getValue(MainPanel* this, int i);
|
||||
|
||||
extern bool MainPanel_foreachProcess(MainPanel* this, MainPanel_ForeachProcessFn fn, Arg arg, bool* wasAnyTagged);
|
||||
bool MainPanel_foreachProcess(MainPanel* this, MainPanel_ForeachProcessFn fn, Arg arg, bool* wasAnyTagged);
|
||||
|
||||
extern PanelClass MainPanel_class;
|
||||
|
||||
extern MainPanel* MainPanel_new();
|
||||
MainPanel* MainPanel_new();
|
||||
|
||||
extern void MainPanel_setState(MainPanel* this, State* state);
|
||||
void MainPanel_setState(MainPanel* this, State* state);
|
||||
|
||||
extern void MainPanel_delete(Object* object);
|
||||
void MainPanel_delete(Object* object);
|
||||
|
||||
#endif
|
||||
|
33
Makefile.am
33
Makefile.am
@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = subdir-objects
|
||||
bin_PROGRAMS = htop
|
||||
|
||||
dist_man_MANS = htop.1
|
||||
EXTRA_DIST = $(dist_man_MANS) htop.desktop htop.png scripts/MakeHeader.py \
|
||||
EXTRA_DIST = $(dist_man_MANS) htop.desktop htop.png \
|
||||
install-sh autogen.sh missing
|
||||
applicationsdir = $(datadir)/applications
|
||||
applications_DATA = htop.desktop
|
||||
@ -36,8 +36,6 @@ TasksMeter.h UptimeMeter.h TraceScreen.h UsersTable.h Vector.h Process.h \
|
||||
AffinityPanel.h HostnameMeter.h OpenFilesScreen.h Affinity.h IncSet.h Action.h \
|
||||
EnvScreen.h InfoScreen.h XAlloc.h
|
||||
|
||||
all_platform_headers =
|
||||
|
||||
# Linux
|
||||
# -----
|
||||
|
||||
@ -54,11 +52,9 @@ linux_platform_headers = \
|
||||
zfs/ZfsCompressedArcMeter.h \
|
||||
zfs/ZfsArcStats.h
|
||||
|
||||
all_platform_headers += $(linux_platform_headers)
|
||||
|
||||
if HTOP_LINUX
|
||||
AM_LDFLAGS += -rdynamic
|
||||
myhtopplatsources = linux/Platform.c linux/IOPriorityPanel.c linux/IOPriority.c \
|
||||
myhtopplatsources = linux/Platform.c linux/IOPriorityPanel.c \
|
||||
linux/LinuxProcess.c linux/LinuxProcessList.c linux/LinuxCRT.c linux/Battery.c \
|
||||
linux/PressureStallMeter.c \
|
||||
zfs/ZfsArcMeter.c zfs/ZfsCompressedArcMeter.c zfs/ZfsArcStats.c
|
||||
@ -80,8 +76,6 @@ freebsd_platform_headers = \
|
||||
zfs/ZfsArcStats.h \
|
||||
zfs/openzfs_sysctl.h
|
||||
|
||||
all_platform_headers += $(freebsd_platform_headers)
|
||||
|
||||
if HTOP_FREEBSD
|
||||
myhtopplatsources = freebsd/Platform.c freebsd/FreeBSDProcessList.c \
|
||||
freebsd/FreeBSDProcess.c freebsd/FreeBSDCRT.c freebsd/Battery.c \
|
||||
@ -100,8 +94,6 @@ dragonflybsd_platform_headers = \
|
||||
dragonflybsd/DragonFlyBSDCRT.h \
|
||||
dragonflybsd/Battery.h
|
||||
|
||||
all_platform_headers += $(dragonflybsd_platform_headers)
|
||||
|
||||
if HTOP_DRAGONFLYBSD
|
||||
AM_LDFLAGS += -lkvm -lkinfo -lexecinfo
|
||||
myhtopplatsources = dragonflybsd/Platform.c dragonflybsd/DragonFlyBSDProcessList.c \
|
||||
@ -120,8 +112,6 @@ openbsd_platform_headers = \
|
||||
openbsd/OpenBSDCRT.h \
|
||||
openbsd/Battery.h
|
||||
|
||||
all_platform_headers += $(openbsd_platform_headers)
|
||||
|
||||
if HTOP_OPENBSD
|
||||
myhtopplatsources = openbsd/Platform.c openbsd/OpenBSDProcessList.c \
|
||||
openbsd/OpenBSDProcess.c openbsd/OpenBSDCRT.c openbsd/Battery.c
|
||||
@ -143,8 +133,6 @@ darwin_platform_headers = \
|
||||
zfs/ZfsArcStats.h \
|
||||
zfs/openzfs_sysctl.h
|
||||
|
||||
all_platform_headers += $(darwin_platform_headers)
|
||||
|
||||
if HTOP_DARWIN
|
||||
AM_LDFLAGS += -framework IOKit -framework CoreFoundation
|
||||
myhtopplatsources = darwin/Platform.c darwin/DarwinProcess.c \
|
||||
@ -167,8 +155,6 @@ solaris_platform_headers = \
|
||||
zfs/ZfsCompressedArcMeter.h \
|
||||
zfs/ZfsArcStats.h
|
||||
|
||||
all_platform_headers += $(solaris_platform_headers)
|
||||
|
||||
if HTOP_SOLARIS
|
||||
myhtopplatsources = solaris/Platform.c \
|
||||
solaris/SolarisProcess.c solaris/SolarisProcessList.c \
|
||||
@ -188,8 +174,6 @@ unsupported_platform_headers = \
|
||||
unsupported/UnsupportedCRT.h \
|
||||
unsupported/Battery.h
|
||||
|
||||
all_platform_headers += $(unsupported_platform_headers)
|
||||
|
||||
if HTOP_UNSUPPORTED
|
||||
myhtopplatsources = unsupported/Platform.c \
|
||||
unsupported/UnsupportedProcess.c unsupported/UnsupportedProcessList.c \
|
||||
@ -200,19 +184,9 @@ endif
|
||||
|
||||
# ----
|
||||
|
||||
SUFFIXES = .h
|
||||
|
||||
BUILT_SOURCES = $(myhtopheaders) $(myhtopplatheaders)
|
||||
htop_SOURCES = $(myhtopheaders) $(myhtopplatheaders) $(myhtopsources) $(myhtopplatsources)
|
||||
nodist_htop_SOURCES = config.h
|
||||
|
||||
.PHONY: htop-headers clean-htop-headers
|
||||
|
||||
htop-headers: $(myhtopheaders) $(all_platform_headers)
|
||||
|
||||
clean-htop-headers:
|
||||
-rm -f $(myhtopheaders) $(all_platform_headers)
|
||||
|
||||
target:
|
||||
echo $(htop_SOURCES)
|
||||
|
||||
@ -225,9 +199,6 @@ debug:
|
||||
coverage:
|
||||
$(MAKE) all CFLAGS="" AM_CPPFLAGS="-fprofile-arcs -ftest-coverage -DDEBUG" LDFLAGS="-lgcov"
|
||||
|
||||
.c.h:
|
||||
./scripts/MakeHeader.py $<
|
||||
|
||||
cppcheck:
|
||||
cppcheck -q -v . --enable=all -DHAVE_CGROUP -DHAVE_OPENVZ -DHAVE_TASKSTATS
|
||||
|
||||
|
@ -16,9 +16,6 @@ in the source distribution for its full text.
|
||||
#include <sys/param.h>
|
||||
#include <assert.h>
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
}*/
|
||||
|
||||
int MemoryMeter_attributes[] = {
|
||||
MEMORY_USED, MEMORY_BUFFERS, MEMORY_CACHE
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_MemoryMeter
|
||||
#define HEADER_MemoryMeter
|
||||
/*
|
||||
|
83
Meter.c
83
Meter.c
@ -27,89 +27,6 @@ in the source distribution for its full text.
|
||||
|
||||
#define GRAPH_HEIGHT 4 /* Unit: rows (lines) */
|
||||
|
||||
/*{
|
||||
#include "ListItem.h"
|
||||
|
||||
#include <sys/time.h>
|
||||
|
||||
typedef struct Meter_ Meter;
|
||||
|
||||
typedef void(*Meter_Init)(Meter*);
|
||||
typedef void(*Meter_Done)(Meter*);
|
||||
typedef void(*Meter_UpdateMode)(Meter*, int);
|
||||
typedef void(*Meter_UpdateValues)(Meter*, char*, int);
|
||||
typedef void(*Meter_Draw)(Meter*, int, int, int);
|
||||
|
||||
typedef struct MeterClass_ {
|
||||
ObjectClass super;
|
||||
const Meter_Init init;
|
||||
const Meter_Done done;
|
||||
const Meter_UpdateMode updateMode;
|
||||
const Meter_Draw draw;
|
||||
const Meter_UpdateValues updateValues;
|
||||
const int defaultMode;
|
||||
const double total;
|
||||
const int* attributes;
|
||||
const char* name;
|
||||
const char* uiName;
|
||||
const char* caption;
|
||||
const char* description;
|
||||
const char maxItems;
|
||||
char curItems;
|
||||
} MeterClass;
|
||||
|
||||
#define As_Meter(this_) ((MeterClass*)((this_)->super.klass))
|
||||
#define Meter_initFn(this_) As_Meter(this_)->init
|
||||
#define Meter_init(this_) As_Meter(this_)->init((Meter*)(this_))
|
||||
#define Meter_done(this_) As_Meter(this_)->done((Meter*)(this_))
|
||||
#define Meter_updateModeFn(this_) As_Meter(this_)->updateMode
|
||||
#define Meter_updateMode(this_, m_) As_Meter(this_)->updateMode((Meter*)(this_), m_)
|
||||
#define Meter_drawFn(this_) As_Meter(this_)->draw
|
||||
#define Meter_doneFn(this_) As_Meter(this_)->done
|
||||
#define Meter_updateValues(this_, buf_, sz_) \
|
||||
As_Meter(this_)->updateValues((Meter*)(this_), buf_, sz_)
|
||||
#define Meter_defaultMode(this_) As_Meter(this_)->defaultMode
|
||||
#define Meter_getItems(this_) As_Meter(this_)->curItems
|
||||
#define Meter_setItems(this_, n_) As_Meter(this_)->curItems = (n_)
|
||||
#define Meter_attributes(this_) As_Meter(this_)->attributes
|
||||
#define Meter_name(this_) As_Meter(this_)->name
|
||||
#define Meter_uiName(this_) As_Meter(this_)->uiName
|
||||
|
||||
struct Meter_ {
|
||||
Object super;
|
||||
Meter_Draw draw;
|
||||
|
||||
char* caption;
|
||||
int mode;
|
||||
int param;
|
||||
void* drawData;
|
||||
int h;
|
||||
struct ProcessList_* pl;
|
||||
double* values;
|
||||
double total;
|
||||
};
|
||||
|
||||
typedef struct MeterMode_ {
|
||||
Meter_Draw draw;
|
||||
const char* uiName;
|
||||
int h;
|
||||
} MeterMode;
|
||||
|
||||
typedef enum {
|
||||
CUSTOM_METERMODE = 0,
|
||||
BAR_METERMODE,
|
||||
TEXT_METERMODE,
|
||||
GRAPH_METERMODE,
|
||||
LED_METERMODE,
|
||||
LAST_METERMODE
|
||||
} MeterModeId;
|
||||
|
||||
typedef struct GraphData_ {
|
||||
struct timeval time;
|
||||
double values[METER_BUFFER_LEN];
|
||||
} GraphData;
|
||||
|
||||
}*/
|
||||
|
||||
#ifndef MIN
|
||||
#define MIN(a,b) ((a)<(b)?(a):(b))
|
||||
|
14
Meter.h
14
Meter.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Meter
|
||||
#define HEADER_Meter
|
||||
/*
|
||||
@ -109,17 +107,17 @@ typedef struct GraphData_ {
|
||||
|
||||
extern MeterClass Meter_class;
|
||||
|
||||
extern Meter* Meter_new(struct ProcessList_* pl, int param, MeterClass* type);
|
||||
Meter* Meter_new(struct ProcessList_* pl, int param, MeterClass* type);
|
||||
|
||||
extern int Meter_humanUnit(char* buffer, unsigned long int value, int size);
|
||||
int Meter_humanUnit(char* buffer, unsigned long int value, int size);
|
||||
|
||||
extern void Meter_delete(Object* cast);
|
||||
void Meter_delete(Object* cast);
|
||||
|
||||
extern void Meter_setCaption(Meter* this, const char* caption);
|
||||
void Meter_setCaption(Meter* this, const char* caption);
|
||||
|
||||
extern void Meter_setMode(Meter* this, int modeIndex);
|
||||
void Meter_setMode(Meter* this, int modeIndex);
|
||||
|
||||
extern ListItem* Meter_toListItem(Meter* this, bool moving);
|
||||
ListItem* Meter_toListItem(Meter* this, bool moving);
|
||||
|
||||
/* ---------- TextMeterMode ---------- */
|
||||
|
||||
|
@ -11,25 +11,6 @@ in the source distribution for its full text.
|
||||
#include <assert.h>
|
||||
#include "CRT.h"
|
||||
|
||||
/*{
|
||||
#include "Panel.h"
|
||||
#include "Settings.h"
|
||||
#include "ScreenManager.h"
|
||||
|
||||
typedef struct MetersPanel_ MetersPanel;
|
||||
|
||||
struct MetersPanel_ {
|
||||
Panel super;
|
||||
|
||||
Settings* settings;
|
||||
Vector* meters;
|
||||
ScreenManager* scr;
|
||||
MetersPanel* leftNeighbor;
|
||||
MetersPanel* rightNeighbor;
|
||||
bool moving;
|
||||
};
|
||||
|
||||
}*/
|
||||
|
||||
// Note: In code the meters are known to have bar/text/graph "Modes", but in UI
|
||||
// we call them "Styles".
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_MetersPanel
|
||||
#define HEADER_MetersPanel
|
||||
/*
|
||||
@ -34,10 +32,10 @@ struct MetersPanel_ {
|
||||
// In <http://unicode.org/reports/tr11/>, arrows (U+2019..U+2199) are
|
||||
// considered "Ambiguous characters".
|
||||
|
||||
extern void MetersPanel_setMoving(MetersPanel* this, bool moving);
|
||||
void MetersPanel_setMoving(MetersPanel* this, bool moving);
|
||||
|
||||
extern PanelClass MetersPanel_class;
|
||||
|
||||
extern MetersPanel* MetersPanel_new(Settings* settings, const char* header, Vector* meters, ScreenManager* scr);
|
||||
MetersPanel* MetersPanel_new(Settings* settings, const char* header, Vector* meters, ScreenManager* scr);
|
||||
|
||||
#endif
|
||||
|
40
Object.c
40
Object.c
@ -8,46 +8,6 @@ in the source distribution for its full text.
|
||||
|
||||
#include "Object.h"
|
||||
|
||||
/*{
|
||||
#include "RichString.h"
|
||||
#include "XAlloc.h"
|
||||
|
||||
typedef struct Object_ Object;
|
||||
|
||||
typedef void(*Object_Display)(Object*, RichString*);
|
||||
typedef long(*Object_Compare)(const void*, const void*);
|
||||
typedef void(*Object_Delete)(Object*);
|
||||
|
||||
#define Object_getClass(obj_) ((Object*)(obj_))->klass
|
||||
#define Object_setClass(obj_, class_) Object_getClass(obj_) = (ObjectClass*) class_
|
||||
|
||||
#define Object_delete(obj_) Object_getClass(obj_)->delete((Object*)(obj_))
|
||||
#define Object_displayFn(obj_) Object_getClass(obj_)->display
|
||||
#define Object_display(obj_, str_) Object_getClass(obj_)->display((Object*)(obj_), str_)
|
||||
#define Object_compare(obj_, other_) Object_getClass(obj_)->compare((const void*)(obj_), other_)
|
||||
|
||||
#define Class(class_) ((ObjectClass*)(&(class_ ## _class)))
|
||||
|
||||
#define AllocThis(class_) (class_*) xMalloc(sizeof(class_)); Object_setClass(this, Class(class_));
|
||||
|
||||
typedef struct ObjectClass_ {
|
||||
const void* extends;
|
||||
const Object_Display display;
|
||||
const Object_Delete delete;
|
||||
const Object_Compare compare;
|
||||
} ObjectClass;
|
||||
|
||||
struct Object_ {
|
||||
ObjectClass* klass;
|
||||
};
|
||||
|
||||
typedef union {
|
||||
int i;
|
||||
void* v;
|
||||
} Arg;
|
||||
|
||||
}*/
|
||||
|
||||
ObjectClass Object_class = {
|
||||
.extends = NULL
|
||||
};
|
||||
|
4
Object.h
4
Object.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Object
|
||||
#define HEADER_Object
|
||||
/*
|
||||
@ -52,7 +50,7 @@ extern ObjectClass Object_class;
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
extern bool Object_isA(Object* o, const ObjectClass* klass);
|
||||
bool Object_isA(Object* o, const ObjectClass* klass);
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -23,30 +23,6 @@ in the source distribution for its full text.
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
/*{
|
||||
#include "InfoScreen.h"
|
||||
|
||||
typedef struct OpenFiles_Data_ {
|
||||
char* data[256];
|
||||
} OpenFiles_Data;
|
||||
|
||||
typedef struct OpenFiles_ProcessData_ {
|
||||
OpenFiles_Data data;
|
||||
int error;
|
||||
struct OpenFiles_FileData_* files;
|
||||
} OpenFiles_ProcessData;
|
||||
|
||||
typedef struct OpenFiles_FileData_ {
|
||||
OpenFiles_Data data;
|
||||
struct OpenFiles_FileData_* next;
|
||||
} OpenFiles_FileData;
|
||||
|
||||
typedef struct OpenFilesScreen_ {
|
||||
InfoScreen super;
|
||||
pid_t pid;
|
||||
} OpenFilesScreen;
|
||||
|
||||
}*/
|
||||
|
||||
InfoScreenClass OpenFilesScreen_class = {
|
||||
.super = {
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_OpenFilesScreen
|
||||
#define HEADER_OpenFilesScreen
|
||||
/*
|
||||
@ -34,12 +32,12 @@ typedef struct OpenFilesScreen_ {
|
||||
|
||||
extern InfoScreenClass OpenFilesScreen_class;
|
||||
|
||||
extern OpenFilesScreen* OpenFilesScreen_new(Process* process);
|
||||
OpenFilesScreen* OpenFilesScreen_new(Process* process);
|
||||
|
||||
extern void OpenFilesScreen_delete(Object* this);
|
||||
void OpenFilesScreen_delete(Object* this);
|
||||
|
||||
extern void OpenFilesScreen_draw(InfoScreen* this);
|
||||
void OpenFilesScreen_draw(InfoScreen* this);
|
||||
|
||||
extern void OpenFilesScreen_scan(InfoScreen* this);
|
||||
void OpenFilesScreen_scan(InfoScreen* this);
|
||||
|
||||
#endif
|
||||
|
54
Panel.c
54
Panel.c
@ -21,60 +21,6 @@ in the source distribution for its full text.
|
||||
|
||||
//#link curses
|
||||
|
||||
/*{
|
||||
#include "Object.h"
|
||||
#include "Vector.h"
|
||||
#include "FunctionBar.h"
|
||||
|
||||
typedef struct Panel_ Panel;
|
||||
|
||||
typedef enum HandlerResult_ {
|
||||
HANDLED = 0x01,
|
||||
IGNORED = 0x02,
|
||||
BREAK_LOOP = 0x04,
|
||||
REDRAW = 0x08,
|
||||
RESCAN = 0x10,
|
||||
SYNTH_KEY = 0x20,
|
||||
} HandlerResult;
|
||||
|
||||
#define EVENT_SET_SELECTED -1
|
||||
|
||||
#define EVENT_HEADER_CLICK(x_) (-10000 + x_)
|
||||
#define EVENT_IS_HEADER_CLICK(ev_) (ev_ >= -10000 && ev_ <= -9000)
|
||||
#define EVENT_HEADER_CLICK_GET_X(ev_) (ev_ + 10000)
|
||||
|
||||
typedef HandlerResult(*Panel_EventHandler)(Panel*, int);
|
||||
|
||||
typedef struct PanelClass_ {
|
||||
const ObjectClass super;
|
||||
const Panel_EventHandler eventHandler;
|
||||
} PanelClass;
|
||||
|
||||
#define As_Panel(this_) ((PanelClass*)((this_)->super.klass))
|
||||
#define Panel_eventHandlerFn(this_) As_Panel(this_)->eventHandler
|
||||
#define Panel_eventHandler(this_, ev_) As_Panel(this_)->eventHandler((Panel*)(this_), ev_)
|
||||
|
||||
struct Panel_ {
|
||||
Object super;
|
||||
int x, y, w, h;
|
||||
WINDOW* window;
|
||||
Vector* items;
|
||||
int selected;
|
||||
int oldSelected;
|
||||
int selectedLen;
|
||||
void* eventHandlerState;
|
||||
int scrollV;
|
||||
short scrollH;
|
||||
bool needsRedraw;
|
||||
FunctionBar* currentBar;
|
||||
FunctionBar* defaultBar;
|
||||
RichString header;
|
||||
int selectionColor;
|
||||
};
|
||||
|
||||
#define Panel_setDefaultBar(this_) do{ (this_)->currentBar = (this_)->defaultBar; }while(0)
|
||||
|
||||
}*/
|
||||
|
||||
#ifndef MIN
|
||||
#define MIN(a,b) ((a)<(b)?(a):(b))
|
||||
|
52
Panel.h
52
Panel.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Panel
|
||||
#define HEADER_Panel
|
||||
/*
|
||||
@ -75,54 +73,54 @@ struct Panel_ {
|
||||
|
||||
extern PanelClass Panel_class;
|
||||
|
||||
extern Panel* Panel_new(int x, int y, int w, int h, bool owner, ObjectClass* type, FunctionBar* fuBar);
|
||||
Panel* Panel_new(int x, int y, int w, int h, bool owner, ObjectClass* type, FunctionBar* fuBar);
|
||||
|
||||
extern void Panel_delete(Object* cast);
|
||||
void Panel_delete(Object* cast);
|
||||
|
||||
extern void Panel_init(Panel* this, int x, int y, int w, int h, ObjectClass* type, bool owner, FunctionBar* fuBar);
|
||||
void Panel_init(Panel* this, int x, int y, int w, int h, ObjectClass* type, bool owner, FunctionBar* fuBar);
|
||||
|
||||
extern void Panel_done(Panel* this);
|
||||
void Panel_done(Panel* this);
|
||||
|
||||
extern void Panel_setSelectionColor(Panel* this, int color);
|
||||
void Panel_setSelectionColor(Panel* this, int color);
|
||||
|
||||
extern RichString* Panel_getHeader(Panel* this);
|
||||
RichString* Panel_getHeader(Panel* this);
|
||||
|
||||
extern void Panel_setHeader(Panel* this, const char* header);
|
||||
void Panel_setHeader(Panel* this, const char* header);
|
||||
|
||||
extern void Panel_move(Panel* this, int x, int y);
|
||||
void Panel_move(Panel* this, int x, int y);
|
||||
|
||||
extern void Panel_resize(Panel* this, int w, int h);
|
||||
void Panel_resize(Panel* this, int w, int h);
|
||||
|
||||
extern void Panel_prune(Panel* this);
|
||||
void Panel_prune(Panel* this);
|
||||
|
||||
extern void Panel_add(Panel* this, Object* o);
|
||||
void Panel_add(Panel* this, Object* o);
|
||||
|
||||
extern void Panel_insert(Panel* this, int i, Object* o);
|
||||
void Panel_insert(Panel* this, int i, Object* o);
|
||||
|
||||
extern void Panel_set(Panel* this, int i, Object* o);
|
||||
void Panel_set(Panel* this, int i, Object* o);
|
||||
|
||||
extern Object* Panel_get(Panel* this, int i);
|
||||
Object* Panel_get(Panel* this, int i);
|
||||
|
||||
extern Object* Panel_remove(Panel* this, int i);
|
||||
Object* Panel_remove(Panel* this, int i);
|
||||
|
||||
extern Object* Panel_getSelected(Panel* this);
|
||||
Object* Panel_getSelected(Panel* this);
|
||||
|
||||
extern void Panel_moveSelectedUp(Panel* this);
|
||||
void Panel_moveSelectedUp(Panel* this);
|
||||
|
||||
extern void Panel_moveSelectedDown(Panel* this);
|
||||
void Panel_moveSelectedDown(Panel* this);
|
||||
|
||||
extern int Panel_getSelectedIndex(Panel* this);
|
||||
int Panel_getSelectedIndex(Panel* this);
|
||||
|
||||
extern int Panel_size(Panel* this);
|
||||
int Panel_size(Panel* this);
|
||||
|
||||
extern void Panel_setSelected(Panel* this, int selected);
|
||||
void Panel_setSelected(Panel* this, int selected);
|
||||
|
||||
extern void Panel_draw(Panel* this, bool focus);
|
||||
void Panel_draw(Panel* this, bool focus);
|
||||
|
||||
extern void Panel_splice(Panel *this, Vector* from);
|
||||
void Panel_splice(Panel *this, Vector* from);
|
||||
|
||||
extern bool Panel_onKey(Panel* this, int key);
|
||||
bool Panel_onKey(Panel* this, int key);
|
||||
|
||||
extern HandlerResult Panel_selectByTyping(Panel* this, int ch);
|
||||
HandlerResult Panel_selectByTyping(Panel* this, int ch);
|
||||
|
||||
#endif
|
||||
|
139
Process.c
139
Process.c
@ -49,145 +49,6 @@ in the source distribution for its full text.
|
||||
#endif
|
||||
#define PAGE_SIZE_KB ( PAGE_SIZE / ONE_K )
|
||||
|
||||
/*{
|
||||
#include "Object.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#define PROCESS_FLAG_IO 0x0001
|
||||
|
||||
typedef enum ProcessFields {
|
||||
NULL_PROCESSFIELD = 0,
|
||||
PID = 1,
|
||||
COMM = 2,
|
||||
STATE = 3,
|
||||
PPID = 4,
|
||||
PGRP = 5,
|
||||
SESSION = 6,
|
||||
TTY_NR = 7,
|
||||
TPGID = 8,
|
||||
MINFLT = 10,
|
||||
MAJFLT = 12,
|
||||
PRIORITY = 18,
|
||||
NICE = 19,
|
||||
STARTTIME = 21,
|
||||
PROCESSOR = 38,
|
||||
M_SIZE = 39,
|
||||
M_RESIDENT = 40,
|
||||
ST_UID = 46,
|
||||
PERCENT_CPU = 47,
|
||||
PERCENT_MEM = 48,
|
||||
USER = 49,
|
||||
TIME = 50,
|
||||
NLWP = 51,
|
||||
TGID = 52,
|
||||
} ProcessField;
|
||||
|
||||
typedef struct ProcessPidColumn_ {
|
||||
int id;
|
||||
const char* label;
|
||||
} ProcessPidColumn;
|
||||
|
||||
typedef struct Process_ {
|
||||
Object super;
|
||||
|
||||
struct Settings_* settings;
|
||||
|
||||
unsigned long long int time;
|
||||
pid_t pid;
|
||||
pid_t ppid;
|
||||
pid_t tgid;
|
||||
char* comm;
|
||||
int commLen;
|
||||
int indent;
|
||||
|
||||
int basenameOffset;
|
||||
bool updated;
|
||||
|
||||
char state;
|
||||
bool tag;
|
||||
bool showChildren;
|
||||
bool show;
|
||||
unsigned int pgrp;
|
||||
unsigned int session;
|
||||
unsigned int tty_nr;
|
||||
int tpgid;
|
||||
uid_t st_uid;
|
||||
unsigned long int flags;
|
||||
int processor;
|
||||
|
||||
float percent_cpu;
|
||||
float percent_mem;
|
||||
char* user;
|
||||
|
||||
long int priority;
|
||||
long int nice;
|
||||
long int nlwp;
|
||||
char starttime_show[8];
|
||||
time_t starttime_ctime;
|
||||
|
||||
long m_size;
|
||||
long m_resident;
|
||||
|
||||
int exit_signal;
|
||||
|
||||
unsigned long int minflt;
|
||||
unsigned long int majflt;
|
||||
#ifdef DEBUG
|
||||
long int itrealvalue;
|
||||
unsigned long int vsize;
|
||||
long int rss;
|
||||
unsigned long int rlim;
|
||||
unsigned long int startcode;
|
||||
unsigned long int endcode;
|
||||
unsigned long int startstack;
|
||||
unsigned long int kstkesp;
|
||||
unsigned long int kstkeip;
|
||||
unsigned long int signal;
|
||||
unsigned long int blocked;
|
||||
unsigned long int sigignore;
|
||||
unsigned long int sigcatch;
|
||||
unsigned long int wchan;
|
||||
unsigned long int nswap;
|
||||
unsigned long int cnswap;
|
||||
#endif
|
||||
|
||||
} Process;
|
||||
|
||||
typedef struct ProcessFieldData_ {
|
||||
const char* name;
|
||||
const char* title;
|
||||
const char* description;
|
||||
int flags;
|
||||
} ProcessFieldData;
|
||||
|
||||
// Implemented in platform-specific code:
|
||||
void Process_writeField(Process* this, RichString* str, ProcessField field);
|
||||
long Process_compare(const void* v1, const void* v2);
|
||||
void Process_delete(Object* cast);
|
||||
bool Process_isThread(Process* this);
|
||||
extern ProcessFieldData Process_fields[];
|
||||
extern ProcessPidColumn Process_pidColumns[];
|
||||
extern char Process_pidFormat[20];
|
||||
|
||||
typedef Process*(*Process_New)(struct Settings_*);
|
||||
typedef void (*Process_WriteField)(Process*, RichString*, ProcessField);
|
||||
|
||||
typedef struct ProcessClass_ {
|
||||
const ObjectClass super;
|
||||
const Process_WriteField writeField;
|
||||
} ProcessClass;
|
||||
|
||||
#define As_Process(this_) ((ProcessClass*)((this_)->super.klass))
|
||||
|
||||
#define Process_getParentPid(process_) (process_->tgid == process_->pid ? process_->ppid : process_->tgid)
|
||||
|
||||
#define Process_isChildOf(process_, pid_) (process_->tgid == pid_ || (process_->tgid == process_->pid && process_->ppid == pid_))
|
||||
|
||||
#define Process_sortState(state) ((state) == 'I' ? 0x100 : (state))
|
||||
|
||||
}*/
|
||||
|
||||
static int Process_getuid = -1;
|
||||
|
||||
#define ONE_K 1024L
|
||||
|
32
Process.h
32
Process.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Process
|
||||
#define HEADER_Process
|
||||
/*
|
||||
@ -175,36 +173,36 @@ typedef struct ProcessClass_ {
|
||||
|
||||
extern char Process_pidFormat[20];
|
||||
|
||||
extern void Process_setupColumnWidths();
|
||||
void Process_setupColumnWidths();
|
||||
|
||||
extern void Process_humanNumber(RichString* str, unsigned long number, bool coloring);
|
||||
void Process_humanNumber(RichString* str, unsigned long number, bool coloring);
|
||||
|
||||
extern void Process_colorNumber(RichString* str, unsigned long long number, bool coloring);
|
||||
void Process_colorNumber(RichString* str, unsigned long long number, bool coloring);
|
||||
|
||||
extern void Process_printTime(RichString* str, unsigned long long totalHundredths);
|
||||
void Process_printTime(RichString* str, unsigned long long totalHundredths);
|
||||
|
||||
extern void Process_outputRate(RichString* str, char* buffer, int n, double rate, int coloring);
|
||||
void Process_outputRate(RichString* str, char* buffer, int n, double rate, int coloring);
|
||||
|
||||
extern void Process_writeField(Process* this, RichString* str, ProcessField field);
|
||||
void Process_writeField(Process* this, RichString* str, ProcessField field);
|
||||
|
||||
extern void Process_display(Object* cast, RichString* out);
|
||||
void Process_display(Object* cast, RichString* out);
|
||||
|
||||
extern void Process_done(Process* this);
|
||||
void Process_done(Process* this);
|
||||
|
||||
extern ProcessClass Process_class;
|
||||
|
||||
extern void Process_init(Process* this, struct Settings_* settings);
|
||||
void Process_init(Process* this, struct Settings_* settings);
|
||||
|
||||
extern void Process_toggleTag(Process* this);
|
||||
void Process_toggleTag(Process* this);
|
||||
|
||||
extern bool Process_setPriority(Process* this, int priority);
|
||||
bool Process_setPriority(Process* this, int priority);
|
||||
|
||||
extern bool Process_changePriorityBy(Process* this, Arg delta);
|
||||
bool Process_changePriorityBy(Process* this, Arg delta);
|
||||
|
||||
extern bool Process_sendSignal(Process* this, Arg sgn);
|
||||
bool Process_sendSignal(Process* this, Arg sgn);
|
||||
|
||||
extern long Process_pidCompare(const void* v1, const void* v2);
|
||||
long Process_pidCompare(const void* v1, const void* v2);
|
||||
|
||||
extern long Process_compare(const void* v1, const void* v2);
|
||||
long Process_compare(const void* v1, const void* v2);
|
||||
|
||||
#endif
|
||||
|
@ -14,69 +14,6 @@ in the source distribution for its full text.
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*{
|
||||
#include "Vector.h"
|
||||
#include "Hashtable.h"
|
||||
#include "UsersTable.h"
|
||||
#include "Panel.h"
|
||||
#include "Process.h"
|
||||
#include "Settings.h"
|
||||
|
||||
#ifdef HAVE_LIBHWLOC
|
||||
#include <hwloc.h>
|
||||
#endif
|
||||
|
||||
#ifndef MAX_NAME
|
||||
#define MAX_NAME 128
|
||||
#endif
|
||||
|
||||
#ifndef MAX_READ
|
||||
#define MAX_READ 2048
|
||||
#endif
|
||||
|
||||
typedef struct ProcessList_ {
|
||||
Settings* settings;
|
||||
|
||||
Vector* processes;
|
||||
Vector* processes2;
|
||||
Hashtable* processTable;
|
||||
UsersTable* usersTable;
|
||||
|
||||
Panel* panel;
|
||||
int following;
|
||||
uid_t userId;
|
||||
const char* incFilter;
|
||||
Hashtable* pidWhiteList;
|
||||
|
||||
#ifdef HAVE_LIBHWLOC
|
||||
hwloc_topology_t topology;
|
||||
bool topologyOk;
|
||||
#endif
|
||||
|
||||
int totalTasks;
|
||||
int runningTasks;
|
||||
int userlandThreads;
|
||||
int kernelThreads;
|
||||
|
||||
unsigned long long int totalMem;
|
||||
unsigned long long int usedMem;
|
||||
unsigned long long int freeMem;
|
||||
unsigned long long int sharedMem;
|
||||
unsigned long long int buffersMem;
|
||||
unsigned long long int cachedMem;
|
||||
unsigned long long int totalSwap;
|
||||
unsigned long long int usedSwap;
|
||||
unsigned long long int freeSwap;
|
||||
|
||||
int cpuCount;
|
||||
|
||||
} ProcessList;
|
||||
|
||||
ProcessList* ProcessList_new(UsersTable* ut, Hashtable* pidWhiteList, uid_t userId);
|
||||
void ProcessList_delete(ProcessList* pl);
|
||||
void ProcessList_goThroughEntries(ProcessList* pl);
|
||||
|
||||
}*/
|
||||
|
||||
ProcessList* ProcessList_init(ProcessList* this, ObjectClass* klass, UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId) {
|
||||
this->processes = Vector_new(klass, true, DEFAULT_SIZE);
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_ProcessList
|
||||
#define HEADER_ProcessList
|
||||
/*
|
||||
@ -71,32 +69,32 @@ void ProcessList_delete(ProcessList* pl);
|
||||
void ProcessList_goThroughEntries(ProcessList* pl);
|
||||
|
||||
|
||||
extern ProcessList* ProcessList_init(ProcessList* this, ObjectClass* klass, UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId);
|
||||
ProcessList* ProcessList_init(ProcessList* this, ObjectClass* klass, UsersTable* usersTable, Hashtable* pidWhiteList, uid_t userId);
|
||||
|
||||
extern void ProcessList_done(ProcessList* this);
|
||||
void ProcessList_done(ProcessList* this);
|
||||
|
||||
extern void ProcessList_setPanel(ProcessList* this, Panel* panel);
|
||||
void ProcessList_setPanel(ProcessList* this, Panel* panel);
|
||||
|
||||
extern void ProcessList_printHeader(ProcessList* this, RichString* header);
|
||||
void ProcessList_printHeader(ProcessList* this, RichString* header);
|
||||
|
||||
extern void ProcessList_add(ProcessList* this, Process* p);
|
||||
void ProcessList_add(ProcessList* this, Process* p);
|
||||
|
||||
extern void ProcessList_remove(ProcessList* this, Process* p);
|
||||
void ProcessList_remove(ProcessList* this, Process* p);
|
||||
|
||||
extern Process* ProcessList_get(ProcessList* this, int idx);
|
||||
Process* ProcessList_get(ProcessList* this, int idx);
|
||||
|
||||
extern int ProcessList_size(ProcessList* this);
|
||||
int ProcessList_size(ProcessList* this);
|
||||
|
||||
extern void ProcessList_sort(ProcessList* this);
|
||||
void ProcessList_sort(ProcessList* this);
|
||||
|
||||
extern ProcessField ProcessList_keyAt(ProcessList* this, int at);
|
||||
ProcessField ProcessList_keyAt(ProcessList* this, int at);
|
||||
|
||||
extern void ProcessList_expandTree(ProcessList* this);
|
||||
void ProcessList_expandTree(ProcessList* this);
|
||||
|
||||
extern void ProcessList_rebuildPanel(ProcessList* this);
|
||||
void ProcessList_rebuildPanel(ProcessList* this);
|
||||
|
||||
extern Process* ProcessList_getProcess(ProcessList* this, pid_t pid, bool* preExisting, Process_New constructor);
|
||||
Process* ProcessList_getProcess(ProcessList* this, pid_t pid, bool* preExisting, Process_New constructor);
|
||||
|
||||
extern void ProcessList_scan(ProcessList* this);
|
||||
void ProcessList_scan(ProcessList* this);
|
||||
|
||||
#endif
|
||||
|
49
RichString.c
49
RichString.c
@ -13,55 +13,6 @@ in the source distribution for its full text.
|
||||
|
||||
#define RICHSTRING_MAXLEN 350
|
||||
|
||||
/*{
|
||||
#include "config.h"
|
||||
#include <ctype.h>
|
||||
|
||||
#include <assert.h>
|
||||
#ifdef HAVE_NCURSESW_CURSES_H
|
||||
#include <ncursesw/curses.h>
|
||||
#elif HAVE_NCURSES_NCURSES_H
|
||||
#include <ncurses/ncurses.h>
|
||||
#elif HAVE_NCURSES_CURSES_H
|
||||
#include <ncurses/curses.h>
|
||||
#elif HAVE_NCURSES_H
|
||||
#include <ncurses.h>
|
||||
#elif HAVE_CURSES_H
|
||||
#include <curses.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBNCURSESW
|
||||
#include <wctype.h>
|
||||
#endif
|
||||
|
||||
#define RichString_size(this) ((this)->chlen)
|
||||
#define RichString_sizeVal(this) ((this).chlen)
|
||||
|
||||
#define RichString_begin(this) RichString (this); memset(&this, 0, sizeof(RichString)); (this).chptr = (this).chstr;
|
||||
#define RichString_beginAllocated(this) memset(&this, 0, sizeof(RichString)); (this).chptr = (this).chstr;
|
||||
#define RichString_end(this) RichString_prune(&(this));
|
||||
|
||||
#ifdef HAVE_LIBNCURSESW
|
||||
#define RichString_printVal(this, y, x) mvadd_wchstr(y, x, (this).chptr)
|
||||
#define RichString_printoffnVal(this, y, x, off, n) mvadd_wchnstr(y, x, (this).chptr + off, n)
|
||||
#define RichString_getCharVal(this, i) ((this).chptr[i].chars[0] & 255)
|
||||
#define RichString_setChar(this, at, ch) do{ (this)->chptr[(at)] = (CharType) { .chars = { ch, 0 } }; } while(0)
|
||||
#define CharType cchar_t
|
||||
#else
|
||||
#define RichString_printVal(this, y, x) mvaddchstr(y, x, (this).chptr)
|
||||
#define RichString_printoffnVal(this, y, x, off, n) mvaddchnstr(y, x, (this).chptr + off, n)
|
||||
#define RichString_getCharVal(this, i) ((this).chptr[i])
|
||||
#define RichString_setChar(this, at, ch) do{ (this)->chptr[(at)] = ch; } while(0)
|
||||
#define CharType chtype
|
||||
#endif
|
||||
|
||||
typedef struct RichString_ {
|
||||
int chlen;
|
||||
CharType* chptr;
|
||||
CharType chstr[RICHSTRING_MAXLEN+1];
|
||||
} RichString;
|
||||
|
||||
}*/
|
||||
|
||||
#ifndef CLAMP
|
||||
#define CLAMP(x,low,high) (((x)>(high))?(high):(((x)<(low))?(low):(x)))
|
||||
|
20
RichString.h
20
RichString.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_RichString
|
||||
#define HEADER_RichString
|
||||
/*
|
||||
@ -69,26 +67,26 @@ typedef struct RichString_ {
|
||||
|
||||
#ifdef HAVE_LIBNCURSESW
|
||||
|
||||
extern void RichString_setAttrn(RichString* this, int attrs, int start, int finish);
|
||||
void RichString_setAttrn(RichString* this, int attrs, int start, int finish);
|
||||
|
||||
extern int RichString_findChar(RichString* this, char c, int start);
|
||||
int RichString_findChar(RichString* this, char c, int start);
|
||||
|
||||
#else
|
||||
|
||||
extern void RichString_setAttrn(RichString* this, int attrs, int start, int finish);
|
||||
void RichString_setAttrn(RichString* this, int attrs, int start, int finish);
|
||||
|
||||
extern int RichString_findChar(RichString* this, char c, int start);
|
||||
int RichString_findChar(RichString* this, char c, int start);
|
||||
|
||||
#endif
|
||||
|
||||
extern void RichString_prune(RichString* this);
|
||||
void RichString_prune(RichString* this);
|
||||
|
||||
extern void RichString_setAttr(RichString* this, int attrs);
|
||||
void RichString_setAttr(RichString* this, int attrs);
|
||||
|
||||
extern void RichString_append(RichString* this, int attrs, const char* data);
|
||||
void RichString_append(RichString* this, int attrs, const char* data);
|
||||
|
||||
extern void RichString_appendn(RichString* this, int attrs, const char* data, int len);
|
||||
void RichString_appendn(RichString* this, int attrs, const char* data, int len);
|
||||
|
||||
extern void RichString_write(RichString* this, int attrs, const char* data);
|
||||
void RichString_write(RichString* this, int attrs, const char* data);
|
||||
|
||||
#endif
|
||||
|
@ -16,33 +16,6 @@ in the source distribution for its full text.
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
/*{
|
||||
#include "FunctionBar.h"
|
||||
#include "Vector.h"
|
||||
#include "Header.h"
|
||||
#include "Settings.h"
|
||||
#include "Panel.h"
|
||||
|
||||
typedef enum Orientation_ {
|
||||
VERTICAL,
|
||||
HORIZONTAL
|
||||
} Orientation;
|
||||
|
||||
typedef struct ScreenManager_ {
|
||||
int x1;
|
||||
int y1;
|
||||
int x2;
|
||||
int y2;
|
||||
Orientation orientation;
|
||||
Vector* panels;
|
||||
int panelCount;
|
||||
const Header* header;
|
||||
const Settings* settings;
|
||||
bool owner;
|
||||
bool allowFocusChange;
|
||||
} ScreenManager;
|
||||
|
||||
}*/
|
||||
|
||||
ScreenManager* ScreenManager_new(int x1, int y1, int x2, int y2, Orientation orientation, const Header* header, const Settings* settings, bool owner) {
|
||||
ScreenManager* this;
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_ScreenManager
|
||||
#define HEADER_ScreenManager
|
||||
/*
|
||||
@ -35,18 +33,18 @@ typedef struct ScreenManager_ {
|
||||
} ScreenManager;
|
||||
|
||||
|
||||
extern ScreenManager* ScreenManager_new(int x1, int y1, int x2, int y2, Orientation orientation, const Header* header, const Settings* settings, bool owner);
|
||||
ScreenManager* ScreenManager_new(int x1, int y1, int x2, int y2, Orientation orientation, const Header* header, const Settings* settings, bool owner);
|
||||
|
||||
extern void ScreenManager_delete(ScreenManager* this);
|
||||
void ScreenManager_delete(ScreenManager* this);
|
||||
|
||||
extern int ScreenManager_size(ScreenManager* this);
|
||||
int ScreenManager_size(ScreenManager* this);
|
||||
|
||||
extern void ScreenManager_add(ScreenManager* this, Panel* item, int size);
|
||||
void ScreenManager_add(ScreenManager* this, Panel* item, int size);
|
||||
|
||||
extern Panel* ScreenManager_remove(ScreenManager* this, int idx);
|
||||
Panel* ScreenManager_remove(ScreenManager* this, int idx);
|
||||
|
||||
extern void ScreenManager_resize(ScreenManager* this, int x1, int y1, int x2, int y2);
|
||||
void ScreenManager_resize(ScreenManager* this, int x1, int y1, int x2, int y2);
|
||||
|
||||
extern void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey);
|
||||
void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey);
|
||||
|
||||
#endif
|
||||
|
56
Settings.c
56
Settings.c
@ -19,62 +19,6 @@ in the source distribution for its full text.
|
||||
|
||||
#define DEFAULT_DELAY 15
|
||||
|
||||
/*{
|
||||
#include "Process.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
typedef struct {
|
||||
int len;
|
||||
char** names;
|
||||
int* modes;
|
||||
} MeterColumnSettings;
|
||||
|
||||
typedef struct Settings_ {
|
||||
char* filename;
|
||||
|
||||
MeterColumnSettings columns[2];
|
||||
|
||||
ProcessField* fields;
|
||||
int flags;
|
||||
int colorScheme;
|
||||
int delay;
|
||||
|
||||
int cpuCount;
|
||||
int direction;
|
||||
ProcessField sortKey;
|
||||
|
||||
bool countCPUsFromZero;
|
||||
bool detailedCPUTime;
|
||||
bool showCPUUsage;
|
||||
bool showCPUFrequency;
|
||||
bool treeView;
|
||||
bool showProgramPath;
|
||||
bool hideThreads;
|
||||
bool shadowOtherUsers;
|
||||
bool showThreadNames;
|
||||
bool hideKernelThreads;
|
||||
bool hideUserlandThreads;
|
||||
bool highlightBaseName;
|
||||
bool highlightMegabytes;
|
||||
bool highlightThreads;
|
||||
bool updateProcessNames;
|
||||
bool accountGuestInCPUMeter;
|
||||
bool headerMargin;
|
||||
bool enableMouse;
|
||||
bool vimMode;
|
||||
#ifdef HAVE_LIBHWLOC
|
||||
bool topologyAffinity;
|
||||
#endif
|
||||
|
||||
bool changed;
|
||||
} Settings;
|
||||
|
||||
#ifndef Settings_cpuId
|
||||
#define Settings_cpuId(settings, cpu) ((settings)->countCPUsFromZero ? (cpu) : (cpu)+1)
|
||||
#endif
|
||||
|
||||
}*/
|
||||
|
||||
void Settings_delete(Settings* this) {
|
||||
free(this->filename);
|
||||
free(this->fields);
|
||||
|
10
Settings.h
10
Settings.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Settings
|
||||
#define HEADER_Settings
|
||||
/*
|
||||
@ -65,12 +63,12 @@ typedef struct Settings_ {
|
||||
#endif
|
||||
|
||||
|
||||
extern void Settings_delete(Settings* this);
|
||||
void Settings_delete(Settings* this);
|
||||
|
||||
extern bool Settings_write(Settings* this);
|
||||
bool Settings_write(Settings* this);
|
||||
|
||||
extern Settings* Settings_new(int cpuCount);
|
||||
Settings* Settings_new(int cpuCount);
|
||||
|
||||
extern void Settings_invertSortOrder(Settings* this);
|
||||
void Settings_invertSortOrder(Settings* this);
|
||||
|
||||
#endif
|
||||
|
@ -18,14 +18,6 @@ in the source distribution for its full text.
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
/*{
|
||||
|
||||
typedef struct SignalItem_ {
|
||||
const char* name;
|
||||
int number;
|
||||
} SignalItem;
|
||||
|
||||
}*/
|
||||
|
||||
Panel* SignalsPanel_new() {
|
||||
Panel* this = Panel_new(1, 1, 1, 1, true, Class(ListItem), FunctionBar_newEnterEsc("Send ", "Cancel "));
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_SignalsPanel
|
||||
#define HEADER_SignalsPanel
|
||||
/*
|
||||
@ -16,6 +14,6 @@ typedef struct SignalItem_ {
|
||||
} SignalItem;
|
||||
|
||||
|
||||
extern Panel* SignalsPanel_new();
|
||||
Panel* SignalsPanel_new();
|
||||
|
||||
#endif
|
||||
|
@ -14,12 +14,6 @@ in the source distribution for its full text.
|
||||
#include <strings.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
#include <stdio.h>
|
||||
|
||||
#define String_startsWith(s, match) (strncmp((s),(match),strlen(match)) == 0)
|
||||
#define String_contains_i(s1, s2) (strcasestr(s1, s2) != NULL)
|
||||
}*/
|
||||
|
||||
/*
|
||||
* String_startsWith gives better performance if strlen(match) can be computed
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_StringUtils
|
||||
#define HEADER_StringUtils
|
||||
/*
|
||||
@ -19,18 +17,18 @@ in the source distribution for its full text.
|
||||
* at compile time (e.g. when they are immutable string literals). :)
|
||||
*/
|
||||
|
||||
extern char* String_cat(const char* s1, const char* s2);
|
||||
char* String_cat(const char* s1, const char* s2);
|
||||
|
||||
extern char* String_trim(const char* in);
|
||||
char* String_trim(const char* in);
|
||||
|
||||
extern int String_eq(const char* s1, const char* s2);
|
||||
int String_eq(const char* s1, const char* s2);
|
||||
|
||||
extern char** String_split(const char* s, char sep, int* n);
|
||||
char** String_split(const char* s, char sep, int* n);
|
||||
|
||||
extern void String_freeArray(char** s);
|
||||
void String_freeArray(char** s);
|
||||
|
||||
extern char* String_getToken(const char* line, const unsigned short int numMatch);
|
||||
char* String_getToken(const char* line, const unsigned short int numMatch);
|
||||
|
||||
extern char* String_readLine(FILE* fd);
|
||||
char* String_readLine(FILE* fd);
|
||||
|
||||
#endif
|
||||
|
@ -16,9 +16,6 @@ in the source distribution for its full text.
|
||||
#include <sys/param.h>
|
||||
#include <assert.h>
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
}*/
|
||||
|
||||
int SwapMeter_attributes[] = {
|
||||
SWAP
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_SwapMeter
|
||||
#define HEADER_SwapMeter
|
||||
/*
|
||||
|
@ -10,9 +10,6 @@ in the source distribution for its full text.
|
||||
#include "Platform.h"
|
||||
#include "CRT.h"
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
}*/
|
||||
|
||||
int TasksMeter_attributes[] = {
|
||||
CPU_SYSTEM, PROCESS_THREAD, PROCESS, TASKS_RUNNING
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_TasksMeter
|
||||
#define HEADER_TasksMeter
|
||||
/*
|
||||
|
@ -27,21 +27,6 @@ in the source distribution for its full text.
|
||||
#include <sys/wait.h>
|
||||
#include <signal.h>
|
||||
|
||||
/*{
|
||||
#include "InfoScreen.h"
|
||||
|
||||
typedef struct TraceScreen_ {
|
||||
InfoScreen super;
|
||||
bool tracing;
|
||||
int fdpair[2];
|
||||
int child;
|
||||
FILE* strace;
|
||||
int fd_strace;
|
||||
bool contLine;
|
||||
bool follow;
|
||||
} TraceScreen;
|
||||
|
||||
}*/
|
||||
|
||||
static const char* const TraceScreenFunctions[] = {"Search ", "Filter ", "AutoScroll ", "Stop Tracing ", "Done ", NULL};
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_TraceScreen
|
||||
#define HEADER_TraceScreen
|
||||
/*
|
||||
@ -25,16 +23,16 @@ typedef struct TraceScreen_ {
|
||||
|
||||
extern InfoScreenClass TraceScreen_class;
|
||||
|
||||
extern TraceScreen* TraceScreen_new(Process* process);
|
||||
TraceScreen* TraceScreen_new(Process* process);
|
||||
|
||||
extern void TraceScreen_delete(Object* cast);
|
||||
void TraceScreen_delete(Object* cast);
|
||||
|
||||
extern void TraceScreen_draw(InfoScreen* this);
|
||||
void TraceScreen_draw(InfoScreen* this);
|
||||
|
||||
extern bool TraceScreen_forkTracer(TraceScreen* this);
|
||||
bool TraceScreen_forkTracer(TraceScreen* this);
|
||||
|
||||
extern void TraceScreen_updateTrace(InfoScreen* super);
|
||||
void TraceScreen_updateTrace(InfoScreen* super);
|
||||
|
||||
extern bool TraceScreen_onKey(InfoScreen* super, int ch);
|
||||
bool TraceScreen_onKey(InfoScreen* super, int ch);
|
||||
|
||||
#endif
|
||||
|
@ -9,9 +9,6 @@ in the source distribution for its full text.
|
||||
#include "Platform.h"
|
||||
#include "CRT.h"
|
||||
|
||||
/*{
|
||||
#include "Meter.h"
|
||||
}*/
|
||||
|
||||
int UptimeMeter_attributes[] = {
|
||||
UPTIME
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_UptimeMeter
|
||||
#define HEADER_UptimeMeter
|
||||
/*
|
||||
|
@ -18,13 +18,6 @@ in the source distribution for its full text.
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
|
||||
/*{
|
||||
#include "Hashtable.h"
|
||||
|
||||
typedef struct UsersTable_ {
|
||||
Hashtable* users;
|
||||
} UsersTable;
|
||||
}*/
|
||||
|
||||
UsersTable* UsersTable_new() {
|
||||
UsersTable* this;
|
||||
|
10
UsersTable.h
10
UsersTable.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_UsersTable
|
||||
#define HEADER_UsersTable
|
||||
/*
|
||||
@ -15,12 +13,12 @@ typedef struct UsersTable_ {
|
||||
Hashtable* users;
|
||||
} UsersTable;
|
||||
|
||||
extern UsersTable* UsersTable_new();
|
||||
UsersTable* UsersTable_new();
|
||||
|
||||
extern void UsersTable_delete(UsersTable* this);
|
||||
void UsersTable_delete(UsersTable* this);
|
||||
|
||||
extern char* UsersTable_getRef(UsersTable* this, unsigned int uid);
|
||||
char* UsersTable_getRef(UsersTable* this, unsigned int uid);
|
||||
|
||||
extern void UsersTable_foreach(UsersTable* this, Hashtable_PairFunction f, void* userData);
|
||||
void UsersTable_foreach(UsersTable* this, Hashtable_PairFunction f, void* userData);
|
||||
|
||||
#endif
|
||||
|
19
Vector.c
19
Vector.c
@ -12,25 +12,6 @@ in the source distribution for its full text.
|
||||
#include <string.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
/*{
|
||||
#include "Object.h"
|
||||
|
||||
#define swap(a_,x_,y_) do{ void* tmp_ = a_[x_]; a_[x_] = a_[y_]; a_[y_] = tmp_; }while(0)
|
||||
|
||||
#ifndef DEFAULT_SIZE
|
||||
#define DEFAULT_SIZE -1
|
||||
#endif
|
||||
|
||||
typedef struct Vector_ {
|
||||
Object **array;
|
||||
ObjectClass* type;
|
||||
int arraySize;
|
||||
int growthRate;
|
||||
int items;
|
||||
bool owner;
|
||||
} Vector;
|
||||
|
||||
}*/
|
||||
|
||||
Vector* Vector_new(ObjectClass* type, bool owner, int size) {
|
||||
Vector* this;
|
||||
|
34
Vector.h
34
Vector.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Vector
|
||||
#define HEADER_Vector
|
||||
/*
|
||||
@ -27,42 +25,42 @@ typedef struct Vector_ {
|
||||
} Vector;
|
||||
|
||||
|
||||
extern Vector* Vector_new(ObjectClass* type, bool owner, int size);
|
||||
Vector* Vector_new(ObjectClass* type, bool owner, int size);
|
||||
|
||||
extern void Vector_delete(Vector* this);
|
||||
void Vector_delete(Vector* this);
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
extern int Vector_count(Vector* this);
|
||||
int Vector_count(Vector* this);
|
||||
|
||||
#endif
|
||||
|
||||
extern void Vector_prune(Vector* this);
|
||||
void Vector_prune(Vector* this);
|
||||
|
||||
// If I were to use only one sorting algorithm for both cases, it would probably be this one:
|
||||
/*
|
||||
|
||||
*/
|
||||
|
||||
extern void Vector_quickSort(Vector* this);
|
||||
void Vector_quickSort(Vector* this);
|
||||
|
||||
extern void Vector_insertionSort(Vector* this);
|
||||
void Vector_insertionSort(Vector* this);
|
||||
|
||||
extern void Vector_insert(Vector* this, int idx, void* data_);
|
||||
void Vector_insert(Vector* this, int idx, void* data_);
|
||||
|
||||
extern Object* Vector_take(Vector* this, int idx);
|
||||
Object* Vector_take(Vector* this, int idx);
|
||||
|
||||
extern Object* Vector_remove(Vector* this, int idx);
|
||||
Object* Vector_remove(Vector* this, int idx);
|
||||
|
||||
extern void Vector_moveUp(Vector* this, int idx);
|
||||
void Vector_moveUp(Vector* this, int idx);
|
||||
|
||||
extern void Vector_moveDown(Vector* this, int idx);
|
||||
void Vector_moveDown(Vector* this, int idx);
|
||||
|
||||
extern void Vector_set(Vector* this, int idx, void* data_);
|
||||
void Vector_set(Vector* this, int idx, void* data_);
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
extern Object* Vector_get(Vector* this, int idx);
|
||||
Object* Vector_get(Vector* this, int idx);
|
||||
|
||||
#else
|
||||
|
||||
@ -72,7 +70,7 @@ extern Object* Vector_get(Vector* this, int idx);
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
extern int Vector_size(Vector* this);
|
||||
int Vector_size(Vector* this);
|
||||
|
||||
#else
|
||||
|
||||
@ -84,9 +82,9 @@ extern int Vector_size(Vector* this);
|
||||
|
||||
*/
|
||||
|
||||
extern void Vector_add(Vector* this, void* data_);
|
||||
void Vector_add(Vector* this, void* data_);
|
||||
|
||||
extern int Vector_indexOf(Vector* this, void* search_, Object_Compare compare);
|
||||
int Vector_indexOf(Vector* this, void* search_, Object_Compare compare);
|
||||
|
||||
void Vector_splice(Vector* this, Vector* from);
|
||||
|
||||
|
5
XAlloc.c
5
XAlloc.c
@ -8,11 +8,6 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*{
|
||||
#include <err.h>
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
}*/
|
||||
|
||||
void fail() {
|
||||
curs_set(1);
|
||||
|
14
XAlloc.h
14
XAlloc.h
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_XAlloc
|
||||
#define HEADER_XAlloc
|
||||
|
||||
@ -11,13 +9,13 @@
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
extern void fail(void);
|
||||
void fail(void);
|
||||
|
||||
extern void* xMalloc(size_t size);
|
||||
void* xMalloc(size_t size);
|
||||
|
||||
extern void* xCalloc(size_t nmemb, size_t size);
|
||||
void* xCalloc(size_t nmemb, size_t size);
|
||||
|
||||
extern void* xRealloc(void* ptr, size_t size);
|
||||
void* xRealloc(void* ptr, size_t size);
|
||||
|
||||
#undef xAsprintf
|
||||
|
||||
@ -38,9 +36,9 @@ extern void* xRealloc(void* ptr, size_t size);
|
||||
#endif
|
||||
#if (__has_attribute(nonnull) || \
|
||||
((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)))
|
||||
extern char* xStrdup_(const char* str) __attribute__((nonnull));
|
||||
char* xStrdup_(const char* str) __attribute__((nonnull));
|
||||
#endif // __has_attribute(nonnull) || GNU C 3.3 or later
|
||||
|
||||
extern char* xStrdup_(const char* str);
|
||||
char* xStrdup_(const char* str);
|
||||
|
||||
#endif
|
||||
|
@ -316,7 +316,6 @@ AM_CONDITIONAL([HTOP_SOLARIS], [test "$my_htop_platform" = solaris])
|
||||
AM_CONDITIONAL([HTOP_UNSUPPORTED], [test "$my_htop_platform" = unsupported])
|
||||
AC_SUBST(my_htop_platform)
|
||||
AC_CONFIG_FILES([Makefile htop.1])
|
||||
AC_CONFIG_FILES([scripts/MakeHeader.py], [chmod +x scripts/MakeHeader.py])
|
||||
AC_OUTPUT
|
||||
|
||||
if test "$my_htop_platform" = "unsupported"
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Battery
|
||||
#define HEADER_Battery
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_DarwinCRT
|
||||
#define HEADER_DarwinCRT
|
||||
/*
|
||||
|
@ -15,21 +15,6 @@ in the source distribution for its full text.
|
||||
|
||||
#include <mach/mach.h>
|
||||
|
||||
/*{
|
||||
#include "Settings.h"
|
||||
#include "DarwinProcessList.h"
|
||||
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
typedef struct DarwinProcess_ {
|
||||
Process super;
|
||||
|
||||
uint64_t utime;
|
||||
uint64_t stime;
|
||||
bool taskAccess;
|
||||
} DarwinProcess;
|
||||
|
||||
}*/
|
||||
|
||||
ProcessClass DarwinProcess_class = {
|
||||
.super = {
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_DarwinProcess
|
||||
#define HEADER_DarwinProcess
|
||||
/*
|
||||
|
@ -54,28 +54,6 @@ int CompareKernelVersion(short int major, short int minor, short int component)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*{
|
||||
#include "ProcessList.h"
|
||||
#include "zfs/ZfsArcStats.h"
|
||||
#include <mach/mach_host.h>
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
typedef struct DarwinProcessList_ {
|
||||
ProcessList super;
|
||||
|
||||
host_basic_info_data_t host_info;
|
||||
vm_statistics_data_t vm_stats;
|
||||
processor_cpu_load_info_t prev_load;
|
||||
processor_cpu_load_info_t curr_load;
|
||||
uint64_t kernel_threads;
|
||||
uint64_t user_threads;
|
||||
uint64_t global_diff;
|
||||
|
||||
ZfsArcStats zfs;
|
||||
} DarwinProcessList;
|
||||
|
||||
}*/
|
||||
|
||||
void ProcessList_getHostInfo(host_basic_info_data_t *p) {
|
||||
mach_msg_type_number_t info_size = HOST_BASIC_INFO_COUNT;
|
||||
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_DarwinProcessList
|
||||
#define HEADER_DarwinProcessList
|
||||
/*
|
||||
|
@ -21,13 +21,6 @@ in the source distribution for its full text.
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
/*{
|
||||
#include "Action.h"
|
||||
#include "SignalsPanel.h"
|
||||
#include "CPUMeter.h"
|
||||
#include "BatteryMeter.h"
|
||||
#include "DarwinProcess.h"
|
||||
}*/
|
||||
|
||||
#ifndef CLAMP
|
||||
#define CLAMP(x,low,high) (((x)>(high))?(high):(((x)<(low))?(low):(x)))
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Platform
|
||||
#define HEADER_Platform
|
||||
/*
|
||||
|
@ -1,5 +1,3 @@
|
||||
/* Do not edit this file. It was automatically generated. */
|
||||
|
||||
#ifndef HEADER_Battery
|
||||
#define HEADER_Battery
|
||||
/*
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user