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