Go to file
Samuel Holland 585d0700c7 avoid out-of-bounds read after invalid %cpu conversion
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-28 21:02:02 -05:00
contrib Consolidate measure speed script (#188) 2017-01-02 16:06:06 +01:00
include Merge pull request #381 from Stunkymonkey/format_wireless 2020-02-17 08:34:09 +01:00
m4 Switch to autotools (#316) 2019-01-23 08:56:40 +01:00
man add wireless format-options 2020-02-10 22:33:20 +01:00
src avoid out-of-bounds read after invalid %cpu conversion 2020-03-28 21:02:02 -05:00
testcases Merge pull request #386 from Stunkymonkey/format_placeholder-date 2020-02-21 17:35:20 +01: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 print_volume: Native NetBSD audio support 2020-03-11 23:29:56 +00:00
CONTRIBUTING.md add CONTRIBUTING file 2015-03-16 10:02:22 +01:00
i3status.c add wireless format-options 2020-02-10 22:33:20 +01: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 use format_placeholder for battery 2020-02-10 21:05:18 +01:00
README.md Merge pull request #392 from banderlog/patch-1 2020-03-19 13:09: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
  • 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 distributions 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