summaryrefslogtreecommitdiff
path: root/AutoHotkey/staggered_hotkeys.ahk
diff options
context:
space:
mode:
Diffstat (limited to 'AutoHotkey/staggered_hotkeys.ahk')
-rw-r--r--AutoHotkey/staggered_hotkeys.ahk265
1 files changed, 265 insertions, 0 deletions
diff --git a/AutoHotkey/staggered_hotkeys.ahk b/AutoHotkey/staggered_hotkeys.ahk
new file mode 100644
index 0000000..2f349d6
--- /dev/null
+++ b/AutoHotkey/staggered_hotkeys.ahk
@@ -0,0 +1,265 @@
+#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
Back to https://optics-design.com