mirror of
https://github.com/nmasur/dotfiles
synced 2026-03-26 14:49:45 +00:00
zoom window hiding functionality
fix hammerspoon
This commit is contained in:
@@ -0,0 +1,45 @@
|
|||||||
|
--- === Hide Zoom Window ===
|
||||||
|
-- Credit: https://news.ycombinator.com/item?id=47369091
|
||||||
|
|
||||||
|
local obj = {}
|
||||||
|
obj.__index = obj
|
||||||
|
|
||||||
|
-- Metadata
|
||||||
|
obj.name = "HideZoomWindow"
|
||||||
|
obj.version = "0.1"
|
||||||
|
|
||||||
|
function obj:init()
|
||||||
|
-- Hide Zoom's "share" windows so it doesn't come back on ESC keypress
|
||||||
|
local zoomWindow = nil
|
||||||
|
local originalFrame = nil
|
||||||
|
|
||||||
|
hs.hotkey.bind({"cmd", "ctrl", "alt"}, "H", function()
|
||||||
|
print("> trying to hide zoom")
|
||||||
|
if not zoomWindow then
|
||||||
|
print("> looking for window")
|
||||||
|
zoomWindow = hs.window.find("zoom share statusbar window")
|
||||||
|
end
|
||||||
|
|
||||||
|
if zoomWindow then
|
||||||
|
print("> found window")
|
||||||
|
if originalFrame then
|
||||||
|
print("> restoring")
|
||||||
|
zoomWindow:setFrame(originalFrame)
|
||||||
|
originalFrame = nil
|
||||||
|
zoomWindow = nil
|
||||||
|
else
|
||||||
|
print("> hiding")
|
||||||
|
originalFrame = zoomWindow:frame()
|
||||||
|
local screen = zoomWindow:screen()
|
||||||
|
local frame = zoomWindow:frame()
|
||||||
|
frame.x = screen:frame().w + 99000
|
||||||
|
frame.y = screen:frame().h + 99000
|
||||||
|
zoomWindow:setFrame(frame)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
print("> window not found")
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
return obj
|
||||||
@@ -29,6 +29,7 @@ in
|
|||||||
zed = "${config.programs.zed-editor.package}/Applications/Zed.app";
|
zed = "${config.programs.zed-editor.package}/Applications/Zed.app";
|
||||||
};
|
};
|
||||||
xdg.configFile."hammerspoon/Spoons/MoveWindow.spoon".source = ./Spoons/MoveWindow.spoon;
|
xdg.configFile."hammerspoon/Spoons/MoveWindow.spoon".source = ./Spoons/MoveWindow.spoon;
|
||||||
|
xdg.configFile."hammerspoon/Spoons/HideZoomWindow.spoon".source = ./Spoons/HideZoomWindow.spoon;
|
||||||
|
|
||||||
home.activation.reloadHammerspoon = config.lib.dag.entryAfter [ "writeBoundary" ] ''
|
home.activation.reloadHammerspoon = config.lib.dag.entryAfter [ "writeBoundary" ] ''
|
||||||
$DRY_RUN_CMD /Applications/Hammerspoon.app/Contents/Frameworks/hs/hs -c "hs.reload()"
|
$DRY_RUN_CMD /Applications/Hammerspoon.app/Contents/Frameworks/hs/hs -c "hs.reload()"
|
||||||
|
|||||||
@@ -3,3 +3,4 @@ hs.loadSpoon("ControlEscape"):start() -- Load Hammerspoon bits from https://gith
|
|||||||
hs.loadSpoon("Launcher"):init()
|
hs.loadSpoon("Launcher"):init()
|
||||||
hs.loadSpoon("DismissAlerts"):init()
|
hs.loadSpoon("DismissAlerts"):init()
|
||||||
hs.loadSpoon("MoveWindow"):init()
|
hs.loadSpoon("MoveWindow"):init()
|
||||||
|
hs.loadSpoon("HideZoomWindow"):init()
|
||||||
|
|||||||
Reference in New Issue
Block a user