Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
htop
Commits
1084a3ff
Commit
1084a3ff
authored
10 years ago
by
Hisham Muhammad
Browse files
Options
Download
Email Patches
Plain Diff
Working on integration of IncSet in new branch.
parent
09c71529
master
darwin-cpu-average
fixedgray
linear-graph-scan
lua
next
perfcounters
pkgconfig-on-linux
solaris
sreclaimable
travis-ci
wip
3.0.0beta5
3.0.0beta4
3.0.0beta3
3.0.0beta2
3.0.0beta1
2.2.0
2.1.0
2.0.2
2.0.1
2.0.0
No related merge requests found
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
Action.c
+4
-3
Action.c
Action.h
+0
-1
Action.h
MainPanel.c
+11
-2
MainPanel.c
MainPanel.h
+1
-0
MainPanel.h
ScreenManager.c
+5
-7
ScreenManager.c
htop.c
+0
-4
htop.c
with
21 additions
and
17 deletions
+21
-17
Action.c
View file @
1084a3ff
...
...
@@ -52,7 +52,6 @@ typedef enum {
typedef Htop_Reaction (*Htop_Action)();
typedef struct State_ {
IncSet* inc;
Settings* settings;
UsersTable* ut;
ProcessList* pl;
...
...
@@ -225,12 +224,14 @@ static Htop_Reaction actionToggleTreeView(State* st) {
}
static
Htop_Reaction
actionIncFilter
(
State
*
st
)
{
IncSet_activate
(
st
->
inc
,
INC_FILTER
);
IncSet
*
inc
=
((
MainPanel
*
)
st
->
panel
)
->
inc
;
IncSet_activate
(
inc
,
INC_FILTER
);
st
->
pl
->
incFilter
=
IncSet_filter
(
inc
);
return
HTOP_REFRESH
|
HTOP_KEEP_FOLLOWING
;
}
static
Htop_Reaction
actionIncSearch
(
State
*
st
)
{
IncSet_activate
(
st
->
inc
,
INC_SEARCH
);
IncSet_activate
(
((
MainPanel
*
)
st
->
panel
)
->
inc
,
INC_SEARCH
);
return
HTOP_REFRESH
|
HTOP_KEEP_FOLLOWING
;
}
...
...
This diff is collapsed.
Click to expand it.
Action.h
View file @
1084a3ff
...
...
@@ -31,7 +31,6 @@ typedef enum {
typedef
Htop_Reaction
(
*
Htop_Action
)();
typedef
struct
State_
{
IncSet
*
inc
;
Settings
*
settings
;
UsersTable
*
ut
;
ProcessList
*
pl
;
...
...
This diff is collapsed.
Click to expand it.
MainPanel.c
View file @
1084a3ff
...
...
@@ -20,6 +20,7 @@ in the source distribution for its full text.
typedef struct MainPanel_ {
Panel super;
State* state;
IncSet* inc;
FunctionBar* fuBar;
Htop_Action *keys;
pid_t pidSearch;
...
...
@@ -65,7 +66,13 @@ static HandlerResult MainPanel_eventHandler(Panel* super, int ch) {
if
(
ch
==
27
)
{
return
HANDLED
;
}
if
(
ch
!=
ERR
&&
this
->
keys
[
ch
])
{
if
(
ch
!=
ERR
&&
this
->
inc
->
active
)
{
bool
redraw
=
IncSet_handleKey
(
this
->
inc
,
ch
,
super
,
(
IncMode_GetPanelValue
)
MainPanel_getValue
,
NULL
);
if
(
redraw
)
{
reaction
=
HTOP_REFRESH
|
HTOP_REDRAW_BAR
;
}
reaction
|=
HTOP_KEEP_FOLLOWING
;
}
else
if
(
ch
!=
ERR
&&
this
->
keys
[
ch
])
{
reaction
|=
(
this
->
keys
[
ch
])(
this
->
state
);
result
=
HANDLED
;
}
else
if
(
isdigit
(
ch
))
{
...
...
@@ -92,7 +99,7 @@ static HandlerResult MainPanel_eventHandler(Panel* super, int ch) {
if
(
reaction
&
HTOP_REDRAW_BAR
)
{
MainPanel_updateTreeFunctions
(
this
->
fuBar
,
this
->
state
->
settings
->
treeView
);
IncSet_drawBar
(
this
->
state
->
inc
);
IncSet_drawBar
(
this
->
inc
);
}
if
(
reaction
&
HTOP_UPDATE_PANELHDR
)
{
ProcessList_printHeader
(
this
->
state
->
pl
,
Panel_getHeader
(
super
));
...
...
@@ -163,6 +170,7 @@ MainPanel* MainPanel_new(FunctionBar* fuBar) {
Panel_init
((
Panel
*
)
this
,
1
,
1
,
1
,
1
,
Class
(
Process
),
false
);
this
->
keys
=
calloc
(
KEY_MAX
,
sizeof
(
Htop_Action
));
this
->
fuBar
=
fuBar
;
this
->
inc
=
IncSet_new
(
fuBar
);
Action_setBindings
(
this
->
keys
);
Platform_setBindings
(
this
->
keys
);
...
...
@@ -178,6 +186,7 @@ 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
);
}
This diff is collapsed.
Click to expand it.
MainPanel.h
View file @
1084a3ff
...
...
@@ -16,6 +16,7 @@ in the source distribution for its full text.
typedef
struct
MainPanel_
{
Panel
super
;
State
*
state
;
IncSet
*
inc
;
FunctionBar
*
fuBar
;
Htop_Action
*
keys
;
pid_t
pidSearch
;
...
...
This diff is collapsed.
Click to expand it.
ScreenManager.c
View file @
1084a3ff
...
...
@@ -149,7 +149,6 @@ static void checkRecalculation(ScreenManager* this, double* oldTime, int* sortTi
*
redraw
=
true
;
}
if
(
*
redraw
)
{
//pl->incFilter = IncSet_filter(inc);
ProcessList_rebuildPanel
(
pl
);
Header_draw
(
this
->
header
);
}
...
...
@@ -195,13 +194,12 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
if
(
redraw
)
{
ScreenManager_drawPanels
(
this
,
focus
);
FunctionBar
*
bar
=
(
FunctionBar
*
)
Vector_get
(
this
->
fuBars
,
focus
);
if
(
bar
)
this
->
fuBar
=
bar
;
if
(
this
->
fuBar
)
FunctionBar_draw
(
this
->
fuBar
,
NULL
);
}
FunctionBar
*
bar
=
(
FunctionBar
*
)
Vector_get
(
this
->
fuBars
,
focus
);
if
(
bar
)
this
->
fuBar
=
bar
;
if
(
this
->
fuBar
)
FunctionBar_draw
(
this
->
fuBar
,
NULL
);
int
prevCh
=
ch
;
ch
=
getch
();
...
...
This diff is collapsed.
Click to expand it.
htop.c
View file @
1084a3ff
...
...
@@ -233,10 +233,7 @@ int main(int argc, char** argv) {
}
ProcessList_printHeader
(
pl
,
Panel_getHeader
((
Panel
*
)
panel
));
IncSet
*
inc
=
IncSet_new
(
defaultBar
);
State
state
=
{
.
inc
=
inc
,
.
settings
=
settings
,
.
ut
=
ut
,
.
pl
=
pl
,
...
...
@@ -460,7 +457,6 @@ int main(int argc, char** argv) {
ScreenManager_delete
(
scr
);
IncSet_delete
(
inc
);
UsersTable_delete
(
ut
);
Settings_delete
(
settings
);
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help