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
```
To copy the pin start the search with `:pin` and for the username with `:user`.
## Disabling notifications
Set `DISABLE_NOTIFICATIONS` environment variable.
To copy the pin start the search with `:pin` and for the username with `:user`.
Set the `DISABLE_NOTIFICATIONS` environment variable to `True`.
# Alternative password providers

View File

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