我打开了两个 iTerm2 窗口,我想通过 Hammerspoon 放置和调整一个窗口,同时让另一个保持原样。
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Right", function()
local layout = {
{"iTerm2", "/in/my/work/dir", nil, hs.geometry.rect(0.0, 0.40, 0.6, 0.6), nil, nil},
}
hs.layout.apply(layout)
end)
当我运行上面的代码时,什么也没有发生;Hammerspoon 没有找到我的 iTerm2 窗口,即使它看起来像我的窗口标题中有“/in/my/work/dir”。
当我替换"/in/my/work/dir"
为 时nil
,Hammerspoon 会移动并调整我所有的 iTerm2 窗口的大小。这是有道理的,因为我只要求所有 iTerm2 窗口而没有指定标题。
当我添加调试代码以将 iTerm2 窗口列表打印到控制台时,我只看到一个 iTerm2 窗口:
hs.fnutils.each(hs.application.runningApplications(), function(app)
if string.find(app:name(), "iTerm2") then
print("Found " .. app:name() .. " -- " .. app:title())
end
end)
这打印:
找到 iTerm2 -- iTerm2
如何使用 Hammerspoon 将 iTerm2 窗口分开并仅移动/调整其中一个窗口的大小?