Skip to content

Instantly share code, notes, and snippets.

@shmup
Last active March 12, 2025 19:47
Show Gist options
  • Save shmup/782901f54612b3dffb1bf13713947a79 to your computer and use it in GitHub Desktop.
Save shmup/782901f54612b3dffb1bf13713947a79 to your computer and use it in GitHub Desktop.
ahk scripts i use at work
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
padding := 20
; half screens
^#h::WinMove, A, , padding, padding, (A_ScreenWidth/2)-(padding*1.5), A_ScreenHeight-(padding*2)
^#j::WinMove, A, , padding, (A_ScreenHeight/2)+padding, A_ScreenWidth-(padding*2), (A_ScreenHeight/2)-(padding*2)
^#k::WinMove, A, , padding, padding, A_ScreenWidth-(padding*2), (A_ScreenHeight/2)-(padding*2)
^#l::WinMove, A, , (A_ScreenWidth/2)+padding, padding, (A_ScreenWidth/2)-(padding*2), A_ScreenHeight-(padding*2)
; corners
^#y::WinMove, A, , padding, padding, (A_ScreenWidth/2)-(padding*1.5), (A_ScreenHeight/2)-(padding*2)
^#u::WinMove, A, , (A_ScreenWidth/2)+padding, padding, (A_ScreenWidth/2)-(padding*2), (A_ScreenHeight/2)-(padding*2)
^#b::WinMove, A, , padding, (A_ScreenHeight/2)+padding, (A_ScreenWidth/2)-(padding*1.5), (A_ScreenHeight/2)-(padding*2)
^#n::WinMove, A, , (A_ScreenWidth/2)+padding, (A_ScreenHeight/2)+padding, (A_ScreenWidth/2)-(padding*2), (A_ScreenHeight/2)-(padding*2)
; maximized (not fullscreen)
^#m::WinMove, A, , padding, padding, A_ScreenWidth-(padding*2), A_ScreenHeight-(padding*2)
; centered with padding
^#c::
center_x_padding := 400
center_y_padding := 200
width := A_ScreenWidth - (center_x_padding * 2)
height := A_ScreenHeight - (center_y_padding * 2)
WinMove, A, , center_x_padding, center_y_padding, width, height
return
; AHK v2 script
SetWorkingDir(A_ScriptDir)
; https://github.com/Ciantic/VirtualDesktopAccessor
VDA_PATH := A_ScriptDir . "\VirtualDesktopAccessor.dll"
hVirtualDesktopAccessor := DllCall("LoadLibrary", "Str", VDA_PATH, "Ptr")
GoToDesktopNumberProc := DllCall("GetProcAddress", "Ptr", hVirtualDesktopAccessor, "AStr", "GoToDesktopNumber", "Ptr")
GoToDesktopNumber(num) {
global GoToDesktopNumberProc
DllCall(GoToDesktopNumberProc, "Int", num, "Int")
return
}
; win+1 through win+9 switches desktops
#1::GoToDesktopNumber(0)
#2::GoToDesktopNumber(1)
#3::GoToDesktopNumber(2)
#4::GoToDesktopNumber(3)
#5::GoToDesktopNumber(4)
#6::GoToDesktopNumber(5)
#7::GoToDesktopNumber(6)
#8::GoToDesktopNumber(7)
#9::GoToDesktopNumber(8)
MoveWindowToDesktopNumberProc := DllCall("GetProcAddress", "Ptr", hVirtualDesktopAccessor, "AStr", "MoveWindowToDesktopNumber", "Ptr")
MoveWindowToDesktopNumber(num) {
global MoveWindowToDesktopNumberProc
activeHwnd := WinExist("A")
DllCall(MoveWindowToDesktopNumberProc, "Ptr", activeHwnd, "Int", num, "Int")
return
}
; win+shift+1 through win+shift+9 moves active window to desktop #
#+1::MoveWindowToDesktopNumber(0)
#+2::MoveWindowToDesktopNumber(1)
#+3::MoveWindowToDesktopNumber(2)
#+4::MoveWindowToDesktopNumber(3)
#+5::MoveWindowToDesktopNumber(4)
#+6::MoveWindowToDesktopNumber(5)
#+7::MoveWindowToDesktopNumber(6)
#+8::MoveWindowToDesktopNumber(7)
#+9::MoveWindowToDesktopNumber(8)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment