diff --git a/hammerspoon/init.lua b/hammerspoon/init.lua index c9b93c5..4e7538e 100644 --- a/hammerspoon/init.lua +++ b/hammerspoon/init.lua @@ -1 +1,2 @@ require("modules.esc_eng") +require("modules.block_cmd_q_safari") diff --git a/hammerspoon/modules/block_cmd_q_safari.lua b/hammerspoon/modules/block_cmd_q_safari.lua new file mode 100644 index 0000000..cb5cf84 --- /dev/null +++ b/hammerspoon/modules/block_cmd_q_safari.lua @@ -0,0 +1,14 @@ +CMD_Q_SAFARI = hs.hotkey.new({ "cmd" }, "q", function() + local app = hs.application.frontmostApplication() + local appName = app:name() + if app:name() == "Safari" then + local button, text = hs.dialog.blockAlert("Are you sure you want to quit Safari?", "Safari has open windows or tabs.", "Quit", "Cancel") + if button == "Quit" then + app:kill() -- This command will close Safari if "Quit" is selected + end + else + CMD_Q_SAFARI:disable() + hs.eventtap.keyStroke({ "cmd" }, "Q") + CMD_Q_SAFARI:enable() + end +end):enable()