Statis

Modular system monitoring and status display via desktop notifications.


Keywords
status, system, info, monitoring, notification, extendable, usability
License
MIT
Install
pip install Statis==1.1.0

Documentation

Statis

Statis is a system info and monitoring tool based on desktop notifications. Its purpose is similar to that of traditional status bars or CLI tools, but with the explicit goal of staying out of the way while not being used – saving screen space and system resources. To this end, all its output occurs through your notification daemon, making it ideal for quick access via key bindings.

Table of Contents

Features

  • 10 built-in notifiers for resource usage (CPU, RAM, etc.), general info, and more
  • Notification-based output to enable more minimalist, status bar–less desktops
  • Process only runs for output or while monitoring, saving on system resources

Installation

Requirements

  • Python 3.7+
  • Your favorite notification daemon
  • libnotify (not required when using Dunst)

Stable Release

pip install --user statis

Development Version

git clone https://gitlab.com/BVollmerhaus/statis
cd statis
pip install --user .

Usage

Each of Statis' outputs is provided by a corresponding notifier, multiple of which are generally grouped into modules.

statis [options] [module [notifier] [notifier_args...]]

A notifier is run by specifying its module and name. For example, the memory module's used notifier is invoked with:

statis memory used

If a notifier's name is identical to its containing module, it can also be invoked with just that:

statis time

Additional arguments may be passed to both statis and, if applicable, the invoked notifier:

statis --urgency "low" date --format "Week %W"

Note that -h may be passed to either statis or the notifier to list all supported arguments.

Key Binding Examples

Statis itself does not implement key binding; please use your DE/WM's native functionality for this. Some examples:

i3

bindsym $mod+c exec --no-startup-id statis cpu usage

Tip: i3's binding modes may be especially useful for this purpose.

awesome

awful.key({ modkey }, "c", function()
  awful.spawn("statis cpu usage", false)
end)

bspwm (sxhkd)

super + c
    statis cpu usage

Built-in Notifiers

Statis currently includes the following notifiers (grouped by module):

  • battery
    • charge
  • cpu
    • frequency
    • governor
    • usage
  • date
  • memory
    • free
    • free-swap
    • used
    • used-swap
  • time

Contributors

Maintainer

Others

License

Statis is licensed under the MIT license. See LICENSE for more information.