A script to provide multi-clipboard support.
It turns any/some/all of the number sets on the keyboard into extra clipboard slots.
You have 32 extra clipboard slots if all number sets are used.
You control them by setting/using different modifiers as .
Example. If numpad clipboards are enabled, copy_mod
is ^
ctrl, and paste_mod
is !
alt:
ctrl+numpad5 will copy to slot Numpad5 and alt+numpad5 pastes whatever is stored in Numpad5.
-
use_pad
Enables number pad keys to be used as clipboards. -
use_bar
Enables the number bar row to be used as clipboards. -
use_f
Enables the Function number keys to be used as clipboards.
___ Modifier actions _____________________________________________________________________________
copy_mod [str] = Modifier that copies to a key
paste_mod [str] = Modifier that pastes from a key
show_mod [str] = Modifier shows contents of a key. Valid modifiers:
= ! Alt ^ Ctrl + Shift # Windows < LeftSideMod > RightSideMod
___ Hotkey _______________________________________________________________________________________
all_hotkey [str] = A Hotkey to show contents of all clipboards
___ Optional Properties __________________________________________________________________________
enable [bool] = true -> Enables all hotkeys (does not override disable_list)
= false -> Disables all hotkeys
send_hotkey [bool] = true -> Native keystroke is included with the action remap
= false -> Native keystroke is replaced by the action remap
quick_view [bool] = true -> key down shows pop GUI and closes on key release
= false -> Key press pops up GUI and it stays up until closed
hide_empty [bool] = true -> Empty clipboards are omitted from display when shown
= false -> Empty clipboards show with key headers and as
hide_binary [bool] = true -> Binary data clipboards are omitted from display when shown
= false -> Binary data clipboards show with key headers and as <BINARY_DATA>
show_max_char [num] = Max number of characters to show from each clipboard string
= 0 disables max and uses the full string
disable_list [arr] = An array of strings containing WinTitles
= Multi_Clipboard will be disabled in any of the provided WinTitles
= WinTitle Docs: https://www.autohotkey.com/docs/v2/misc/WinTitle.htm
___ METHODS ______________________________________________________________________________________
toggle() = Toggles the enable property on/off
Return = The new enable state after toggle
Example: Enabling numpad, using ctrl for copy, alt for paste, and win for show:
All Numpad number keys act as individual clipboard slots
Pressing Ctrl+Numpad# will copy whatever has focus to a slot with that hotkey as a key
Pressing Alt+Numpad# will paste the contents
ANd Win+Numpad# will show the contents of that save in a GUI popup
It initially started out as a response to a post on the AHK subreddit.
I revisited my old "multiple clipboard" script I wrote years ago (wow, I was really new to AHK when I wrote that!)
I decided to rewrite a small v2 mockup to share with the user. Image of this script in its infancy.
However, I started getting into it and I kept modifying and adding stuff I never intended to include.
Not only that, but I realized I was using quite a few things from AHK's library so I decided make it a purpose to comment each line in hopes anyone reading this will be able to learn from it.
The code covers a LOT of different components.
Creating guis. Adding controls and events.
Dynamically creating hotkeys.
String parsing.
Object manipulation.
Nested objects.
Adding properties that can adjust the script on the fly/gives the user control over parts of the script.
Class structuring and avoidance of global space coding and variables.
Not to mention all the different fucntions calls and object types used.
I just feel like it has a ton of different components to learn about.
Choose which number sets on the keyboard you want to use.
Set use_