summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-16Merge branch 'support-time-locale'HEADmasterAaron Ball
2022-07-16Support new locale key for time and dateAaron Ball
Since different locales support different date formats, this allows specification of the locale for a given time/date instance, rather than setting the locale for the entire program instance and affecting all other instances. Note that this probably will not have much of an effect unless the default `fmt` value is overridden (try `%c` for fun).
2022-07-16Merge branch 'fix-memleak'Aaron Ball
2022-07-06Add config linked list destructorAaron Ball
Previously it was assumed that this was not needed, as the program executes in an infinite loop. However, for best practices, this cleans up all memory usage on program exit should the program actually exit.
2022-03-21Merge branch 'config_mem_meminfo'Aaron Ball
2022-03-21Switch config_mem to use /proc/meminfoAaron Ball
The sysinfo call does no provide a value for cached memory, so the overall memory usage displayed by this is far too high most of the time. This implements a new struct, `_meminfo`, which holds the relevant values from `/proc/meminfo` so actual usage metrics can be more accurately calculated. This also adds a new function, `_meminfo_read`, to support this.
2022-03-18Add new fmt date/time key to sample configAaron Ball
2022-03-18Merge branch 'dedup_config_time'Aaron Ball
2022-03-18Deduplicate config_time, removing config_dateAaron Ball
The config_date code is effectively identical to the code for config_time. The one difference is the format of the date output. This replaces all of the config_date code, except for the init function, with referenes to the config_time code to reduce and simplify maintenance. This also adds the new configurable fmt support to the date class as well, since it is now just config_time.
2022-03-18Merge branch 'config_time_fmt'Aaron Ball
2022-03-18config_time: Support new key, fmtAaron Ball
This key allows the time format to be configurable. The default is '%T', but some users may not want the seconds or may want additional information.
2022-03-18Update copyright from 2021 to 2022 and fix nameAaron Ball
2021-06-17Merge branch 'support-unconfigured-swap'Aaron Ball
2021-06-17Support swap module when swap is no configuredAaron Ball
Previously this module would cause i3cstat to segfault if no swap was enabled (like in my case where I selectively enable zram swap devices as needed). This adds an early return if total swap is 0 (which previously resulted in a divide by 0 when this case came up), setting the "value" to "none" with color yellow.
2021-06-01Fix memory calculationsAaron Ball
Subtract bufferram also from totalram to better calculate used ram (since buffer is fluid and doesn't represend actually "used" memory).
2021-06-01Merge branch 'use-sysinfo'Aaron Ball
2021-06-01Move swap and mem modules to use sysinfo over meminfoAaron Ball
The meminfo is read and parsed as a file, which is complex and prone to breakage. The sysinfo library is part of the system and requires no parsing, so is much more reliable (and gives more granular numbers as well).
2021-06-01Merge branch 'fix-printbar'Aaron Ball
2021-06-01Fix printbar and add a lot more testsAaron Ball
Previously printbar wasn't correctly calculating data width. The fill of bars included the surrounding brackets (so a width of 10 was actually 8 + 2 brackets). This makes the fill width the defined with, +2 extra chars for the square bracket. This makes the fill calculations accurate now.
2021-05-30Merge branch 'configurable_width'Aaron Ball
2021-05-30Make bar widths configurableAaron Ball
Previously, each module defined its own width for the bar (typically 12 wide), should the output be bar format. This introduces a config_node level configuration "width". This configuration is ignored unless display == bar in the config for the given module. This width configurations allows the width of each module bar to be configured by the user without requiring modification of source and recompiling of the app.
2021-05-30Merge branch 'update_copyright'Aaron Ball
2021-05-30Update copyright year to 2021Aaron Ball
2021-05-30Merge branch 'support_swap'Aaron Ball
2021-05-30Introduce swap supportAaron Ball
This adds a new config section titled "swap". It configures the same way as the memory config entity.
2020-11-12Merge branch 'implement_config_shell'Aaron Ball
2020-11-12Implement shell node typeAaron Ball
This node block supports calling out to a shell program for a custom status section. It reads the first line of stdout from whatever is called.
2020-11-12Implement support for new interval configurationAaron Ball
This allows the user to specify run intervals for each configured module in seconds. The purpose of this is for the modules that the user may not want running on every load cycle, so they can specify to run less frequently (minimum resolution is 1 second). Running less frequently on more cpu intensive operations can save power and reduce unecessary processing (such as checking free space on storage, which doesn't update often).
2020-11-12Fix battery is charging label printingAaron Ball
This was previously printing too much whitespace. It was also doing a strlen comparison to determine where to write the label text, but it always resolved to index 0, so is not needed.
2020-05-16Add -Werror to all compile tasksAaron Ball
2020-05-16Fix labels for fs node typeAaron Ball
Labels for the fs node type were previously being written when the load function was called. Now we set this on initial config load and do not override on data load.
2020-05-12Initial commitAaron Ball
This includes support for printing battery, cpu, filesystem, memory, time, and date sections. Sections with percentage values also support the `display = bar` configuration to make them display a bar rather than the actual percent. Finally, for relevant data types, colors change from green to red as percentage approaches appropriate levels (eg: when memory is high, color is red; when battery is low, color is red, otherwise green).

Generated by cgit