hs changse
This commit is contained in:
parent
04d78344bb
commit
c908b30b0b
4 changed files with 80 additions and 25 deletions
34
flake.lock
generated
34
flake.lock
generated
|
|
@ -169,6 +169,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"miro": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1644177791,
|
||||||
|
"narHash": "sha256-t8L6UboaOcg6JkGjX1NTd13Yw7ATySGxmnkJ7wUyZAE=",
|
||||||
|
"owner": "miromannino",
|
||||||
|
"repo": "miro-windows-manager",
|
||||||
|
"rev": "faa6f5f0bc025cc2465f3198609d2123d86101c2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "miromannino",
|
||||||
|
"repo": "miro-windows-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"naersk": {
|
"naersk": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -365,6 +381,7 @@
|
||||||
"emacs-overlay": "emacs-overlay",
|
"emacs-overlay": "emacs-overlay",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
|
"miro": "miro",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-darwin": "nixpkgs-darwin",
|
"nixpkgs-darwin": "nixpkgs-darwin",
|
||||||
|
|
@ -375,6 +392,7 @@
|
||||||
"pandoc-latex-template": "pandoc-latex-template",
|
"pandoc-latex-template": "pandoc-latex-template",
|
||||||
"private": "private",
|
"private": "private",
|
||||||
"rnix-lsp": "rnix-lsp",
|
"rnix-lsp": "rnix-lsp",
|
||||||
|
"spoons": "spoons",
|
||||||
"utils": "utils_2",
|
"utils": "utils_2",
|
||||||
"x": "x",
|
"x": "x",
|
||||||
"xynoblog": "xynoblog",
|
"xynoblog": "xynoblog",
|
||||||
|
|
@ -383,6 +401,22 @@
|
||||||
"zsh-vim-mode": "zsh-vim-mode"
|
"zsh-vim-mode": "zsh-vim-mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"spoons": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1667424431,
|
||||||
|
"narHash": "sha256-ShfiwQluh89aFmqSKL4Q5X9BECm3qP6jreYGIV0Qb/g=",
|
||||||
|
"owner": "Hammerspoon",
|
||||||
|
"repo": "Spoons",
|
||||||
|
"rev": "b36b6f6c654b787be11b6acde1f9ec4fcd217669",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Hammerspoon",
|
||||||
|
"repo": "Spoons",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1656928814,
|
"lastModified": 1656928814,
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,13 @@
|
||||||
agkozak-zsh-prompt.url = "github:agkozak/agkozak-zsh-prompt";
|
agkozak-zsh-prompt.url = "github:agkozak/agkozak-zsh-prompt";
|
||||||
agkozak-zsh-prompt.flake = false;
|
agkozak-zsh-prompt.flake = false;
|
||||||
|
|
||||||
|
## hammerspoon
|
||||||
|
miro.url = "github:miromannino/miro-windows-manager";
|
||||||
|
miro.flake = false;
|
||||||
|
spoons.url = "github:Hammerspoon/Spoons";
|
||||||
|
spoons.flake = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#other dependencies
|
#other dependencies
|
||||||
pandoc-latex-template.url = "github:Wandmalfarbe/pandoc-latex-template";
|
pandoc-latex-template.url = "github:Wandmalfarbe/pandoc-latex-template";
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,8 @@ in
|
||||||
pkgs.substituteAll {
|
pkgs.substituteAll {
|
||||||
src = ./hammerspoon.lua; inherit notmuchMails;
|
src = ./hammerspoon.lua; inherit notmuchMails;
|
||||||
};
|
};
|
||||||
|
home.file.".hammerspoon/Spoons/MiroWindowsManager.spoon".source = "${inputs.miro}/MiroWindowsManager.spoon";
|
||||||
|
home.file.".hammerspoon/Spoons/MusicAppMediaFix.spoon".source = "${inputs.spoons}/Source/MusicAppMediaFix.spoon";
|
||||||
home.file.".finicky.js".source = ./finicky.js;
|
home.file.".finicky.js".source = ./finicky.js;
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -55,28 +55,28 @@ local usbDevice = {
|
||||||
|
|
||||||
local function languageIsGerman() return hs.host.locale.preferredLanguages()[1]:sub(0, 2) == "de" end
|
local function languageIsGerman() return hs.host.locale.preferredLanguages()[1]:sub(0, 2) == "de" end
|
||||||
|
|
||||||
local function maximizeCurrentWindow() hs.window.focusedWindow():maximize() end
|
-- local function maximizeCurrentWindow() hs.window.focusedWindow():maximize() end
|
||||||
|
--
|
||||||
local function centerCurrentWindow() hs.window.focusedWindow():centerOnScreen() end
|
local function centerCurrentWindow() hs.window.focusedWindow():centerOnScreen() end
|
||||||
|
--
|
||||||
local function moveCurrentWindowToLeftHalf()
|
-- local function moveCurrentWindowToLeftHalf()
|
||||||
local win = hs.window.focusedWindow()
|
-- local win = hs.window.focusedWindow()
|
||||||
local screenFrame = win:screen():frame()
|
-- local screenFrame = win:screen():frame()
|
||||||
local newFrame = hs.geometry.rect(screenFrame.x, screenFrame.y, screenFrame.w / 2, screenFrame.h)
|
-- local newFrame = hs.geometry.rect(screenFrame.x, screenFrame.y, screenFrame.w / 2, screenFrame.h)
|
||||||
win:setFrame(newFrame)
|
-- win:setFrame(newFrame)
|
||||||
end
|
-- end
|
||||||
|
--
|
||||||
local function moveCurrentWindowToRightHalf()
|
-- local function moveCurrentWindowToRightHalf()
|
||||||
local win = hs.window.focusedWindow()
|
-- local win = hs.window.focusedWindow()
|
||||||
local screenFrame = win:screen():frame()
|
-- local screenFrame = win:screen():frame()
|
||||||
local newFrame = hs.geometry.rect(screenFrame.x + screenFrame.w / 2, screenFrame.y, screenFrame.w / 2, screenFrame.h)
|
-- local newFrame = hs.geometry.rect(screenFrame.x + screenFrame.w / 2, screenFrame.y, screenFrame.w / 2, screenFrame.h)
|
||||||
win:setFrame(newFrame)
|
-- win:setFrame(newFrame)
|
||||||
end
|
-- end
|
||||||
|
--
|
||||||
local function moveCurentWindowToNextScreen()
|
-- local function moveCurentWindowToNextScreen()
|
||||||
local win = hs.window.focusedWindow()
|
-- local win = hs.window.focusedWindow()
|
||||||
win:moveToScreen(win:screen():next())
|
-- win:moveToScreen(win:screen():next())
|
||||||
end
|
-- end
|
||||||
|
|
||||||
local function moveMouseToWindowCenter()
|
local function moveMouseToWindowCenter()
|
||||||
local windowCenter = hs.window.frontmostWindow():frame().center
|
local windowCenter = hs.window.frontmostWindow():frame().center
|
||||||
|
|
@ -263,12 +263,24 @@ function showHideBundleId(bundleId)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
hs.hotkey.bind(modifiers.window, hs.keycodes.map.left, moveCurrentWindowToLeftHalf)
|
-- hs.hotkey.bind(modifiers.window, hs.keycodes.map.left, moveCurrentWindowToLeftHalf)
|
||||||
hs.hotkey.bind(modifiers.window, hs.keycodes.map.right, moveCurrentWindowToRightHalf)
|
-- hs.hotkey.bind(modifiers.window, hs.keycodes.map.right, moveCurrentWindowToRightHalf)
|
||||||
hs.hotkey.bind(modifiers.window, hs.keycodes.map.down, moveCurentWindowToNextScreen)
|
-- hs.hotkey.bind(modifiers.window, hs.keycodes.map.down, moveCurentWindowToNextScreen)
|
||||||
hs.hotkey.bind(modifiers.window, hs.keycodes.map["return"], maximizeCurrentWindow)
|
-- hs.hotkey.bind(modifiers.window, hs.keycodes.map["return"], maximizeCurrentWindow)
|
||||||
hs.hotkey.bind(modifiers.window, "c", centerCurrentWindow)
|
hs.hotkey.bind(modifiers.window, "c", centerCurrentWindow)
|
||||||
|
|
||||||
|
hs.loadSpoon("MiroWindowsManager")
|
||||||
|
hs.window.animationDuration = 0
|
||||||
|
spoon.MiroWindowsManager:bindHotkeys({
|
||||||
|
up = {modifiers.window, "up"},
|
||||||
|
right = {modifiers.window, "right"},
|
||||||
|
down = {modifiers.window, "down"},
|
||||||
|
left = {modifiers.window, "left"},
|
||||||
|
fullscreen = {modifiers.window, "return"},
|
||||||
|
nextscreen = {modifiers.hyper, "right"}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
hs.hotkey.bind(modifiers.hyper, "[", moveMouseToWindowCenter)
|
hs.hotkey.bind(modifiers.hyper, "[", moveMouseToWindowCenter)
|
||||||
hs.hotkey.bind(modifiers.hyper, "m", moveMouseToUpperLeft)
|
hs.hotkey.bind(modifiers.hyper, "m", moveMouseToUpperLeft)
|
||||||
hs.hotkey.bind(modifiers.hyper, "o", moveMouseToUpperRight)
|
hs.hotkey.bind(modifiers.hyper, "o", moveMouseToUpperRight)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue