summaryrefslogtreecommitdiff
path: root/fedora/.local/bin/htop-vim/MainPanel.c
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-04-28 15:42:50 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2026-04-28 15:42:50 +0900
commitae78dbbff81196f1d7bc8fabf84d05e6b9f3ca03 (patch)
treefdc69ee3e2772aa4db7e8efe4bd30d101c7f82ac /fedora/.local/bin/htop-vim/MainPanel.c
parent06ad645351572c0e7188c52028998384d718df2e (diff)
updatesHEADmaster
Diffstat (limited to 'fedora/.local/bin/htop-vim/MainPanel.c')
-rw-r--r--fedora/.local/bin/htop-vim/MainPanel.c236
1 files changed, 0 insertions, 236 deletions
diff --git a/fedora/.local/bin/htop-vim/MainPanel.c b/fedora/.local/bin/htop-vim/MainPanel.c
deleted file mode 100644
index fba01fe..0000000
--- a/fedora/.local/bin/htop-vim/MainPanel.c
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
-htop - ColumnsPanel.c
-(C) 2004-2015 Hisham H. Muhammad
-(C) 2020 Red Hat, Inc. All Rights Reserved.
-Released under the GNU GPLv2+, see the COPYING file
-in the source distribution for its full text.
-*/
-
-#include "MainPanel.h"
-
-#include <ctype.h>
-#include <stdlib.h>
-
-#include "CRT.h"
-#include "FunctionBar.h"
-#include "Platform.h"
-#include "Process.h"
-#include "ProcessList.h"
-#include "ProvideCurses.h"
-#include "Settings.h"
-#include "XUtils.h"
-
-
-static const char* const MainFunctions[] = {"Help ", "Setup ", "Search", "Filter", "Tree ", "SortBy", "Nice -", "Nice +", "Kill ", "Quit ", NULL};
-static const char* const MainFunctions_ro[] = {"Help ", "Setup ", "Search", "Filter", "Tree ", "SortBy", " ", " ", " ", "Quit ", NULL};
-
-void MainPanel_updateLabels(MainPanel* this, bool list, bool filter) {
- FunctionBar* bar = MainPanel_getFunctionBar(this);
- FunctionBar_setLabel(bar, KEY_F(5), list ? "List " : "Tree ");
- FunctionBar_setLabel(bar, KEY_F(4), filter ? "FILTER" : "Filter");
-}
-
-static void MainPanel_pidSearch(MainPanel* this, int ch) {
- Panel* super = (Panel*) this;
- pid_t pid = ch - 48 + this->pidSearch;
- for (int i = 0; i < Panel_size(super); i++) {
- const Process* p = (const Process*) Panel_get(super, i);
- if (p && p->pid == pid) {
- Panel_setSelected(super, i);
- break;
- }
- }
- this->pidSearch = pid * 10;
- if (this->pidSearch > 10000000) {
- this->pidSearch = 0;
- }
-}
-
-static const char* MainPanel_getValue(Panel* this, int i) {
- const Process* p = (const Process*) Panel_get(this, i);
- return Process_getCommand(p);
-}
-
-HandlerResult MainPanel_eventHandler(Panel* super, int ch) {
- MainPanel* this = (MainPanel*) super;
-
- HandlerResult result = IGNORED;
-
- Htop_Reaction reaction = HTOP_OK;
-
- /* Let supervising ScreenManager handle resize */
- if (ch == KEY_RESIZE)
- return IGNORED;
-
- /* reset on every normal key */
- bool needReset = ch != ERR;
- #ifdef HAVE_GETMOUSE
- /* except mouse events while mouse support is disabled */
- if (!(ch != KEY_MOUSE || this->state->settings->enableMouse))
- needReset = false;
- #endif
- if (needReset)
- this->state->hideProcessSelection = false;
-
- Settings* settings = this->state->settings;
- ScreenSettings* ss = settings->ss;
-
- if (EVENT_IS_HEADER_CLICK(ch)) {
- int x = EVENT_HEADER_CLICK_GET_X(ch);
- const ProcessList* pl = this->state->pl;
- int hx = super->scrollH + x + 1;
- ProcessField field = ProcessList_keyAt(pl, hx);
- if (ss->treeView && ss->treeViewAlwaysByPID) {
- ss->treeView = false;
- ss->direction = 1;
- reaction |= Action_setSortKey(settings, field);
- } else if (field == ScreenSettings_getActiveSortKey(ss)) {
- ScreenSettings_invertSortOrder(ss);
- } else {
- reaction |= Action_setSortKey(settings, field);
- }
- reaction |= HTOP_RECALCULATE | HTOP_REDRAW_BAR | HTOP_SAVE_SETTINGS;
- result = HANDLED;
- } else if (EVENT_IS_SCREEN_TAB_CLICK(ch)) {
- int x = EVENT_SCREEN_TAB_GET_X(ch);
- reaction |= Action_setScreenTab(settings, x);
- result = HANDLED;
- } else if (ch != ERR && this->inc->active) {
- bool filterChanged = IncSet_handleKey(this->inc, ch, super, MainPanel_getValue, NULL);
- if (filterChanged) {
- this->state->pl->incFilter = IncSet_filter(this->inc);
- reaction = HTOP_REFRESH | HTOP_REDRAW_BAR;
- }
- if (this->inc->found) {
- reaction |= Action_follow(this->state);
- reaction |= HTOP_KEEP_FOLLOWING;
- }
- result = HANDLED;
- } else if (ch == 27) {
- this->state->hideProcessSelection = true;
- return HANDLED;
- } else if (ch != ERR && ch > 0 && ch < KEY_MAX && this->keys[ch]) {
- reaction |= (this->keys[ch])(this->state);
- result = HANDLED;
- } else if (0 < ch && ch < 255 && isdigit((unsigned char)ch)) {
- MainPanel_pidSearch(this, ch);
- } else {
- if (ch != ERR) {
- this->pidSearch = 0;
- } else {
- reaction |= HTOP_KEEP_FOLLOWING;
- }
- }
-
- if ((reaction & HTOP_REDRAW_BAR) == HTOP_REDRAW_BAR) {
- MainPanel_updateLabels(this, settings->ss->treeView, this->state->pl->incFilter);
- }
- if ((reaction & HTOP_RESIZE) == HTOP_RESIZE) {
- result |= RESIZE;
- }
- if ((reaction & HTOP_UPDATE_PANELHDR) == HTOP_UPDATE_PANELHDR) {
- result |= REDRAW;
- }
- if ((reaction & HTOP_REFRESH) == HTOP_REFRESH) {
- result |= REFRESH;
- }
- if ((reaction & HTOP_RECALCULATE) == HTOP_RECALCULATE) {
- result |= RESCAN;
- }
- if ((reaction & HTOP_SAVE_SETTINGS) == HTOP_SAVE_SETTINGS) {
- this->state->settings->changed = true;
- }
- if ((reaction & HTOP_QUIT) == HTOP_QUIT) {
- return BREAK_LOOP;
- }
- if ((reaction & HTOP_KEEP_FOLLOWING) != HTOP_KEEP_FOLLOWING) {
- this->state->pl->following = -1;
- Panel_setSelectionColor(super, PANEL_SELECTION_FOCUS);
- }
- return result;
-}
-
-int MainPanel_selectedPid(MainPanel* this) {
- const Process* p = (const Process*) Panel_getSelected((Panel*)this);
- if (p) {
- return p->pid;
- }
- return -1;
-}
-
-bool MainPanel_foreachProcess(MainPanel* this, MainPanel_ForeachProcessFn fn, Arg arg, bool* wasAnyTagged) {
- Panel* super = (Panel*) this;
- bool ok = true;
- bool anyTagged = false;
- for (int i = 0; i < Panel_size(super); i++) {
- Process* p = (Process*) Panel_get(super, i);
- if (p->tag) {
- ok = fn(p, arg) && ok;
- anyTagged = true;
- }
- }
- if (!anyTagged) {
- Process* p = (Process*) Panel_getSelected(super);
- if (p) {
- ok &= fn(p, arg);
- }
- }
-
- if (wasAnyTagged)
- *wasAnyTagged = anyTagged;
-
- return ok;
-}
-
-static void MainPanel_drawFunctionBar(Panel* super, bool hideFunctionBar) {
- MainPanel* this = (MainPanel*) super;
-
- // Do not hide active search and filter bar.
- if (hideFunctionBar && !this->inc->active)
- return;
-
- IncSet_drawBar(this->inc, CRT_colors[FUNCTION_BAR]);
- if (this->state->pauseProcessUpdate) {
- FunctionBar_append("PAUSED", CRT_colors[PAUSED]);
- }
-}
-
-static void MainPanel_printHeader(Panel* super) {
- MainPanel* this = (MainPanel*) super;
- ProcessList_printHeader(this->state->pl, &super->header);
-}
-
-const PanelClass MainPanel_class = {
- .super = {
- .extends = Class(Panel),
- .delete = MainPanel_delete
- },
- .eventHandler = MainPanel_eventHandler,
- .drawFunctionBar = MainPanel_drawFunctionBar,
- .printHeader = MainPanel_printHeader
-};
-
-MainPanel* MainPanel_new(void) {
- MainPanel* this = AllocThis(MainPanel);
- Panel_init((Panel*) this, 1, 1, 1, 1, Class(Process), false, FunctionBar_new(Settings_isReadonly() ? MainFunctions_ro : MainFunctions, NULL, NULL));
- this->keys = xCalloc(KEY_MAX, sizeof(Htop_Action));
- this->inc = IncSet_new(MainPanel_getFunctionBar(this));
-
- Action_setBindings(this->keys);
- Platform_setBindings(this->keys);
-
- return this;
-}
-
-void MainPanel_setState(MainPanel* this, State* state) {
- this->state = state;
-}
-
-void MainPanel_delete(Object* object) {
- Panel* super = (Panel*) object;
- MainPanel* this = (MainPanel*) object;
- Panel_done(super);
- IncSet_delete(this->inc);
- free(this->keys);
- free(this);
-}