Skip to content

Instantly share code, notes, and snippets.

@gloony
Forked from 4rc0s/SimpleKeyboardHistory.ahk
Created May 16, 2019 14:33
Show Gist options
  • Save gloony/2bb55c8fb6770f94f4de70b312e081a0 to your computer and use it in GitHub Desktop.
Save gloony/2bb55c8fb6770f94f4de70b312e081a0 to your computer and use it in GitHub Desktop.
AutoHotKey clipboard history script that is easily navigated and relatively short
; Retrieves saved clipboard information since when this script last ran
Loop C:\tmp\clipvar*.txt
{
clipindex += 1
FileRead clipvar%A_Index%, %A_LoopFileFullPath%
FileDelete %A_LoopFileFullPath%
}
maxindex := clipindex
OnExit ExitSub
; Clears the history by resetting the indices
^+NumpadClear::
^+Numpad5::
tooltip clipboard history cleared
SetTimer, ReSetToolTip, 1000
maxindex = 0
clipindex = 0
Return
; Scroll up and down through clipboard history
^+WheelUp::
if clipindex > 1
{
clipindex -= 1
}
thisclip := clipvar%clipindex%
clipboard := thisclip
tooltip %clipindex% - %clipboard%
SetTimer, ReSetToolTip, 1000
Return
^+WheelDown::
if clipindex < %maxindex%
{
clipindex += 1
}
thisclip := clipvar%clipindex%
clipboard := thisclip
tooltip %clipindex% - %clipboard%
SetTimer, ReSetToolTip, 1000
Return
; Add clipboard contents to the stack when you copy or paste using the keyboard
~^x::
~^c::
Sleep 500
clipindex += 1
clipvar%clipindex% := clipboard
thisclip := clipvar%clipindex%
tooltip %clipindex% - %thisclip%
SetTimer, ReSetToolTip, 1000
if clipindex > %maxindex%
{
maxindex := clipindex
}
Return
; Clear the ToolTip
ReSetToolTip:
ToolTip
SetTimer, ReSetToolTip, Off
return
; Saves the current clipboard history to hard disk
ExitSub:
SetFormat, float, 06.0
Loop %maxindex%
{
zindex := SubStr("0000000000" . A_Index, -9)
thisclip := clipvar%A_Index%
FileAppend %thisclip%, C:\tmp\clipvar%zindex%.txt
}
ExitApp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment