#SingleInstance Force global NavMode := false UserPath := EnvGet("USERPROFILE") syncPath := EnvGet("SYNC") DetectHiddenWindows true CapsLock & l::Send "^{Space}" CapsLock & u::Send "^u" CapsLock & i::Send "{Tab}" CapsLock & q::Send "!{F4}" CapsLock & e::Send "^{Tab}" CapsLock & d::Send "^d" CapsLock & p::Send "^p" CapsLock & n::Send "^n" CapsLock & c::Send "^c" CapsLock & Space::Send "^!l" #SuspendExempt ^!o::Suspend ; Ctrl+Alt+o #SuspendExempt False ;Windows Terminal CapsLock & j:: { ; Check if Windows Terminal is running if WinExist("ahk_exe WindowsTerminal.exe" ) { ; If Windows Terminal is already in the foreground, minimize it if WinActive("ahk_exe WindowsTerminal.exe" ) { WinMinimize("ahk_exe WindowsTerminal.exe") } else { ; If Windows Terminal is running but not in the foreground, bring it to the foreground WinActivate("ahk_exe WindowsTerminal.exe") } } else { ; If Windows Terminal is not running, launch it Run(UserPath . "\scoop\apps\windows-terminal\current\WindowsTerminal.exe") } } ;Emacs CapsLock & k:: { ; Check if Emacs is running if WinExist("ahk_class Emacs ahk_exe emacs.exe") { ; If Emacs is already in the foreground, minimize it if WinActive("ahk_class Emacs ahk_exe emacs.exe") { WinMinimize("ahk_class Emacs ahk_exe emacs.exe") } else { ; If Emacs is running but not in the foreground, bring it to the foreground WinActivate("ahk_class Emacs ahk_exe emacs.exe" ) } } else { ; If Emacs is not running, launch it Run(UserPath . "\scoop\apps\emacs\current\bin\emacsclientw.exe -c") } } ;Obsidian CapsLock & g:: { ; Check if Obsidian is running if WinExist("ahk_class Chrome_WidgetWin_1 ahk_exe Obsidian.exe") { ; If Obsidian is already in the foreground, minimize it if WinActive("ahk_class Chrome_WidgetWin_1 ahk_exe Obsidian.exe") { WinMinimize("ahk_class Chrome_WidgetWin_1 ahk_exe Obsidian.exe") } else { ; If Obsidian is running but not in the foreground, bring it to the foreground WinActivate("ahk_class Chrome_WidgetWin_1 ahk_exe Obsidian.exe" ) } } else { ; If Obsidian is not running, launch it Run(UserPath . "\scoop\apps\obsidian\current\Obsidian.exe") } } ;Zotero CapsLock & o:: { ; Check if Zotero is running if WinExist("ahk_class MozillaWindowClass ahk_exe zotero.exe") { ; If Zotero is already in the foreground, minimize it if WinActive("ahk_class MozillaWindowClass ahk_exe zotero.exe") { WinMinimize("ahk_class MozillaWindowClass ahk_exe zotero.exe") } else { ; If Zotero is running but not in the foreground, bring it to the foreground WinActivate("ahk_class MozillaWindowClass ahk_exe zotero.exe" ) } } else { ; If Zotero is not running, launch it Run(UserPath . "\scoop\apps\zotero\current\zotero.exe") } } ;Telegram CapsLock & t:: { ; Check if Telegram is running if WinExist("ahk_exe Telegram.exe") { ; If Telegram is already in the foreground, minimize it if WinActive("ahk_exe Telegram.exe") { WinMinimize("ahk_exe Telegram.exe") } else { ; If Telegram is running but not in the foreground, bring it to the foreground WinActivate("Telegram" ) } } } ;Browser CapsLock & r:: { ; Check if Browser is running if WinExist("ahk_class MozillaWindowClass ahk_exe librewolf.exe") { ; If Browser is already in the foreground, minimize it if WinActive("ahk_class MozillaWindowClass ahk_exe librewolf.exe") { WinMinimize("ahk_class MozillaWindowClass ahk_exe librewolf.exe") } else { ; If Browser is running but not in the foreground, bring it to the foreground WinActivate("ahk_class MozillaWindowClass ahk_exe librewolf.exe" ) } } else { ; If Browser is not running, launch it Run(UserPath . "\scoop\apps\librewolf\current\LibreWolf-Portable.exe") } } ;Audacious CapsLock & m:: { ; Check if Audacious is running if WinExist("ahk_class Qt672QWindowIcon ahk_exe audacious.exe") { ; If Audacious is already in the foreground, minimize it if WinActive("ahk_class Qt672QWindowIcon ahk_exe audacious.exe") { WinMinimize("ahk_class Qt672QWindowIcon ahk_exe audacious.exe") } else { ; If Audacious is running but not in the foreground, bring it to the foreground WinActivate("ahk_class Qt672QWindowIcon ahk_exe audacious.exe" ) } } else { ; If Audacious is not running, launch it Run(UserPath . "\scoop\apps\audacious\current\bin\audacious.exe") } } ;Bookmark Finder CapsLock & f:: { ; Run the batch file Run(syncPath . "\Repos\Windows\Batch_tools\bookmarkfinder\bookmarkfinder.bat") } ;AI CapsLock & h:: { ; Check if AI is running if WinExist("Claude") { ; If AI is already in the foreground, minimize it if WinActive("Claude") { WinMinimize("Claude") } else { ; If AI is running but not in the foreground, bring it to the foreground WinActivate("Claude") } } else { ; If AI is not running, launch it Run("Claude.exe") } } ;Task Switcher CapsLock & w::{ global NavMode := true Send "^!{Tab}" } #HotIf NavMode Capslock & q:: { global NavMode := false Send "{Esc}" return } Enter:: { global NavMode := false Send "{Enter}" ; Confirm selection return } ; Navigate up/down (between windows) j:: { Send "{Down}" return } q:: { Send "^w" return } k:: { Send "{Up}" return } ; Navigate left/right (between windows) h:: { Send "{Left}" return } l:: { Send "{Right}" return } #HotIf