Code: Select all
;*********************** Old Clipboard **********************************
toggle=1
ClipNew := clipboard
ClipOld11 := "Ø"
ClipOld :=" "
number_of_clips=11
OnClipboardChange:
if (toggle=0) {
return
}else if RegExMatch(clipboard, "mi)<html>|<body>|<title>|vlc-record|<title>|<!--|</div>"){
return
; }else if (StrLen(clipboard)>2000){
; return
}else{
if (ClipOld1 == clipboard OR clipboard == ClipNew)
return
ClipOld10 := ClipOld9
ClipOld9 := ClipOld8
ClipOld8 := ClipOld7
ClipOld7 := ClipOld6
ClipOld6 := ClipOld5
ClipOld5 := ClipOld4
ClipOld4 := ClipOld3
ClipOld3 := ClipOld2
ClipOld2 := ClipOld1
/*
Loop %number_of_clips% {
step := number_of_clips - A_Index
if (step<=1)
break
prev:= step - 1
if (Clip_Old%step% != Clip_Old%prev%){
Clip_Old%step% := Clip_Old%prev%
}
}
*/
ClipOld1 := ClipNew
ClipOld:=ClipOld1
ClipNew := clipboard
}
return
p:: SendInput %ClipOld%
;_________________________________________ LWin & Space::
LWin & Space:: ; Send, ^v
index=1
CoordMode,ToolTip,Screen
Clip1 := SubStr(clipboard, 1, 100) "`n" SubStr(clipboard, 101, 100) "`n" SubStr(clipboard, 201, 100) "`n" SubStr(clipboard, 301, 100) "`n" SubStr(clipboard, 401, 100)
Clip1 := RegExReplace(Clip1, "`n`n","")
if (StrLen(clipboard)<=70){
ToolTip, % "Clipboard ("StrLen(clipboard ) " long) `n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯`n" Clip1 "`n ̢"
}else
ToolTip, % "Clipboard ("StrLen(clipboard ) " long) `n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯`n" Clip1 "`n ̢" ,500, 330
KeyWait, Space
SetTimer, 2_Key_Down_Timer, 100
ClipPaste:=clipboard
KeyWait, LWin
SetTimer, 2_Key_Down_Timer, off
ToolTip
clipboard_backup := clipboard
Clipboard:=ClipPaste
Send ^v
; SendInput %ClipPaste% ; too slow
clipboard := clipboard_backup
2_Key_Down_Timer:
if (GetKeyState("Space", "P") = 1) {
if index> 11
return
ClipPaste:=ClipOld%index%
CoordMode,ToolTip,Screen
Clip2 := SubStr(ClipPaste, 1, 100) "`n"SubStr(ClipPaste, 101, 100)"`n"SubStr(ClipPaste, 201, 100)"`n"SubStr(ClipPaste, 301, 100)"`n"SubStr(ClipPaste, 401, 100)
Clip2 := RegExReplace(Clip2, "`n`n","")
if (StrLen(ClipPaste)<=70){
ToolTip, % "#" index " ("StrLen(ClipPaste) ")" "`n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯`n" Clip2 "`n ̢"
}else
ToolTip, % "#" index " ("StrLen(ClipPaste) ") " "`n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯`n" Clip2 "`n ̢" ,500, 330
index+=1
}
KeyWait, Space
return
return
;^b:: SendInput %ClipOld%
;LAlt & Space:: Gosub, Show_Clipboard ;SendInput %clipboard%
;---------------------------------------------- LShift & Space::
LShift & Space::
index_Clip=2
CoordMode,ToolTip,Screen
;Clip1 := SubStr(clipboard, 1, 150) "`n" SubStr(clipboard, 151, 150) "`n" SubStr(clipboard, 301, 150) "`n" SubStr(clipboard, 451, 150) "`n" SubStr(clipboard, 601, 150)
Clip1 := SubStr(clipboard, 1, 100) "`n" SubStr(clipboard, 101, 100) "`n" SubStr(clipboard, 201, 100) "`n" SubStr(clipboard, 301, 100) "`n" SubStr(clipboard, 401, 100)
Clip1 := RegExReplace(Clip1, "`n`n`n","")
;Clip3 := (StrLen(ClipOld1)>0) ? SubStr(ClipOld1, 1, 150) "`n" SubStr(ClipOld1, 151, 150) "`n" SubStr(ClipOld1, 301, 150) "`n" SubStr(ClipOld1, 451, 150) "`n" SubStr(ClipOld1, 601, 150) : ""
Clip3 := (StrLen(ClipOld1)>0) ? SubStr(ClipOld1, 1, 100) "`n" SubStr(ClipOld1, 201, 100) "`n" SubStr(ClipOld1, 301, 100) "`n" SubStr(ClipOld1, 401, 100) "`n" SubStr(ClipOld1, 501, 100) : ""
Clip3 := RegExReplace(Clip3, "`n`n`n","")
;ToolTip, % "Clipboard ("StrLen(clipboard)"): `n‾‾‾‾‾‾‾‾‾‾‾`n" Clip1 "`n`n_________________________________________ `n‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ `nClip1 (" StrLen(ClipOld)"): `n‾‾‾‾‾‾‾‾‾‾`n" Clip3 "`n___",400, 330
;ToolTip, % "Clipboard ("StrLen(clipboard)"): `n¯¯¯¯¯¯¯¯¯¯¯`n" Clip1 "`n`n_________________________________________ `n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ `nClip1 (" StrLen(ClipOld1)"): `n¯¯¯¯¯¯¯¯¯¯¯`n" Clip3 "`n ̢",400, 330
ToolTip, % "Clipboard ("StrLen(clipboard)"): `n¯¯¯¯¯¯¯¯¯¯¯`n" Clip1 "`n`n_________________________________________ `n¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ `n#1 (" StrLen(ClipOld1)"): `n¯¯¯¯¯¯¯¯¯¯¯`n" Clip3 "`n ̢",500, 330
KeyWait, Space
SetTimer, 2_Key_Down_Timer_2, 100
ClipPaste:=clipboard
KeyWait, LShift
SetTimer, 2_Key_Down_Timer_2, off
ToolTip
2_Key_Down_Timer_2:
if (GetKeyState("Space", "P") = 1) {
if index_Clip> 10
return
ClipPaste:=ClipOld%index_Clip%
index_Clip2:=index_Clip +1
ClipPaste2:=ClipOld%index_Clip2%
CoordMode,ToolTip,Screen
Clip2 := SubStr(ClipPaste, 1, 100) "`n"SubStr(ClipPaste, 101, 100)"`n"SubStr(ClipPaste, 201, 100)"`n"SubStr(ClipPaste, 301, 100)"`n"SubStr(ClipPaste, 401, 100)
Clip2 := RegExReplace(Clip2, "`n`n","")
Clip4 := SubStr(ClipPaste2, 1, 100) "`n" SubStr(ClipPaste2, 201, 100) "`n" SubStr(ClipPaste2, 301, 100) "`n" SubStr(ClipPaste2, 401, 100) "`n" SubStr(ClipPaste2, 501, 100)
Clip4 := RegExReplace(Clip4, "`n`n","")
ToolTip, % "#" index_Clip " (" StrLen(ClipPaste)"): `n‾‾‾‾‾‾‾‾‾‾`n" Clip2 "`n_________________________________________ `n‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ `n#" index_Clip2 " (" StrLen(ClipPaste2) "): `n‾‾‾‾‾‾‾‾‾‾`n" Clip4 "`n ̢" ,500, 330
index_Clip+=2
}
KeyWait, Space
return
return
^Space:: Gosub, Show_Clips_All
Show_Clips_All:
AutoTrim, On
Clips1 := "#0 (" StrLen(clipboard)"): `n" SubStr(Clipboard, 1, 50) "`n______________________`n" "#1 (" StrLen(ClipOld)"): `n" SubStr(ClipOld1, 1, 50) "`n______________________`n" "#2 (" StrLen(ClipOld2)"): `n" SubStr(ClipOld2, 1, 50)"`n______________________`n" "#3 (" StrLen(ClipOld3)"): `n" SubStr(ClipOld3, 1, 50)"`n______________________`n" "#4 (" StrLen(ClipOld4)"): `n" SubStr(ClipOld4, 1, 50)"`n______________________`n" "#5 (" StrLen(ClipOld5)"): `n" SubStr(ClipOld5, 1, 50)
Clips2 := "#6 (" StrLen(ClipOld6)"): `n" SubStr(ClipOld6, 1, 50) "`n______________________`n" "#7 (" StrLen(ClipOld7)"): `n" SubStr(ClipOld7, 1, 100) "`n______________________`n" "#8 (" StrLen(ClipOld8)"): `n" SubStr(ClipOld8, 1, 50)"`n______________________`n" "#9 (" StrLen(ClipOld9)"): `n" SubStr(ClipOld9, 1, 50)"`n______________________`n" "#10 (" StrLen(ClipOld10)"): `n" SubStr(ClipOld10, 1, 50)
CoordMode,ToolTip,Screen
ToolTip %Clips1%`n______________________`n%Clips2%,500, 200
;Sleep 3000
loop {
Sleep 3000
If !MouseIsOver("ahk_class tooltips_class32")
break
}
ToolTip
return
MouseIsOver(WinTitle) {
MouseGetPos,,, Win
return WinExist(WinTitle . " ahk_id " . Win)
}
It works with Spartan.
But it works only from the first line.