【发布时间】:2023-03-13 22:09:01
【问题描述】:
我正在编写一个脚本,该脚本会在一个应用程序中查看您在某项活动上花费的时间,然后在 Mac 的状态栏中显示该数字,就像时钟在右上角。我见过其他人喜欢它,可以在同一区域向您展示您的 IP,这与我想要完成的工作很接近。
我认为我的脚本可以持续运行,直到我正在工作的应用程序完全退出,但是,我不确定如何在状态栏顶部显示该数字无需打开所述应用程序即可查看。
我一直在研究 AppleScriptObjC 作为一个选项,但是,这对我来说是一个新领域,我想知道在我完全投入之前是否应该使用它。
我使用 Python 创建了一个菜单栏小程序,但是,我了解到可能根本不需要使用 Python,而且我不确定如何将 AppleScript 与我在 Python 中创建的内容结合起来。
tell application "System Events"
set appName to "App I'm Using"
tell process "App I'm Using"
set activityState to value of menu button 1 of group 1 of group 4 of toolbar 1 of window of application process "App I'm Using" of application "System Events" as list
return first item of activityState as string
end tell
end tell
repeat
tell application "System Events"
if "App I'm Using" is not in (name of application processes) then exit repeat
end tell
delay 5
end repeat
到目前为止,我没有遇到任何错误消息;我只是不知道如何在顶部的状态栏中返回脚本的连续输出。
【问题讨论】:
-
我猜您想根据应用程序激活/停用来启动/停止计时器?您在使用什么来设置计时器和状态菜单项,或者您是否正在考虑使用 AppleScript/AppleScriptObjC 完成所有操作?
-
它将类似于计时器。有问题的应用程序有一个计时器,它会一直计时,直到您切换到另一个活动状态。例如,我可能会在空闲状态下花费 20:32,然后切换到活动状态。我希望在状态栏中显示该州的名称,以及在其中花费的时间,这样我就不必进入应用程序来查看我在那里呆了多长时间。该应用程序有一个计时器来显示这一点,但让状态栏显示它会更方便。我在 Swift 中做了一个状态栏图标,但是不知道怎么添加 AS。
标签: macos applescript statusbar