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.
The keys are controlled by modifier keys that you set.
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 := 1
[bool]
Enables number pad keys to be used as clipboards. -
use_bar := 1
[bool]
Enables the number bar row to be used as clipboards. -
use_f := 1
[bool]
Enables the Function number keys to be used as clipboards.
Modifier actions should be assigned a hotkey modifier symbol/symbols.
Modifier keys are expected to be the same as AHK's Hotkey Modifier Symbols
Symbols Indluce: !
Alt, ^
Control, #
Win, +
Shift, <
Left Side Modifier >
Right Side Modifier
copy_mod
[string]
Modifier that copies to a clipboard key
paste_mod
[string]
Modifier that pastes from a clipboard key
show_mod
[string]
Modifier that shows contents of a clipboard key.
all_hotkey
[str]
This is the only full hotkey you define and can be any modifer+hotkey combo you want.
Examples: all_hotkey := '^NumpadEnter
or all_hotkey := '!``'
(Alt+Backtick)
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
toggle()
Toggles the enable property on/off
Return
New enable state after the toggle
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_