我试图使用锤匙来控制我的窗口(在MAC上),但有一些问题。我直接从开始页面复制了向左移动聚焦窗口的代码:
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Left", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local screen = win:screen()
local max = screen:frame()
f.x = max.x
f.y = max.y
f.w = max.w / 2
f.h = max.h
win:setFrame(f)
end)然后,当我回来重新加载我的配置,并尝试它。不幸的是,它无法工作,并打开锤子控制台时出现以下错误:
*** ERROR: hs.hotkey callback error: /Users/my_secret_username/.hammerspoon/init.lua:25: attempt to index a nil value (local 'win')
stack traceback:
/Users/my_secret_username/.hammerspoon/init.lua:25: in function </Users/my_secret_username/.hammerspoon/init.lua:23>它说我的变量是零,但我不明白为什么应该是零。我尝试在变量win之后插入一个打印语句hs.console.printStyledtext(win) (我在锤子勺中假设的是)来检查它,但这也会引发相同的错误,除非它在错误发生之前打印nil。
奇怪的是,功能或代码“工作”(即向左移动m屏幕)一集中在控制台上,而没有我尝试过的任何其他功能。
有没有人见过这种类型的错误,并能够修复它?
我确实看到了:
当分配给变量时,hs.window.focusedWindow()为零
而且,将变量从本地变量更改为全局变量似乎没有什么区别,而且错误仍然存在。
发布于 2016-03-17 16:14:55
这似乎是我所拥有的操作系统的不兼容。确保拥有最新的OS和锤击勺软件。
发布于 2022-11-19 13:09:26
这种情况发生在我身上,并通过在OSX系统首选项中的“安全与隐私”面板中授予哈默斯彭“可访问性”权限来解决。
https://stackoverflow.com/questions/36020450
复制相似问题