Skip to content

Instantly share code, notes, and snippets.

@myfonj
Created April 18, 2020 13:00
Show Gist options
  • Save myfonj/13d1cb68afdac73869255dec073fcd4b to your computer and use it in GitHub Desktop.
Save myfonj/13d1cb68afdac73869255dec073fcd4b to your computer and use it in GitHub Desktop.
; UTF-8
; BOM required in Autohotkey newer than v1.1.07.03
;
; --- http://www.autohotkey.com/
; +++ http://ahkscript.org/
;
; ;-,-,'-; ;=
;
; + shift
; ^ ctrl
; # win
; ! Alt
;
; +
; ^ # !
;
;;;;;;;;;;
; #NoTrayIcon
; reload THIS SCRIPT
; ctrl + alt + shift + r
^+!r::reload
; suspend this script
^+#s::Suspend
; quick edit this script
; ctrl + win + shift + alt + r
;^+#!r::msgbox,%A_usr_editor% %A_ScriptFullPath%
^+#!r::run,C:\apps\VSCode\Code.exe %A_ScriptFullPath%
; ^+#!r::edit
; ctrl + pageup / pagedown
; remap to ctrl + (shift) + tab
; because: several apps dont get this right
; #ifWinNotActive ahk_exe Code.exe
; #ifWinNotActive ahk_exe gimp-2.8.exe
; ; because: in gimp ctrl+pg switches tabs; ctrl+tab switches layers
;^PgDn::^tab
;^PgUp::^+tab
; #ifWinNotActive
; Firefox "close tab to the left"
; relies on about:config browser.tabs.selectOwnerOnClose=false
; (that ensures ^w will always select → RIGHT
#IfWinActive, ahk_class MozillaWindowClass
; close to left
; this will effectively override the dreaded ctrl+shift+w close window
^+q::
^+w::
sendInput,^+{pgUp} ; = swap current tab with left neighbour
sleep,5
sendInput,^w ; = close current tab
return
; close to right (default)
;^w::
;sendInput,^w ; = close current tab
return
#IfWinActive
; https://github.com/freeCodeCamp/devdocs/issues/843#issuecomment-428159454
; this sets matchMode for whole script, cannot be reset (?)
SetTitleMatchMode 2
#ifwinactive DevDocs
!d::send ^l
#ifwinactive
SetTitleMatchMode 1
;
; home | end | pgup | pgdown
; leftWin + arrows
; simulating convenient approach of good laptops
;
; <#up::pgup
; <#up::send,{pgup}
; <#down::pgdn
; <#down::send,{pgdn}
; <#right::end
; <#right::send,{end}
; <#left::home
; <#left::send,{home}
; http://stackoverflow.com/questions/16652292/remapping-win-left-to-home-fails-with-autohotkey
;
; context menu
; rightCTRL + rightAlt
; (yes, my laptops keyboard sucks because it lacks menu key)
;
rctrl & ralt::SendInput,{blind}{appsKey down}
rctrl & ralt up::SendInput,{blind}{appsKey up}
; test key combos
;ralt & rctrl::msgbox,asd
;rctrl & ralt::msgbox,SDA
;
; smart indent with leading delimiter
; alt + win + tab
; indent to first non-whitespace character of line above and repeat separator
; ----
; gazonk : 1
; foo|
; -->>
; gazonk : 1
; foo : |
;
!#tab::
gosub,backup_clipboard
sendInput,{up}+{end}
sleep,5
sendInput,^c
clipWait,2
sleep,5
sendInput,{left}{down}
AutoTrim,OFF
RegExMatch( clipboard, "^(\S*)(\s+(\W+\s*)?)(?Cwhitepacize_delim)", "+")
whitepacize_delim(m){
newstr := RegExReplace(m1,"."," ",,-1) . m2
sleep,5
clipboard =%newstr%
sleep,5
sendInput,^v
}
AutoTrim,ON
gosub,restore_clipboard
return
;
; smart indent to first non-whitespace character of line above
; ctrl + win + tab
; ----
; gazonk : 1
; foo|
; -->>
; gazonk : 1
; foo |
;
^#tab::
gosub,backup_clipboard
sendInput,{up}+{end}
sleep,5
sendInput,^c
clipWait,2
sleep,5
sendInput,{left}{down}
AutoTrim,OFF
RegExMatch( clipboard, "^(\S*)(\s+)(?Cwhitepacize)", "+")
whitepacize(m){
newstr := RegExReplace(m1,"."," ",,-1) . m2
sleep,5
clipboard =%newstr%
sleep,5
sendInput,^v
}
AutoTrim,ON
gosub,restore_clipboard
return
;
; § HORIZONTAL SCROLL
; leftShift + wheel
; @see
; http://www.autohotkey.com/docs/Hotkeys.htm#Wheel
; http://www.autohotkey.com/community/viewtopic.php?f=13&t=85383&start=15#p537597
; http://msdn.microsoft.com/en-us/library/windows/desktop/bb787575(v=vs.85).aspx
; 0x114 is WM_HSCROLL and the 0 after it is SB_LINELEFT
; Scroll left one page
; leftShift + wheelUp
<+WheelUp::
ControlGetFocus, fcontrol, A
SendMessage, 0x114, 2, 0, %fcontrol%, A
return
; Scroll right one page
; leftShift + wheelDown
<+WheelDown::
ControlGetFocus, fcontrol, A
SendMessage, 0x114, 3, 0, %fcontrol%, A
return
; Scroll to left end
; leftShift + control + wheelUp
<+^WheelUp::
ControlGetFocus, fcontrol, A
SendMessage, 0x114, 6, 0, %fcontrol%, A
return
; Scroll to right end
; leftShift + control + wheelDown
<+^WheelDown::
ControlGetFocus, fcontrol, A
SendMessage, 0x114, 7, 0, %fcontrol%, A
return
;
; win7 Launchy hotfix
; configure Lanuchy to be triggered with ScrollLock
; win + space = scrollLock
;
#space::SendInput,{ScrollLock down}{ScrollLock up}
!space::SendInput,{ScrollLock down}{ScrollLock up}
; return
;
; § SPECIAL CHARACTERS
;
;
; ¶
; win + shift + r
; &para;
; &#182;
; PILCROW SIGN
; paragraph sign
; section sign in some European areas
;
#+r::¶
;
; ❡
; &#10081;
; CURVED STEM PARAGRAPH SIGN ORNAMENT
^#!r::❡
;
; swap characters berofore and after cursor
; win + s
; - a|b -> b|a
;
#s::
critical ; another try to 'fix' some apps clipboard handling exception, lets see
pseudoKeyDelay := 16
clipBackup := ;
if( strLen(ClipboardAll) )
{
clipBackup := ClipboardAll
clipboard = ; clear clipboard
sleep,pseudoKeyDelay
}
sendInput,{shift down}
sleep,pseudoKeyDelay
sendInput,{left down}
sleep,pseudoKeyDelay
sendInput,{left up}
sleep,pseudoKeyDelay
sendInput,{shift up}
sleep,pseudoKeyDelay
sendInput,{ctrl down}
sleep,pseudoKeyDelay
sendInput,{x down}
clipWait,1 ; wait 1 SEC
if ErrorLevel
{
MsgBox, The attempt to copy text onto the clipboard failed.
if( strLen(clipBackup) )
{
clipboard := clipBackup
clipBackup = ;
}
sleep,pseudoKeyDelay
sendInput,{x up}
sendInput,{right}
return
}
sendInput,{x up}
sleep,pseudoKeyDelay
sendInput,{ctrl up}
sleep,pseudoKeyDelay
sendInput,{right}
sleep,pseudoKeyDelay
sendInput,{ctrl down}
sleep,pseudoKeyDelay
sendInput,{v down}
sleep,pseudoKeyDelay
sendInput,{v up}
sleep,pseudoKeyDelay
sendInput,{ctrl up}
sleep,pseudoKeyDelay
sendInput,{left down}
sleep,pseudoKeyDelay
sendInput,{left up}
sleep,pseudoKeyDelay
if( strLen(clipBackup) )
{
clipboard := clipBackup
clipBackup = ;
}
sleep,pseudoKeyDelay
return
;
; § cosole / command line / shell utils
;
; ifWinNotExist ahk_pid %console_window_pid%
; { run, C:\Windows\SysWOW64\cmd.exe /D /U /K "cd %UserProfile%\Desktop", , ,console_window_pid
; WinWait ahk_pid %console_window_pid%
; winSetTitle CMD
; } else
; { ifWinNotActive
; { winShow
; winActivate
; } else
; { winMinimize
; winHide
; }
; }
; CMDER start / focus / hide
;
#+;::
detectHiddenWindows ON
ifWinNotExist ahk_class VirtualConsoleClass
{ run, C:\apps\cmder\cmder.exe
} else
{ ifWinNotActive
{ winShow
winActivate
} else
{ winMinimize
}
}
detectHiddenWindows OFF
return
;
; ¶ start new console
; win shift ;
;
; #+;::
; run, cmd /D /U /K "cd C:\"
; return
;
; ¶ start admin console
; ctrl win shift ;
;
; #+^;::
; run, C:\apps\cmd\cmd-admin.lnk
; return
;
; ¶ cosole: ctrl + v = paste
; be careful pasting linebreaks!
; not needed @ w10
;
; #IfWinActive ahk_class ConsoleWindowClass
; ^v::SendInput,{Raw}%clipboard%
; #IfWinActive
;
; subroutines
;
clear_clipboard:
; sleep,1
if( strLen(ClipboardAll) )
{
clipboard = ;
; clipWait,1
sleep,16
}
return
backup_clipboard:
clipBackup := ClipboardAll
gosub,clear_clipboard
return
restore_clipboard:
; sleep,2
if( strLen(clipBackup) )
{
gosub,clear_clipboard
clipboard := clipBackup
clipBackup = ;
}
sleep,16
return
;
; paste plaintext
; win contol v
;
; #^v::
; clipboard = %clipboard%
; send ^v
; return
;
; paste after cursor
; paste without cursor change
; win ctrl v
;
; #^v::
; StringLen, l, clipboard
; SendInput,^v{left %l%}
; return
;
; paste from beginning and go down (without ENTER)
; ctrl win alt v
;
; ^#!v::SendInput,{home 2}^v{home 2}{down}
;
; paste current date
; win alt d
;
!#d::
gosub,backup_clipboard
FormatTime, clipboard,, yyyy-MM-dd dddd
clipWait,2
if( errorLevel )
{
gosub,restore_clipboard
return
}
Send,^v
Sleep,100
gosub,restore_clipboard
return
;
; paste current time
; win alt f
;
!#f::
gosub,backup_clipboard
FormatTime, clipboard,, HH:mm:ss
clipWait,2
if( errorLevel )
{
gosub,restore_clipboard
return
}
Send,^v
Sleep,100
gosub,restore_clipboard
return
;
; paste current timestamp
; win alt shift d
;
!#+d::Send,%A_NOW%
;
; replace "/" with "\" in clipboard and paste it
; win + g
;
#g::
StringReplace, clipboard, clipboard, /, \, All
SendInput,^v
return
;
; global volume control
; win alt shift (ctrl) up/down /left
; note: simple !#+up::Volume_Up will not work if there is #up::pgup in effect
;
#WheelUp::
!#+up::SoundSet +1
#Wheeldown::
!#+down::SoundSet -1
#+WheelUp::
!#+^up::SoundSet +10
#+Wheeldown::
!#+^down::SoundSet -10
#mbutton::
!#m::
; SoundSet 0
Send,{Volume_Mute}
return
; flashmute uses:
; ctrl alt m
; by default
;
;
; toggle titlebar (and border) on active window
; win alt t
;
#!t::WinSet, Style, ^0xC00000, A
; toggle always on top
; ctrl win alt t
^#!t::WinSet, AlwaysOnTop, TOGGLE, A
;
; `|` -> `="|" `
; =""
; ctrl =
;
^=::
sleep,100
SendInput,`=`
sleep,100
SendInput,`"
sleep,100
SendInput,`"
sleep,100
SendInput,{left}
return
; ctrl shift =
^+=::SendInput,`=`'`'{left}
; :=
; ^+.::SendInput,`:`=
; ‰
; alt shift =
!+=::sendInput,‰
; | -> "|"
; ctrl + shift + ů
; +^ů::sendInput,`"`"{left}""
; | -> '|'
; ctrl + shift + (to vedle enteru čim se dělá apostrof)
;vkDCsc02B
;^+vkDC::sendInput,`'`'{left}
; ’ 'RIGHT SINGLE QUOTATION MARK' (U+2019) je "typograficky preferovaný anglický APOSTROF" ale je to špatně.
;vkDCsc02B
;+!vkDC::’
; double
;vkBAsc027
;+!vkBA::”
; ‘ 'LEFT SINGLE QUOTATION MARK' (U+2018)
;vkDCsc02B
;+^vkDC::‘
; double
;vkBAsc027
;+^vkBA::“
; https://tedclancy.wordpress.com/2015/06/03/which-unicode-character-should-represent-the-english-apostrophe-and-why-the-unicode-committee-is-very-wrong/
; APOSTROF SKUTEČNÝ ANGLICKÝ
; MODIFIER LETTER APOSTROPHE
;vkDCsc02B
;#vkDC::ʼ
;
; ctrl+tab = ctrl+pg tam kde to nefunguje nativně
;
; cmder
#IfWinActive ahk_class VirtualConsoleClass
^pgUp::
sendInput,^+{tab}
return
^pgDn::
sendInput,^{tab}
return
#IfWinActive
; freeCommander
#IfWinActive ahk_exe FreeCommander.exe
^pgUp::
sendInput,^+{tab}
return
^pgDn::
sendInput,^{tab}
return
#IfWinActive
#IfWinNotActive ahk_exe Code.exe
;
; close tag
; very simple auto closing tag
; alt shift .
; `<AAA bflm>xyz|` -> '<AAA bflm>xyz|</AAA>'
!+.::
AutoTrim, Off
gosub,backup_clipboard
send, +{home}
sleep,5
send, ^c
ClipWait,1
sleep,5
if errorLevel
{ return
}
regExMatch(clipboard, "<([^ /<>]+)(?: [^<>]*[^/<>])?>[^<>]*$", match)
if !match
{
send {right}
return
}
closeTag = </%match1%>
lgt := strLen(closeTag)
clipboard = %clipboard%%closetag%
clipWait,1
sleep,5
send, ^v
sleep,5
send, {left %lgt%}
gosub,restore_clipboard
AutoTrim, On
return
#IfWinNotActive
;
; - <tag[properties]>|</tag> messageboxed
; win alt ů
;
!#ů::
InputBox, tagName, Enter tag name, <_></_>, , ,
if ( tagName ) {
AutoTrim, Off
props =
loop {
InputBox, attr, %tagName% - enter attribute name or finish, <%tagName%%props% _></%tagName%> || <%tagName%%props%>|</%tagName%>, , ,
if ( attr ) {
InputBox, val, Enter %tagName% %attr% value, <%tagName%%props% %attr%="_"></%tagName%> || <%tagName%%props% %attr%>|</%tagName%> , , ,
if ( val ) {
props = %props%%A_Space%%attr%="%val%"
} else {
props = %props%%A_Space%%attr%
}
} else {
break
}
}
gosub, backup_clipboard
output = <%tagName%%props%></%tagName%>
clipboard = %output% ; better than sendInput ?
clipWait,2
if( errorLevel )
{
return
}
sleep,5
SendInput,^v
sleep,5
len := StrLen(tagName) + 3
Loop, %len% {
SendInput,{left}
}
AutoTrim, On
gosub, restore_clipboard
}
return
;
; numpad on keyboard
; tested on
; Czech keyboard layout
; - MSI wind netbook
; - Chicony KB-2971
;
/*
;vk67sc047
#ý::send {vk67} ; Num 7
;vk68sc048
#á::send {vk68} ; Num 8
;vk69sc049
#í::send {vk69} ; Num 9
;vk6Asc037
#é::send {vk6A} ; Num *
;vk64sc04B
#u::send {vk64} ; Num 4
;vk65sc04C
#i::send {vk65} ; Num 5
;vk66sc04D
#o::send {vk66} ; Num 6
;vk6Dsc04A
#p::send {vk6D} ; Num -
;vk61sc04F
#j::send {vk61} ; Num 1
;vk62sc050
#k::send {vk62} ; Num 2
;vk63sc051
#l::send {vk63} ; Num 3
;vk6Bsc04E
#ů::send {vk6B} ; Num +
;vk60sc052
#m::send {vk60} ; Num 0
;vkBEsc053
#.::send {vkBE} ; .
;vk6Fsc135
#-::send {vk6F} ; Num /
*/
;
;
; § common easing
;
;
; ~ tilde
; (na CZ qwertz je to jinak i [altgr][+] takže vlastně vůbec není potřeba)
; ctrl shift ;
;^+;::sendInput,{U+007E}
;
; ` (backtick, a.k.a. grave accent, quasiquote, backquote)
; ctrl ;
;
; ^+;::sendInput,{shift down}{U+0060}{shift up}
; #ifWinNotActive ahk_exe Code.exe
^;::sendInput,{U+0060}
; #ifWinNotActive
; ^+;::sendInput,{U+0060}
;
; ¦ (broken vertical bar)
; ctrl alt shift w
;
^!+w::sendRaw,¦
/*
¦ )
: )
| )
X )
×(
; )
*/
;;;; ýážížý
;
; TAB character ( 0009 )
; pasted from clipboard
; win tab
;
CapsLock & TAB::
critical
gosub,backup_clipboard
clipboard := A_TAB
clipWait,2
if( errorLevel )
{
TrayTip
, tab ; Title
, nevyšlo to ; Text
, 2 ; Seconds
gosub,restore_clipboard
return
}
Send,^v
Sleep,100
gosub,restore_clipboard
return
;
; untab
; actually, just backspace
; win shift tab
;
; #+tab::backspace
;
; auto indented enter
; win enter
;
; #enter::
; critical
; gosub backup_clipboard
; sendInput,+{home 2}
; sendInput,^c
; clipWait,2
; if errorLevel
; {
; msgbox,»nic«
; sendInput,{end 2}
; gosub restore_clipboard
; return
; }
; regExMatch(clipboard, "^\s+", match)
; if( !match )
; {
; msgbox,»nulíček«
; sendInput,{end 2}{enter}
; gosub restore_clipboard
; return
; }
; clipboard := match
; clipWait,2
; if errorLevel
; {
; msgbox,»no ale tak sakra už«
; sendInput,{end 2}
; gosub restore_clipboard
; return
; }
; sleep,8
; sendInput,{end 2}
; sleep,8
; sendInput,{enter}
; sleep,8
; sendInput,+{home}
; sleep,8
; sendInput,^v
; sleep,8
; gosub restore_clipboard
; return
;
; indent / outdent
;
; !+right::SendInput,{space}{left}
; !+left::SendInput,{del}
; ^!+right::SendInput,{space}{left}{down}
; ^!+left::SendInput,{up}{del}
;
; swap lines
;
; swap up
#^+up::
SendInput,{home 2}+{down}
sleep,5
gosub,backup_clipboard
SendInput,^x
clipWait,2
if errorLevel
{
gosub,restore_clipboard
return
}
SendInput,{up}
sleep,5
SendInput,^v
sleep,5
SendInput,{up}
gosub,restore_clipboard
return
; swap down
#^+down::
SendInput,{home 2}+{down}
sleep,5
gosub,backup_clipboard
SendInput,^x
clipWait,2
if errorLevel
{
gosub,restore_clipboard
return
}
SendInput,{down}
sleep,5
SendInput,^v
sleep,5
SendInput,{up}
gosub,restore_clipboard
return
; duplicate line
!^+d::
sendInput,{up}{end}{right}+{down}
SendInput,^x
clipWait,2
if errorLevel
{
gosub,restore_clipboard
return
}
sleep,5
SendInput,^v
SendInput,^v
sleep,5
SendInput,{up}
gosub,restore_clipboard
return
; shift + capslock = shift
;
+capslock::
sendInput {shift}
return
; #pgup::SendInput,{alt down}{tab}{alt up}
; #pgdn::SendInput,{alt down}{shift down}{tab}{shift up}{alt up}
;;;;;;;
;
; § HOTSTRINGS
;
;;;;;;;
:*:|> ::▷
:*:|>> ::▶
:*:tadaaa::🎉🥳🍾🚀🎇🌟⭐✨🤩
:*:meee::involves:myfonj
:*:`:scrr:::screenshot --fullpage --clipboard
::The Do ::The Dø
; ¶ JS/JNP/TFS/HTML snippets
:*:if ::if () {{}{}}{left}{enter}{up}
:*:for ::for (){left}
:*:while ::while (){left}
:*:jsss::javascript:
:*:clll::console.log(){left}
:*:isodateee::yyyy-MM-dd'T'HH:mm:ss.SX
:*:data`::::data:text/html;charset=utf-8,<{!}doctype html><title>test</title><style></style><body onload="">{left 43}{shift down}{right 4}{shift up}
:*:svgg::::url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8' width='8' height='8'><circle r='4' /></svg>")
:*:cdataaa::<{!}[CDATA[]]>{left 3}
:*:xuaaa::<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
:*:xmlnsx::xmlns:xlink="http://www.w3.org/1999/xlink"
:*:xmlnss::xmlns="http://www.w3.org/2000/svg"
:*:xmlnsh::xmlnh="http://www.w3.org/1999/xhtml"
:*:bhžž::bohužel
:*:myip ::
sendInput,%A_IPAddress1%
return
;
; JS - Javascript
;
:?*:dcge::
sendInput,document.getElementById('')
sleep,700
sendInput,{left 2}
return
:?*:fnnn::function{space}
;
; jQuery
; | -> $(|)
;
^#+!ů::SendInput,${(}{)}{left}
;
; jNP
;
:*:_ttt::_template
:*:_aaa::_asset
:*:_rrr::_request.
:*:_rppp::_request.params.
:*:tgttt::{{}value(target(_), link(_)){}}
:*:wfff::{{}whilefirst{}}{{}/whilefirst{}}{left 13}
:*:wlll::{{}whilelast{}}{{}/whilelast{}}{left 12}
:*:valll::valueinfo value=
:*:optionsss::{{}options forceAbsoluteAddresses=true{}}{{}/options{}}{left 10}
; acquire
:*:acqq::acquire(){left}
; acquire own prroperty
:*:acqp::
InputBox,source,Acquire own property,Source
InputBox,prop,Acquire own property,Property name
sendInput,acquire(%source%, %prop%, "p", "", 0)
return
; acquire own child
:*:acqc::
InputBox,source,Acquire own child,Source
InputBox,prop,Acquire own child,Property name
sendInput,acquire(%source%, %prop%, "c", "", 0)
return
;
; ¶ general / autocorrects
;
:*:jeslti::jestli
:*:naive ::naïve
:*?:sránk::stránk
:*?:píču::píšu
:*:čablo::šablo
:*:posranní::postranní
:*:prorotyp::prototyp
:*:dejavu::déjà vu
:*:ala ::à la
:*:onlick::onclick
:*::))) ::シツッ
:*:vwww::volkswagen
:*:tamplate::template
:*:tampalte::template
:*:tempalte::template
:*:temaplte::template
:*:dd ::Dobrý den,
:*:middott::·
:*:eon ::𝘦⋅𝘰𝘯
; ☺
:*:etnnn::etnetera
;
; ¶ typo @ UTF üñîçøðé
;
; pomlčky, uvozovky a jiná unicode havěť
;
; &#45; spojovník je normálně ‚to na klávesnici‘ - Frýdek-Místek;
; 'hyphen or minus sign, used for either hyphen or minus sign'
; – = &ndash; aka „skutečná“ pomlčka Volnost – rovnost – bratrství; Praha–Split
; Sparta–Slavia
; leden–březen; 1. ledna – 31. prosince
:*:-- ::–
:*:-ndash-::–
; — = &mdash;
:*:--- ::—
:*:-mdash-::—
; − = &minus;
:*:-minus-::−
; &macr; ¯ // v PSPadu nefunguje, posílá mdash —
:*:__ ::{U+00AF}
; &nbsp; nezalomitelná mezera
:?*:_ :: 
; obě dvojité české : „“
:?*:""""::„“{left}
; &bdquo; - v češtině levá spodní
:?*: "::„
; &ldquo; - ano, v češtině je to ta „pravá“ pravá horní
:?*:" ::“
; obě jednoduché české
:?*:''''::‚‘{left}
; &sbquo; - cs levá jednoduchá (levá dolní)
:?*: '::‚
; &lsquo; - cs pravá jednoduchá (pravá horní), en levá
:?*:' ::‘
:?*:maleee::♂
:?*:femaleee::♀
; &hellip; - výpustka, elipsa
:?*:... ::…
; &fnof;
:?*:fnof ::ƒ
; &copy;
:?*:(c) ::©
; &trade;
:?*:(tm) ::™
; 'LATIN SMALL LETTER AE' æ // v PSPadu nefunguje, posílá a
:?*:ae ::{U+00E6}
; &not;¬
:?*:not ::¬
; &not; reversed ⌐
:?*:notr ::⌐
; lenochod
:?*:sloth ::⌐_¬
; ≈ 'ALMOST EQUAL TO' &asymp; \u2248
:?*:~~ ::≈
; ± 'PLUS-MINUS SIGN' (U+00B1)
:?*:+- ::±
; 'HOT BEVERAGE' \u2615
:?*:kafe ::{U+2615}
; ❤ - heavy black heart
:?*:<3 ::❤
; ♯ &#9839;&#x266f; ♯ 'MUSIC SHARP SIGN' (U+266F)
:?*: # ::♯
; ~'FULLWIDTH TILDE' (U+FF5E)
:?*: ~ ::~
; &'FULLWIDTH AMPERSAND' (U+FF06)
:?*: & ::&
; ﹠SMALL AMPERSAND U+FE60
:?*: && ::﹠
; ( FULLWIDTH LEFT PARENTHESIS (U+FF08)
:?*: ( ::(
; ) FULLWIDTH RIGHT PARENTHESIS (U+FF09)
:?*: ) ::)
; *FULLWIDTH ASTERISK (U+FF0A)
:?*: * ::*
; ↔ 'LEFT RIGHT ARROW' (U+2194) &harr;
:?*:<<>>::↔
:?*:>>>>::→
:?*:<<<<::←
:?*:uparrr::↑
:?*:downarrr::↓
:?*:summm::∑
;
:?*:infinn::∞
:?*:=== ::≡
:?*:!== ::≢
; bunch od index fingers
:?*:fingggg::👉☛☞🖛🖙🖝🖜🖘🖚☜☚👈
; ⩶
; ╭--╮
; │╎┆┊
; ╰╮(-_-)
; ╰╯
;╭╌
; ╲
; ╳
; ╱
;
:?*:bstarrr::★
:?*:starrr::☆
:?*:burgrrr::☰
:?*:okkk::✓
:?*:kooo::✗
:?*:yesss::✔
:?*:nopeee::✘
:?*:likeee::👍
:?*:todooo::☐
:?*:[] ::☐
:?*:doneee::☑
:?*:wontdoo::☒
:?*:warnn::⚠
:?*:(!) ::⚠
:?*::OOO::⛣
:?*:etnokk::<{!}-- __ETN_.O.K.__ -->
; 👍 thumbs up sign (U+1F44D)
:?*:thumbupp::👍
; U+1F44E THUMBS DOWN SIGN
:?*:thumbdnn::👎
:?*:poooo::💩
:?*:bulll::•
; 'enter'
:?*:_!!::{U+21B5}
; 'tab'
:?*:>>|::{U+21E5}
:?*:>> ::»
:?*:<< ::«
;
:?*:#### ::█
:?*:### ::▓
:?*:## ::▒
:?*:# ::░
; INTERROBANG (U+203D)
:?*:?! ::‽
; U+269B ATOM SYMBOL
:?*:atommm::⚛
; gear (U+2699)
:?*:coggg::⚙
; link symbol (U+1F517)
:?*:linkkk::🔗
/*
♩ quarter note U+2669
♪ eighth note U+266A
♫ beamed eighth notes U+266B
♬ beamed sixteenth notes U+266C
🎵 musical note U+1F3B5
multiple
🎶 multiple musical notes U+1F3B6
📝 memo U+1F4DD
❖ black diamond minus white x (U+2756)
✦ black four pointed star U+2726
Unicode Characters » Blocks » Dingbats
✁ upper blade scissors U+2701
✂ black scissors U+2702
✃ lower blade scissors U+2703
✄ white scissors U+2704
✆ telephone location sign U+2706
✇ tape drive U+2707
✈ airplane U+2708
✉ envelope U+2709
✌ victory hand U+270C
✍ writing hand U+270D
✎ lower right pencil U+270E
✏ pencil U+270F
✐ upper right pencil U+2710
✑ white nib U+2711
✒ black nib U+2712
✓ check mark U+2713
✔ heavy check mark U+2714
✕ multiplication x U+2715
✖ heavy multiplication x U+2716
✗ ballot x U+2717
✘ heavy ballot x U+2718
✙ outlined greek cross U+2719
✚ heavy greek cross U+271A
✛ open centre cross U+271B
✜ heavy open centre cross U+271C
✝ latin cross U+271D
✞ shadowed white latin cross U+271E
✟ outlined latin cross U+271F
✠ maltese cross U+2720
✡ star of david U+2721
✢ four teardrop-spoked asterisk U+2722
✣ four balloon-spoked asterisk U+2723
✤ heavy four balloon-spoked asterisk U+2724
✥ four club-spoked asterisk U+2725
✦ black four pointed star U+2726
✧ white four pointed star U+2727
✩ stress outlined white star U+2729
✪ circled white star U+272A
✫ open centre black star U+272B
✬ black centre white star U+272C
✭ outlined black star U+272D
✮ heavy outlined black star U+272E
✯ pinwheel star U+272F
✰ shadowed white star U+2730
✱ heavy asterisk U+2731
✲ open centre asterisk U+2732
✳ eight spoked asterisk U+2733
✴ eight pointed black star U+2734
✵ eight pointed pinwheel star U+2735
✶ six pointed black star U+2736
✷ eight pointed rectilinear black star U+2737
✸ heavy eight pointed rectilinear black star U+2738
✹ twelve pointed black star U+2739
✺ sixteen pointed asterisk U+273A
✻ teardrop-spoked asterisk U+273B
✼ open centre teardrop-spoked asterisk U+273C
✽ heavy teardrop-spoked asterisk U+273D
✾ six petalled black and white florette U+273E
✿ black florette U+273F
❀ white florette U+2740
❁ eight petalled outlined black florette U+2741
❂ circled open centre eight pointed star U+2742
❃ heavy teardrop-spoked pinwheel asterisk U+2743
❄ snowflake U+2744
❅ tight trifoliate snowflake U+2745
❆ heavy chevron snowflake U+2746
❇ sparkle U+2747
❈ heavy sparkle U+2748
❉ balloon-spoked asterisk U+2749
❊ eight teardrop-spoked propeller asterisk U+274A
❋ heavy eight teardrop-spoked propeller asterisk U+274B
❍ shadowed white circle U+274D
❏ lower right drop-shadowed white square U+274F
❐ upper right drop-shadowed white square U+2750
❑ lower right shadowed white square U+2751
❒ upper right shadowed white square U+2752
❖ black diamond minus white x U+2756
❗ heavy exclamation mark symbol U+2757
❘ light vertical bar U+2758
❙ medium vertical bar U+2759
❚ heavy vertical bar U+275A
❛ heavy single turned comma quotation mark ornament U+275B
❜ heavy single comma quotation mark ornament U+275C
❝ heavy double turned comma quotation mark ornament U+275D
❞ heavy double comma quotation mark ornament U+275E
❡ curved stem paragraph sign ornament U+2761
❢ heavy exclamation mark ornament U+2762
❣ heavy heart exclamation mark ornament U+2763
❤ heavy black heart U+2764
❥ rotated heavy black heart bullet U+2765
❦ floral heart U+2766
❧ rotated floral heart bullet U+2767
❨ medium left parenthesis ornament U+2768
❩ medium right parenthesis ornament U+2769
❪ medium flattened left parenthesis ornament U+276A
❫ medium flattened right parenthesis ornament U+276B
❬ medium left-pointing angle bracket ornament U+276C
❭ medium right-pointing angle bracket ornament U+276D
❮ heavy left-pointing angle quotation mark ornament U+276E
❯ heavy right-pointing angle quotation mark ornament U+276F
❰ heavy left-pointing angle bracket ornament U+2770
❱ heavy right-pointing angle bracket ornament U+2771
❲ light left tortoise shell bracket ornament U+2772
❳ light right tortoise shell bracket ornament U+2773
❴ medium left curly bracket ornament U+2774
❵ medium right curly bracket ornament U+2775
❶ dingbat negative circled digit one U+2776
❷ dingbat negative circled digit two U+2777
❸ dingbat negative circled digit three U+2778
❹ dingbat negative circled digit four U+2779
❺ dingbat negative circled digit five U+277A
❻ dingbat negative circled digit six U+277B
❼ dingbat negative circled digit seven U+277C
❽ dingbat negative circled digit eight U+277D
❾ dingbat negative circled digit nine U+277E
❿ dingbat negative circled number ten U+277F
➀ dingbat circled sans-serif digit one U+2780
➁ dingbat circled sans-serif digit two U+2781
➂ dingbat circled sans-serif digit three U+2782
➃ dingbat circled sans-serif digit four U+2783
➄ dingbat circled sans-serif digit five U+2784
➅ dingbat circled sans-serif digit six U+2785
➆ dingbat circled sans-serif digit seven U+2786
➇ dingbat circled sans-serif digit eight U+2787
➈ dingbat circled sans-serif digit nine U+2788
➉ dingbat circled sans-serif number ten U+2789
➊ dingbat negative circled sans-serif digit one U+278A
➋ dingbat negative circled sans-serif digit two U+278B
➌ dingbat negative circled sans-serif digit three U+278C
➍ dingbat negative circled sans-serif digit four U+278D
➎ dingbat negative circled sans-serif digit five U+278E
➏ dingbat negative circled sans-serif digit six U+278F
➐ dingbat negative circled sans-serif digit seven U+2790
➑ dingbat negative circled sans-serif digit eight U+2791
➒ dingbat negative circled sans-serif digit nine U+2792
➓ dingbat negative circled sans-serif number ten U+2793
➔ heavy wide-headed rightwards arrow U+2794
➘ heavy south east arrow U+2798
➙ heavy rightwards arrow U+2799
➚ heavy north east arrow U+279A
➛ drafting point rightwards arrow U+279B
➜ heavy round-tipped rightwards arrow U+279C
➝ triangle-headed rightwards arrow U+279D
➞ heavy triangle-headed rightwards arrow U+279E
➟ dashed triangle-headed rightwards arrow U+279F
➠ heavy dashed triangle-headed rightwards arrow U+27A0
➡ black rightwards arrow U+27A1
➢ three-d top-lighted rightwards arrowhead U+27A2
➣ three-d bottom-lighted rightwards arrowhead U+27A3
➤ black rightwards arrowhead U+27A4
➥ heavy black curved downwards and rightwards arrow U+27A5
➦ heavy black curved upwards and rightwards arrow U+27A6
➧ squat black rightwards arrow U+27A7
➨ heavy concave-pointed black rightwards arrow U+27A8
➩ right-shaded white rightwards arrow U+27A9
➪ left-shaded white rightwards arrow U+27AA
➫ back-tilted shadowed white rightwards arrow U+27AB
➬ front-tilted shadowed white rightwards arrow U+27AC
➭ heavy lower right-shadowed white rightwards arrow U+27AD
➮ heavy upper right-shadowed white rightwards arrow U+27AE
➯ notched lower right-shadowed white rightwards arrow U+27AF
➱ notched upper right-shadowed white rightwards arrow U+27B1
➲ circled heavy white rightwards arrow U+27B2
➳ white-feathered rightwards arrow U+27B3
➴ black-feathered south east arrow U+27B4
➵ black-feathered rightwards arrow U+27B5
➶ black-feathered north east arrow U+27B6
➷ heavy black-feathered south east arrow U+27B7
➸ heavy black-feathered rightwards arrow U+27B8
➹ heavy black-feathered north east arrow U+27B9
➺ teardrop-barbed rightwards arrow U+27BA
➻ heavy teardrop-shanked rightwards arrow U+27BB
➼ wedge-tailed rightwards arrow U+27BC
➽ heavy wedge-tailed rightwards arrow U+27BD
➾ open-outlined rightwards arrow U+27BE
✅ white heavy check mark U+2705
✊ raised fist U+270A
✋ raised hand U+270B
✨ sparkles U+2728
❌ cross mark U+274C
❎ negative squared cross mark U+274E
❓ black question mark ornament U+2753
❔ white question mark ornament U+2754
❕ white exclamation mark ornament U+2755
❟ heavy low single comma quotation mark ornament U+275F
❠ heavy low double comma quotation mark ornament U+2760
➕ heavy plus sign U+2795
➖ heavy minus sign U+2796
➗ heavy division sign U+2797
➰ curly loop U+27B0
➿ double curly loop U+27BF
✀ black safety scissors U+2700
[ U+FF3B FULLWIDTH LEFT SQUARE BRACKET (U+FF3B)
\ U+FF3C FULLWIDTH REVERSE SOLIDUS (U+FF3C)
/ U+FF0F FULLWIDTH SOLIDUS (U+FF0F)
] U+FF3D FULLWIDTH RIGHT SQUARE BRACKET (U+FF3D)
^ U+FF3E FULLWIDTH CIRCUMFLEX ACCENT (U+FF3E)
_ U+FF3F FULLWIDTH LOW LINE (U+FF3F)
` U+FF40 FULLWIDTH GRAVE ACCENT (U+FF40)
{ U+FF5B FULLWIDTH LEFT CURLY BRACKET (U+FF5B)
| U+FF5C FULLWIDTH VERTICAL LINE (U+FF5C)
} U+FF5D FULLWIDTH RIGHT CURLY BRACKET (U+FF5D)
~ U+FF5E FULLWIDTH TILDE (U+FF5E)
⦅ U+FF5F FULLWIDTH LEFT WHITE PARENTHESIS (U+FF5F)
⦆ U+FF60 FULLWIDTH RIGHT WHITE PARENTHESIS (U+FF60)
。 U+FF61 HALFWIDTH IDEOGRAPHIC FULL STOP (U+FF61)
「 U+FF62 HALFWIDTH LEFT CORNER BRACKET (U+FF62)
」 U+FF63 HALFWIDTH RIGHT CORNER BRACKET (U+FF63)
、 U+FF64 HALFWIDTH IDEOGRAPHIC COMMA (U+FF64)
・ U+FF65 HALFWIDTH KATAKANA MIDDLE DOT (U+FF65)
│ U+FFE8 HALFWIDTH FORMS LIGHT VERTICAL (U+FFE8)
← U+FFE9 HALFWIDTH LEFTWARDS ARROW (U+FFE9)
↑ U+FFEA HALFWIDTH UPWARDS ARROW (U+FFEA)
→ U+FFEB HALFWIDTH RIGHTWARDS ARROW (U+FFEB)
↓ U+FFEC HALFWIDTH DOWNWARDS ARROW (U+FFEC)
■ U+FFED HALFWIDTH BLACK SQUARE (U+FFED)
○ U+FFEE HALFWIDTH WHITE CIRCLE (U+FFEE)
☐ BALLOT BOX U+2610 BALLOT BOX
❌ U+274C CROSS MARK (U+274C)
☒ X, BALLOT BOX WITH U+2612 BALLOT BOX WITH X
☑ BALLOT BOX WITH CHECK U+2611 BALLOT BOX WITH CHECK
✓ CHECK MARK U+2713 CHECK MARK
✔ HEAVY CHECK MARK U+2714 HEAVY CHECK MARK
✔️ + variation selector 16
✗ BALLOT X (U+2717)
✘ HEAVY BALLOT X (U+2718)
☰ 'Trigram for heaven' &#9776;
★ 'BLACK STAR' (U+2605)
☆ WHITE STAR' (U+2606)
⛣ heavy circle with stroke and two dots above U+26E3
„ &bdquo;
” &rdquo;
#﹟#♯⋕
&#177;&#xb1; ± 'PLUS-MINUS SIGN' (U+00B1)
&#128128;&#x1f480; 'SKULL' (U+1F480)
&#9760;&#x2620; 'SKULL AND CROSSBONES' (U+2620)
&middot;·
&tilde;~ altgr +
&dagger;†
&Dagger;‡
&lsaquo;‹
&rsaquo;›
&rsquo;’
&lsquo;‘
&laquo;«
&raquo;»
&not;¬
&shy;­
&deg;°
&plusmn;±
&micro;µ
&bull;•
&#729;˙
&szlig;ß
&divide;÷
&diams;♦
&hearts;♥
&#10084;&#x2764;❤HEAVY BLACK HEART
&#9825;&#x2661;♡ WHITE HEART SUIT
kafe ☕
&clubs;♣
&spades;♠
&loz;◊
&ge;≥
&le;≤
&equiv;≡ identical to (U+2261)
&ne;≠
&asymp;≈
&int;∫
&cap;∩
&infin;∞
&sum;∑
&prod;∏
&part;∂
&harr;↔
&darr;↓
&rarr;→
&uarr;↑
&larr;←
&trade;™
&frasl;⁄
&oline;‾
&omega;ω
&psi;ψ
&chi;χ
&phi;φ
&upsilon;υ
&tau;τ
&sigma;σ
&sigmaf;ς
&rho;ρ
&pi;π
&omicron;ο
&xi;ξ
&nu;ν
&mu;μ
&lambda;λ
&kappa;κ
&iota;ι
&theta;θ
&eta;η
&zeta;ζ
&epsilon;ε
&delta;δ
&gamma;γ
&beta;β
&alpha;α
&Omega;Ω
&Psi;Ψ
&Chi;Χ
&Phi;Φ
&Upsilon;Υ
&Tau;Τ
&Sigma;Σ
&Rho;Ρ
&Pi;Π
&Omicron;Ο
&Xi;Ξ
&Nu;Ν
&Mu;Μ
&Lambda;Λ
&Kappa;Κ
&Iota;Ι
&Theta;Θ
&Eta;Η
&Zeta;Ζ
&Epsilon;Ε
&Delta;Δ
&Gamma;Γ
&Beta;Β
&Alpha;Α
&#383;ſ
&#128270; RIGHT-POINTING MAGNIFYING GLASS
&#128269; LEFT-POINTING MAGNIFYING GLASS
*/
;
; smajlík ': )' s &nbsp;
;
:?*:: ) ::: )
;
; CW CMS Aladin
;
; - "|noescape"
:?*:|noe::|noescape
; - "|normalize"
:?*:|nor::|normalize
; - ${}
;
; Atlassian Jira markup
;
; {code}
:*:cddd::{{}code{}}
;
; write shorthand
; | -> ${|}
;
^+!ů::SendInput,${{}{}}{left}
;
; write expression shorthand
; | -> ${(|)}
;
^#!ů::SendInput,${{}(){}}{left 2}
;
; | -> (|)
;
+#)::SendInput,(){left}
;
; CSS
;
:?*:!;::{!}important
:?*:bggg::background
:?*:mqqq::@media only screen and (max-width: px){{}{}}{left 5}
:?*:bgaa::background-attachment: fixed
:?*:bgcc::background-color: {#}
:?*:bgii::background-image: url(''){left 2}
:?*:bgill::background-image: linear-gradient(){left}
:?*:bgpp::background-position:
:?*:bgrr::background-repeat: no-repeat{left 9}{shift down}{right 9}{shift up}
;; {control down}{down}{control up} v chytrejch editorech umí vrátit kurzor na konec výběru, ale ne všechny to uměj
:?*:bprr::border: 1px solid red
:?*:br ::background-color: rgba(255,0,0,.5){left 16}{shift down}{right 16}{shift up}
:?*:oprr::outline: 1px solid rgba(255,0,0,.5)
:?*:lnhh::line-height:
:?*:posss::position
:?*:posrr::position: relative
:?*:posaa::position: absolute
:?*:whsp::white-space: nowrap
:?*:t0 ::top: 0;
:?*:r0 ::right: 0;
:?*:b0 ::bottom: 0;
:?*:l0 ::left: 0;
; :?*:posfx::position: fixed
;
; misc
;
:?*:apropos ::à propos
:?*:brekekex::Βρεκεκέξ κουάξ κουάξ
:?*:ěšččč::příliš žluťoučký kůň úpěl ďábelské ódy
; -------------------
; wrap in brackets
; (%sel?%)
; ctrl + shift + )
^+#)::
gosub backup_clipboard
sendInput,^c
clipWait,2
clipboard = (%clipboard%)
clipWait,2
sendInput,^v
sleep,10
sendInput,{left}
gosub,restore_clipboard
return
; wrap in brackets
; (%sel?%)
; ctrl + shift + )
^+#ů::
gosub backup_clipboard
sendInput,^c
clipWait,2
clipboard = "%clipboard%"
clipWait,2
sendInput,^v
sleep,10
sendInput,{left}
gosub,restore_clipboard
return
; >( |
; )
; ctrl alt shift )
!^+)::SendInput,({enter}){up}{end}
; JS closure
!^+#)::SendInput,(function(){{}{enter 2}{}})();{up}{end}
;%A_TAB%
; ctrl + alt + shift f : [|]
!^+f::SendInput,{[}{]}{left}
; ctrl + alt + g : [|]
!^+g::SendInput,{[}{/}{]}{left}
; win + ú : {
#ú::SendInput,{{}
; win + ) : }
#)::SendInput,{}}
;
; open curly bracket `tag`
^#!b::SendInput,{{}{}}{left}
; close curly bracket `tag`
;
; close curly bracket `tag`
^#!n::SendInput,{{}/{}}{left}
; autoclose curly bracket `tag`
+^#!n::
AutoTrim, Off
gosub,backup_clipboard
send, +{home}
sleep,10
send, ^c
ClipWait,1
if errorLevel
{ return
}
regExMatch(clipboard, "\{([^ /{}]+)(?: [^{}]*[^/{}])?\}[^{}]*$", match)
if !match
{
send {right}
return
}
closeTag = {/%match1%}
lgt := strLen(closeTag)
clipboard = %clipboard%%closetag%
clipWait,1
send, ^v
sleep,10
send, {left %lgt%}
gosub,restore_clipboard
AutoTrim, On
return
;
; tag <|>
; alt ,
;
!,::
gosub,backup_clipboard
clipboard = <>
clipWait,1
send, ^v
sleep,10
send, {left}
gosub,restore_clipboard
return
;
; closing tag </|>
; alt .
;
#IfWinNotActive ahk_exe Code.exe
!.::
gosub,backup_clipboard
clipboard = </>
clipWait,1
send, ^v
sleep,10
send, {left}
gosub,restore_clipboard
return
#IfWinNotActive
#^+.::SendInput,</>{left}
;
; § comments
;
;
; | :: {/*|*/}
; shift + ctrl + win + b
+^#b::SendInput,{{}/**/{}}{left 3}
;
; <!-- / -->
; alt ctr win .
!+#,::SendInput,<{!}---->{left 3}
!+#.::SendInput,-->
; <? ?>
^#!,::sendInput,<? ?>{left 3}
^#!.::sendInput,<? / ?>{left 3}
;
; PHP
;
:*:askv:: as $key=>$value
;
; FF
;
:*:vsr-::view-source:
:*:eeCO::encodeURIComponent
;
; END HOTSTRINGS
;
;;;;;;;;;;;;;
;
; § application windows toggles
;
;;;;;;;;;;;;;
;
; toggle sound volume control
; ctrl win alt m
;
^#!m::
ifwinexist ahk_class #32770
{ ifWinActive
{ winClose
} else
{ winActivate
}
} else
{
desired_window_width := 720
run, C:\Windows\System32\SndVol.exe
WinWaitActive, ahk_class #32770
WinGetPos, X, Y, Width, Height, A
WinMove, A, , (A_ScreenWidth/2)-(desired_window_width/2), (A_ScreenHeight/2)-(Height/2), desired_window_width, Height
}
return
^!s::
WinGetPos, X, Y, Width, Height, A
; msgbox, %width%
WinMove, A, , X, Y, 1200, 800
return
;
; lens + zoom
; win alt l
;
!#l::
ifwinexist ahk_exe Magnifixer.exe
{ ifWinActive
{ winClose
} else
{ winActivate
}
} else
{ run, C:\apps\Magnifixer\Magnifixer.exe
; WinSet, Style, ^0xC00000, ahk_class Lens::Main
}
return
;
; pidgin
;
^+#a::
ifWinExist,ahk_exe pidgin-portable.exe
{ ifWinActive
{ SendInput, !{f4}
; set to close to systray
} else
{ run, C:\apps\PidginPortable\PidginPortable.exe
; this will bring the window to front as well
; sadly, this is the ONLY way I could do this :(
; and sometimes it ceases to work properly
; presumably race condition in window retrieval
}
} else
{ run, C:\apps\PidginPortable\PidginPortable.exe
}
return
;
; winscp
; win shift 1 (`+` on CS keyboard)
; (win + 1 focuses / start first app on taskbar, which is FreeCommander)
;
#++::
DetectHiddenWindows ON
ifwinexist ahk_class TScpCommanderForm
{ ifWinActive
{ winMinimize
winHide
} else
{ winShow
winActivate
}
} else
{ run, C:\apps\WinSCP\WinSCP.exe
}
DetectHiddenWindows OFF
return
;
; process explorer window toggle
;
#!p::
DetectHiddenWindows ON
ifwinexist ahk_class PROCEXPL
{ PostMessage 0x7e9, 1, 0x201,, ahk_class PROCEXPL
} else
{ run C:\apps\ProcessExplorer\procexp.exe
}
DetectHiddenWindows OFF
Return
#IfWinActive ahk_class TaskManagerWindow
esc::
winMinimize
return
#IfWinActive
#!x::Media_Play_Pause
#!y::Media_Prev
#!c::Media_Next
;
; spotify window toggle
;
#!s::
DetectHiddenWindows ON
ifwinNotExist ahk_exe Spotify.exe
; ahk_class SpotifyMainWindow
; ahk_exe Spotify.exe
{ run %A_AppData%\Spotify\Spotify.exe
} else
{ ifWinNotActive
{ winShow
winActivate
} else
{ ; :(
; winClose ; set options to "minimise to tray on close"
; WinSet, Bottom
; sendInput,!{Esc} ; let's leave the window opened and maximised - workaround of that ugly slow after-restore adjustments
; especially with multi monitor setup
; alt + escape ftw !
}
}
DetectHiddenWindows OFF
Return
;
; outlook window toggle
;
#+a::
DetectHiddenWindows ON
ifwinNotExist ahk_class rctrl_renwnd32
{ run outlook
} else
{ ifWinNotActive
{ winShow
winActivate
} else
{ winMinimize
winHide
}
}
DetectHiddenWindows OFF
Return
;
; Billy muscle memory
;
#IfWinActive ahk_class SpotifyMainWindow
f11::
; WinClose
; WinSet, bottom
sendInput,!{Esc}
return
#IfWinActive
;
; DevDocs toggle (or start)
; win + shift + d
; (I like to bind GLOBAL things to the WIN key and leave CTRL and ALT for apps)
;
#+d::
DetectHiddenWindows ON
ifWinExist, DevDocs
{
ifWinNotActive
{
winShow
winActivate
} else
{
winMinimize
winHide
}
} else
{
run "%AppData%\Microsoft\Windows\Start Menu\Programs\Aplikace Chrome\DevDocs.lnk"
}
DetectHiddenWindows OFF
Return
/*
#+a::
WinGet, active_id, ProcessPath, A
; WinMaximize, ahk_id %active_id%
MsgBox, The active window's ID is "%active_id%".
return
*/
;
; screamer
;
/*
#w::
DetectHiddenWindows, On
ifWinExist ahk_class #32770
{ ifWinNotActive
{ winShow
winActivate
} else
{ winMinimize
; winHide
}
}
DetectHiddenWindows, Off
Return
*/
;
; FreeCommander run / toggle
;
#q::
DetectHiddenWindows, On
IfWinNotExist, ahk_class FreeCommanderXE.SingleInst.1
{ run, "c:\apps\FreeCommander\FreeCommander.exe"
} else
{ ifWinNotActive
{ winActivate
} else
{ winMinimize
}
}
DetectHiddenWindows, Off
Return
;
; move window with -alt- +ctrl+ + rmb
;
; This script modified from the original: http://www.autohotkey.com/docs/scripts/EasyWindowDrag.htm
; by The How-To Geek
; http://www.howtogeek.com
;
Ctrl & RButton::
CoordMode, Mouse ; Switch to screen/absolute coordinates.
MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin%
if EWD_WinState = 0 ; Only if the window isn't maximized
SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it.
return
EWD_WatchMouse:
GetKeyState, EWD_RButtonState, RButton, P
if EWD_RButtonState = U ; Button has been released, so drag is complete.
{
SetTimer, EWD_WatchMouse, off
return
}
GetKeyState, EWD_EscapeState, Escape, P
if EWD_EscapeState = D ; Escape has been pressed, so drag is cancelled.
{
SetTimer, EWD_WatchMouse, off
WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%
return
}
; Otherwise, reposition the window to match the change in mouse coordinates
; caused by the user having dragged the mouse:
CoordMode, Mouse
MouseGetPos, EWD_MouseX, EWD_MouseY
WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
SetWinDelay, -1 ; Makes the below move faster/smoother.
WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
EWD_MouseStartX := EWD_MouseX ; Update for the next timer-call to this subroutine.
EWD_MouseStartY := EWD_MouseY
return
;;;
;
; middle mouse button
; right alt + click
;
; >!lbutton::mbutton
;
; mouse click from keyboard
;
capsLock & space::
SendEvent,{Blind}{LButton down}
KeyWait space ; Prevents keyboard auto-repeat from repeating the mouse click.
SendEvent,{Blind}{LButton up}
return
capsLock & alt::
SendEvent,{Blind}{MButton down}
KeyWait alt ; Prevents keyboard auto-repeat from repeating the mouse click.
SendEvent,{Blind}{MButton up}
return
capsLock & Lwin::
SendEvent,{Blind}{RButton down}
KeyWait Lwin ; Prevents keyboard auto-repeat from repeating the mouse click.
SendEvent,{Blind}{RButton up}
return
; space & j::left
capsLock & j:: SendInput,{blind}{left}
;capsLock & j:: SendInput,{blind}{left down}
;capsLock & j up::SendInput,{blind}{left up}
capsLock & l:: SendInput,{blind}{right}
;capsLock & l:: SendInput,{blind}{right down}
;capsLock & l up::SendInput,{blind}{right up}
capsLock & k:: SendInput,{blind}{down}
;capsLock & k:: SendInput,{blind}{down down}
;capsLock & k up::SendInput,{blind}{down up}
capsLock & i:: SendInput,{blind}{up}
;capsLock & i:: SendInput,{blind}{up down}
;capsLock & i up::SendInput,{blind}{up up}
capsLock & u:: SendInput,{blind}{home}
;capsLock & u:: SendInput,{blind}{home down}
;capsLock & u up::SendInput,{blind}{home up}
capsLock & o:: SendInput,{blind}{end}
;capsLock & o:: SendInput,{blind}{end down}
;capsLock & o up::SendInput,{blind}{end up}
; #Persistent
; SetCapsLockState, AlwaysOff
; Capslock + jkli -> 'arrow-like' movement
; (left, down, up, right)
; rshift::
; a := GetKeyState("LShift")
; msgbox,%a%
; return
; lshift & rshift::msgbox,combo
; rshift & lshift::msgbox,comboo
/* klávesa vedle shiftu na cz klávesnici
*/
;vkE2sc056
vkE2 & j::Send {Blind}{Left DownTemp}
vkE2 & j up::Send {Blind}{Left Up}
vkE2 & k::Send {Blind}{Down DownTemp}
vkE2 & k up::Send {Blind}{Down Up}
vkE2 & i::Send {Blind}{Up DownTemp}
vkE2 & i up::Send {Blind}{Up Up}
vkE2 & l::Send {Blind}{Right DownTemp}
vkE2 & l up::Send {Blind}{Right Up}
; ? + nmuo (pgdown, pgup, home, end)
vkE2 & n::SendInput {Blind}{PgUp DownTemp}
vkE2 & n up::SendInput {Blind}{PgUp Up}
vkE2 & m::SendInput {Blind}{PgDn DownTemp}
vkE2 & m up::SendInput {Blind}{PgDn Up}
vkE2 & u::SendInput {Blind}{Home DownTemp}
vkE2 & u up::SendInput {Blind}{Home Up}
vkE2 & o::SendInput {Blind}{End DownTemp}
vkE2 & o up::SendInput {Blind}{End Up}
; ? + p (delete)
vkE2 & p::SendInput {Blind}{Backspace DownTemp}
vkE2 & p up::SendInput {Blind}{Backspace Up}
/*
*/
; notebook key [|\] (next to the left shift)
; 'fakof backslash vedle shiftu'
; -> shift
; actually, lets make it a new modifier key, MWAHAHAHAHHAHAHA
;
;
; fakof lokální desetinná čárka
;
numpaddot::.
; Half-Transparent window
; hold ctrl + alt + spacebar
^!Space::WinSet, Transparent, 50, A
^!Space UP::WinSet, Transparent, OFF, A
; park cursor
#+p::MouseMove, A_screenwidth / 2, A_screenheight + 5
; ; google selected word / word from clipboard
; #!g::
; send,^c
; clipWait,2
; run, https://www.google.com/search?q=%clipboard%
; return
; uppercase selected text
+^#u::
gosub backup_clipboard
sendInput,^c
clipWait,2
StringUpper, clipboard , clipboard
sendInput,^v
sleep,10
StringLen, l, clipboard
sendInput,{left %l%}+{right %l%}
gosub restore_clipboard
return
; lowercase selected text
+^#l::
gosub backup_clipboard
sendInput,^c
clipWait,2
sleep,10
StringLower, clipboard , clipboard
clipWait,2
sleep,10
sendInput,^v
sleep,10
StringLen, l, clipboard
sendInput,{left %l%}+{right %l%}
gosub restore_clipboard
return
;
; screenshot of active window in PNG to Dropbox using IrfanView and place its public link into clipboard
; ctrl PrintScreen
;
; config:
^PrintScreen::
myDropboxLocalFolderPath = C:\Dropbox\Public\shots\
; now copy any file's public link from here an paste it below, without filename.
myDropboxPublicFolderUrl = http://dl.dropbox.com/u/1571982/shots/
myIrfanViewExecutableLocation = C:\apps\IrfanView\i_view32.exe
; get and sanitize active window's title so it could be filename
myFileManagerExecutablePath = C:\apps\FreeCommander\FreeCommander.exe
WinGetActiveTitle, filetitle
filetitle := RegExReplace( filetitle, "i)[^a-z0-9_-]+", "+")
StringReplace, filetitle, filetitle, %A_SPACE%, _ , All
; add timestamp and suffix; use can use any format Irfan is able to save into
filetitle := filetitle . "_-_" . A_Now . ".png"
fullfilepath := myDropboxLocalFolderPath . filetitle
; public URL into clipboard
clipboard := myDropboxPublicFolderUrl . filetitle
; let irfanView do the magic
RunWait,%myIrfanViewExecutableLocation% /capture=2 /convert=%fullfilepath%
return
; ^+printscreen::run,%myFileManagerExecutablePath%,%myDropboxLocalFolderPath%
^+printscreen::run,C:\apps\FreeCommander\FreeCommander.exe C:\Dropbox\Public\shots
;
; open / view current clipboard in irfanView
; win alt i
;
#!i::run,C:\apps\IrfanView\i_view32.exe /clippaste
>+enter::Send {Alt Down}{Enter}{Alt Up}
; #IfWinActive ahk_class Photoshop
; +ins::^v
; ^ins::^c
; #IfWinActive
; ; burn
; #IfWinExist ahk_class Photoshop
; #IfWinNotActive ahk_class Photoshop
; Esc::sendInput+{ESC}
; #IfWinNotActive
; #IfWinExist
; ~Esc::
; {
; IfWinExist, ahk_class Photoshop
; {
; IfWinActive ahk_class Photoshop
; {
; Send {ESC}
; } else {
; Send +{ESC}
; }
; } else {
; Send {ESC}
; }
; return
; }
/*
;
; pokus se sekvenčním datlením à la telefonová klávesnice
;
:b0*?:111::
sendInput {backspace 2}
sendInput c
return
:b0*?:11::
sendInput {backspace 2}
sendInput b
return
:b0*?:1::
sendInput {backspace}
sendInput a
return
*/
; copy color under mouse cursor
; for multi monitor with different DPI it is necessaty to set AHK executable compatibility
; "Override high DPI scaling behavior: Application"
; -- https://www.autohotkey.com/boards/viewtopic.php?t=54700#p236759
^+#c::
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%, RGB
R := color >> 16 & 0xFF
G := color >> 8 & 0xFF
B := color & 0xFF
; MsgBox, The color at %MouseX% / %A_ScreenWidth%, %MouseY% / %A_ScreenHeight% (DPI: %A_ScreenDPI%) is %color% = rgb(%R%,%G%,%B%).
MsgBox, copied: rgb(%R%,%G%,%B%) %color%
clipboard=rgb(%R%,%G%,%B%) %color%
return
;
; space as Shift
;
; $space::
; send {LShift down}
; Spacedown := A_TickCount
; Return
; $+space up::
; ; The space-down set the shift-key, so the space-up event is now shift+space-up
; send {LShift up}
; if (A_TickCount - Spacedown <200)
; ; If short time between space-down and space-up...
; Send {Space}
; Return
; *Space::
; SendInput, {Shift Down}
; Key =
; Input, Key, V L1
; Return
; *Space Up::
; SendInput, {Shift Up}
; Input,,T.01
; If !Key
; SendInput, %A_Space%
; Return
; EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment