Benny Baumann
0401df8cbd
Update key mapping documentation for sorting
2020-12-18 07:37:23 +01:00
Christian Göttsche
db5687a355
Sort in paused mode after inverting sort order
2020-12-09 13:43:07 +01:00
Maxim Zhiburt
cf306ff86e
Implement sorting in tree mode
2020-12-02 23:50:05 +01:00
Christian Göttsche
19b5141685
Hide process selection on ESC
...
Do not highlight the current process line after pressing ESC in the main
screen.
Restore after pressing any key.
2020-11-28 19:49:38 +01:00
Nathan Scott
fee217551c
Drop unneeded parameters to the ScreenManager constructor
...
All calls to ScreenManager_new always pass the same first
five values, the orientation is always HORIZONTAL and the
y1 parameter is always the height of the passed-in header
struct pointer. I think its safe to assert at this point
that no VERTICAL orientation will arrive (if it does, its
no harm in re-adding this then) - so we can remove unused
conditionals (and TODOs) based on orientation too.
2020-11-26 23:55:53 +01:00
Narendran Gopalakrishnan
09fe94da18
Improving Command display/sort
2020-11-24 19:05:48 +01:00
Christian Goettsche
f5c3349bdb
IWYU update (FreeBSD)
2020-11-19 23:51:50 +01:00
Christian Göttsche
7cf5277594
IWYU update (Linux)
2020-11-19 23:51:50 +01:00
Christian Göttsche
7914ec201e
Hashtable update
...
- use consistent type for key by introducing a new typedef
- use unsigned types for sizes
- name parameters in foreach function typedef
2020-11-17 02:01:02 +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
Daniel Lange
bb908f3dc4
Resolve merge conflicts, merge #298 "Macro cleanup" from @BenBE
2020-11-15 14:33:09 +01:00
Benny Baumann
18763051a2
Split platform dependent parts for file locks screen
2020-11-14 15:51:26 +01:00
Fynn Wulf
84dad4c38e
Implement screen for active file locks
2020-11-09 19:17:57 +01:00
Benny Baumann
0d64ca9262
Wrap inline structure definitions
2020-11-02 22:15:01 +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
db0a13970e
Convert addattrstr to static inline function
...
NB: The macro could have been a braced while(0) loop, which without optimization produces more code
2020-11-02 22:14:26 +01:00
Christian Göttsche
ac2b07eddd
Avoid some unnecessary casts and mark some not changing variables const
2020-10-27 18:00:43 +01:00
Christian Göttsche
8a08a3209c
IWYU update
...
- Add Settings forward declaration in Process.h
- Add assert.h include in XUitls.c
- Add conditional stdbool.h include in Object.h
- Drop unneeded stddef.h include in Richstring.c
- Drop unneeded unistd.h include in Process.h
- Drop unneeded string.h include in linux/Platform.c
- Use String_eq to avoid string.h include in Action.c
- Improve script to run custom iwyu version
2020-10-20 21:44:25 +02:00
Daniel Lange
475fd1ec2d
Merge branch 'help_lines' of https://github.com/cgzones/htop
2020-10-20 10:01:16 +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
af4f58d013
Misc conversion fixes
2020-10-16 19:16:53 +02:00
Christian Göttsche
898a690375
Do not hard-code line numbers in help screen building code
2020-10-14 14:34:40 +02:00
Christian Göttsche
b47bc667a2
Add key to pause process list updates
2020-10-12 13:04:00 +02:00
ryenus
32a2caa692
use 'w' for command wrapping as 'M' is already used
...
since 'M' is already used for sort-by-memory, as with:
keys['M'] = actionSortByMemory;
reorder help info about shortcut keys
2020-10-09 09:03:32 +08:00
Daniel Lange
079c2abf8e
Update License consistently to GPLv2 as per COPYING file
2020-10-05 10:13:12 +02:00
Christian Göttsche
843949131a
Drop redundant casts to the same type
2020-09-29 10:44:42 +02:00
Christian Göttsche
18b1e9fba9
Do not drop qualifier in cast
...
ListItem.c:73:33: warning: cast from 'const void *' to 'struct ListItem_ *' drops const qualifier [-Wcast-qual]
ListItem* obj1 = (ListItem*) cast1;
^
ListItem.c:74:33: warning: cast from 'const void *' to 'struct ListItem_ *' drops const qualifier [-Wcast-qual]
ListItem* obj2 = (ListItem*) cast2;
^
Process.c:434:28: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
Process* p1 = (Process*)v1;
^
Process.c:435:28: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
Process* p2 = (Process*)v2;
^
Process.c:441:36: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
Settings *settings = ((Process*)v1)->settings;
^
Process.c:443:22: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
p1 = (Process*)v1;
^
Process.c:444:22: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
p2 = (Process*)v2;
^
Process.c:446:22: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
p2 = (Process*)v1;
^
Process.c:447:22: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
p1 = (Process*)v2;
^
AffinityPanel.c:37:16: warning: cast from 'const char *' to 'void *' drops const qualifier [-Wcast-qual]
free((void*)this->text);
^
AffinityPanel.c:39:19: warning: cast from 'const char *' to 'void *' drops const qualifier [-Wcast-qual]
free((void*)this->indent);
^
linux/LinuxProcess.c:294:36: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
Settings *settings = ((Process*)v1)->settings;
^
linux/LinuxProcess.c:296:27: warning: cast from 'const void *' to 'struct LinuxProcess_ *' drops const qualifier [-Wcast-qual]
p1 = (LinuxProcess*)v1;
^
linux/LinuxProcess.c:297:27: warning: cast from 'const void *' to 'struct LinuxProcess_ *' drops const qualifier [-Wcast-qual]
p2 = (LinuxProcess*)v2;
^
linux/LinuxProcess.c:299:27: warning: cast from 'const void *' to 'struct LinuxProcess_ *' drops const qualifier [-Wcast-qual]
p2 = (LinuxProcess*)v1;
^
linux/LinuxProcess.c:300:27: warning: cast from 'const void *' to 'struct LinuxProcess_ *' drops const qualifier [-Wcast-qual]
p1 = (LinuxProcess*)v2;
^
linux/LinuxProcessList.c:62:32: warning: cast from 'const void *' to 'struct TtyDriver_ *' drops const qualifier [-Wcast-qual]
TtyDriver* a = (TtyDriver*) va;
^
linux/LinuxProcessList.c:63:32: warning: cast from 'const void *' to 'struct TtyDriver_ *' drops const qualifier [-Wcast-qual]
TtyDriver* b = (TtyDriver*) vb;
^
linux/Battery.c:130:21: warning: cast from 'const char *' to 'char *' drops const qualifier [-Wcast-qual]
free((char *) isOnline);
^
linux/Battery.c:197:26: warning: cast from 'const char *' to 'char *' drops const qualifier [-Wcast-qual]
xSnprintf((char *) filePath, sizeof filePath, SYS_POWERSUPPLY_DIR "/%s/type", entryName);
^
linux/Battery.c:209:29: warning: cast from 'const char *' to 'char *' drops const qualifier [-Wcast-qual]
xSnprintf((char *) filePath, sizeof filePath, SYS_POWERSUPPLY_DIR "/%s/uevent", entryName);
^
linux/Battery.c:262:29: warning: cast from 'const char *' to 'char *' drops const qualifier [-Wcast-qual]
xSnprintf((char *) filePath, sizeof filePath, SYS_POWERSUPPLY_DIR "/%s/online", entryName);
^
2020-09-24 20:14:17 +02:00
ryenus
f4bb50294a
show selected command wrapped in a separate window
...
For a process with a very long command, especially with many long
command line arguments, inspecting the command and its arguments could
become inconvenient.
Meanwhile htop supports the concept of "screen", or window, which is
extended here to create a dedicated "CommandScreen", making it possible
to display the command of the selected process in a separate window
meanwhile being wrapped into multiple lines.
Another benefit of using a command screen is, the user can navigate
through the wrapped lines of the command and perform actions like
searching and filtering.
2020-09-24 19:22:25 +02:00
Christian Göttsche
5233817122
Avoid unsigned integer overflow
...
unsigned integer overflows are well-defined, but they might point to a counting issue.
Having the code free of unsigned overflows makes it easier to spot potential bugs.
Action.c:332:27: runtime error: implicit conversion from type 'int' of value -1 (32-bit, signed) to type 'uid_t' (aka 'unsigned int') changed the value to 4294967295 (32-bit, unsigned)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior Action.c:332:27 in
2020-09-24 18:06:59 +02:00
Christian Göttsche
b85a31415e
Avoid checking of undefined macros
...
These feature macros are either define or not defined at all at the
configure step.
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
c7568bc054
Fix memory leak in actionSetAffinity()
...
Call correct delete method for AffinityPanel
2020-09-17 22:04:11 +02: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
Bert Wesarg
94b8c2e714
fix width of `AffinitPanel`
...
The panel size of 15 includes the gap to the next panel, thus use 14 as
the minimum size and let the caller of `AffinityPanel_new` handle the
gap.
2020-08-26 22:03:11 +02: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
Christian Göttsche
4e2b9f0965
Avoid shadowing warnings
2020-08-25 12:01:56 +02:00
Christian Göttsche
b92f62f912
Remove trailing whitespaces
2020-08-21 10:37:33 +02:00
Nathan Scott
a82fd262d7
Merge branch 'hishamhm-pull-960'
2020-08-20 14:19:53 +10:00
Nathan Scott
b30c22d687
Merge branch 'hishamhm-pull-914'
2020-08-20 14:09:27 +10:00
Nathan Scott
e7d2f9383a
Merge branch 'hishamhm-pull-857'
2020-08-20 09:47:13 +10:00
Daniel Flanagan
dd33444f7e
Clean up existing whitespace
2019-10-31 11:39:12 -05:00
senjan
131a6c6e2b
CPU_KERNEL redefined
2019-05-26 21:20:00 +02:00
wangqr
da60309fc9
Don't follow process when selecting non-process-specific options
...
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
2019-02-12 22:15:51 -05:00
syrrim
8d7afb33e2
added MainPanel actions n and N for find next and find prev. closes #601
2018-11-03 15:59:55 -04:00
Hisham Muhammad
666e1e76b3
Fix virtualization color in help screen
...
Closes #785 .
2018-06-13 00:47:08 -03:00
Hisham Muhammad
0dbedf95a8
Collapse current subtree pressing Backspace
2018-04-05 19:38:13 -03:00
Hisham Muhammad
8c653212c0
Replace size_t with int/void* union
...
I was occasionally passing negative values to size_t.
Plus, this better reflects the intent of the variant argument.
Reported by Coverity:
https://scan8.coverity.com/reports.htm#v13253/p10402/fileInstanceId=22093891&defectInstanceId=7543346&mergedDefectId=174179&fileStart=251&fileEnd=500
2018-02-18 10:38:49 -03:00
guoci
5fca258f33
call clear() function when SIGWINCH is received. ( #660 )
2018-02-17 16:25:57 -02:00
Hisham Muhammad
e3f65c8ec2
Make 'c' key work with threads as well.
2017-09-14 17:10:39 -03:00
Richard
d5faf64374
Mark some things as const
...
Several string pointer arrays pointed to const strings
but were not const themselves.
A few various structures and arrays were also marked const.
2017-07-22 22:34:30 -05:00
Hisham
0c168471b6
F6 is actually used for both actions, depending on context.
2017-04-24 23:38:28 -03:00
ryenus
e0e84401e4
update keymap in help
2017-04-19 18:20:42 +08:00
Hisham
572546f806
Auto-follow process after a search.
...
See #237 .
2016-05-05 10:30:06 -03:00
Marco Hinz
0a4a447d0d
Add "p" to Help
2016-03-01 00:57:09 +01:00
Vasyl Boroviak
d43e709364
Typo in the word "priority"
2016-02-17 13:44:07 +11:00
Hisham
474d26cea8
Portable affinity using hwloc
2016-02-14 19:57:29 -02:00
Hisham
c148907e7b
Try to make threads less confusing.
2016-02-02 16:39:08 +01:00
Hisham Muhammad
466d4da0c6
refactor *Screen classes, add InfoScreen superclass
2016-01-12 06:00:58 -02:00
Hisham Muhammad
032af1577c
Merge branch 'envscreen' of https://github.com/mklein-de/htop into mklein-de-envscreen
2016-01-12 02:55:43 -02:00
Hisham Muhammad
d850803eb8
Merge branch 'master' of https://github.com/hishamhm/htop
2016-01-11 20:39:08 -02:00
Hisham Muhammad
c6ca311d18
Present IO-Wait as a dot in monochrome. Fixes #345 .
...
Thank you @Explorer09 for the report!
2016-01-11 20:38:10 -02:00
Benjamin Porter
4b29e8485f
Fix typo: prority => priority
2016-01-06 13:49:49 -09:00
Michael Klein
0919ea32f9
'e' displays environment of current process
...
- uses sysctl(KERN_PROCARGS2) on *BSD
- doesn't work on Linux yet
2015-12-02 23:26:00 +01:00
Hisham Muhammad
78be8201dc
Add expand/collapse on additional clicks!
2015-08-19 19:09:54 -03:00
David Hunt
5e602f18d5
Rename String to StringUtils.
...
Fixes building on case-insensitive filesystems where String.h gets confused with <string.h>.
From d734dacea0a10d0465dad4e95b3421511e7da112 Mon Sep 17 00:00:00 2001
From: David Hunt <dhunt@iolanthe.attlocal.net>
Date: Sat, 11 Jul 2015 20:56:31 -0500
Subject: [PATCH 1/8] Rename String to StringUtils
2015-08-19 13:45:20 -03:00
Tobias Geerinckx-Rice
fc0e44662c
Add shortcut key 'p' to toggle full program paths.
2015-08-07 14:20:14 +02:00
Hisham Muhammad
b1f934c5d5
Visual tweaks: change color when following, add Broken Gray theme.
2015-04-09 15:17:20 -03:00
Hisham Muhammad
a93db5234c
handle clicks on panel header line
2015-03-24 23:12:43 -03:00
Hisham Muhammad
7cb8cb05fb
Simplify constructors.
2015-03-23 19:24:34 -03:00
Hisham Muhammad
b1b3f57976
Tempus fugit.
...
Conflicts:
htop.c
htop.h
2015-03-23 18:15:56 -03:00
Hisham Muhammad
ade7993fcb
incremental search and filter reintegrated!
2015-03-23 17:04:53 -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
9ff5d2b243
Fix saving of header states, motion in Setup screen.
2015-03-16 23:01:21 -03:00
Hisham Muhammad
59914bfd5b
Rename Setup_run to Action_runSetup.
2015-03-16 22:58:23 -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
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