Added support for regolith fork of rofication (differs on the comm protocol: \n after command, receive values on csv)

This commit is contained in:
Diego Pereyra 2022-08-08 23:09:20 -03:00
parent 124f13075d
commit 55f3085c90

View file

@ -5,6 +5,10 @@
module will have normal highlighting if there are zero notifications,
"warning" highlighting if there are nonzero notifications,
"critical" highlighting if there are any critical notifications
Parameters:
* rofication.regolith: Switch to regolith fork of rofication, see <https://github.com/regolith-linux/regolith-rofication>.
"""
import core.module
@ -20,6 +24,7 @@ class Module(core.module.Module):
super().__init__(config, theme, core.widget.Widget(self.full_text))
self.__critical = False
self.__numnotifications = 0
self.__regolith = self.parameter("regolith", False)
def full_text(self, widgets):
@ -27,9 +32,15 @@ class Module(core.module.Module):
client.connect("/tmp/rofi_notification_daemon")
# below code will fetch two numbers in a list, e.g. ['22', '1']
# first is total number of notifications, second is number of critical notifications
if self.__regolith:
client.sendall(bytes("num\n", "utf-8"))
else:
client.sendall(bytes("num", "utf-8"))
val = client.recv(512)
val = val.decode("utf-8")
if self.__regolith:
l = val.split(',',2)
else:
l = val.split('\n',2)
self.__numnotifications = int(l[0])
self.__critical = bool(int(l[1]))