summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-04-03remove goto-labels from wireless_infoFelix Buehler
2020-03-31use format_placeholder for wireless_infoFelix Buehler
2020-03-28avoid out-of-bounds read after invalid %cpu conversionSamuel Holland
In the case where no CPU number is given, skipping a character of padding actually skips the null terminator, causing further iterations through the loop to read out of bounds. Have sscanf() return the number of characters read, instead of reconstructing it from the CPU number. This was observed as a failure in test 024-cpu-usage-invalid-cpu.
2020-03-11print_volume: Native NetBSD audio supportnia
Avoid using the OSS emulation layer to fetch the master volume, and instead share the audioio code with OpenBSD. Avoid a failed read on the master control's mute enum if it can't be found, because sometimes there isn't one.
2020-03-06Merge pull request #390 from Stunkymonkey/format_placeholder-ethIngo Bürk
use format_placeholder for eth.info
2020-03-03use format_placeholder for disk.infoFelix Buehler
2020-03-03use format_placeholder for eth.infoFelix Buehler
2020-02-21Merge pull request #386 from Stunkymonkey/format_placeholder-dateIngo Bürk
use format_placeholder for ddate
2020-02-21use exact size for known stringsFelix Buehler
2020-02-18use format_placeholder for ddateFelix Buehler
2020-02-18use format_placeholder for cpu_temperatureFelix Buehler
2020-02-17Merge pull request #381 from Stunkymonkey/format_wirelessIngo Bürk
add wireless format-options
2020-02-10add wireless format-optionsFelix Buehler
2020-02-10use format_placeholder for batteryFelix Buehler
2019-11-24print_mem: Fix overflow on 32-bit systemszsugabubus
Values stored as `unsigned long` in "/proc/meminfo" but they were handled as `long`. On 32-bit systems with 4G memory it results in integer overflow.
2019-11-16Introduce format_percentage for battery (#371)grmat
Allow custom output, backwards-compatible to integer_battery_capacity
2019-10-26Introduce memory options 'unit' and 'decimals'MK13
Previously the format placeholders were auto-converted to the maximum possible unit, e.g. /proc/meminfo reports MemTotal of 16307104kB which will get converted to 15.6GiB. It is now possible to specifiy the target unit, e.g. Mi, which will be used for the conversion - in the example it would lead to 15924.9MiB. The resulting number can now be further formatted via the decimal option. It allows to specify the number of decimals to use, e.g. 15.6GiB vs. 15GiB or 15924.9MiB vs. 15925MiB.
2019-10-21wireless: update %signal and %quality based on station info on Linux (#368)Sascha Wessel
Use station info instead of bss info to update %signal and %quality. Bss info is based on scan info and doesn't get updated often. Station info get's updated with every beacon. Bss info still used as fallback.
2019-09-19Mention the return value of the slurp function and the implicationsOlivier Gayot
Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2019-09-19Do not return true from slurp() if it failed to readOlivier Gayot
Failing to read() some data into the destination buffer from the slurp() function was not considered an error. This means that we were potentially leaving the caller with an uninitialized destination buffer without letting him know it's uninitialized. It is quite unlikely that a single call to read() would ever fail right after a successful call to open(..., O_RDONLY). However, one practical example of this happening is when the file being opened is actually a directory. Fixed by propagating the error (i.e. returning false from slurp()) if the call to read() fails. Signed-off-by: Olivier Gayot <olivier.gayot@sigexec.com>
2019-07-29Improve NetBSD port. (#361)Thomas Klausner
Detect and link against ossaudio. Comment out unused code and functions.
2019-07-29print_cpu_usage: use buffered file APIMichael Stapelberg
fixes #343 fixes #344
2019-07-29make pulseaudio an optional dependency, follow best practicesMichael Stapelberg
For my thoughts about optional dependencies, see https://michael.stapelberg.ch/posts/2019-05-23-optional-dependencies/ This commit follows the best practices outlined in that article: 1. The travis config was modified to verify both code paths build and link/don’t link against pulseaudio. 2. If pulseaudio is missing, the build fails until packagers explicitly pass a --disable flag. In practice, I think the only situation when this flag should be set is in source-based linux distributions where users can express package-level compilation preferences (e.g. Gentoo USE flags). 3. The --version output now reflects the status of the optional dependency. fixes #359
2019-07-21On NetBSD, include sys/socket.h for AF_INET{,6}.Thomas Klausner
2019-07-21Merge pull request #355 from jasperla/header_fixIngo Bürk
Fix headers meant for OpenBSD, but snuck in for FreeBSD
2019-07-12battery: include sys/sysctl.h on OpenBSDMichael Stapelberg
This is required so that CTL_HW and others are defined (ran into this on OpenBSD 6.5).
2019-07-08Fix headers meant for OpenBSD, but snuck in for FreeBSDJasper Lievisse Adriaanse
2019-07-08Extend battery handling on OpenBSD (#351)Jasper Lievisse Adriaanse
If acpibat watts value is not available, try current (for batteries that report in amps), then convert to watts. originally submitted by @jcs
2019-06-10print_file_contents: allocate enough to include \0Sam Newbold
related to #331 Previously, if max_chars was read, the null byte would be written past the end of buf.
2019-02-21Added function to print content from file (#331)Dennis Vesterlund
Added a function to print file contents to status bar without newlines. Added tests for print file contents function Added manpage entry for file contents
2019-01-27fix ethernet speed display for 100 Gbit/s cardsMichael Stapelberg
Before this fix, i3status would display 34464 Mbit/s instead of 100000 Mbit/s, because it was only looking at ecmd.speed, ignoring ecmd.speed_hi.
2019-01-23Fix non Linux build for #309eplanet
2019-01-23Switch to autotools (#316)Michael Stapelberg
2019-01-23Implement %devicename specifier for volume module (#325)Denton Liu
This commit implements the %devicename specifier for the volume module for both PulseAudio and ALSA. This way, i3status will be able to display the specific device that corresponds to the volume indicator. Note that this is not implemented for the OSS API but is left in a state where someone can pick it up for the future.
2019-01-03Fixed ALSA capture device monitoring.Eugene Dzhurinsky
When using ALSA, the "Capture" mixer doesn't have the playback channel, instead "capture"-related methods should be used to get information about the current volume / state of the mixer.
2018-11-15Corrections according to PR revieweplanet
2018-11-10Add timezone switcheplanet
2018-11-08Merge pull request #319 from eplanet/fix-etc-mtabOrestis
Read /proc/mounts if /etc/mtab can't be read
2018-11-08Read /proc/mounts if /etc/mtab can't be readeplanet
2018-11-07Fix error messageseplanet
2018-11-05print_cpu_usage.c: Support non-consecutive CPUsTwentyFourD
Fixes #308
2018-10-21print_cpu_usage: fix invalid %cpu placeholder outputGaël PORTAY
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.arcnmx
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)David96
2018-08-24Added %interface to the ethernet optionsMax Christian Pohle
2018-07-31Fix for issue 300: Correctly print usage for cpu 10=
2018-07-16Merge pull request #296 from Stunkymonkey/include-orderIngo Bürk
switch to clang 3.8 & ignore include sort order
2018-07-16Merge pull request #299 from tuxillo/patch-2Ingo Bürk
Detect interface type on DragonFly BSD
2018-07-15Detect interface type on DragonFly BSDAntonio Huete Jimenez
2018-07-14Do not use pulseaudio for DragonFly BSDAntonio Huete Jimenez