Ali H. Fardan 73ec65a84d | 8 vuotta sitten | |
---|---|---|
.gitignore | 8 vuotta sitten | |
CONTRIBUTING.md | 8 vuotta sitten | |
CONTRIBUTORS.md | 8 vuotta sitten | |
LICENSE | 8 vuotta sitten | |
Makefile | 8 vuotta sitten | |
README.md | 8 vuotta sitten | |
TODO.md | 8 vuotta sitten | |
config.def.h | 8 vuotta sitten | |
config.mk | 8 vuotta sitten | |
slstatus.c | 8 vuotta sitten | |
strlcat.h | 8 vuotta sitten | |
strlcpy.h | 8 vuotta sitten |
slstatus is a suckless and lightweight status monitor for window managers which use WM_NAME as statusbar (e.g. DWM). It is written in pure C without any system() calls and only reads from files most of the time. It is meant as a better alternative to Bash scripts (inefficient) and Conky (bloated for this use).
If you write a bash script that shows system information in WM_NAME, it executes a huge amount of external command (top, free etc.) every few seconds. This results in high system resource usage. slstatus solves this problem by only using C libraries and/or reading from files in sysfs / procfs.
Looking at the LOC (lines of code) in the Conky project is very interesting: 28.346 lines C++, 219 lines Python and 110 lines Lua. slstatus currently has about 600 lines of clean, well commented C code and even includes additional possibilities as it can be customized and extended very easily. Configuring it by editing config.h (a C header file) is very secure and fast as no config files are parsed at runtime.
The following information is included:
Multiple entries per function are supported and everything can be reordered and customized via the C header file config.h (similar to DWM).
Before you continue, please be sure that a C compiler, GNU make and alsa-lib
(for volume percentage) are installed. Then copy config.def.h to config.h and edit it to your needs. Recompile and install it after every change via sudo make install
!
Put the following code in your ~/.xinitrc (or similar):
while true; do
slstatus
done &
The loop is needed that the program runs after suspend to ram.
In TODO.md there is a list of things that have to be done.
People who contributed are listed in CONTRIBUTORS.md.
For detailed information about coding style and restrictions see CONTRIBUTING.md
See LICENSE.