반응형
맥에서 앱을 종료하지 않고 창만 닫는 키는 Cmd + W 이고, 앱을 완전히 종료하는 키는 Cmd + Q 입니다.
W, Q 키는 바로 옆에 붙어 있어 종종 창만 닫으려고 했는데 앱이 종료되는 경우가 있습니다.
하여, Cmd + Q 를 2회 연속 클릭하여 실수로 앱이 종료되는 문제를 해결하는 방법에 대해서 알아보겠습니다.
맥의 기본 설정으로는 해결이 불가능하고, Hammerspoon 이라는 앱을 이용해서 간단히 해결하였습니다.
brew 등으로 hammerspoon 을 설치합니다.
brew install --cask hammerspoon
Hammerspoon 은 앱 구동 시 ~/.hammerspoon/init.lua 라는 파일의 설정을 로딩하여 동작합니다.
해당 파일에 lua 스크립트로 Cmd + Q 를 2회 연속 클릭하여 앱을 종료하는 기능를 추가합니다.
아래는 해당 스크립트입니다.
local quit_modal = hs.hotkey.modal.new("cmd", "q")
function quit_modal:entered()
-- 메시지
hs.alert.show("Press ⌘+Q again to quit")
-- 1초 후 모달 닫음
hs.timer.doAfter(1, function()
quit_modal:exit()
end)
end
quit_modal:bind("cmd", "q", function()
-- 앱이 종료됨
local app = hs.application.frontmostApplication()
if app then
app:kill()
end
-- 모달 닫음
quit_modal:exit()
end)
hs.hotkey.bind({"cmd"}, "q", function()
-- cmd+q를 눌렀을 때, 최전방 앱이 Finder가 아닐 경우에만 quit_modal 실행
local app = hs.application.frontmostApplication()
if app and app:name() ~= "Finder" then
quit_modal:enter()
end
end)
Finder 는 맥에서 종료되지 않는 앱입니다. 하여 Finder 에 포커스가 있는 경우에는 해당 앱은 종료하지 않게 설정되어 있습니다.
끝.
반응형