aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-11-10Add timezone switcheplanet1-2/+12
2018-11-08Merge pull request #319 from eplanet/fix-etc-mtabOrestis1-6/+13
Read /proc/mounts if /etc/mtab can't be read
2018-11-08Read /proc/mounts if /etc/mtab can't be readeplanet1-6/+13
2018-11-07Fix error messageseplanet1-2/+4
2018-11-05print_cpu_usage.c: Support non-consecutive CPUsTwentyFourD1-7/+20
Fixes #308
2018-10-21print_cpu_usage: fix invalid %cpu placeholder outputGaël PORTAY1-1/+1
Currently, the module cpu_usage prints %cpu0 information for the invalid %cpu placeholder (i.e. the cpu number is missing). Consider the following configuration. order += "cpu_usage" cpu_usage { format = "cpu0=%cpu0 cpu1=%cpu1 cpu=%cpu" # missing cpu number -------------------^ } The configuration above produces the output below. $ i3status -c config i3status: trying to auto-detect output_format setting i3status: auto-detected "term" cpu0=-2% cpu1=-49% cpu=-2% cpu0=06% cpu1=02% cpu=06% cpu0=05% cpu1=06% cpu=05% ... The module prints %cpu0 at the third placeholder where it should report an error. This commit fixes this behavior by initializing `number' to -1. If the cpu is missing in %cpu placeholder, the sscanf function does not set `number'. Because `number' is -1 (lower to 0), an error is reported and the placeholder is skipped. $ i3status -c ./config i3status: trying to auto-detect output_format setting i3status: auto-detected "term" provided CPU number '-1' above detected number of CPU 4 cpu0= cpu1=-48% cpu= provided CPU number '-1' above detected number of CPU 4 cpu0= cpu1=11% cpu= provided CPU number '-1' above detected number of CPU 4 cpu0= cpu1=03% cpu= ...
2018-10-11Provide a more natural volume percentage with ALSA.arcnmx1-7/+28
The rationale of the code is explained in the header: http://git.alsa-project.org/?p=alsa-utils.git;a=blob;f=alsamixer/volume_mapping.c;h=1c0d7c45e6686239464e1b0bbc8983ea57f3914f;hb=HEAD > The mapping is designed so that the position in the interval is > proportional to the volume as a human ear would perceive it (i.e., the > position is the cubic root of the linear sample multiplication > factor). and the commit message: http://git.alsa-project.org/?p=alsa-utils.git;a=commit;h=34bb514b5fd1d6f91ba9a7b3a70b0ea0c6014250 > use a mapping where the bar height is proportional to the audible > volume, i.e., where the amplitude is the cube of the bar height. and further explanation can be found in the pull request: https://github.com/i3/i3status/pull/268#pullrequestreview-147429763
2018-09-03Add support for "POWER_SUPPLY_STATUS=Not charging" (fixes #304)David961-1/+1
2018-08-24Added %interface to the ethernet optionsMax Christian Pohle1-4/+11
2018-07-31Fix for issue 300: Correctly print usage for cpu 10=1-1/+1
2018-07-16Merge pull request #296 from Stunkymonkey/include-orderIngo Bürk1-2/+4
switch to clang 3.8 & ignore include sort order
2018-07-16Merge pull request #299 from tuxillo/patch-2Ingo Bürk2-6/+28
Detect interface type on DragonFly BSD
2018-07-15Detect interface type on DragonFly BSDAntonio Huete Jimenez2-6/+28
2018-07-14Do not use pulseaudio for DragonFly BSDAntonio Huete Jimenez1-1/+1
2018-07-13fix clang errorsFelix Buehler1-2/+4
2018-07-13able to print percentageFelix Buehler13-88/+89
its now possible to have percentage before and after a variable. except for the date. But percentage with dates does not make much sense to me, so i skipped it.
2018-07-13Merge pull request #256 from oyvinht/masterIngo Bürk1-9/+56
Read multiple batteries on DragonFly BSD.
2018-06-29Merge pull request #292 from Stunkymonkey/format_qualityIngo Bürk1-2/+2
add format_quality option in wireless
2018-06-29add format_quality option in wirelessFelix Buehler1-2/+2
2018-06-25Stop requiring CAP_NET_ADMINOlivier Gayot1-1/+0
Since the following commit in the Linux kernel tree 0fdc100bdc4b ethtool: allow non-netadmin to query settings it is no longer necessary to have the CAP_NET_ADMIN capability to query a device speed using ioctl(..., SIOCETHTOOL) in conjonction with the ETHTOOL_GSET ethtool command. The mentioned commit landed first in the 2.6.37 version of the Kernel. This version is no longer maintained nowdays. Since it is not necessary anymore, it is strongly prefered from a security standpoint to drop the CAP_NET_ADMIN capability from the binary. Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-20Prevent potential crash if glob() failsOlivier Gayot1-1/+1
Calling globfree(NULL) is undefined behaviour. In Linux (glibc), it results in a segmentation fault. It is also undefined behaviour to call globfree(&pglob) if a previous call to glob(&pglob) returned an error. Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-20Fix potential memory leak on LinuxOlivier Gayot1-1/+4
The function slurp_all_batteries(), on Linux, allocates memory dynamically Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-20Fix invalid handling of glob() errors on LinuxOlivier Gayot2-2/+2
The manual of glob(3) says that the function returns 0 on successful completion. Any other integer value should be considered an error, not only negative integers. In practice, *BSD systems use negative values but Linux uses positive integers. Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-20Fix use of undefined macro __OpenBSD__Olivier Gayot1-1/+1
Compiling on Linux with -Wundef produces the following warning: warning: "__OpenBSD__" is not defined, evaluates to 0 [-Wundef] Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-20Avoid assigning a new value to a var before using the old valueOlivier Gayot1-2/+1
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-20Make sure the arguments passed to printf/die(...) match the formatOlivier Gayot1-1/+1
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-20No longer use a temporary buffer in the die() functionOlivier Gayot1-3/+1
Before the following change f947d0a Breaks configfiles! Major refactoring of i3status, see below The die(fmt, ...) function was outputting the reason to the status bar in addition to stderr. For this reason, it was meaningful to create a temporary string according to the format string and then passing it around to the different functions. Nowadays, we only display the error message to stderr so calling fprintf(stderr, ...) is much simpler. Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-11Fix shown IP address belonging to wrong interfaceOlivier Gayot1-2/+31
The following commit: 6a75ea9 Show IP address when address has a label introduced a way to show the IP address of an interface when a label is associated to the IP. When a label is associated to an IP, the structure returned by getifaddrs() has the label concatenated to the interface name in the .ifa_name field as in the following example: struct ifaddrs ifaddr = { .ifa_name = "eth0:mylabel", }; As a consequence, using a strict comparison between the interface name and the .ifa_name field yields a falsy result. However, checking if the .ifa_name starts with the interface name (e.g. eth0) does not work either because other network interfaces can have a name which starts with eth0. This commit solves the issue by stripping out the optional label from the .ifa_name field before making a strict comparison with the interface name. Fix #283 Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-06-04Simplify the algorithm used to determine the IP addressOlivier Gayot1-10/+13
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2018-05-19Merge pull request #270 from Stunkymonkey/mem-supportIngo Bürk1-0/+225
initial support of memory-usage for linux
2018-05-15Fix MacOS buildeplanet1-0/+1
2018-05-04Simplify the memory thresholdsBenedikt Heine1-36/+52
2018-05-04Rename ram variables consistentlyBenedikt Heine1-44/+45
2018-04-11Implement support for memory-usage on LinuxFelix Buehler1-0/+208
2018-04-08Merge pull request #275 from winks/patch-2Ingo Bürk1-2/+4
Fix NULL value on OpenBSD when there is no acpitz0
2018-04-06Fix NULL value on OpenBSD when there is no acpitz0Florian Anderiasch1-2/+4
Using %degrees on OpenBSD resulted in garbage values if sysctl doesn't know about any cpu temperature sensors.
2018-03-29Show IP address when address has a labelDan Robertson1-2/+3
If an address has been added with a label, ensure the correct address is shown.
2018-03-27Read multiple batteries on DragonFly BSD.Øyvin Halfdan Thuv1-9/+56
Using ACPI to read individual battery information instead of just accumulations from sysctl.
2018-03-27Merge branch 'master' into masterIngo Bürk2-2/+10
2018-03-27Merge pull request #243 from jasperla/fei_errorIngo Bürk1-4/+1
Remove overly aggressive #error
2018-02-13OpenBSD: fix volume display on some hardwareCarlin Bingham1-2/+9
On some hardware the AUDIO_MIXER_READ ioctl requires the current number of channels to be set, and the mute device found needs to be checked if it belongs to the master output device.
2018-02-07Make iface_type() work on FreeBSDGerome Fournier1-22/+20
2018-01-28Treat zero battery capacity as "not available" (#259)johcgt1-4/+4
`print_battery_info` computes `batt_info.percentage_remaining` by dividing batt_info.remaining by `full`. If `full` is `0` then the battery remaining will be reported as "inf". Before this, it tries to set `full` to either the design capacity or to the last known good charge. It determines if these values are available by checking whether their fields in `batt_info` are non-negative. As it initialized `batt_info` with values of `-1`, a non-negative value implies that something has provided a value. `slurp_all_batteries` and `add_battery_info` however initialize these fields to zero, so if these functions are called then `batt_info.full_design` will always be used. This means that on systems that don't provide a value for design capacity the percentage remaining will be reported as "inf", unless the user has set `last_full_capacity` to `true` in their `i3status.conf`. This patch changes `print_battery_info` to expect values for the battery capacity to be strictly greater than zero. This seems reasonable as a battery with a capacity of zero isn't useful. An alternative solution would be to change `slurp_all_batteries` and `add_battery_info` to initialize `batt_info` with `-1`, as `print_battery_info` does. This is less appealing as `add_battery_info` is accumulating the values, so using `-1` would introduce off-by-one errors without additional code to avoid them.
2017-12-11Update comment as in #247 (#254)Emeric Planet1-1/+4
2017-12-11Add IPv6 address when IPv4 isn't available (#247)Emeric Planet3-23/+106
2017-12-09Call tzset at each time printeplanet1-1/+1
2017-09-04Remove overly aggressive #errorJasper Lievisse Adriaanse1-4/+1
Change-Id: I8c20606d386d713cac51b620d1fcdb479a3622fe
2017-08-24Be more cautious about handling invalid battery measurements.kousu1-7/+26
2017-08-19Use local timezone for battery %emptytime (#236)Emeric Planet1-0/+1
2017-04-16Merge pull request #219 from flammi/masterIngo Bürk1-0/+19
Add check for virtual ethernet devices