slstatus/README.md

61 lines
2.4 KiB
Markdown
Raw Normal View History

slstatus
========
2016-03-08 17:17:50 +00:00
**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).
2016-06-30 17:29:11 +01:00
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.
2016-06-30 17:36:24 +01:00
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.
2016-06-30 17:29:11 +01:00
The following information is included:
- battery percentage
2016-06-14 18:19:25 +01:00
- cpu usage (in percent)
2016-08-15 11:23:35 +01:00
- custom shell commands
2016-06-14 18:19:25 +01:00
- date and time
- disk numbers (free storage, percentage, total storage and used storage)
- available entropy
2016-08-18 12:45:06 +01:00
- username/gid/uid of current user
2016-06-14 18:19:25 +01:00
- hostname
- ip addresses
2016-08-18 12:45:06 +01:00
- load average
2016-06-14 18:19:25 +01:00
- ram numbers (free ram, percentage, total ram and used ram)
- temperature
2016-08-18 12:43:18 +01:00
- uptime
2016-08-18 12:45:06 +01:00
- volume percentage + mute status (alsa)
- wifi signal percentage and essid
2016-06-14 18:19:25 +01:00
2016-06-30 17:29:11 +01:00
Multiple entries per function are supported and everything can be reordered and customized via the C header file config.h (similar to DWM).
2016-03-08 17:17:50 +00:00
2016-03-08 17:18:47 +00:00
![screenshot](screenshot.png)
2016-03-08 17:17:50 +00:00
## Usage
2016-03-08 17:17:50 +00:00
### Installation
2016-06-30 17:29:11 +01:00
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`!
2016-03-09 10:26:19 +00:00
### Starting
2016-03-10 06:51:04 +00:00
Put the following code in your ~/.xinitrc (or similar):
2016-03-10 06:51:04 +00:00
```
while true; do
slstatus
2016-03-10 06:51:04 +00:00
done &
```
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).
2016-03-09 10:26:19 +00:00
For detailed information about coding style and restrictions see [CONTRIBUTING.md](CONTRIBUTING.md)
2016-03-10 17:01:39 +00:00
## License
2016-03-10 14:12:09 +00:00
2016-03-20 13:20:22 +00:00
See [LICENSE](LICENSE).