| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
All uses of meter drawing "mode" numbers now have the type
`MeterModeId`, including the uses in structures and arrays.
`MeterModeId` is defined as `unsigned int`, as (currently) it doesn't
save any code size by defining it to any smaller type.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check whether the configuration file (after symlink resolution) is
writable and is a regular file on htop startup, and only then, write the
configuration on exit.
Also permit reading when the legacy configuration file ("~/.htoprc") is
a symlink. Write the new configuration only when both the legacy file
and the new location are writable.
Thanks to Christian Göttsche (@cgzones) for providing the initial
version of the patch.
Fixes: #1426
Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
|
|
|
|
| |
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
This commit refactors the Process and ProcessList structures such
they each have a new parent - Row and Table, respectively. These
new classes handle screen updates relating to anything that could
be represented in tabular format, e.g. cgroups, filesystems, etc,
without us having to reimplement the display logic repeatedly for
each new entity.
|
|
|
|
|
|
|
|
| |
This removes the duplication of dynamic meter/column hashtable
pointers that has come in between the Settings and ProcessList
structures - only one copy of these is needed. With the future
planned dynamic screens feature adding another pointer, let us
first clean this up before any further duplication happens.
|
|
|
|
|
|
|
|
|
| |
Shadow path prefixes which are used by distributions, like
/usr/bin/
/usr/sbin/
/bin/
/sbin/
/usr/libexec/
|
| |
|
|
|
|
| |
Fixes #1008
|
|
|
|
|
| |
Respect the field option defaultSortDesc for the default screen sort
direction, e.g. for CPU%.
|
| |
|
|
|
|
| |
This is a forward port (by nathans) of Hisham's original code.
|
|
|
|
|
|
| |
Header.c:150:26: error: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Werror,-Wimplicit-int-conversion]
colSettings->len = len;
~ ^~~
|
| |
|
|\ |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements support for arbitrary Performance Co-Pilot
metrics with per-process instance domains to form new
htop columns. The column-to-metric mappings are setup
using configuration files which will be documented via
man pages as part of a follow-up commit.
We provide an initial set of column configurations so
as to provide new capabilities to pcp-htop: including
configs for containers, open fd counts, scheduler run
queue time, tcp/udp bytes/calls sent/recv, delay acct,
virtual machine guests, detailed virtual memory, swap.
Note there is a change to the configuration file path
resolution algorithm introduced for 'dynamic meters'.
First, look in any custom PCP_HTOP_DIR location. Then
iterate, in priority order, users home directory, then
local sysadmins files in /etc/pcp/htop, then readonly
configuration files below /usr/share/pcp/htop. This
final location becomes the preferred place for our own
shipped meter and column files.
The Settings file (htoprc) writing code is updated to
not using the numeric identifier for dynamic columns.
The same strategy used for dynamic meters is used here
where we write Dynamic(name) so the name can be setup
once more at start. Regular (static) columns writing
to htoprc - i.e. numerically indexed - is unchanged.
|
| |
|
|
|
|
| |
Fixes #383
|
| |
|
|
|
|
|
| |
Add command line option to disable all system and process changing
features.
|
| |
|
|\
| |
| |
| | |
FreeBSD: add support for CPU frequency and temperature
Tested on two physical systems running FreeBSD 12.1
|
| | |
|
| |
| |
| |
| |
| |
| | |
Writing to the file stream might fail due to a immutable file or a
filesystem error.
Check the error indicator for the stream and for fclose() failures.
|
| | |
|
|/
|
|
|
|
|
| |
(and PID 2 if kernel threads are shown)
Based on hishamhm/htop#510 by Krishna Chaitanya, B
Closes #68
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements the suggestion from https://github.com/htop-dev/htop/issues/399#issuecomment-747861013
Thanks to the refactors from 0bd5c8fb5da and 6393baa74e5, this was really easy
and clean to do.
It maintains the "Tree view always by PID" option in the Settings, which
results in some specific behaviors such as "clicking on the column header to
exit tree view" and "picking a new sort order to exit tree view", for the sake
of the muscle memory of long time htop users. :)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Show the CPU temperature in the CPU meter, like CPU frequency, instead
of using an extra Meter.
|
|\ |
|
| | |
|
|/
|
|
|
| |
It is only used to read process directories on RedHat beginning with a dot.
Unconditionally accept directories with a starting dot.
|
|\
| |
| |
| |
| | |
* This changes the default to count CPUs from zero (instead of starting at one)
* Settings logic is inverted, backwards compatibility is preserved
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Numbering from one is idiosyncratic and inconsistent with basically
everything else in the world; it doesn't make much sense as default
behavior.
All naming is updated to reflect that numbering from one is a
non-default, opt-in option. The old label of the flag saved in htoprc
("cpu_count_from_zero") is still supported for backwards compatibility
with existing configs, however.
|
| |
| |
| |
| | |
Information as seen by IWYU 0.12 + clang 9 on Linux
|
| |
| |
| |
| | |
Not needed and confusing with ProcessList.cpuCount
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There have been too many bugs reported in vim_mode, and
the proposed fixes are increasingly fragile - hence we
have decided to back it out for now. For reference:
https://github.com/htop-dev/htop/issues/69
https://github.com/htop-dev/htop/pull/37
https://github.com/htop-dev/htop/pull/106
The whitespace changes also arrived in commit 12805f61d
not sure what that was about, but backed out as well.
|
|
|
|
|
| |
Remove leftover empty ifdef/endif pairs, whitespace.
The generated htop.h file was also unused - removed.
|