X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/d3172a49bc39fcbbf38663872c9a3f6073b9becb..3c1a03919f147069fac3444f5c8a2adaf8a65478:/README.md diff --git a/README.md b/README.md index 2c25f0e..7e2ac20 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,39 @@ -# slstatus +slstatus +======== -A suckless status monitor for DWM written in pure C without any system() calls. +**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). -# Information included +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. -- wifi percentage -- battery percentage -- cpu usage in percent -- cpu temperature -- ram usage in percent -- alsa volume level in percent -- disk usage -- date -- time +Looking at the LOC (lines of code) in the [Conky project](https://github.com/brndnmtthws/conky) is very interesting: *28.346 lines C++, 219 lines Python and 110 lines Lua*. slstatus currently has about **500 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. -Multiple batteries, wifi cards etc. are supported and everything can be reordered and customized via a C header file (similar to DWM). +The following information is included: -# Screenshot +- battery percentage +- cpu usage (in percent) +- date and time +- disk numbers (free storage, percentage, total storage and used storage) +- available entropy +- hostname +- ip addresses +- ram numbers (free ram, percentage, total ram and used ram) +- temperature +- volume percentage (alsa) +- wifi percentage -![screenshot](screenshot.png) +Multiple entries per function are supported and everything can be reordered and customized via the C header file config.h (similar to DWM). -# Installation +![screenshot](screenshot.png) -Just run ```sudo make install```! :P +## Usage -# Configuration +### Installation -Just change config.h (commented) to your needs and recompile! +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`! -# Starting +### Starting -Put the following code in your ~/.xinitrc: +Put the following code in your ~/.xinitrc (or similar): ``` while true; do @@ -38,10 +41,16 @@ while true; do done & ``` -# Contributing +The loop is needed that the program runs after suspend to ram. + +## Contributing + +In [TODO.md](TODO.md) there is a list of things that have to be done. + +People who contributed are listed in [CONTRIBUTORS.md](CONTRIBUTORS.md). -See TODO.md for things that you could do. +For detailed information about coding style and restrictions see [CONTRIBUTING.md](CONTRIBUTING.md) -People who contributed are listed in the CONTRIBUTORS.md file. +## License -If you want to contribute, please use [the suckless coding style](http://suckless.org/coding_style)! For indentation please use 4 spaces. +See [LICENSE](LICENSE).