Go to file
Michael Stapelberg 23da59920c make pulseaudio an optional dependency, follow best practices
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-29 21:07:40 +02:00
contrib Consolidate measure speed script (#188) 2017-01-02 16:06:06 +01:00
include Added function to print content from file (#331) 2019-02-21 15:34:32 +01:00
m4 Switch to autotools (#316) 2019-01-23 08:56:40 +01:00
man release v2.13 2019-06-30 19:55:28 +02:00
src make pulseaudio an optional dependency, follow best practices 2019-07-29 21:07:40 +02:00
testcases print_file_contents: allocate enough to include \0 2019-06-10 16:36:18 +02:00
travis Switch to autotools (#316) 2019-01-23 08:56:40 +01:00
.clang-format switch to clang 3.8 & ignore sort oder of includes 2018-07-08 13:48:28 +02:00
.gitignore Switch to autotools (#316) 2019-01-23 08:56:40 +01:00
.travis.yml make pulseaudio an optional dependency, follow best practices 2019-07-29 21:07:40 +02:00
CHANGELOG release v2.13 2019-06-30 19:55:28 +02:00
configure.ac make pulseaudio an optional dependency, follow best practices 2019-07-29 21:07:40 +02:00
CONTRIBUTING.md add CONTRIBUTING file 2015-03-16 10:02:22 +01:00
i3status.c make pulseaudio an optional dependency, follow best practices 2019-07-29 21:07:40 +02:00
i3status.conf default config: move disk info out of network info 2019-02-03 16:38:17 +03:00
I3STATUS_VERSION release v2.13 2019-06-30 19:55:28 +02:00
LICENSE Separate license into file LICENSE 2009-10-15 20:44:24 +02:00
Makefile.am conditionally compile pulse.c only when using pulseaudio 2019-07-11 15:23:08 +02:00
README.md README: update build instructions 2019-02-11 09:52:23 +01:00

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 distributions package manager.

If you absolutely have to build from source, use:

  autoreconf -fi
  mkdir build
  cd build
  ../configure
  make -j8
  sudo make install