summaryrefslogtreecommitdiffstats
path: root/htop.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2011-05-26 16:32:50 +0000
committerHisham Muhammad <hisham@gobolinux.org>2011-05-26 16:32:50 +0000
commit7a9615960f53c15f0c84d1ee6ff934ec76994eef (patch)
tree8184cae5a37ad179cd04970403bf0dbf73b37871 /htop.c
parent9599e5650edac773195c2c2036393aabf2f7190e (diff)
ncurses does not support the scrollwheel well, but this is a step in that direction.
Diffstat (limited to 'htop.c')
-rw-r--r--htop.c55
1 files changed, 31 insertions, 24 deletions
diff --git a/htop.c b/htop.c
index ca6e8d5b..88ef59d9 100644
--- a/htop.c
+++ b/htop.c
@@ -1,6 +1,6 @@
/*
htop - htop.c
-(C) 2004-2010 Hisham H. Muhammad
+(C) 2004-2011 Hisham H. Muhammad
Released under the GNU GPL, see the COPYING file
in the source distribution for its full text.
*/
@@ -37,7 +37,7 @@ in the source distribution for its full text.
#define INCSEARCH_MAX 40
-#define COPYRIGHT "(C) 2004-2010 Hisham Muhammad"
+#define COPYRIGHT "(C) 2004-2011 Hisham Muhammad"
static void printVersionFlag() {
fputs("htop " VERSION " - " COPYRIGHT "\n"
@@ -496,30 +496,37 @@ int main(int argc, char** argv) {
MEVENT mevent;
int ok = getmouse(&mevent);
if (ok == OK) {
- if (mevent.y == panel->y) {
- int x = panel->scrollH + mevent.x + 1;
- ProcessField field = ProcessList_keyAt(pl, x);
- if (field == pl->sortKey) {
- ProcessList_invertSortOrder(pl);
- pl->treeView = false;
- } else {
- setSortKey(pl, field, panel, settings);
+ if (mevent.bstate & BUTTON1_CLICKED) {
+ if (mevent.y == panel->y) {
+ int x = panel->scrollH + mevent.x + 1;
+ ProcessField field = ProcessList_keyAt(pl, x);
+ if (field == pl->sortKey) {
+ ProcessList_invertSortOrder(pl);
+ pl->treeView = false;
+ } else {
+ setSortKey(pl, field, panel, settings);
+ }
+ refreshTimeout = 0;
+ continue;
+ } else if (mevent.y >= panel->y + 1 && mevent.y < LINES - 1) {
+ Panel_setSelected(panel, mevent.y - panel->y + panel->scrollV - 1);
+ doRefresh = false;
+ refreshTimeout = resetRefreshTimeout;
+ follow = true;
+ continue;
+ } if (mevent.y == LINES - 1) {
+ FunctionBar* bar;
+ if (incSearchMode) bar = searchBar;
+ else bar = defaultBar;
+ ch = FunctionBar_synthesizeEvent(bar, mevent.x);
}
- refreshTimeout = 0;
- continue;
- } else if (mevent.y >= panel->y + 1 && mevent.y < LINES - 1) {
- Panel_setSelected(panel, mevent.y - panel->y + panel->scrollV - 1);
- doRefresh = false;
- refreshTimeout = resetRefreshTimeout;
- follow = true;
- continue;
- } if (mevent.y == LINES - 1) {
- FunctionBar* bar;
- if (incSearchMode) bar = searchBar;
- else bar = defaultBar;
- ch = FunctionBar_synthesizeEvent(bar, mevent.x);
+ } else if (mevent.bstate & BUTTON4_CLICKED) {
+ ch = KEY_UP;
+ #if NCURSES_MOUSE_VERSION > 1
+ } else if (mevent.bstate & BUTTON5_CLICKED) {
+ ch = KEY_DOWN;
+ #endif
}
-
}
}

© 2014-2024 Faster IT GmbH | imprint | privacy policy