Používáte víc než jednu aplikaci? Pak zkuste Autohotkey, půjde vám to líp

Ať už pracuji na svých třech monitorech o ploše půlky fotbalového hřiště anebo na 15.6" notebooku, používám při práci Autohotkey. Je to skriptovací utilitka, která udělá něco užitečného po stisknutí klávesových zkratek.

Doplnění chybějících Home / End tlačítek

Na (jinak skvělém) HP zBook 15u G6 notebooku co má ale blbě umístěné Home/End/PgUp/PgDown tlačítka si třeba přemapuju Alt+šipku vlevo za Home, Alt+šipku vpravo za End, šipky nahoru/dolů pak za PageUp/Down, a podobně.

; Alt+arrows za Home/End/PgUp/PgDown
!Left::Send {Home}
!Right::Send {End}
!Up::Send {PgUp}
!Down::Send {PgDn}

Rychlé ukončení aplikace přes Win+Q

Klávesovou zkratku Win+Q (quit) anebo Win+C (close) používám pro ukončení aplikace.

; Windows+Q or C = quit/close current app (Alt+F4)
#q::Send !{F4}
#c::Send !{F4}

Rychlé spuštění nebo přepnutí na aplikaci přes Win+písmeno

Skriptovací jazyk Autohotkey je snadno pochopitelný a mocný. Můžete na 5 řádků napsat skript, co zjistí zda aplikace běží, pokud ne, tak ji spustí, pokud ano, tak se na ni přepne.

Takto třeba spustím Firefox nebo se přepnu na Firefox, stačí stisknout AltGr + F.

<^>!f::
; AltGr+f - spustit Firefox
if WinExist("ahk_exe firefox.exe")
    WinActivate
else
    Run, "C:\Program Files\Mozilla Firefox\firefox.exe"
return 

Autohotkey je skvělá a mocná věc, co dost dramaticky zvýší produktivitu, protože jezdit a hledat myší je mnohem pomalejší než stisknout AltGr + písmeno pro vaši oblíbenou aplikaci.

Moderní Windows aplikace

Trošku více tricky je spouštění moderních Windows aplikací, nemají klasické "EXE" spouštěče. Zde se musíte podívat do c:\Program Files\WindowsApps, zde si najít vaši aplikaci, z názvu adresáře odstranit verzi, a pak v souboru AppxManifest.xml vyhledat ID aplikace a to přidat za název adresáře jako !ID.

Pro OneNote to třeba vypadá takto, zbytek si snadno odvodíte:

; AltGr+n - spustit OneNote
<^>!n::
if WinExist("OneNote")
    WinActivate
else
	Run shell:AppsFolder\Microsoft.Office.OneNote_8wekyb3d8bbwe!microsoft.onenoteim
return 

Celý můj skript zde

#SingleInstance Force
SendMode("Input")  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir(A_ScriptDir)  ; Ensures a consistent starting directory.

if not A_IsAdmin
	Run("*RunAs `"" A_ScriptFullPath "`"") ;

#WinActivateForce

; Mouse sensitivity
; Nastavení citlivosti myši (Win + F1 až F10)
SetMouseSpeed(speed) {
    ; SPI_SETMOUSESPEED = 0x71
    DllCall("user32.dll\SystemParametersInfo", "UInt", 0x71, "UInt", 0, "Ptr", speed, "UInt", 2)
    
    ; Zobrazí bublinu u kurzoru
    ToolTip "Citlivost: " . speed
    
    ; Skryje bublinu za 1000ms (1 sekunda)
    SetTimer () => ToolTip(), -1000
}

; --- Klávesové zkratky ---
#F1::SetMouseSpeed(2)
#F2::SetMouseSpeed(4)
#F3::SetMouseSpeed(6)
#F4::SetMouseSpeed(8)
#F5::SetMouseSpeed(10)
#F6::SetMouseSpeed(12)
#F7::SetMouseSpeed(14)
#F8::SetMouseSpeed(16)
#F9::SetMouseSpeed(18)
#F10::SetMouseSpeed(20)

; Alt+arrows za Home/End/PgUp/PgDown
!Left::Send("{Home}")
!Right::Send("{End}")
!Up::Send("{PgUp}")
!Down::Send("{PgDn}")

; Alt+Shift+arrows za Shift+Home/End/PgUp/PgDown
!+Left::Send("{LShift Down}{Home}{LShift Up}")
!+Right::Send("{LShift Down}{End}{LShift Up}")
!+Up::Send("{LShift Down}{PgUp}{LShift Up}")
!+Down::Send("{LShift Down}{PgDn}{LShift Up}")

; Alt+Ctrl+arrows za Ctrl+Home/End
!^Left::Send("{LCtrl Down}{Home}{LCtrl Up}")
!^Right::Send("{LCtrl Down}{End}{LCtrl Up}")

; Alt+Shift+Ctrl+arrows za Shift+Ctrl+Home/End
^+!Left::Send("{LCtrl Down}{LShift Down}{Home}{LShift Up}{LCtrl Up}")
^+!Right::Send("{LCtrl Down}{LShift Down}{End}{LShift Up}{LCtrl Up}")

; Windows+Q or C = quit/close current app (Alt+F4)
#q::Send("!{F4}")
#c::Send("!{F4}")

; ========================================================================

; AltGr+a - spustit Navicat
<^>!a::
{
	if WinExist("Navicat")
		WinActivate()
	else
		RunWait("`"C:\bin64\PremiumSoft\Navicat Premium 17\navicat.exe`"")
	return
}

; AltGr+c - spustit Chrome
<^>!c::
{
	if WinExist("ahk_exe chrome.exe")
		WinActivate()
	else
		RunWait("`"C:\Program Files\Google\Chrome\Application\chrome.exe`"")
	return
}

; AltGr+l - spustit PowerShell
<^>!l::
{
	if WinExist("ahk_exe WindowsTerminal.exe")
		WinActivate()
	else
		RunWait("wt.exe")
	return
}

; AltGr+d - spustit Microsoft Edge
<^>!d::
{
	if WinExist("ahk_exe msedge.exe")
		WinActivate()
	else
		RunWait("`"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe\`" --profile-directory=`"Profile 1`"")
	return
}

; AltGr+e - spustit EmEditor
<^>!e::
{
	if WinExist("EmEditor")
		WinActivate()
	else
		RunWait("`"C:\Users\hulan\AppData\Local\Programs\EmEditor\EmEditor.exe`"")
	return
}

<^>!f::
; AltGr+f - spustit Firefox
{
	if WinExist("ahk_exe firefox.exe")
		WinActivate()
	else
		RunWait("`"C:\Program Files\Mozilla Firefox\firefox.exe`"")
	return
}

; AltGr+g - spustit GIT
<^>!g::
{
	if WinExist("ahk_exe SourceTree.exe")
		WinActivate()
	else
		RunWait("`"C:\Users\hulan\AppData\Local\SourceTree\SourceTree.exe`"")
	return
}

; AltGr+m - spustit Messenger
<^>!m::
{
	if WinExist("Messenger")
		WinActivate()
	else
		RunWait("shell:AppsFolder\FACEBOOK.317180B0BB486_8xx8rvfyw5nnt!App")
	return
}

; AltGr+n - spustit OneNote
<^>!n::
{
	if WinExist("OneNote")
		WinActivate()
	else
		RunWait("shell:AppsFolder\Microsoft.Office.OneNote_8wekyb3d8bbwe!microsoft.onenoteim")
	return
}

; AltGr+o - spustit Outlook
<^>!o::
{
	if WinExist("ahk_exe OUTLOOK.EXE")
		WinActivate()
	else
		RunWait("`"C:\Program Files\Microsoft Office\root\Office16\OUTLOOK.EXE`"")
	return
}

; AltGr+p - spustit Foxit PDF
<^>!p::
{
	if WinExist("ahk_exe FoxitPDFEditor.exe")
		WinActivate()
	else
		RunWait("`"C:\Program Files (x86)\Foxit Software\Foxit PDF Editor\FoxitPDFEditor.exe`"")
	return
}

; AltGr+r - spustit Remote Desktop
<^>!r::
{
	if WinExist("Remote Desktop")
		WinActivate()
	else
		RunWait("shell:AppsFolder\Microsoft.RemoteDesktop_8wekyb3d8bbwe!App")
	return
}

; AltGr+s - spustit SpeedCommander
<^>!s::
{
	if WinExist("SpeedCommander")
		WinActivate()
	else
		RunWait("`"C:\Program Files\SpeedProject\SpeedCommander 22\SpeedCommander.exe`"")
	return
}

; AltGr+t - spustit Spotify
<^>!t::
{
	if WinExist("ahk_exe Spotify.exe")
		WinActivate()
	else
		RunWait("shell:AppsFolder\SpotifyAB.SpotifyMusic_zpdnekdrzrea0!Spotify")
	return
}

; AltGr+v - spustit Visual Studio Code
<^>!v::
{
	if WinExist("ahk_exe Code.exe")
		WinActivate()
	else
		RunWait("`"C:\Program Files\Microsoft VS Code\Code.exe`"")
	return
}

; AltGr+x - spustit XnView
<^>!x::
{
	if WinExist("XnView")
		WinActivate()
	else
		RunWait("`"C:\Program Files\XnViewMP\xnviewmp.exe`"")
	return
}