当前位置: 首页 > 应用 > Mac软件 > 应用软件 > Hammerspoon for Mac(超强自动化工具) v0.9.76免费激活版
Hammerspoon for Mac(超强自动化工具) v0.9.76免费激活版

Hammerspoon for Mac(超强自动化工具) v0.9.76免费激活版

下载

Hammerspoon Mac免费版的窗口管理功能足够强大。而且对开发者很友好,有控制台可以Debug。语言采用Lua,不难上手。另外,还有茫茫多的系统API可以随意调用。所以说,HammerSpoon绝不仅仅是一个窗口管理软件。

Hammerspoon Mac版安装教程

软件下载完毕后,双击PKG文件根据提示进行安装即可

Hammerspoon Mac最新版软件介绍

Hammerspoon是OS X的桌面自动化工具。它将各种系统级API连接到Lua脚本引擎,通过编写Lua脚本,您可以对系统产生强大的影响。

这很简单的描述。您可以编写与应用程序,Windows,鼠标指针,文件系统对象,音频设备,电池,屏幕,低级键盘/鼠标事件,剪贴板,定位服务,WiFi等等的OS X API进行交互的Lua代码。通常,您将在Lua中编写一个将事件连接到操作的配置文件。您可能希望将键盘快捷键绑定到一系列窗口操作或applescript。当您的WiFi接口连接到家庭网络时,您可能需要运行一系列命令。当您的电池电量低于一定百分比时,您可能希望显示警报。你可能想做一些疯狂的事情,就像iTunes在Mac侦测到你在巴黎时自动开始播放的那样。

Hammerspoon for Mac功能介绍

你好,世界

所有优秀的编程教程都以某种类型的Hello World示例开头,因此我们将使用Hammerspoon绑定键盘热键来演示通过简单通知说出Hello World。

在您的init.lua位置以下:

hs.hotkey.bind({"cmd", "alt", "ctrl"}, "W", function()

hs.alert.show("Hello World!")

end)

然后保存文件,单击Hammerspoon菜单栏图标并选择Reload Config。您现在应该发现按⌘+ ⌥+ ctrl+ W将在屏幕上显示Hello World通知。

这里发生的是我们告诉Hammerspoon将匿名函数绑定到特定的热键。热键是通过修饰键的表(指定⌘,⌥并且ctrl在这种情况下)和正常键(W)。匿名函数只是一个没有名称的函数。我们可以使用名称单独定义警报功能并将该名称传递给hs.hotkey.bind(),但是Lua可以很容易地定义内联函数。

发烧友你好世界

虽然hs.alert很有用,但您可能更喜欢使用OS X本机通知,只需将上一个示例修改为:

hs.hotkey.bind({"cmd", "alt", "ctrl"}, "W", function()

hs.notify.new({title="Hammerspoon", informativeText="Hello World"}):send()

end)

窗户运动简介

使用Hammerspoon可以做的最直接有用的事情之一是操纵屏幕上的窗口。我们将从一个简单的例子开始,并构建一个更复杂的东西。

将以下内容添加到您的init.lua:

hs.hotkey.bind({"cmd", "alt", "ctrl"}, "H", function()

local win = hs.window.focusedwindow()

local f = win:frame()

f.x = f.x - 10

win:setFrame(f)

end)

这将导致⌘+ ⌥+ ctrl+ H使当前聚焦的窗口向左移动10个像素。您可以看到我们获取当前聚焦的窗口然后获取其帧。这描述了窗口的位置和大小。然后我们可以修改框架并使用它将其应用回窗口setFrame()。

快速结束冒号语法

您可能已经注意到,有时我们在函数调用中使用点,有时我们使用冒号。冒号语法意味着您正在调用该对象的方法之一。它仍然是一个函数调用,但它隐式地将对象作为self参数传递给方法。

快速关注可变生命周期

Lua使用垃圾收集来清理其内存使用情况 - 它认为不再使用的任何对象将在未来的某个时刻被销毁(确切地说,何时,可能非常不可预测,但它基于您的Lua代码的活跃程度) 。

这意味着一旦函数/循环执行完毕,只存在于函数/ loop / etc中的变量将可用于垃圾收集。这包括您的init.lua,它被认为是在最后一行代码运行时完成的单个范围。

如果您在自己中创建任何对象init.lua,则必须在变量中捕获它们,否则将来会在某些时候以静默方式销毁它们。例如:

hs.pathwatcher.new(.....):start()

此处返回的对象(一个hs.pathwatcher对象)未被捕获,因此只要init.lua完成,它就可用于垃圾收集。它可能不会在几分钟/几小时后被销毁,但是你会感到困惑,为什么你的pathwatcher没有运行。相反,这个版本将继续存在,直到您重新加载配置,或退出Hammerspoon:

myWatcher = hs.pathwatcher.new(.....):start()

该myWatcher变量是一个全局变量,所以永远不会走出去的范围。

关于变量的生命周期 - 在Console窗口中,每次键入一行并按Enter键时,都会创建,执行和完成不同的Lua范围。这意味着local当您按Enter键时,在控制台窗口中创建的变量将立即变得不可访问,因为它们的范围已关闭。


更新日志

Hammerspoon for Mac(OS X桌面自动化工具)v0.9.76破解版
扩展:
修复:macOS 10.14(mojave)现在应该正确地请求将AppleScript事件发送到其他应用程序的权限
补充:添加hs.eventtap.isSecureInputEnabled()

小编的话

Hammerspoon是一款开源免费的超强自动化工具,这款软件所有的功能都在 Lua 脚本中,需要用户自己编写。通过桥接操作系统与 Lua 脚本引擎,这款软件让我们能够用 Lua 脚本快速方便地与系统 API 沟通,获取各种信息或者进行控制。

相关软件

更多

猜你喜欢

更多
Hammerspoon for Mac(超强自动化工具)
下载