796b661284
We remove the hack with the sleep and global "delay"-variable and use a monotonic clock to derive the desired monotonic properties of the tool. Inside each function that demands a personal delay we can then just do a nanosleep() and be done with it. It's a shame that timespec is so ugly to work with, but there's really no way to make it more beautiful. However, at this cost though we finally can set the interval times in milliseconds and not only just seconds. We remove setlocale(), because nothing good ever came out of this function. Besides that we have some more code refactoring, especially in the argument loop which saves us a bit of complexity. |
||
---|---|---|
arg.h | ||
config.def.h | ||
config.mk | ||
LICENSE | ||
Makefile | ||
README | ||
slstatus.1 | ||
slstatus.c | ||
slstatus.png |
slstatus - suckless status ========================== slstatus is a suckless status monitor for window managers that use WM_NAME (e.g. dwm) or stdin to fill the status bar. Features -------- - Battery percentage/power/state - CPU usage - CPU frequency - Custom shell commands - Date and time - Disk status (free storage, percentage, total storage and used storage) - Available entropy - Username/GID/UID - Hostname - IP address - Kernel version - Keyboard indicators - Load average - Number of files in a directory (hint: Maildir) - Memory status (free memory, percentage, total memory and used memory) - Swap status (free swap, percentage, total swap and used swap) - Temperature - Uptime - Volume percentage (OSS/ALSA) - WiFi signal percentage and ESSID Requirements ------------ In order to build slstatus you need the Xlib header files and optionally ALSA for volume percentage. PulseAudio is not supported for various reasons. Installation ------------ Edit config.mk to match your local setup (slstatus is installed into the /usr/local namespace by default). Afterwards enter the following command to build and install slstatus (if necessary as root): make clean install Running slstatus ---------------- See the man page for details. Configuration ------------- slstatus can be customized by creating a custom config.h and (re)compiling the source code. This keeps it fast, secure and simple.