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/
f.w = max.w
f.h = max.h / 2
elseif direction == "max" then
- f.x = max.x
- f.y = max.y
- f.w = max.w
- f.h = max.h
- elseif direction == "center" then
- f.x = max.x + (max.w / 6)
- f.y = max.y + (max.h / 6)
- f.w = max.w * 2 / 3
- f.h = max.h * 2 / 3
+ if f.w > (max.w * 3/4) and f.h > (max.h * 3/4) then
+ f.x = max.x + (max.w / 6)
+ f.y = max.y + (max.h / 6)
+ f.w = max.w * 2 / 3
+ f.h = max.h * 2 / 3
+ else
+ f.x = max.x
+ f.y = max.y
+ f.w = max.w
+ f.h = max.h
+ end
else
hs.alert.show("move_window(): Freaky parameter received " .. direction)
end
end
end
-local hyper = {"ctrl", "alt"}
+local hyper = {"ctrl", "cmd"}
hs.hotkey.bind(hyper, "h", move_window("left"))
hs.hotkey.bind(hyper, "l", move_window("right"))
hs.hotkey.bind(hyper, "k", move_window("up"))
hs.hotkey.bind(hyper, "j", move_window("down"))
hs.hotkey.bind(hyper, "m", move_window("max"))
-hs.hotkey.bind(hyper, "c", move_window("center"))
-- Search and dictionary
-- Past and copy