X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/456be7ad1ff3ea61b9ffbf1d0dbbca8a34b5830e..2e1eb518afea7c93e3ba750804f1f4c4d0a51af4:/README.md diff --git a/README.md b/README.md index c7a974d..e19e16d 100644 --- a/README.md +++ b/README.md @@ -3,29 +3,35 @@ slstatus **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](https://github.com/brndnmtthws/conky) 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: - battery percentage - cpu usage (in percent) +- custom shell commands - date and time - disk numbers (free storage, percentage, total storage and used storage) - available entropy +- username/gid/uid of current user - hostname - ip addresses +- load average - ram numbers (free ram, percentage, total ram and used ram) - temperature -- volume percentage (alsa) -- wifi percentage - -Multiple entries per function are supported and everything can be reordered and customized via a C header file (similar to DWM). +- uptime +- volume percentage + mute status (alsa) +- wifi signal percentage and essid -![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). ## Usage ### Installation -Before you continue, please be sure that a C compiler, `make` and `alsa-lib` are installed. Then compile the program once using `sudo make install`. After that you may change config.h to your needs and recompile it after any change! +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 @@ -33,7 +39,7 @@ Put the following code in your ~/.xinitrc (or similar): ``` while true; do - slstatus + slstatus done & ```