Commit Graph

786 Commits

Author SHA1 Message Date
Hisham 35657208d7 Disable the syscall on systems that don't have it.
Got a report in #397 that htop runs in NetBSD
masquerading as Linux and using a compatibility /proc
(like we used to in FreeBSD) and that it builds fine
apart from this syscall.
2016-02-14 12:05:35 -02:00
Hisham ae823c375a Make unsupported platform build again.
(Thanks @coypoop at #397 for the heads up!)
2016-02-14 11:45:47 -02:00
Hisham 0b70439316 Fix buffer reuse. 2016-02-13 02:18:28 -02:00
Hisham e9b32eb62f Fix memory accounting in Darwin.
htop currently expects m_size and m_resident in pages (Process.c).
According to the proc_info.h header, the values returned by libproc
are in bytes:
http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/sys/proc_info.h
Eventually we should change the htop crossplatform API to expect memory
in bytes, but this is the smaller change that should fix it.
Closes #385.
2016-02-13 02:13:57 -02:00
Hisham 3b9a4b1024 Merge branch 'master' of https://github.com/hishamhm/htop 2016-02-12 23:34:28 -02:00
Hisham 0e3cf6975f Fix crash when emptying column. Closes #381. 2016-02-12 23:33:53 -02:00
Hisham Muhammad a618f477b2 Merge pull request #387 from gaod/master
Suppress compiler warnings on FreeBSD
2016-02-12 22:47:29 -02:00
Hung-Yi Chen cc4267cc5c Suppress compiler warnings. 2016-02-13 02:09:50 +08:00
Hisham Muhammad 1bedac1ca2 Merge pull request #363 from myfreeweb/freebsd-memory-fix
Fix process memory on FreeBSD
2016-02-11 17:30:41 -02:00
Hisham 011bf30d22 Minor tweaks to the README 2016-02-11 17:20:50 -02:00
Hisham Muhammad c56b1a8830 Merge pull request #365 from deric/master
Add travis badge, update README
2016-02-11 17:18:20 -02:00
Tomas Barton 01edfcf4d4 link to the official website, paypal donate button 2016-02-11 19:17:00 +01:00
Tomas Barton d916f6e6f0 remove Debian instructions 2016-02-11 18:58:20 +01:00
Hisham e46488463d Merge branch 'master' of https://github.com/hishamhm/htop 2016-02-11 15:24:49 -02:00
Tomas Barton 8fa9da47de don't mention installing to /usr 2016-02-11 17:32:06 +01:00
Tomas Barton d408c74465 add travis badge, code formatting, updated compilation instructions 2016-02-11 14:59:45 +01:00
Greg V bb0333e45d fix process memory on FreeBSD 2016-02-11 15:52:39 +03:00
Hisham Muhammad b6f927bffa Merge pull request #359 from myfreeweb/freebsd-battery
Add FreeBSD battery support
2016-02-11 08:46:42 -02:00
Greg V f1d1d6e0d6 add FreeBSD battery support 2016-02-11 13:42:37 +03:00
Hisham 563d5d3ab9 Final touches to ChangeLog 2016-02-10 18:48:39 -02:00
Hisham f1f805f29f Support -1 as tpgid 2016-02-10 18:48:04 -02:00
Hisham 807640e49b Shorten the code using the err() function. 2016-02-03 12:42:25 +00:00
Hisham 5c593fae42 Be stricter! 2016-02-03 02:02:30 +00:00
Hisham d311e85b91 Avoid crash on huge screens.
Fix by @Explorer09 (see discussion on #355).
2016-02-02 23:20:11 +00:00
Hisham c148907e7b Try to make threads less confusing. 2016-02-02 16:39:08 +01:00
Hisham 820c079b14 Initialize default meter modes properly. 2016-02-02 16:15:07 +01:00
Hisham f87462d60e Exit on failure! 2016-02-02 16:03:00 +01:00
Hisham b2c2b2bfb3 Merge branch 'reuse-comm' 2016-02-02 15:58:50 +01:00
Hisham ffcf48fb74 Merge branch 'xalloc' 2016-02-02 15:58:45 +01:00
Hisham 1cfcc42a8f Reuse comm object if possible, avoid useless repetitions of free+strdup. 2016-02-02 15:56:52 +01:00
Hisham b54d2dde40 Check for failure in allocations. 2016-02-02 15:53:02 +01:00
Hisham 301c346c85 Update generated headers. 2016-02-02 12:11:41 +01:00
Hisham 21da044fb4 Add generated header. 2016-01-31 17:41:55 +01:00
Hisham 6434db5b6b Differentiate threads by default. 2016-01-31 12:07:48 +01:00
Hisham a1f7f2869e Add allocation tests 2016-01-31 12:01:48 +01:00
Hisham Muhammad dcfcae1ed4 Merge pull request #351 from Explorer09/graph-height
GRAPH_HEIGHT macro and 'dot' variable
2016-01-21 10:43:44 -02:00
Explorer09 040613db33 Change variable 'dot' to avoid division by reciprocal.
(Cherry-picked from d56bcd8e0d8d6a177fc2e40db32fc73ea4588684, the
experimental graph coloring branch)

The variable 'dot' in GraphMeterMode_draw now means "maximum number of
dots per value (column) in graph". The old meaning was "amount of value
that is to be represented by a dot" and was always a fraction. Due to
a limitation in floating point computing, if GRAPH_HEIGHT were not a
power of 2, then rounding errors will occur on numbers like (1.0/3).
(Currently GRAPH_HEIGHT is 4 and so no precision loss.) 'dot' was used
as a divisor, and it's "division by a reciprocal". We change that to
simple multiplication.
2016-01-21 14:06:11 +08:00
Explorer09 d54ab24d97 New macro GRAPH_HEIGHT for Graph Meter height
(Cherry-picked from e93028d7fa0c5f00b5dc3336fd28abaf905cd572, the
experimental graph coloring branch)

Currently GRAPH_HEIGHT=4 . This prevents hard-coding the height of the graph
meters, and allows user to change it at compile-time.
2016-01-21 10:11:54 +08:00
Hisham Muhammad 09cf369f2b Merge pull request #349 from Explorer09/clamp-macro
Introduce CLAMP macro. Unify all MAX(l,MIN(h,x)) uses.
2016-01-20 19:31:52 -02:00
Explorer09 6dae8108f8 Introduce CLAMP macro. Unify all MIN(MAX(a,b),c) uses.
With the CLAMP macro replacing the combination of MIN and MAX, we will
have at least two advantages:
1. It's more obvious semantically.
2. There are no more mixes of confusing uses like MIN(MAX(a,b),c) and
   MAX(MIN(a,b),c) and MIN(a,MAX(b,c)) appearing everywhere. We unify
   the 'clamping' with a single macro.
Note that the behavior of this CLAMP macro is different from
the combination `MAX(low,MIN(x,high))`.
* This CLAMP macro expands to two comparisons instead of three from
  MAX and MIN combination. In theory, this makes the code slightly
  smaller, in case that (low) or (high) or both are computed at
  runtime, so that compilers cannot optimize them. (The third
  comparison will matter if (low)>(high); see below.)
* CLAMP has a side effect, that if (low)>(high) it will produce weird
  results. Unlike MIN & MAX which will force either (low) or (high) to
  win. No assertion of ((low)<=(high)) is done in this macro, for now.

This CLAMP macro is implemented like described in glib
<http://developer.gnome.org/glib/stable/glib-Standard-Macros.html>
and does not handle weird uses like CLAMP(a++, low++, high--) .
2016-01-15 20:26:01 +08:00
Hisham Muhammad 195f5edbc8 Merge pull request #347 from mklein-de/darwin32+64
Darwin: replace vm_statistics64_* with vm_statistics_*
2016-01-13 21:32:43 -02:00
Michael Klein d312510223 Darwin: replace vm_statistics64_* with vm_statistics_*
Works with:
- Darwin 9.8.0 (OS X 10.5.8) PPC
- Darwin 15.2.0 (OS X 10.11.2) Intel
2016-01-13 20:57:29 +01:00
Hisham Muhammad 9c39422c71 Merge pull request #346 from mklein-de/vikeys
vi keys: translate ALT-h/j/k/l to arrow keys
2016-01-13 14:20:33 -02:00
Michael Klein 99b947058f vi keys: translate ALT-h/j/k/l to arrow keys 2016-01-12 21:15:04 +01:00
Hisham Muhammad 466d4da0c6 refactor *Screen classes, add InfoScreen superclass 2016-01-12 06:00:58 -02:00
Hisham Muhammad faf2860669 Merge branch 'mklein-de-envscreen' 2016-01-12 02:57: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
Hisham Muhammad fc61e25f5b Merge pull request #343 from FreedomBen/typo-priority
Fix typo: prority => priority
2016-01-06 22:00:52 -02:00