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 usingDunst
)
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
- Matthias Bräuer (Creative Input)
License
Statis is licensed under the MIT license. See LICENSE for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ac72fe8ff7bbcd45c8c83a18ab39a5911eac79ce280114d0c623a2ce5babd28 |
|
MD5 | 4b9a1d3ebe12e947b1d5d5250b7d271a |
|
BLAKE2b-256 | 6e631530fb2f4802e8c267f08ae723f2f30f58983aef357716b4d7a47e25b5ba |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03831e2014189d6002cfa608c264a64927152152e51c121fe4e20151ce612874 |
|
MD5 | c7726d2f305978168b142be2c8b5879e |
|
BLAKE2b-256 | 5d9973c3dcead17703cf1440eaca382bf80e5ae832cf60ee29486a4b5ebdacde |