23da59920c
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 |
||
---|---|---|
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
- 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 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
make -j8
sudo make install