Christian Göttsche
b9adc30b86
RichString: implement safe rewind
...
The current rewind logic causes issues when rewinding over the short
string optimization boundary.
2021-01-15 20:41:10 +01:00
Christian Göttsche
d72b0a682e
Mark several non-modified pointer variables const
2021-01-11 20:12:34 +01:00
Christian Göttsche
fbaa0cd146
Exit follow mode cleanly after followed process dies
2021-01-10 16:43:24 +01:00
Christian Göttsche
27db9297b7
Show arrow indicating order of sorted process column
2021-01-07 14:46:44 +01:00
Christian Göttsche
90ea3ac3c9
Object: return int on comparison
...
Comparisons do, due to the new introduced shaceship-comparisons,
only return -1, 0, 1 or the result of strcmp().
2021-01-02 00:00:17 +01:00
Christian Göttsche
9f68c8d341
Merge Process_pidColumns into Process_fields and rework auto-fit for PID-like columns
2020-12-19 21:13:32 +01:00
Hisham Muhammad
2327260ee8
Separate tree and list sort orders
...
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. :)
2020-12-19 16:02:34 +01:00
Hisham Muhammad
e8c6994f40
Add "Tree view is always sorted by PID" option to mimic htop 2 behavior
2020-12-19 16:02:34 +01:00
Christian Göttsche
52fa4e7ee4
Fix typo
2020-12-18 23:35:28 +01:00
Christian Göttsche
27b8d81ed2
ProcessList: save scan time in millisecond
...
The delay is saved in deciseconds, use a bigger resolution to avoid
timing irregularities.
2020-12-18 22:43:21 +01:00
Christian Göttsche
26993d2d2b
Support clock_gettime() on OSX El Capitan and earlier
2020-12-18 22:43:21 +01:00
Benny Baumann
f6613db5cd
Additional code simplification
...
Additional correction for #375
2020-12-08 21:24:19 +01:00
Christian Göttsche
157086e750
Split RichString_(append|appendn|write) into wide and ascii
...
RichString_writeFrom takes a top spot during performance analysis due to the
calls to mbstowcs() and iswprint().
Most of the time we know in advance that we are only going to print regular
ASCII characters.
2020-12-08 20:58:40 +01:00
Christian Göttsche
7ba25aa3c4
IWYU update
2020-12-06 15:32:16 +01:00
Christian Göttsche
3695cbd5d8
Silence possible NULL dereference
...
Found by compiling with LTO
ProcessList.c: In function ‘ProcessList_updateTreeSetLayer’:
ProcessList.c:195:15: error: potential null pointer dereference [-Werror=null-dereference]
195 | if (proc->tree_depth == deep && proc->tree_left > left && proc->tree_right < right) {
| ^
ProcessList.c:195:15: error: potential null pointer dereference [-Werror=null-dereference]
ProcessList.c:195:15: error: potential null pointer dereference [-Werror=null-dereference]
2020-12-03 12:32:54 +01:00
Benny Baumann
c6b66a75ea
Minor code streamlining
2020-12-02 23:50:05 +01:00
Benny Baumann
709821ff55
Some minor spelling issues
2020-12-02 23:50:05 +01:00
Benny Baumann
2d874177bc
Avoid expensive build of tree when not using it
2020-12-02 23:50:05 +01:00
Benny Baumann
bd24664fc2
Avoid useless search for pid 0
2020-12-02 23:50:05 +01:00
Benny Baumann
d0e71cb75f
Reorder field initialization to group fields by task
2020-12-02 23:50:05 +01:00
Benny Baumann
e3b6049043
Code style cleanup and documentation/comments
2020-12-02 23:50:05 +01:00
Benny Baumann
b4b952d78d
Use common values for initial size estimates for Hashtables
2020-12-02 23:50:05 +01:00
Maxim Zhiburt
4907d90cff
Fix issue with inconsistent displayTreeSet
2020-12-02 23:50:05 +01:00
Maxim Zhiburt
cf306ff86e
Implement sorting in tree mode
2020-12-02 23:50:05 +01:00
Narendran Gopalakrishnan
e33d4d9460
Include merge status with column title when enabled
2020-11-24 19:05:48 +01:00
Narendran Gopalakrishnan
09fe94da18
Improving Command display/sort
2020-11-24 19:05:48 +01:00
Christian Göttsche
4fb82e301d
fix indent
2020-11-21 19:26:42 +01:00
Daniel Lange
8f2d129dce
Apply patch from BenBE as per https://github.com/htop-dev/htop/pull/241#issuecomment-720081138
2020-11-16 12:55:32 +01:00
Daniel Lange
0951090fa4
Merge branch 'hili-new-old' of adsr/htop into highlight-new-old-processes
2020-11-16 12:55:07 +01:00
Christian Göttsche
91317322fe
Mark ProcessList_keyAt argument const
2020-11-15 18:35:30 +01:00
Benny Baumann
45869513bf
Embracing branches
2020-11-02 22:15:01 +01:00
Benny Baumann
61e14d4bb2
Spacing around operators
2020-11-02 22:15:01 +01:00
Adam Saponara
a83f515f0f
Address items from review
2020-10-31 20:36:53 -04:00
Adam Saponara
dde71c6637
Highlight new and old processes ( #74 )
2020-10-30 21:56:16 -04:00
Christian Göttsche
a3bb7cbe64
Hold only a const version of Settings in ProcessList
2020-10-26 19:30:38 +01:00
Christian Göttsche
96e2a4259e
Continue to update generic data in paused mode
...
Generic data, as CPU and memory usage, are used by Meters.
In paused mode they would stop receiving updates and especially Graph
Meters would stop showing continuous data.
Improves: #214
Closes : #253
2020-10-19 14:45:39 +02:00
Benny Baumann
0f5262917f
Make all required includes explicit
...
Information as seen by IWYU 0.12 + clang 9 on Linux
2020-10-18 20:09:05 +02:00
Benny Baumann
872e542f4e
Rename StringUtils.[ch] to XUtils.[ch]
2020-10-16 20:30:21 +02:00
Christian Göttsche
e9246abff8
Misc Vector updates
...
- Move swap() macro to source file and implement as function
- Implement Vector_get() and Vector_size() as inline functions
to make them type safe and avoid lhs usage
- Comment comparison statistics, they are only needed for performance
testing
2020-10-16 19:47:34 +02:00
Christian Göttsche
08d85e6143
Mark Object classes and Object class fields const
2020-10-07 13:01:53 +02:00
Daniel Lange
079c2abf8e
Update License consistently to GPLv2 as per COPYING file
2020-10-05 10:13:12 +02:00
Nathan Scott
4597332959
Switch variable/field naming from WhiteList to MatchList
2020-09-09 19:38:15 +10:00
Zev Weiss
a1a027b9bd
Axe automated header generation.
...
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.
2020-09-03 11:58:58 -05:00
Nathan Scott
728b04bbb5
Merge branch 'ci-hwloc-job' of https://github.com/bertwesarg/htop into bertwesarg-ci-hwloc-job
2020-08-26 10:39:43 +10:00
Daniel Flanagan
dd33444f7e
Clean up existing whitespace
2019-10-31 11:39:12 -05:00
Hisham Muhammad
0dbedf95a8
Collapse current subtree pressing Backspace
2018-04-05 19:38:13 -03:00
Wataru Ashihara
b34d76cd41
Fix: infinite loop in tree view on macOS
...
Fixes #688 , the bug regressed on 584a9bc
.
On Mac OS X 10.11.6, all processes have their parents since there's a
special process named "kernel_task", whose PID and PPID are 0. As a
result, `this->processes` is never changed causing infinite `while`.
2018-02-04 16:51:06 +01:00
Hisham Muhammad
e3f65c8ec2
Make 'c' key work with threads as well.
2017-09-14 17:10:39 -03:00
Hisham Muhammad
b9934ffa08
minor style tweak
2017-09-04 13:53:03 -03:00
wangqr
584a9bceab
Find roots when constructing process tree, fix #587
2017-09-01 21:34:05 +08:00