Back

https://github.com/Hammerspoon/hammerspoon

This is a tool for powerful automation of OS X. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine.

官方的说法:这是一个强大的OSX 自动化工具,Hammerspoon 连接了操作系统和 lua 脚本

简单的来说就是可以用 lua 脚本实现一些自动化工具。

在接触Hammerspoon之前一直用一个叫 Hotkey 的 app 来切换应用,他的功能就是可以给每个 app 绑定一个固定的全局快捷键。

有了Hammerspoon,我们可以用他实现更厉害的功能!

hs.hotkey.bind({"shift", "ctrl"}, "c", function()
  activateOrCenter(
    hs.application.find('chrome')
  )
end)
hs.hotkey.bind({"shift", "ctrl"}, "v", function()
  activateOrCenter(
    hs.application.find('vim')
  )
end)
hs.hotkey.bind({"shift", "ctrl"}, "s", function()
  activateOrCenter(
    hs.application.find('sequel')
  )
end)
hs.hotkey.bind({"shift", "ctrl"}, "return", function()
  activateOrCenter(
    hs.application.find('iterm')
  )
end)

function activateOrCenter(app)
  if (app:isFrontmost())
  then
    local win = app:focusedWindow()
    win:centerOnScreen()
  else
    app:activate()
  end
end

这样按 shift+ctrl+c 会把 chrome 浏览器切换到最前面,如果它已经在最前面则把它移动到屏幕中央。


no reply