为什么 hammerspoon return 在不应该的时候聚焦 window nil?
Why does hammerspoon return focused window nil when it should not?
我正在尝试使用 hammerspoon to control my windows (on MAC OSX) but was having some issue. Straight from the getting started 页面 我复制了将焦点 window 向左移动的代码:
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)
然后我重新加载了我的配置并尝试了一下。不幸的是,它不起作用并打开 hammerspoon 控制台并出现以下错误:
*** 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>
它说我的变量是 nil 但我不明白为什么它应该是 nil。我尝试在变量 win 之后插入一个(我在 hammerspoon 中假设的是)打印语句 hs.console.printStyledtext(win)
来检查它,但这也会引发相同的错误,除了它在错误之前打印 nil
。
奇怪的是功能或代码 "works"(即向左移动 m 屏幕)一旦它聚焦在控制台上但我没有尝试过其他任何东西。
有没有人见过这种类型的错误并能够修复它?
我确实看到了:
Lua Hammerspoon: hs.window.focusedWindow() is nil when assigned to a variable
似乎将变量从本地更改为全局没有任何区别,错误仍然存在。
看来可能是我的OS不兼容。确保拥有最新的 OS X 和 hammerspoon 软件。
我正在尝试使用 hammerspoon to control my windows (on MAC OSX) but was having some issue. Straight from the getting started 页面 我复制了将焦点 window 向左移动的代码:
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)
然后我重新加载了我的配置并尝试了一下。不幸的是,它不起作用并打开 hammerspoon 控制台并出现以下错误:
*** 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>
它说我的变量是 nil 但我不明白为什么它应该是 nil。我尝试在变量 win 之后插入一个(我在 hammerspoon 中假设的是)打印语句 hs.console.printStyledtext(win)
来检查它,但这也会引发相同的错误,除了它在错误之前打印 nil
。
奇怪的是功能或代码 "works"(即向左移动 m 屏幕)一旦它聚焦在控制台上但我没有尝试过其他任何东西。
有没有人见过这种类型的错误并能够修复它?
我确实看到了:
Lua Hammerspoon: hs.window.focusedWindow() is nil when assigned to a variable
似乎将变量从本地更改为全局没有任何区别,错误仍然存在。
看来可能是我的OS不兼容。确保拥有最新的 OS X 和 hammerspoon 软件。