本文作者:电脑知识教程网

Hammerspoon for Mac(自动化批处理软件) 如何对应用程序事件和wifi事件做出反应?

电脑知识教程网 2023-05-04 18:45:34
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要:

Mac Hammerspoon是OS X的桌面自动化工具。它将各种系统级API连接到Lua脚本引擎,允许您通过编写Lua脚本对系统产生强大的影响。这次小编给大家讲解一下Hammerspoon for Mac(自动化批处理软件) 如何对应用程序事件和wifi事件做出反应?

Hammerspoon for Mac(自动化批处理软件)

立即下载

Hammerspoon mac这是一款macOS平台的自动化工具,可以帮助我们大大提高效率,适用于窗口管理、音乐播放、应用管理,甚至是网络请求……基本可以做到指哪打哪。应用场景:常用软件使用快捷键启动、高效快速的窗口管理、高效的音乐播放控制等。

2022-03-31 8.05 MB 英文软件

对应用程序事件做出反应

使用hs.application.watcher回调,我们可以对各种应用程序级事件做出反应,例如正在启动,退出,隐藏和激活的应用程序。

强大的快捷方式可帮助您更快更好地使用Sip,Sip快捷键大全

Sip是一种设计工具,可用于收集,组织和编辑颜色。它还使您能够与每个人共享颜色,并在工作流程中的其他工具之间进行链接。强大的快捷方式可帮助您更快更好地使用Sip。一起来看看吧!

我们可以通过创建一个非常简单的回调来证明这一点,这将确保当您激活Finder应用程序时,它的所有窗口都将被带到显示器的前面。

function applicationWatcher(appName, eventType, appObject)
 if (eventType == hs.application.watcher.activated) then
 if (appName == "Finder") then
 -- Bring all Finder windows forward when one gets activated
 appObject:selectMenuItem({"Window", "Bring All to Front"})
 end
 end
end
appWatcher = hs.application.watcher.new(applicationWatcher)
appWatcher:start()

首先,我们定义一个接受三个参数的回调函数,并在其中检查触发该函数的事件类型是否是一个被激活的应用程序。然后我们检查被激活的应用程序是否是Finder。如果是,我们选择其菜单项将其所有窗口都放在前面。

然后,我们创建一个应用程序观察器对象,它将调用我们的函数,并告诉它启动。

请注意,我们保留了对watcher对象的引用,而不是简单地调用hs.application.watcher.new(applicationWatcher):start()。这样做的原因是,:stop()如果我们需要,我们可以稍后调用观察者(例如,在重新加载我们的配置的函数中 - 有关如何自动重新加载Hammerspoon配置的信息,请参阅Fancy Config Reloading示例)。

对wifi事件做出反应

如果你使用MacBook,那么你家里可能有一个WiFi网络。Hammerspoon在您到家并加入您的WiFi网络或离家出发并离开网络时触发事件非常简单。在这种情况下,我们将做一些简单的事情并调整MacBook的音量,使其在您离家时为零(保护您免受在咖啡店打开MacBook并肆无忌惮地播放音乐的耻辱感)在家里玩!)

wifiWatcher = nil
homeSSID = "MyHomeNetwork"
lastSSID = hs.wifi.currentNetwork()

function ssidChangedCallback()
 newSSID = hs.wifi.currentNetwork()

 if newSSID == homeSSID and lastSSID ~= homeSSID then
 -- We just joined our home WiFi network
 hs.audiodevice.defaultOutputDevice():setVolume(25)
 elseif newSSID ~= homeSSID and lastSSID == homeSSID then
 -- We just departed our home WiFi network
 hs.audiodevice.defaultOutputDevice():setVolume(0)
 end

 lastSSID = newSSID
end

wifiWatcher = hs.wifi.watcher.new(ssidChangedCallback)
wifiWatcher:start()

在这里,我们创建了一个回调函数,将当前WiFi网络的名称与之前网络的名称进行比较,并检查我们是否已从预定义的家庭网络转移到其他地方,反之亦然,然后用于hs.audiodevice调整系统容量。

mac角色扮演游戏守墓人上手教程系列四:建造系统

画素风格的游戏往往游戏界面很简单,但是却能够带来精美的场景以及多样的玩法,而这款具备同等风格的游戏守墓人(Graveyard Keeper)相信不会让在座的各位失望!现为您带来mac角色扮演游戏守墓人上手教程系列四:建造系统

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:电脑知识教程网,原文地址:Hammerspoon for Mac(自动化批处理软件) 如何对应用程序事件和wifi事件做出反应?发布于2023-05-04 18:45:34
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: