Require DISABLE_NOTIFICATIONS to be set to True, update README.

This commit is contained in:
Jonathan Lestrelin 2022-09-30 11:41:00 +02:00
parent 62b63dc3e1
commit e98543973a
2 changed files with 22 additions and 22 deletions

View File

@ -74,11 +74,11 @@ user: username
pin: 123456 pin: 123456
``` ```
To copy the pin start the search with `:pin` and for the username with `:user`.
## Disabling notifications ## Disabling notifications
Set `DISABLE_NOTIFICATIONS` environment variable. Set the `DISABLE_NOTIFICATIONS` environment variable to `True`.
To copy the pin start the search with `:pin` and for the username with `:user`.
# Alternative password providers # Alternative password providers

View File

@ -67,8 +67,7 @@ class SearchPassService(dbus.service.Object):
self.password_executable = getenv("PASSWORD_EXECUTABLE") or "pass" self.password_executable = getenv("PASSWORD_EXECUTABLE") or "pass"
self.password_mode = getenv("PASSWORD_MODE") or "pass" self.password_mode = getenv("PASSWORD_MODE") or "pass"
self.clipboard_executable = getenv("CLIPBOARD_EXECUTABLE") or "wl-copy" self.clipboard_executable = getenv("CLIPBOARD_EXECUTABLE") or "wl-copy"
self.disable_notifications = getenv("DISABLE_NOTIFICATIONS") self.disable_notifications = getenv("DISABLE_NOTIFICATIONS").lower() == "true" or False
self.disable_notifications = self.disable_notifications and self.disable_notifications != "0"
@dbus.service.method(in_signature="sasu", **sbn) @dbus.service.method(in_signature="sasu", **sbn)
def ActivateResult(self, id, terms, timestamp): def ActivateResult(self, id, terms, timestamp):
@ -222,23 +221,24 @@ class SearchPassService(dbus.service.Object):
self.notify("Failed to copy password or field!", body=str(e), error=True) self.notify("Failed to copy password or field!", body=str(e), error=True)
def notify(self, message, body="", error=False): def notify(self, message, body="", error=False):
if error or not self.disable_notifications: if not error and self.disable_notifications:
try: return
self.session_bus.get_object( try:
"org.freedesktop.Notifications", "/org/freedesktop/Notifications" self.session_bus.get_object(
).Notify( "org.freedesktop.Notifications", "/org/freedesktop/Notifications"
"Pass", ).Notify(
0, "Pass",
"dialog-password", 0,
message, "dialog-password",
body, message,
"", body,
{"transient": False if error else True}, "",
0 if error else 3000, {"transient": False if error else True},
dbus_interface="org.freedesktop.Notifications", 0 if error else 3000,
) dbus_interface="org.freedesktop.Notifications",
except dbus.DBusException as err: )
print(f"Error {err} while trying to display {message}.") except dbus.DBusException as err:
print(f"Error {err} while trying to display {message}.")
if __name__ == "__main__": if __name__ == "__main__":