如何解决如何区分 iTerm2 窗口以使用 Hammerspoon 仅移动/调整其中一个窗口的大小?
我打开了两个 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},}
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 窗口并仅移动/调整其中一个窗口的大小?
解决方法
当您传递完整的标题,而不仅仅是标题的一部分时,这实际上有效。我想当 documentation 说“包含窗口标题的字符串”时我被误导了。它必须完全匹配。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。