From 367bd57e1aeacb16c9d84ce8914a265da2cbc826 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 2 Nov 2018 00:28:24 +0100 Subject: [PATCH] added a very basic frequency module --- bumblebee/modules/frequency.py | 31 +++++++++++++++++++++++++++++++ themes/greyish-powerline.json | 4 ++++ themes/icons/ascii.json | 1 + themes/icons/awesome-fonts.json | 1 + themes/icons/ionicons.json | 1 + 5 files changed, 38 insertions(+) create mode 100644 bumblebee/modules/frequency.py diff --git a/bumblebee/modules/frequency.py b/bumblebee/modules/frequency.py new file mode 100644 index 0000000..ac29454 --- /dev/null +++ b/bumblebee/modules/frequency.py @@ -0,0 +1,31 @@ +# pylint: disable=C0111,R0903 + +"""Displays CPU frequency. +""" + +import subprocess +import bumblebee.input +import bumblebee.output +import bumblebee.engine + + +class Module(bumblebee.engine.Module): + def __init__(self, engine, config): + super(Module, self).__init__(engine, config, + bumblebee.output.Widget(full_text=self.frequency) + ) + self._frequency = 0 + + def frequency(self, widget): + return self._frequency + + def getFrequency(self): + cmd = "cpupower frequency-info | grep \"Hz\" | grep \"current CPU\" | xargs | cut -d ' ' -f 4-5" + return subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).stdout.read().decode("utf-8").rstrip() + + def update(self, widgets): + self._frequency = self.getFrequency() + + + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4 diff --git a/themes/greyish-powerline.json b/themes/greyish-powerline.json index c962e4e..da8700f 100644 --- a/themes/greyish-powerline.json +++ b/themes/greyish-powerline.json @@ -28,6 +28,10 @@ } }, "battery": { + "unknown":{ + "bg": "#4f4f4f", + "fg": "#e9e9e9" + }, "charged": { "fg": "#002b36", "bg": "#859900" diff --git a/themes/icons/ascii.json b/themes/icons/ascii.json index 547e764..d90311c 100644 --- a/themes/icons/ascii.json +++ b/themes/icons/ascii.json @@ -4,6 +4,7 @@ }, "memory": { "prefix": "ram" }, "cpu": { "prefix": "cpu" }, + "frequency": { "prefix": "frequency" }, "disk": { "prefix": "hdd" }, "dnf": { "prefix": "dnf" }, "brightness": { "prefix": "o" }, diff --git a/themes/icons/awesome-fonts.json b/themes/icons/awesome-fonts.json index 9352372..47de52b 100644 --- a/themes/icons/awesome-fonts.json +++ b/themes/icons/awesome-fonts.json @@ -8,6 +8,7 @@ "datetime": { "prefix": "" }, "memory": { "prefix": "" }, "cpu": { "prefix": "" }, + "frequency": { "prefix": "" }, "disk": { "prefix": "" }, "dnf": { "prefix": "" }, "pacman": { "prefix": "" }, diff --git a/themes/icons/ionicons.json b/themes/icons/ionicons.json index 10b2d6f..5c91054 100644 --- a/themes/icons/ionicons.json +++ b/themes/icons/ionicons.json @@ -8,6 +8,7 @@ "datetime": { "prefix": "\uf3b3" }, "memory": { "prefix": "\uf389" }, "cpu": { "prefix": "\uf4b0" }, + "frequency": { "prefix": "\uf4b0" }, "disk": { "prefix": "\u26c1" }, "dnf": { "prefix": "\uf2be" }, "pacman": { "prefix": "\uf2be" },