# HG changeset patch # User Tuomo Valkonen # Date 1516463709 0 # Node ID aa121291eb0efd64338d994c1904f4bdad0e68c6 # Parent 7b2d2eac6a4857375637e118eeb6b144979cba10 Rumps/Mac UI stuff is fucked and disables ^C etc.; threading doesn't help diff -r 7b2d2eac6a48 -r aa121291eb0e borgend.py --- a/borgend.py Sat Jan 20 15:08:16 2018 +0000 +++ b/borgend.py Sat Jan 20 15:55:09 2018 +0000 @@ -1,6 +1,7 @@ #!/usr/local/bin/python3 import logging +from threading import Thread logging.basicConfig(#filename='example.log', format='%(levelname)s:%(message)s', @@ -10,7 +11,7 @@ from config import settings from queue import Queue from ui import BorgendTray - +import signal, os backupconfigs=settings['backups'] backups=[None]*len(backupconfigs); @@ -27,5 +28,22 @@ if __name__ == "__main__": #print(settings) - BorgendTray("Borgend").run() - pass + tray=BorgendTray("Borgend", backups); + tray.run() + + # + # This shit is fucked, disables ^C etc., and threading doesn't seem to help + # + + # ui_thread=Thread(target=tray.run) + # ui_thread.daemon=True + # ui_thread.start() + + # def quit_signal_handler(signum, frame): + # print('Signal handler called with signal %s' % str(signum)) + # ui_thread.terminate() + # os.exit() + + # signal.signal(signal.SIGTERM, quit_signal_handler) + # signal.signal(signal.SIGINT, quit_signal_handler) + diff -r 7b2d2eac6a48 -r aa121291eb0e ui.py --- a/ui.py Sat Jan 20 15:08:16 2018 +0000 +++ b/ui.py Sat Jan 20 15:55:09 2018 +0000 @@ -5,6 +5,14 @@ import rumps class BorgendTray(rumps.App): - @rumps.clicked("Status...") - def prefs(self, _): - rumps.alert("None") + def __init__(self, name, backups): + menu=[rumps.MenuItem(b.name, callback=self.silly) for b in backups] + menu = menu + [rumps.MenuItem("Quit...", callback=self.my_quit_button)] + super().__init__(name, menu=menu, quit_button=None) + + def my_quit_button(self, _): + rumps.quit_application() + + def silly(self, sender): + sender.state=not sender.state +