summaryrefslogtreecommitdiffstats
path: root/Settings.c
Commit message (Collapse)AuthorAgeFilesLines
* Update Settings_newScreen with single-line sortKey checking.Nathan Scott2022-05-011-5/+1
| | | Co-authored-by: BenBE <BenBE@geshi.org>
* Remove redundant null checks on Settings_write (covscan)Nathan Scott2022-04-301-13/+11
| | | | | | | | Coverity scan reports that there is dead code in Settings_write checking for nulls that have already been dereferenced on every code path leading to the check. This is likely a hangover from times when the screens pointer was only conditionally allocated - they're not needed anymore.
* Add array bounds checking for the Process_fields array (covscan)Nathan Scott2022-04-301-1/+7
| | | | | | | Coverity scan reports there may be a code path that would cause an overrun in the (relatively new) ScreenSettings code where it evaluates default sort direction. Add bounds check and default to descending instead of a potentially invalid array access.
* Fix header layout and meters reset if a header column is emptyDaniel Lange2022-04-021-2/+9
| | | | | Closes #880 Patch from BenBE and cgzones
* Set correct default sorting directionChristian Göttsche2021-12-171-8/+8
| | | | | Respect the field option defaultSortDesc for the default screen sort direction, e.g. for CPU%.
* Do not combine default and configuration process fieldsChristian Göttsche2021-12-171-2/+4
| | | | | | | | When reading a configuration file with the syntax previous to the screens update Settings_defaultScreens() will add the default fields and later ScreenSettings_readFields() will add the ones from the configuration file. This will duplicate some fields and corrupt the columns due to the boundless Command field.
* Mark ScreenDefaults constChristian Göttsche2021-12-171-1/+1
|
* Add ScreenSettings_delete helperChristian Göttsche2021-12-081-3/+7
|
* Settings: initialize default sort key for new screenpanelChristian Göttsche2021-12-081-10/+14
| | | | | | Use C99 struct initialization, which also makes using calloc redundant. htop: Process.c:1179: int Process_compareByKey_Base(const Process *, const Process *, ProcessField): Assertion `0 && "Process_compareByKey_Base: default key reached"' failed.
* Fix memory leak on shutdown in new screen settings code.Nathan Scott2021-12-071-1/+2
| | | | | Also tidy up the calloc call parameters in the initial allocation of this pointer, thanks to @BenBE for noticing.
* Fix misc styleguide issues and add missing header filesSohaib Mohamed2021-12-071-4/+4
| | | | Signed-off-by: Sohaib Mohamed <sohaib.amhmd@gmail.com>
* Enable tabs for a fresh install of htop OnlySohaib Mohamed2021-12-071-1/+1
| | | | | | | | If the new htop is configured with htoprc having no tabs (eg on upgrade) then the interface will not automatically introduce/enable them. However, for a fresh install of htop, enabling them automatically Signed-off-by: Sohaib Mohamed <sohaib.amhmd@gmail.com>
* Fixup tabs with dynamic Columns - add missing `Dynamic()`Sohaib Mohamed2021-12-071-1/+4
|
* Improvements to the tab code after initial feedbackNathan Scott2021-12-071-37/+48
|
* Introduce screen tabsHisham Muhammad2021-12-071-71/+222
| | | | This is a forward port (by nathans) of Hisham's original code.
* Validate meter configuration before proceedingBenny Baumann2021-10-061-1/+24
|
* Properly release memory on partially read configurationBenny Baumann2021-10-061-6/+14
|
* Settings: use size_t for meter count in headerChristian Göttsche2021-10-011-4/+4
| | | | | | Header.c:150:26: error: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Werror,-Wimplicit-int-conversion] colSettings->len = len; ~ ^~~
* Improve configuration file version diagnostic formatting slightlyNathan Scott2021-09-271-2/+3
|
* Update license headers to explicitly say GPLv2+Daniel Lange2021-09-221-1/+1
|
* Settings: set ok when reading configuration from sysconfdirChristian Hesse2021-09-101-1/+1
| | | | | Without this htoprc from sysconfdir is ignored and default meters are loaded.
* Add missing end-of-line to htoprc file version mismatch warningNathan Scott2021-09-081-1/+1
|
* Drop redundant semicolonsChristian Göttsche2021-09-041-2/+2
|
* Settings: enclose casted macro argument in parenthesisChristian Göttsche2021-09-041-1/+1
|
* Reduce variable scopeChristian Göttsche2021-09-041-1/+2
| | | | | Also avoid declaring variables of different type, pointer and array, in the same line.
* Settings: create default meters on no existing config fileChristian Göttsche2021-09-021-0/+3
| | | | | | | | If htop is started for the first time and no configuration file exists the header is empty cause no meters are added as a default. Add the default meters if parsing all available configuration paths failed.
* Fix resource leaks dealing with unrecognised config file versionNathan Scott2021-08-311-0/+2
| | | | | Plug leaks of an open file descriptor and dynamically allocated 'option' when we bail out early reading unknown config version.
* Shorten crash output to fit on screenChristian Göttsche2021-08-261-49/+61
|
* IWYU updateChristian Göttsche2021-08-251-0/+1
|
* HeaderLayout: save name in configurationChristian Göttsche2021-08-241-2/+3
| | | | | | Use a name in the user configuration file instead of the compile time enum value, so that future reorderings or insertions do not change the user selected layout.
* Merge branch 'header_fmt' of cgzones/htopDaniel Lange2021-08-231-51/+98
|\
| * Add option to change Header layoutChristian Göttsche2021-08-221-51/+98
| |
* | Merge branch 'config_versions' of fasterit/htopDaniel Lange2021-08-231-1/+11
|\ \ | |/ |/|
| * Apply approved warning message suggested by nathansDaniel Lange2021-08-231-4/+4
| |
| * Introduce versioned config files and config_reader_min_versionDaniel Lange2021-08-131-1/+11
| |
* | Merge branch 'read-settings-defaults' of bjpbakker/htopDaniel Lange2021-08-181-16/+7
|\ \ | |/ |/|
| * Read settings after applying defaultsBart Bakker2021-08-021-16/+7
| | | | | | | | | | | | | | | | Default settings are used as a base and only settings specified in `htoprc` are applied on top of it. This patch removes the special case for applying some defaults when the config does not contain a `meters` key. All defauls are set before any attempt to read settings, so only keys actually present in the config file are overridden.
* | PCP: support for 'dynamic columns' added at runtimeSohaib Mohamed2021-08-131-15/+43
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements support for arbitrary Performance Co-Pilot metrics with per-process instance domains to form new htop columns. The column-to-metric mappings are setup using configuration files which will be documented via man pages as part of a follow-up commit. We provide an initial set of column configurations so as to provide new capabilities to pcp-htop: including configs for containers, open fd counts, scheduler run queue time, tcp/udp bytes/calls sent/recv, delay acct, virtual machine guests, detailed virtual memory, swap. Note there is a change to the configuration file path resolution algorithm introduced for 'dynamic meters'. First, look in any custom PCP_HTOP_DIR location. Then iterate, in priority order, users home directory, then local sysadmins files in /etc/pcp/htop, then readonly configuration files below /usr/share/pcp/htop. This final location becomes the preferred place for our own shipped meter and column files. The Settings file (htoprc) writing code is updated to not using the numeric identifier for dynamic columns. The same strategy used for dynamic meters is used here where we write Dynamic(name) so the name can be setup once more at start. Regular (static) columns writing to htoprc - i.e. numerically indexed - is unchanged.
* Disable mouse option when support is unavailablenia2021-07-151-0/+6
|
* Whitespace around operatorsBenny Baumann2021-07-151-1/+1
|
* Allow for highlighting of deleted executables to be configuredBenny Baumann2021-05-231-0/+4
| | | | Fixes #383
* Print current settings on crashChristian Göttsche2021-05-161-7/+17
|
* Add read-only optionChristian Göttsche2021-04-141-0/+10
| | | | | Add command line option to disable all system and process changing features.
* Use unsigned types for CPU counts and associated variablesChristian Göttsche2021-03-191-3/+3
|
* Merge pull request #436 from cgzones/freebsdGraham Inggs2021-03-181-3/+3
|\ | | | | | | FreeBSD: add support for CPU frequency and temperature Tested on two physical systems running FreeBSD 12.1
| * FreeBSD: add support for CPU frequency and temperatureChristian Göttsche2021-02-051-3/+3
| |
* | Settings_write: fix return value on errorChristian Göttsche2021-03-131-3/+9
| | | | | | | | | | Return a negative errno on fprintf() or flcose() failure, not a return value of ferror() or flcose().
* | Settings: check if writing configuration file was successfulChristian Göttsche2021-03-121-5/+8
| | | | | | | | | | | | Writing to the file stream might fail due to a immutable file or a filesystem error. Check the error indicator for the stream and for fclose() failures.
* | Settings: mark non-modified pointer parameters constChristian Göttsche2021-03-121-3/+3
| |
* | Refactor to remove no-op callsBenny Baumann2021-02-171-14/+4
| | | | | | | | This removes the call-sites of the removed setuid feature

© 2014-2024 Faster IT GmbH | imprint | privacy policy