585d0700c7
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. |
||
---|---|---|
contrib | ||
include | ||
m4 | ||
man | ||
src | ||
testcases | ||
travis | ||
.clang-format | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG | ||
configure.ac | ||
CONTRIBUTING.md | ||
i3status.c | ||
i3status.conf | ||
I3STATUS_VERSION | ||
LICENSE | ||
Makefile.am | ||
README.md |
i3status
Description
i3status is a small program for generating a status bar for i3bar, dzen2, xmobar or similar programs. It is designed to be very efficient by issuing a very small number of system calls, as one generally wants to update such a status line every second. This ensures that even under high load, your status bar is updated correctly. Also, it saves a bit of energy by not hogging your CPU as much as spawning the corresponding amount of shell commands would.
Development
i3status has the following dependencies:
- libconfuse-dev
- libyajl-dev
- libasound2-dev
- libnl-genl-3-dev
- autoconf (compile-time only dependency)
- asciidoc (only for the documentation)
- libpulse-dev (for getting the current volume using PulseAudio)
On debian-based systems, the following line will install all requirements:
apt-get install autoconf libconfuse-dev libyajl-dev libasound2-dev libiw-dev asciidoc libpulse-dev libnl-genl-3-dev
Upstream
i3status is developed at https://github.com/i3/i3status
Compilation
Prefer installing i3status via your Linux distribution’s package manager.
If you absolutely have to build from source, use:
autoreconf -fi
mkdir build
cd build
../configure --disable-sanitizers
make -j8
sudo make install