Можно использовать rumps
, который обеспечивает уровень абстракции поверх PyObjC.Я написал его специально для быстрой генерации таких простых приложений в строке состояния.
Я надеюсь, что это может помочь нескольким людям, которые ищут простое семантическое решение!
Небольшой пример кодаследующим образом.Декораторы используются для регистрации функций в качестве обратных вызовов для событий щелчков и таймеров.Также имеется поддержка 10,8 уведомлений.
import rumps
class AwesomeStatusBarApp(rumps.App):
def __init__(self):
super(AwesomeStatusBarApp, self).__init__("Awesome App")
self.menu = ["Preferences", "Silly button", "Say hi"]
@rumps.clicked("Preferences")
def prefs(self, _):
rumps.alert("jk! no preferences available!")
@rumps.clicked("Silly button")
def onoff(self, sender):
sender.state = not sender.state
@rumps.clicked("Say hi")
def sayhi(self, _):
rumps.notification("Awesome title", "amazing subtitle", "hi!!1")
if __name__ == "__main__":
AwesomeStatusBarApp().run()
![pic](https://i.stack.imgur.com/D3Yib.png)