X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=hammerspoon%2Finit.lua;h=2228bdcc6978c0da2873cff5fe9bd6814005af1a;hb=be4017091a741b544d0a7761429fdd9f6635b128;hp=5beeeda2c10a28e7f2f87221f835d0e018409e99;hpb=bb3d839011e6e395a0cf289591ffc8469be10de1;p=dotfiles.git diff --git a/hammerspoon/init.lua b/hammerspoon/init.lua index 5beeeda..2228bdc 100644 --- a/hammerspoon/init.lua +++ b/hammerspoon/init.lua @@ -10,42 +10,55 @@ hs.hotkey.bind({"cmd", "alt", "ctrl"}, "R", function() end) hs.alert.show("Config loaded") - --- Sample - Drawing on the screen - http://www.hammerspoon.org/go/#simplereload -mouseCircle = nil -mouseCircleTimer = nil - -function mouseHighlight() - -- Delete an existing highlight if it exists - if mouseCircle then - mouseCircle:delete() - if mouseCircleTimer then - mouseCircleTimer:stop() +-- Reacting to application events +-- Move all Finder in front +function applicationWatcher(appName, eventType, appObject) + if (eventType == hs.application.watcher.activated) then + if (appName == "Finder") then + -- Bring all Finder windows forward when one gets activated + appObject:selectMenuItem({"Window", "Bring All to Front"}) end end - -- Get the current co-ordinates of the mouse pointer - mousepoint = hs.mouse.getAbsolutePosition() - -- Prepare a big red circle around the mouse pointer - mouseCircle = hs.drawing.circle(hs.geometry.rect(mousepoint.x-40, mousepoint.y-40, 80, 80)) - mouseCircle:setStrokeColor({["red"]=1,["blue"]=0,["green"]=0,["alpha"]=1}) - mouseCircle:setFill(false) - mouseCircle:setStrokeWidth(5) - mouseCircle:show() - - -- Set a timer to delete the circle after 3 seconds - mouseCircleTimer = hs.timer.doAfter(3, function() mouseCircle:delete() end) end -hs.hotkey.bind({"cmd","alt","shift"}, "D", mouseHighlight) - - --- window movement -hs.hotkey.bind({"cmd", "alt", "ctrl"}, "H", function() - local win = hs.window.focusedWindow() - local f = win:frame() - - f.x = f.x - 10 - win:setFrame(f) -end) +appWatcher = hs.application.watcher.new(applicationWatcher) +appWatcher:start() + + + +---- Sample - Drawing on the screen - http://www.hammerspoon.org/go/#simplereload +--mouseCircle = nil +--mouseCircleTimer = nil +--function mouseHighlight() +-- -- Delete an existing highlight if it exists +-- if mouseCircle then +-- mouseCircle:delete() +-- if mouseCircleTimer then +-- mouseCircleTimer:stop() +-- end +-- end +-- -- Get the current co-ordinates of the mouse pointer +-- mousepoint = hs.mouse.getAbsolutePosition() +-- -- Prepare a big red circle around the mouse pointer +-- mouseCircle = hs.drawing.circle(hs.geometry.rect(mousepoint.x-40, mousepoint.y-40, 80, 80)) +-- mouseCircle:setStrokeColor({["red"]=1,["blue"]=0,["green"]=0,["alpha"]=1}) +-- mouseCircle:setFill(false) +-- mouseCircle:setStrokeWidth(5) +-- mouseCircle:show() +-- +-- -- Set a timer to delete the circle after 3 seconds +-- mouseCircleTimer = hs.timer.doAfter(3, function() mouseCircle:delete() end) +--end +--hs.hotkey.bind({"cmd","alt","shift"}, "D", mouseHighlight) +-- +-- +---- window movement +--hs.hotkey.bind({"cmd", "alt", "ctrl"}, "H", function() +-- local win = hs.window.focusedWindow() +-- local f = win:frame() +-- +-- f.x = f.x - 10 +-- win:setFrame(f) +--end) -- Window Movement -- https://andrich.blog/2016/11/20/hammerspoon-an-awesome-tool-to-automate-your-mac/