Commit Graph

184 Commits

Author SHA1 Message Date
Christian Göttsche 6a03cd237a Avoid warning about unreachable break statement
htop.c:112:13: warning: 'break' will never be executed [-Wunreachable-code-break]
            break;
            ^~~~~
htop.c:109:13: warning: 'break' will never be executed [-Wunreachable-code-break]
            break;
            ^~~~~
2020-09-24 20:14:17 +02:00
Christian Göttsche f4e1f4619f Add DeepCode inline suppression
We just want a non-NUll pointer in the matching pid hashtable.
The pointer is not dereferenced anyways.
2020-09-24 20:04:47 +02:00
Christian Göttsche e719a85994 Mark noreturn functions 2020-09-18 12:28:40 +02:00
Christian Göttsche c3952e7c20 Use strict function prototypes
int foo(); declares a function taking any number of arguments.
2020-09-18 12:28:40 +02:00
Christian Göttsche dd6500c7c7 Sort option in help message 2020-09-18 12:27:45 +02:00
Christian Göttsche f6b0efded5 Convert short version option to capital V
v is generally used for enabling verbose mode
2020-09-18 12:27:45 +02:00
Michael F. Schönitzer 1061bd719a Change option '-m' to '-M' for consistency of cli
`-m` was added as short option for `--no-mouse`, this is inconsistence
to the rest of the cli since otherwise the short options to disable a
feature are capital letters. Therefore this commit renames the option to
`-M`.

This commit also documents the option in the man page.
2020-09-18 12:04:21 +02:00
Christian Göttsche 71c068ad28 Free movingBar memory on exit 2020-09-17 22:04:11 +02:00
Christian Göttsche 1f5bd5c4c8 Avoid modifying optarg
It might be working, but lets rather not modify getopt's global variable
`optarg`.

Also there is no need to call `getenv("USER")`, just use `geteuid()`.
2020-09-17 21:55:26 +02:00
Nathan Scott 4597332959 Switch variable/field naming from WhiteList to MatchList 2020-09-09 19:38:15 +10:00
Nathan Scott 0750ff7e76 Fix regression in -u optional-argument handling
Resolves https://github.com/htop-dev/htop/issues/91
2020-09-04 09:50:18 +10:00
Christian Hesse db5adbeae0 add option (-U, --no-unicode) to disable unicode at runtime 2020-09-01 10:09:00 +02:00
Nathan Scott 47a7d0bd74 Merge branch 'configure' of https://github.com/cgzones/htop into cgzones-configure 2020-08-31 17:13:37 +10:00
Nathan Scott 0a835e13bf Simplify the --version output, old dates are confusing people
Drop the copyright notice from the version output as a number
of people seem to be confused by what this means, and we can
do without all the (well intentioned) bug reports.
2020-08-31 16:14:23 +10:00
Christian Göttsche 5bee902665 Drop configure option --enable-proc
Move to HTOP_LINUX, as --enable-proc implies my_htop_platform=linux, and
the Linux features do not work without a proc fs.
2020-08-28 13:10:16 +02:00
Nathan Scott cca07e9bc9 Merge branch 'hishamhm-pull-1011' 2020-08-20 15:18:20 +10:00
Nathan Scott 011125dab2 Merge branch 'hishamhm-pull-923' 2020-08-20 14:42:18 +10:00
Nathan Scott a82fd262d7 Merge branch 'hishamhm-pull-960' 2020-08-20 14:19:53 +10:00
Nathan Scott fb679dfb18 Merge branch 'hishamhm-pull-884' 2020-08-20 13:57:09 +10:00
Jorge Pereira 832e77c754
Let the user know about their error
If the user informed wrong value, then let them know about that.
2020-06-11 13:44:16 -03:00
Daniel Flanagan dd33444f7e Clean up existing whitespace 2019-10-31 11:39:12 -05:00
MartinJM b0e24cd5a5 Added an option to disable the mouse. 2019-07-12 21:41:09 +02:00
Lion Yang dc7d035238 htop.c: remove unused "--io" / "-i" (#811)
Introduced from 3383d8e556 (2.0.0) but never used.
2019-02-10 14:16:46 +01:00
solanav 7c62db73fc User option "-u" now defaults to $USER 2019-01-31 00:28:09 +01:00
Lion Yang 67e368914a htop.c: remove unused "--io" / "-i" (#811)
Introduced from 3383d8e556 (2.0.0) but never used.
2018-08-25 10:15:59 -03:00
Christian Hesse 08a9b051c5 fix option string
This broke with commit db05ba6106.
2018-05-22 23:19:19 -03:00
Daniel Flanagan db05ba6106 Add -t command-line flag for tree view 2018-04-05 19:52:19 -03:00
Hisham 565101234a Remove old commented code. 2016-02-19 13:39:38 -02:00
Hisham d4741d5410 Fix error test — looks like nobody bumped into this one! 2016-02-19 13:39:16 -02:00
Hisham b54d2dde40 Check for failure in allocations. 2016-02-02 15:53:02 +01:00
Christian Hesse 9ca646acbb align help output 2016-01-04 16:02:29 +01:00
Hisham Muhammad fbb4c49edd gcc warning cleanups. 2015-10-05 11:27:44 -03:00
Michael McConville ad1a0ad08d Replace some remaining tabs 2015-09-19 12:21:22 -04:00
Michael McConville 571cbc0aa1 Change more fprintf(stderr, ...); exit(...); to err[x](...). Tweak a few existing ones and fix some style. 2015-09-19 12:15:26 -04:00
Michael McConville a9a5a539cf (Very) initial working OpenBSD port 2015-09-18 00:46:48 -04:00
Christian Hesse 77df258636 remove duplicate code 2015-07-16 08:17:12 +02:00
Hisham Muhammad 54f8d8154b Do not trust isalpha(c) for values > 255.
Fixes #174.

Conflicts:
	Panel.c
2015-03-23 18:14:35 -03:00
Hisham Muhammad d0c72c3fb2 Move FunctionBar inside Panel 2015-03-23 15:26:56 -03:00
Hisham Muhammad 1084a3ff8f Working on integration of IncSet in new branch. 2015-03-22 22:39:33 -03:00
Hisham Muhammad 967b6569a1 Merge branch 'wip' of https://github.com/hishamhm/htop into freebsd 2015-03-15 22:57:01 -03:00
Hisham Muhammad d2acffa59a Merge branch 'wip' of https://github.com/hishamhm/htop into freebsd
Conflicts:
	htop.c
	unsupported/Platform.h
2015-03-15 22:53:10 -03:00
Hisham Muhammad e3fe3962cb Move more Linux-specific code into Linux subdir. 2015-03-15 20:29:13 -03:00
Hisham Muhammad c2108e5a48 Another mega-patch for the refactoring process.
Kinda runs, but functionality from the original main loop
is still missing. Patience.
2015-01-23 03:08:21 -02:00
Hisham Muhammad 3383d8e556 Sorry about the mega-patch.
This is a work-in-progress, code is currently broken.
(Some actions, and notably, the header, are missing.)
2015-01-21 23:27:31 -02:00
Hisham Muhammad 03ca7da85f Merge branch 'master' of https://github.com/hishamhm/htop 2014-11-27 20:10:42 -02:00
Hisham Muhammad b4f6b11092 Move "get max pid" code into platform specific area. 2014-11-27 20:10:23 -02:00
Hisham Muhammad a89758094f check /proc only if using /proc 2014-11-27 20:04:53 -02:00
Hisham Muhammad aaaaf063a1 Builds on Linux again! 2014-11-24 19:22:50 -02:00
Hisham Muhammad eb229d9aef Changes for supporting separate platform subdirectories. 2014-11-24 18:55:03 -02:00
Hisham Muhammad 9faf4938b8 Refactored key handlers.
Made the logic more modular, hopefully easier to follow,
and removed repeated code.
Plus, some optimization in RichString code.
2014-11-19 23:17:52 -02:00
Hisham Muhammad eb196f8ba4 Get two data points for meters.
Ensure one mini-reading-cycle runs before getting the UI active
so we have two data points to get better meter measurements from
the get-go.
2014-06-04 16:45:55 -03:00
Hisham Muhammad b7de9bd0f5 Don't stop refreshing if clock was adjusted. 2014-05-05 23:18:14 -03:00
Hisham Muhammad 7f92c58916 Avoid weird behavior when exiting help pressing keys such as F2. 2014-05-03 18:08:12 -03:00
Hisham Muhammad 88c3758051 Now, when you disable a filter (F4 → Esc), it will go back to unfiltered mode
but the current process will remain selected (so you can filter, choose and
then go back to unfiltered mode to see the children of that process).

Inspired by feedback at http://www.reddit.com/r/linux/comments/23wpc7/announcing_htop_103_with_new_features_bugfixes/ch1paos
2014-04-25 16:05:25 -03:00
Hisham Muhammad 100bd10b1d Make blue text more readable. Closes #55. 2014-04-24 13:15:52 -03:00
Hisham Muhammad d28b281165 Fix compiler complaints. 2014-04-22 18:19:24 -03:00
Hisham Muhammad 79e390120a Remove use of usleep, which is sadly obsolete. 2014-04-21 19:37:57 -03:00
Hisham Muhammad 30bafafb24 avoid strtok and reduce scope of variables. 2014-04-21 19:16:16 -03:00
Hisham Muhammad 19b438de10 Improve discoverability of the expand/collapse feature.
It is now accessible via F6 when on tree view (as a bonus, it is
now also reachable via the mouse). The function bar now dynamically
changes to reflect the toggle nature of the tree-view mode (F5)
and the F6 key serves as expand/collapse when on tree mode,
and its previous behavior of bringing up the "Sort By" menu
(which only made sense on non-tree mode). Users wishing to go to
the "Sort By" menu straight from Tree View can still do so with the
"<" and ">" keys (the top-compatible keys for sort selection).
2014-04-09 18:02:50 -03:00
Hisham Muhammad 1d9e1b0118 Add missing check for return value and be more conservative in constructs to avoid future slips of this kind. 2014-04-09 14:47:32 -03:00
Hisham Muhammad 4256c23d84 Refactor the drawing of the help screen 2014-01-14 00:24:12 -02:00
Hisham Muhammad 1c0e93c1bd First new feature of the git era! "c" key tags all children of a process. 2014-01-14 00:23:41 -02:00
Hisham Muhammad 8ace29c267 Make CPU meter optionally account guest time in its percentages 2013-12-18 02:58:34 +00:00
Hisham Muhammad ee5dc46fee Don't end up killing init if process selected to be killed terminates before the user selects a signal. Closes #3606072. 2013-02-26 20:24:27 +00:00
Hisham Muhammad 00b324bfc1 Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 2012-12-05 15:12:20 +00:00
Hisham Muhammad 2a73405cd0 search and filter for the strace and lsof screens! 2012-11-10 00:31:37 +00:00
Hisham Muhammad 47e881f460 Add IO priority support ('i' key) 2012-10-04 23:59:45 +00:00
Hisham Muhammad e6c6d7fbf7 Add -p flag, contributed by Rob Hoelz 2012-08-10 21:54:41 +00:00
Hisham Muhammad 0d8f654343 allow 'k' to kill multiple processes again (when did this break?...) 2012-06-05 19:18:54 +00:00
Hisham Muhammad fae598fce8 Continue following when switching to tree view. Patch by Richard Wang. 2012-05-28 20:42:40 +00:00
Hisham Muhammad ac36e4acbf fix message in help screen 2012-05-28 01:02:06 +00:00
Hisham Muhammad 05a78c8111 Auto-follow process when selecting which signal to use when killing a process.
This avoids killing the wrong process.
2012-03-30 01:20:32 +00:00
Hisham Muhammad bca656c79e Fix crashes when process list is empty 2012-03-05 11:18:27 +00:00
Hisham Muhammad 1a604a05a5 BUGFIX: behavior of 'F' (follow) key was broken, also affecting the
persistence of mouse selections. Closes #3165065.
2012-02-02 23:45:40 +00:00
Hisham Muhammad ff8d54c221 Extra check if Process_getAffinity fails.
I could not reproduce the crash in current SVN 
(I've been adding checks for problems like this),
but the sanity check looks correct.
Thanks to Cybjit. Closes #3481053.
2012-01-29 23:51:36 +00:00
Hisham Muhammad 45f7a4fc8d Remove old memory debugging routines. We have Valgrind nowadays. 2011-12-26 22:04:29 +00:00
Hisham Muhammad 84281bdc44 major header cleanup 2011-12-26 21:35:57 +00:00
Hisham Muhammad 81e44312b4 Use strdup explicitly 2011-12-25 20:23:53 +00:00
Hisham Muhammad bfd86a60cc Keep panel structure up-to-date as process list changes when headers are updated during the screen manager. Hopefully closes #3444533. 2011-12-01 12:31:57 +00:00
Hisham Muhammad bc87a8ff8c Remove bundled hwloc-1.2.1. Use either native Linux affinity support or an external libhwloc.
(for details see https://sourceforge.net/mailarchive/forum.php?thread_name=CAJpkDYeZpwqcWxZ77wq6bMrnhn-KzkU1xAqb3cU0drfnA3n9FQ%40mail.gmail.com&forum_name=htop-general )
2011-11-21 02:52:41 +00:00
Hisham Muhammad 7ca1081712 Mega-commit with features and tweaks for 1.0:
* Performance improvements
* Support for splitting CPU meters into two or four columns
  (thanks to Wim Heirman)
* Switch from PLPA, which is now deprecated, to HWLOC.
* Bring back support for native Linux sched_setaffinity,
  so we don't have to use HWLOC where we don't need to.
* Support for typing in user names and column fields in selection panels.
2011-11-18 06:08:56 +00:00
Hisham Muhammad 88f6de2352 build fixes 2011-11-05 04:42:35 +00:00
Hisham Muhammad e204861de5 Allow typing to select items in various panels (sort, user, signal).
Factored code from the SignalsPanel to apply to all selections from main screen.
Closes feature request #3425304.
2011-11-05 04:19:47 +00:00
Hisham Muhammad ca6b9238a3 Support for UTF-8 tree drawing
(thanks to Bin Guo)
2011-11-03 22:12:12 +00:00
Hisham Muhammad 75080ce79d Use wider PID columns in 64-bit machines with larger pid_max values. 2011-09-29 18:40:23 +00:00
Hisham Muhammad ec17b7029a Convert affinity control from the deprecated PLPA to HWLOC 2011-09-24 00:30:47 +00:00
Hisham Muhammad d07b043ee0 Fix --sort-key=help 2011-09-08 04:47:48 +00:00
Hisham Muhammad b288eb88c0 minor change to improve portability 2011-09-08 04:29:23 +00:00
Hisham Muhammad f7fe4b4722 Fix off-by-one error in PROCESSOR display 2011-09-08 02:48:53 +00:00
Hisham Muhammad 25a2aada3c Fix on-screen documentation regarding [ and ] 2011-09-08 01:36:08 +00:00
Hisham Muhammad 11092662ee incremental filtering
plus some fixes
2011-09-08 01:17:26 +00:00
Hisham Muhammad 5dfb46e14f Stricter checks for command-line options
(thanks to Sebastian Pipping)
2011-08-26 21:04:26 +00:00
Hisham Muhammad 7a9615960f ncurses does not support the scrollwheel well, but this is a step in that direction. 2011-05-26 16:32:50 +00:00
Hisham Muhammad 219bb9ccff handle large values for process time 2011-03-28 19:06:06 +00:00
Hisham Muhammad a9c0ea3753 * Option for counting CPUs from zero
(thanks to Sean Noonan)
* Meters update in every screen (no longer halting while on Setup, etc.)
2011-03-22 20:37:08 +00:00
Hisham Muhammad 4367e64b1d Fix online help! 2010-11-24 18:43:31 +00:00
Hisham Muhammad d8e1480a27 Remove arbitrary limit from rich strings
Fix subtree hiding
Fix reading of CPU values in hidden threads
Fix hiding of zombie processes as kernel threads
Remove "debug proc" code
Code cleanup in processElements
2010-11-22 12:40:20 +00:00
Hisham Muhammad 0ff54ebac9 Fix search by process name when processes are filtered by user. Closes #2803481. 2010-11-20 20:00:31 +00:00
Hisham Muhammad 6486229308 add support for steal/guest CPU time measurement
simplify processor data accounting (add CPUData structure)
remove Process_clone trick
2010-08-24 23:20:38 +00:00
Hisham Muhammad 9eb912149e expand/collapse tree 2010-06-17 19:02:03 +00:00