summaryrefslogtreecommitdiffstats
path: root/Meter.h
AgeCommit message (Collapse)Author
2020-12-06Introduce METER_BUFFER_CHECK and METER_BUFFER_APPEND_CHR to cleanup writing ↵Christian Göttsche
to bar buffers Closes: #294
2020-12-06Use size_t as len type for Meter_UpdateValuesChristian Göttsche
Most of the time the parameter is passed to snprintf type functions
2020-12-02Meter: document MeterClass string fieldsChristian Göttsche
2020-11-19IWYU update (Linux)Christian Göttsche
2020-10-31Use integer type for item count instead of charChristian Göttsche
2020-10-26Hold only a const version of the ProcessList in MetersChristian Göttsche
2020-10-19XUtils string related updatesChristian Göttsche
- 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-18Make all required includes explicitBenny Baumann
Information as seen by IWYU 0.12 + clang 9 on Linux
2020-10-12CPUMeter: avoid crashes and leaks in case the CPU count changesChristian Göttsche
E.g. if the HT/SMT mode changes Use separate data for sub-meters Do not reuse drawData for maintainability
2020-10-12Meter: use explicit type for drawDataChristian Göttsche
2020-10-07Mark Object instances constChristian Göttsche
2020-10-07Mark Object classes and Object class fields constChristian Göttsche
2020-10-05Update License consistently to GPLv2 as per COPYING fileDaniel Lange
2020-09-29Sort headers/includesBenny Baumann
2020-09-29Covert Meter attributes to file-local constant arraysChristian Göttsche
2020-09-12Clean up some code duplication in the header filesHugo Musso Gualandi
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-09Consolidate repeated macro definitions into one headerNathan Scott
The MIN, MAX, CLAMP, MINIMUM, and MAXIMUM macros appear throughout the codebase with many re-definitions. Make a single copy of each in a common header file, and use the BSD variants of MINIMUM/MAXIMUM due to conflicts in the system <sys/param.h> headers.
2020-09-08Further, minor cleanups to headers post-MakeHeadersNathan Scott
Remove leftover empty ifdef/endif pairs, whitespace. The generated htop.h file was also unused - removed.
2020-09-03Remove superfluous 'extern's from function declarations.Zev Weiss
Applied via: $ find * -name '*.h' -exec sed -i -r 's/^extern (.+\()/\1/;' {} + Suggested-by: Bert Wesarg <bert.wesarg@googlemail.com>
2020-09-03Axe automated header generation.Zev Weiss
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-08-20Merge branch 'hishamhm-pull-960'Nathan Scott
2020-08-18Re-generate all headers with latest scripts/MakeHeader.pyNathan Scott
Sync-up missing extern declarations for many functions.
2019-10-31Clean up existing whitespaceDaniel Flanagan
2016-05-04Rename Meter.setValues() functions to updateValues()Explorer09
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.
2016-01-21New macro GRAPH_HEIGHT for Graph Meter heightExplorer09
(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-15Introduce CLAMP macro. Unify all MIN(MAX(a,b),c) uses.Explorer09
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--) .
2015-08-27make units more dynamicChristian Hesse
Signed-off-by: Christian Hesse <mail@eworm.de>
2015-08-19remove UTF-8 code when compiling with --disable-unicodeChristian Hesse
2015-08-19make arrays one dimensionalChristian Hesse
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.
2015-03-16Fix saving of header states, motion in Setup screen.Hisham Muhammad
2015-02-03Add longer descriptions to available meters.Hisham Muhammad
2015-01-23Another mega-patch for the refactoring process.Hisham Muhammad
Kinda runs, but functionality from the original main loop is still missing. Patience.
2015-01-21Sorry about the mega-patch.Hisham Muhammad
This is a work-in-progress, code is currently broken. (Some actions, and notably, the header, are missing.)
2014-11-27Move UptimeMeter into platform-dependent area.Hisham Muhammad
Set up environment to move other meters.
2014-02-27alignment improvementsHisham Muhammad
2014-01-16BUGFIX: Fix crash when adding meters and toggling detailed CPU time.Hisham Muhammad
See https://bugzilla.redhat.com/show_bug.cgi?id=987805 for details. (thanks to Dawid Gajownik for the detailed analysis!)
2012-12-05Changes in object model: separate class objects to store vtable. Also, nicer ↵Hisham Muhammad
UTF-8 display of big numbers.
2011-12-26major header cleanupHisham Muhammad
2011-09-24Convert affinity control from the deprecated PLPA to HWLOCHisham Muhammad
2011-05-26Tempus fugit.Hisham Muhammad
2011-03-22* Option for counting CPUs from zeroHisham Muhammad
(thanks to Sean Noonan) * Meters update in every screen (no longer halting while on Setup, etc.)
2010-02-25Tempus fugit.Hisham Muhammad
2010-02-25warning fixesHisham Muhammad
2009-06-02changes for htop 0.8.2Hisham Muhammad
2009-02-17Option to display hostname in the meters areaHisham Muhammad
2008-09-23ACPI Battery meterHisham Muhammad
contributed by Ian Hands
2008-03-09Clean up headers by using 'static' whenever possible.Hisham Muhammad
Reduces resulting code size.
2008-03-09Add Unicode support, enabled with the --enable-unicodeHisham Muhammad
flag, which requires libncursesw. Thanks to Sergej Pupykin!
2006-07-11Performance improvement hackathon: improve process comparison routines,Hisham Muhammad
disable useless code in release builds such as runtime type-checking on dynamic data structures and process fields that are not being computed, faster(?) method for verifying the process owner (still need to ensure correctness), don't destroy and create process objects for hidden kernel threads over and over. Phew. I shouldn't be doing all this today, but I could not resist.
2006-06-06Regenerated all headers.Hisham Muhammad