1. 04 May, 2016 1 commit
    • Explorer09's avatar
      Rename Meter.setValues() functions to updateValues() · 9dea20e0
      Explorer09 authored
      Rationale (copied from htop issue #471):
      The function name "setValues" is misleading. For most OOP (object-
      oriented programming) contexts, setXXX functions mean they will change
      some member variables of an object into something specified in
      function arguments. But in the *Meter_setValues() case, the new values
      are not from the arguments, but from a hard-coded source. The caller
      is not supposed to change the values[] to anything it likes, but
      rather to "update" the values from the source. Hence, updateValues is
      a better name for this family of functions.
      9dea20e0
  2. 22 Mar, 2016 1 commit
    • Explorer09's avatar
      BarMeterMode_draw minor code improvement · 7b3c8bc7
      Explorer09 authored
      Removed a loop that sets the bar[] buffer with spaces and merged that
      task to the snprintf() call just below. No need for the barOffset
      variable. Display behavior is unchanged.
      
      Size comparision (when compiled on Ubuntu 14.04 64-bit):
      
          $ size htop.old htop.new
             text    data     bss     dec     hex filename
           137312   15112    3776  156200   26228 htop.old
           137216   15112    3776  156104   261c8 htop.new
      7b3c8bc7
  3. 11 Mar, 2016 1 commit
    • Explorer09's avatar
      Explicit "maxItems" property of meters · 99fb3070
      Explorer09 authored
      Two changes in this commit:
      - All meters now explicitly specify "maxItems" property, even for just
        1 item. (Exception is "container" CPU meter classes, which use
        CUSTOM_METERMODE.)
      - "maxItems" being 0 is now allowed. This will let bar meters and graph
        meters render an empty meter.
      99fb3070
  4. 02 Feb, 2016 2 commits
  5. 21 Jan, 2016 2 commits
    • Explorer09's avatar
      Change variable 'dot' to avoid division by reciprocal. · 040613db
      Explorer09 authored
      (Cherry-picked from d56bcd8e, 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.
      040613db
    • Explorer09's avatar
      New macro GRAPH_HEIGHT for Graph Meter height · d54ab24d
      Explorer09 authored
      (Cherry-picked from e93028d7, 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.
      d54ab24d
  6. 15 Jan, 2016 1 commit
    • Explorer09's avatar
      Introduce CLAMP macro. Unify all MIN(MAX(a,b),c) uses. · 6dae8108
      Explorer09 authored
      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--) .
      6dae8108
  7. 11 Jan, 2016 1 commit
  8. 23 Nov, 2015 1 commit
  9. 29 Aug, 2015 1 commit
  10. 28 Aug, 2015 1 commit
  11. 27 Aug, 2015 1 commit
  12. 25 Aug, 2015 1 commit
  13. 20 Aug, 2015 1 commit
  14. 19 Aug, 2015 4 commits
    • Christian Hesse's avatar
      simplify Meter loop · a2a34e89
      Christian Hesse authored
      * Use MIN() and MAX() to make sure values are inside bounds. This should
        fix an issue where Meters were missing dots at the bottom.
      * Remove variable 'level' and calculate on the fly.
      a2a34e89
    • Christian Hesse's avatar
    • Christian Hesse's avatar
      make arrays one dimensional · 9e67b658
      Christian Hesse authored
      With more dimensional arrays we have to define the array size. Use
      one dimensional arrays to be more flexible.
      Additionally this allows to shrink array size for ASCII.
      9e67b658
    • David Hunt's avatar
      Rename String to StringUtils. · 5e602f18
      David Hunt authored
      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
      5e602f18
  15. 17 Mar, 2015 2 commits
  16. 04 Feb, 2015 1 commit
  17. 03 Feb, 2015 1 commit
  18. 23 Jan, 2015 1 commit
  19. 22 Jan, 2015 1 commit
  20. 27 Nov, 2014 1 commit
  21. 21 Apr, 2014 1 commit
  22. 27 Feb, 2014 1 commit
  23. 16 Jan, 2014 2 commits
  24. 05 Dec, 2012 1 commit
  25. 26 Dec, 2011 2 commits
  26. 18 Nov, 2011 1 commit
    • Hisham Muhammad's avatar
      Mega-commit with features and tweaks for 1.0: · 7ca10817
      Hisham Muhammad authored
      * 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.
      7ca10817
  27. 25 Oct, 2011 1 commit
  28. 26 Aug, 2011 1 commit
  29. 26 May, 2011 1 commit
  30. 31 Mar, 2011 1 commit
  31. 22 Mar, 2011 1 commit
  32. 22 Nov, 2010 1 commit