Hammerspoon是OS X的桌面自动化工具。它将各种系统级API连接到Lua脚本引擎,允许您通过编写Lua脚本对系统产生强大的影响。本次小编带给大家Hammerspoon创建菜单栏的具体教程。

创建一个简单的菜单栏项目
许多Mac实用程序在系统菜单栏中放置一个小图标来显示其状态并让您与它们进行交互。我们将使用两个Hammerspoon的扩展来为流行的实用程序添加一个非常简单的替代品Caffeine
。
caffeine = hs.menubar.new()
function setCaffeineDisplay(state)
if state then
caffeine:setTitle("AWAKE")
else
caffeine:setTitle("SLEEPY")
end
end
function caffeineClicked()
setCaffeineDisplay(hs.caffeinate.toggle("displayIdle"))
end
if caffeine then
caffeine:setClickCallback(caffeineClicked)
setCaffeineDisplay(hs.caffeinate.get("displayIdle"))
end
此代码段将创建一个菜单栏项,SLEEPY
如果您的计算机在您不使用时允许其进入睡眠状态,或者AWAKE
它将拒绝睡眠,则会显示该文本。的hs.caffeine
扩展提供以防止睡眠显示的能力,但hs.menubar
被提供的菜单栏项。
在这种情况下,我们创建菜单栏项并连接回调(在本例中caffeineClicked()
)以单击菜单栏项上的事件。您还可以使用图标而不是文本,方法是在您的菜单栏对象中放置小图像文件~/.hammerspoon/
并使用该:setIcon()
方法。有关此内容hs.menubar
的详细信息,请参阅完整的API文档。