From 1c7c5d79ff4ad808c77af8a6e6fffe20021ca2e5 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Sun, 23 Aug 2020 22:48:42 +0200 Subject: Do not queue settings dialogs if one is already shown --- data/usr/bin/ayatana-webmail-settings | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'data') diff --git a/data/usr/bin/ayatana-webmail-settings b/data/usr/bin/ayatana-webmail-settings index 3eb3608..f000a9e 100755 --- a/data/usr/bin/ayatana-webmail-settings +++ b/data/usr/bin/ayatana-webmail-settings @@ -15,30 +15,32 @@ oLoop = None if __name__ == '__main__': - DBusGMainLoop(set_as_default=True) - oSessionBus = dbus.SessionBus() + if isRunning('-settings') == 1: - if isRunning(): + DBusGMainLoop(set_as_default=True) + oSessionBus = dbus.SessionBus() - try: + if isRunning(): - oSession = oSessionBus.get_object('org.ayatana.webmail', '/org/ayatana/webmail') - oInterface = dbus.Interface(oSession, 'org.ayatana.webmail') + try: - oInterface.settings(reply_handler=lambda: oLoop.quit(), error_handler=lambda o: oLoop.quit()) + oSession = oSessionBus.get_object('org.ayatana.webmail', '/org/ayatana/webmail') + oInterface = dbus.Interface(oSession, 'org.ayatana.webmail') - oLoop = GLib.MainLoop() - oLoop.run() + oInterface.settings(reply_handler=lambda: oLoop.quit(), error_handler=lambda o: oLoop.quit()) - except dbus.DBusException as oDBusException: + oLoop = GLib.MainLoop() + oLoop.run() - print(oDBusException) - sys.exit(1) + except dbus.DBusException as oDBusException: - sys.exit(0) + print(oDBusException) + sys.exit(1) - else: + sys.exit(0) - subprocess.Popen(['ayatana-webmail'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + else: + + subprocess.Popen(['ayatana-webmail'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) sys.exit(1) -- cgit v1.2.3