| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements our concept of 'dynamic screens' in htop, with a
first use-case of pcp-htop displaying things like top-filesystem
and top-cgroups under new screen tabs. However the idea is more
general than use in pcp-htop and we've paved the way here for us
to collectively build mroe general tabular screens in core htop,
as well.
From the pcp-htop side of things, dynamic screens are configured
using text-based configuration files that define the mapping for
PCP metrics to columns (and metric instances to rows). Metrics
are defined either directly (via metric names) or indirectly via
PCP derived metric specifications. Value scaling and the units
displayed is automatic based on PCP metric units and data types.
This commit represents a collaborative effort of several months,
primarily between myself, Nathan and BenBE.
Signed-off-by: Sohaib Mohamed <sohaib.amhmd@gmail.com>
Signed-off-by: Nathan Scott <nathans@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
First stage in sanitizing the process list structure so that htop
can support other types of lists too (cgroups, filesystems, ...),
in the not-too-distant future.
This introduces struct Machine for system-wide information while
keeping process-list information in ProcessList (now much less).
Next step is to propogate this separation into each platform, to
match these core changes.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prepare the way for making screen tabs more generalised,
able to cater to entities other than processes.
'actionTogglePauseProcessUpdate' -> 'actionTogglePauseUpdate'
'pauseProcessUpdate' -> 'pauseUpdate'
'hideProcessSelection' -> 'hideSelection'
'hideProcessSelection' -> 'hideSelection'
Signed-off-by: Sohaib Mohamed <sohaib.amhmd@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Show/hide the header meters with the pound ('#') key. Useful in cases
where the header is too large and occupies essential parts of the
screen, especially in settings (see #1108).
It is only stored as a runtime state, not a persistent setting; to
remove the header permanently one can delete all active meters.
|
|
|
|
| |
This is a forward port (by nathans) of Hisham's original code.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The State struct holds a pointer to the main process panel.
Use the distinct MainPanel type, to improve maintainability regrading
its usage.
This avoids usages of down-casts from Panel to MainPanel, only up-casts
from MainPanel to Panel are now required.
|
|
|
|
|
|
|
|
|
|
| |
Support three settings:
- Always show Function Bar
- Always hide the Function Bar, except in Infoscreens (Env/Locks...)
and when editing the search and filter mode
- Hide the Function Bar on ESC until the next user input
Closes: #439
|
|
|
|
|
|
| |
Do not highlight the current process line after pressing ESC in the main
screen.
Restore after pressing any key.
|
|
|
|
|
|
|
|
|
|
| |
- allow count out-parameter of String_split() to be NULL
- introduce xStrndup()
- do not allow NULL pointers passed to String_eq()
it is not used in any code
- implement String_startsWith(), String_contains_i() and String_eq()
as inline header functions
- adjust several conversion issues
|
|
|
|
| |
Information as seen by IWYU 0.12 + clang 9 on Linux
|
| |
|
| |
|
|
|
|
| |
int foo(); declares a function taking any number of arguments.
|
|
|
|
| |
As suggested by cppclean.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR htop-dev/htop#70 got rid of the infrastructure for generating header
files, but it left behind some code duplication.
Some of cases are things that belong in the header file and don't need
to be repeated in the C file. Other cases are things that belong in the
C file and don't need to be in the header file.
In this commit I tried to fix all of these that I could find. When given
a choice I preferred keeping things out of the header file, unless they
were being used by someone else.
|
|
|
|
|
| |
Remove leftover empty ifdef/endif pairs, whitespace.
The generated htop.h file was also unused - removed.
|
|
|
|
|
|
|
|
| |
Applied via:
$ find * -name '*.h' -exec sed -i -r 's/^extern (.+\()/\1/;' {} +
Suggested-by: Bert Wesarg <bert.wesarg@googlemail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reasoning:
- implementation was unsound -- broke down when I added a fairly
basic macro definition expanding to a struct initializer in a *.c
file.
- made it way too easy (e.g. via otherwise totally innocuous git
commands) to end up with timestamps such that it always ran
MakeHeader.py but never used its output, leading to overbuild noise
when running what should be a null 'make'.
- but mostly: it's just an awkward way of dealing with C code.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Disable the follow process logic in Action_pickFromVector(), when
selecting sort order or user filter, since they don't apply on specific
process.
Fix #856
|
|/
|
|
| |
Sync-up missing extern declarations for many functions.
|
|
|
|
| |
See #237.
|
|
|
|
|
| |
- uses sysctl(KERN_PROCARGS2) on *BSD
- doesn't work on Linux yet
|
| |
|
|
|
|
|
|
| |
Conflicts:
htop.c
htop.h
|
| |
|
| |
|
|
|
|
|
| |
Kinda runs, but functionality from the original main loop
is still missing. Patience.
|
|
|
|
|
| |
This is a work-in-progress, code is currently broken.
(Some actions, and notably, the header, are missing.)
|
| |
|
|
|