summaryrefslogtreecommitdiffstats
path: root/Meter.c
AgeCommit message (Collapse)Author
2021-01-15LED Meter: display wide characters and restore non-wide ncurses supportChristian Göttsche
Print wide characters, like degree sign, properly via mvadd_wch(). Ignore attributes when returning value from RichString_getCharVal() in non-wide ncurses mode to test against raw characters.
2021-01-13RichString_appendChr: add parameter to set attributesChristian Göttsche
Allows to set attributes when padding process fields in non-wide ncurses mode. Closes: #475
2021-01-11Mark several non-modified pointer variables constChristian Göttsche
2021-01-11Add wrapper function for free and strdupChristian Göttsche
Reduces code in callers and helps avoiding memory leaks.
2021-01-10RichString_setAttrn: refactor to take a length instead of a stop indexChristian Göttsche
Fixes: #459
2021-01-09Convert unnecessary static variablesChristian Göttsche
They are not used in any other function and are not used maybe uninitialized.
2020-12-26LoadMeter: dynamically adjust color and total of barChristian Göttsche
Change the color and total based on the actual 1min load value: < 1 : green and total of 1.0 < cpu-count : yellow and total of cpu-count else : red and total of 2*cpu-count Closes: #32
2020-12-20Minor typo and comment clarificationBenny Baumann
2020-12-20BarMeter: rework text paddingChristian Göttsche
In case the text is too long for the bar, try to fit by truncating at a space character. E.g. [|24.1% 2000Mhz 40°C] [24.1% 2000Mhz 40°C] [||||24.1% 2000Mhz] [|||24.1% 2000Mhz] [||24.1% 2000Mhz] [|24.1% 2000Mhz] [24.1% 2000Mhz] [|||| 24.1%] [|||| 24.1%] [|||| 24.1%] [||||24.1%] [|||24.1%] [||24.1%] [|24.1%] [24.1%] [24.1] [24.] [24] [2]
2020-12-20Meter: fix artifacts with very tiny widthChristian Göttsche
- The Bar Meter might override the right border - The TextMeter might wrap-around into the next line
2020-12-15Meter: restore non-wide-character buildChristian Göttsche
Use mbstowcs() only with wide ncurses support. Closes: #401
2020-12-08Split RichString_(append|appendn|write) into wide and asciiChristian Göttsche
RichString_writeFrom takes a top spot during performance analysis due to the calls to mbstowcs() and iswprint(). Most of the time we know in advance that we are only going to print regular ASCII characters.
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-06IWYU updateChristian Göttsche
2020-12-05Meter: fix bar coloring without wide ncurses supportChristian Göttsche
attrset() seems to not work with mvaddchnstr()
2020-12-05Resolve conversion from int to charChristian Göttsche
2020-12-05Resolve conversion from int to unsigned and backChristian Göttsche
2020-11-28Update even more snprintfsChristian Göttsche
Use size of actual buffers instead of magic numbers
2020-11-25Add support to change numeric options in settings screenChristian Göttsche
Like delay or highlightDelaySecs
2020-11-25Fully support non-ascii characters in Meter-BarChristian Göttsche
Currently the code does not handle multi-byte characters, so length- computations take the raw count of C characters and not the to displayed size into account. An example is the degree sign for temperatures. Closes: #329
2020-11-02Embracing branchesBenny Baumann
2020-11-02Spacing around operatorsBenny Baumann
2020-11-02Spacing after keywords (for)Benny Baumann
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-19Assert allocating non-zero size memoryChristian Göttsche
Allocating zero size memory results in implementation-defined behavior: man:malloc(3) : If size is 0, then malloc() returns either NULL, or a unique pointer value that can later be successfully passed to free().
2020-10-18Make all required includes explicitBenny Baumann
Information as seen by IWYU 0.12 + clang 9 on Linux
2020-10-16Rename StringUtils.[ch] to XUtils.[ch]Benny Baumann
2020-10-12Meter: use explicit type for drawDataChristian Göttsche
2020-10-10Mark Object pointer to _display function constChristian 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-29Covert Meter attributes to file-local constant arraysChristian Göttsche
2020-09-29Drop redundant casts to the same typeChristian Göttsche
2020-09-24Drop unused macrosChristian 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-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-18fixed display of blank barsJonischkeit Clemens
The buffer for blank bars was left uninitialized resulting in random looking characters sometimes even overwriting the end of the bar.
2019-10-31Clean up existing whitespaceDaniel Flanagan
2018-02-18Fix out-of-bounds readHisham Muhammad
Detected by Coverity: https://scan8.coverity.com/reports.htm#v13252/p10402/fileInstanceId=22093847&defectInstanceId=7543344&mergedDefectId=174181
2018-02-18Fix indentationHisham Muhammad
2018-02-13Fix issue with small terminals.Hisham Muhammad
Fixes #733.
2018-02-04Clarify we are looking for the null terminationcoypoop
Not for a comparison to zero
2017-07-27Security review: check results of snprintf.Hisham Muhammad
Calls marked with xSnprintf shouldn't fail. Abort program cleanly if any of them does.
2017-07-26Merge pull request #651 from Explorer09/graph-mode-drawHisham Muhammad
Round values in graph drawing (instead of implicit truncate)
2017-07-22Mark some things as constRichard
Several string pointer arrays pointed to const strings but were not const themselves. A few various structures and arrays were also marked const.