diff options
| author | Andrew Guschin <saintruler@gmail.com> | 2021-05-10 14:44:07 +0400 |
|---|---|---|
| committer | Andrew Guschin <saintruler@gmail.com> | 2021-05-10 14:44:07 +0400 |
| commit | 40ce35bd2f379f2c30e51173752926f8c620ffd6 (patch) | |
| tree | d8bb4e1651758edd2af52e4b0a4b40c3c0f13c0e /.local/bin/lemonbar/modules/updates.py | |
| parent | 2f6db370d4086eca956279ea41cd305b474f9caf (diff) | |
Changed window manager to bspwm and added custom config for lemonbar
Diffstat (limited to '.local/bin/lemonbar/modules/updates.py')
| -rw-r--r-- | .local/bin/lemonbar/modules/updates.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/.local/bin/lemonbar/modules/updates.py b/.local/bin/lemonbar/modules/updates.py new file mode 100644 index 0000000..67c8e93 --- /dev/null +++ b/.local/bin/lemonbar/modules/updates.py @@ -0,0 +1,48 @@ +from subprocess import run as _run +from time import time + + +def run(command): + return _run(command.split(), capture_output=True).stdout.decode().strip() + + +def pacman_count(): + cnt = 0 + for line in run('pacman -Qu').split("\n"): + if "[ignored]" not in line: + cnt += 1 + return cnt + + +def yay_count(): + cnt = 0 + for line in run('yay -Qau').split("\n"): + if "[ignored]" not in line: + cnt += 1 + return cnt + + +def callback(): + tmp_file = "/tmp/lemonbar/updates" + try: + with open(tmp_file) as f: + data = f.read().split() + except FileNotFoundError: + data = '' + + try: + timestamp = float(data[0]) + except (ValueError, IndexError): + timestamp = 0 + + if time() - timestamp > 900: + pacman = pacman_count() + aur = yay_count() + with open(tmp_file, "w") as f: + f.write(f"{time()} {pacman} {aur}") + else: + pacman = data[1] + aur = data[2] + + return f"UPD: {pacman}+{aur}" + |