Benny Baumann
bf07c713ba
Allow for highlighting of deleted executables to be configured
...
Fixes #383
2021-05-23 09:30:36 +02:00
Christian Göttsche
1f5f40c091
Print current settings on crash
2021-05-16 19:55:31 +02:00
Christian Göttsche
36880cd61c
Add read-only option
...
Add command line option to disable all system and process changing
features.
2021-04-14 17:21:43 +02:00
Christian Göttsche
a11d01568c
Use unsigned types for CPU counts and associated variables
2021-03-19 23:30:54 +01:00
Graham Inggs
ee97916fd5
Merge pull request #436 from cgzones/freebsd
...
FreeBSD: add support for CPU frequency and temperature
Tested on two physical systems running FreeBSD 12.1
2021-03-18 14:03:51 +02:00
Christian Göttsche
1275139795
Settings_write: fix return value on error
...
Return a negative errno on fprintf() or flcose() failure, not a return
value of ferror() or flcose().
2021-03-13 18:15:20 +01:00
Christian Göttsche
521f1343e3
Settings: check if writing configuration file was successful
...
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.
2021-03-12 16:56:06 +01:00
Christian Göttsche
c38819a675
Settings: mark non-modified pointer parameters const
2021-03-12 16:48:41 +01:00
Benny Baumann
82157f598e
Refactor to remove no-op calls
...
This removes the call-sites of the removed setuid feature
2021-02-17 15:59:50 +01:00
Daniel Lange
2c6222e30a
Option and key ("*") to collapse / expand all branches under PID 1
...
(and PID 2 if kernel threads are shown)
Based on hishamhm/htop#510 by Krishna Chaitanya, B
Closes #68
2021-02-13 16:47:04 +01:00
Christian Göttsche
fd2a0cf421
FreeBSD: add support for CPU frequency and temperature
2021-02-05 16:32:25 +01:00
Daniel Lange
8fb51627b2
Improve initial setup for systems with many CPUs
...
Resolves #435
2021-02-02 18:03:17 +01:00
Christian Göttsche
8bd543562b
Quote SYSCONFDIR definition
...
As SYSCONFDIR is a compile time string literal, use compile time string
concatenation instead of a runtime one.
Also drop related TODO, cause we indeed using the correct way of getting
$sysconfdir from autoconf
2021-01-31 21:44:34 +01:00
Christian Göttsche
0f04714a03
Fix possible division by zero
...
Do not pass a nmemb of 0 to calloc, cause it's unportable and forbidden
with our wrapper.
Found by Coverity
2021-01-25 17:33:29 +01:00
Daniel Lange
4531b31d92
Sort out the mess around column sorting that had accumulated over time
2021-01-21 14:27:23 +01:00
Christian Göttsche
d72b0a682e
Mark several non-modified pointer variables const
2021-01-11 20:12:34 +01:00
Christian Göttsche
a3cced9fb6
Add option to hide the Function Bar
...
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
2021-01-04 23:12:43 +01:00
Christian Göttsche
f614b8a19f
Mark Platform_defaultFields const
2020-12-19 21:13:32 +01:00
Christian Göttsche
89473cc9ae
Rework enum ProcessField
...
Use only one enum instead of a global and a platform specific one.
Drop Platform_numberOfFields global variable.
Set known size of Process_fields array
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
b76eaf187a
Dynamically load libsensors at runtime
2020-12-02 21:03:24 +01:00
Fynn Wulf
7f18b352b0
Calculate library size (M_LRS column) from maps file
2020-11-26 22:58:34 +01:00
Christian Göttsche
267014cbfe
Add support to change numeric options in settings screen
...
Like delay or highlightDelaySecs
2020-11-25 20:46:27 +01:00
Narendran Gopalakrishnan
09fe94da18
Improving Command display/sort
2020-11-24 19:05:48 +01:00
Christian Göttsche
1b225cd7a0
Show CPU temperature in CPU meter
...
Show the CPU temperature in the CPU meter, like CPU frequency, instead
of using an extra Meter.
2020-11-16 16:38:54 +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
ad72b747fa
Drop hideThreads Setting
...
It is only used to read process directories on RedHat beginning with a dot.
Unconditionally accept directories with a starting dot.
2020-11-15 22:54:14 +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
Benny Baumann
b23f8235e2
Whitespace and indentation issues
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
Daniel Lange
0ea18a6edb
Merge branch 'Xalloc_Cleanup' of cgzones/htop
2020-10-20 10:23:47 +02:00
Daniel Lange
a0fb6e34f9
Merge branch 'number-cpus-from-zero' of zevweiss/htop
...
* This changes the default to count CPUs from zero (instead of starting at one)
* Settings logic is inverted, backwards compatibility is preserved
2020-10-20 10:06:15 +02:00
Christian Göttsche
4c66eb6d4c
XUtils string related updates
...
- 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
2020-10-19 15:38:45 +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
5cc20e7cb2
Settings: do not save initial cpu count
...
Not needed and confusing with ProcessList.cpuCount
2020-10-12 13:15:23 +02:00
Daniel Lange
079c2abf8e
Update License consistently to GPLv2 as per COPYING file
2020-10-05 10:13:12 +02:00
Christian Göttsche
42946ec113
Introduce ARRAYSIZE
2020-10-03 19:05:40 +02:00
Christian Göttsche
ffc65b3827
Reorder check to avoid crash on invalid process field setting
...
If using a setting from a different development version with an
unsupported process field, first dereferencing Process_fields[id] yields
to a crash:
=================================================================
==19530==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000000612800 at pc 0x000000521d1a bp 0x7ffec47a5ff0 sp 0x7ffec47a5fe8
READ of size 8 at 0x000000612800 thread T0
#0 0x521d19 in readFields .htop/Settings.c:107:40
#1 0x51d117 in Settings_read .htop/Settings.c:141:10
#2 0x51c0c4 in Settings_new .htop/Settings.c:382:12
#3 0x4eafe2 in main .htop/htop.c:220:25
#4 0x7fa450570cc9 in __libc_start_main csu/../csu/libc-start.c:308:16
#5 0x427a59 in _start (.htop/htop+0x427a59)
0x000000612800 is located 0 bytes to the right of global variable 'Process_fields' defined in 'linux/LinuxProcess.c:24:18' (0x6118a0) of size 3936
SUMMARY: AddressSanitizer: global-buffer-overflow .htop/Settings.c:107:40 in readFields
Shadow bytes around the buggy address:
0x0000800ba4b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0000800ba4c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0000800ba4d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0000800ba4e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0000800ba4f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0000800ba500:[f9]f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba510: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba520: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba530: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba540: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
0x0000800ba550: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==19530==ABORTING
2020-09-17 21:46:22 +02:00
Zev Weiss
2899ed4cb0
Number CPUs from zero by default.
...
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.
2020-09-15 03:25:08 -05:00
Nathan Scott
c9ecd0fa74
Revert the vim_mode setting for now, needs a rethink
...
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.
2020-09-15 09:33:58 +10:00
Hugo Musso Gualandi
9207401f97
Clean up some code duplication in the header files
...
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.
2020-09-12 19:20:44 -03: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
Nathan Scott
5c5a599a2a
Merge branch 'hishamhm-pull-959'
2020-08-20 14:57:30 +10:00
Nathan Scott
6b443c5da9
Merge branch 'hishamhm-pull-932'
2020-08-20 14:47:07 +10:00
Daniel Flanagan
9ed47a213b
Fix whitespace
2019-10-31 11:29:28 -05:00