diff options
Diffstat (limited to '')
-rw-r--r-- | Action.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Action.h b/Action.h new file mode 100644 index 0000000..caade03 --- /dev/null +++ b/Action.h @@ -0,0 +1,63 @@ +#ifndef HEADER_Action +#define HEADER_Action +/* +htop - Action.h +(C) 2015 Hisham H. Muhammad +Released under the GNU GPLv2+, see the COPYING file +in the source distribution for its full text. +*/ + +#include <stdbool.h> +#include <sys/types.h> + +#include "Header.h" +#include "Machine.h" +#include "Object.h" +#include "Panel.h" +#include "Process.h" +#include "Settings.h" + + +typedef enum { + HTOP_OK = 0x00, + HTOP_REFRESH = 0x01, + HTOP_RECALCULATE = 0x02 | HTOP_REFRESH, + HTOP_SAVE_SETTINGS = 0x04, + HTOP_KEEP_FOLLOWING = 0x08, + HTOP_QUIT = 0x10, + HTOP_REDRAW_BAR = 0x20, + HTOP_UPDATE_PANELHDR = 0x40 | HTOP_REFRESH, + HTOP_RESIZE = 0x80 | HTOP_REFRESH | HTOP_REDRAW_BAR | HTOP_UPDATE_PANELHDR, +} Htop_Reaction; + +struct MainPanel_; // IWYU pragma: keep + +typedef struct State_ { + Machine* host; + struct MainPanel_* mainPanel; + Header* header; + bool pauseUpdate; + bool hideSelection; + bool hideMeters; +} State; + +static inline bool State_hideFunctionBar(const State* st) { + const Settings* settings = st->host->settings; + return settings->hideFunctionBar == 2 || (settings->hideFunctionBar == 1 && st->hideSelection); +} + +typedef Htop_Reaction (*Htop_Action)(State* st); + +Object* Action_pickFromVector(State* st, Panel* list, int x, bool follow); + +bool Action_setUserOnly(const char* userName, uid_t* userId); + +Htop_Reaction Action_setSortKey(Settings* settings, ProcessField sortKey); + +Htop_Reaction Action_setScreenTab(State* st, int x); + +Htop_Reaction Action_follow(State* st); + +void Action_setBindings(Htop_Action* keys); + +#endif |