Skip to main content

Modular system monitoring and status display via desktop notifications.

Project description

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
  • Straightforward monitoring & alerts for many of said notifiers' measurements
  • 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

Direct Invocation

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"

This includes -h to display further usage information and list all supported arguments.

Monitoring

Many notifiers can continuously monitor their measurement and alert if it exceeds a certain threshold or changes at all.

This is done via the -m argument, which may either contain a threshold in the format [<|>][=] <value> <unit> at which to alert, or an empty string ("") to do so on all changes. Whether a notifier supports monitoring and with which units is part of its help message.

# Alert when memory usage exceeds 4 GB
statis -m "4GB" memory used

# Alert when used swap space is 2 GB or more
statis -m ">=2GB" memory used-swap

Most notifiers also support percentage-based monitoring by supplying % as the threshold unit:

statis -m "75%" memory used

Key Binding Examples

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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Statis-1.1.0.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

Statis-1.1.0-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file Statis-1.1.0.tar.gz.

File metadata

  • Download URL: Statis-1.1.0.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for Statis-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9ac72fe8ff7bbcd45c8c83a18ab39a5911eac79ce280114d0c623a2ce5babd28
MD5 4b9a1d3ebe12e947b1d5d5250b7d271a
BLAKE2b-256 6e631530fb2f4802e8c267f08ae723f2f30f58983aef357716b4d7a47e25b5ba

See more details on using hashes here.

File details

Details for the file Statis-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: Statis-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for Statis-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03831e2014189d6002cfa608c264a64927152152e51c121fe4e20151ce612874
MD5 c7726d2f305978168b142be2c8b5879e
BLAKE2b-256 5d9973c3dcead17703cf1440eaca382bf80e5ae832cf60ee29486a4b5ebdacde

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page