diff --git a/README.md b/README.md index 7294618..0035618 100644 --- a/README.md +++ b/README.md @@ -2,73 +2,119 @@ ![Image:Example of Multi_Clipboard GUI](https://i.imgur.com/fw1q83V.png) -## What is it? -A script to provide multi-clipboard support. -![Image:Keyboard Number Sets](https://i.imgur.com/mJlvE3T.png) +## Navigation +*** +* What does Multi_Clipboard do? +* Properties + * Number Set Properties + * Modifier Actions Properties + * 'Show All Clipboards' Hotkey + * Optional Properties +* Methods +* Why remake it? + +## What does Multi_Clipboard do? +A script with configurable 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. +![Image:Keyboard Number Sets](https://i.imgur.com/mJlvE3T.png) The keys are controlled by modifier keys that you set. -![Image:Modifier keys](https://i.imgur.com/6GyGpML.png) +![Image:Modifier keys](https://i.imgur.com/r20VK4M.png) + +Defaults are: `copy_mod` is `^` ctrl, `show_mod` is `#` ctrl, and `paste_mod` is `!` alt +Example: +Ctrl+numpad5 would copy to slot numpad5 +Alt+numpad5 pastes whatever is stored in numpad5 +Win+numpad5 shows the contents of numpad5 in a popup GUI + +As the main README picture shows, you have the ability to view all clipboard key's contents (or individual ones). -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. +If a clipboard slot is empty, it shows as ``. +![Image:Gui with empty contents](https://i.imgur.com/Ez1j8DE.png) + +If a clipboard slot has text in it, it'll show the string. +![Image:Gui with string contents](https://i.imgur.com/IehNVa4.png) + +Otherwise the clipboard slots has some binary data and shows ``. +The size and pointer of the data is included. +![Image:Gui with binary contents](https://i.imgur.com/sNxEuRN.png) ## Properties -### Number Set Properties +### [Number Set](https://i.imgur.com/mJlvE3T.png) Properties * `use_pad := 1` [bool] - Enables number pad keys to be used as clipboards. + Enables number pad keys (blue) to be used as clipboards. * `use_bar := 1` [bool] - Enables the number bar row to be used as clipboards. + Enables the number bar row (red) to be used as clipboards. * `use_f := 1` [bool] - Enables the Function number keys to be used as clipboards. - -### Modifier Actions -Modifier actions should be assigned a hotkey modifier symbol/symbols. -Modifier keys are expected to be the same as AHK's [`Hotkey Modifier Symbols`](https://www.autohotkey.com/docs/v2/Hotkeys.htm#Symbols) -Symbols Indluce: `!` Alt, `^` Control, `#` Win, `+` Shift, `<` Left Side Modifier `>` Right Side Modifier + Enables the Function keys (green) to be used as clipboards. + +*** +### Modifier Actions Properties +Modifier actions should be assigned a hotkey modifier symbol. +Modifier keys are expected to be the same as AHK's [`Hotkey Modifier Symbols`](https://www.autohotkey.com/docs/v2/Hotkeys.htm#Symbols) +Multiple symbols can be used. +Symbols Indluce: `!` Alt, `^` Control, `#` Win, `+` Shift, `<` Left Side Modifier `>` Right Side Modifier +The left and right side modifiers work. Setting copy to `!` right alt works without conflict. -`copy_mod` [string] +* `copy_mod := '^'` [string] Modifier that copies to a clipboard key -`paste_mod` [string] +* `paste_mod := '!'` [string] Modifier that pastes from a clipboard key -`show_mod` [string] +* `show_mod := '#'` [string] Modifier that shows contents of a clipboard key. -### Hotkey -`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) +*** +### 'Show All Clipboards' Hotkey +* `all_hotkey := '^NumpadEnter'` [string] +Shows the contents of all enabled clipboards. (Will not show clipboard contents that exceed 64000 total chars) +This is the only full hotkey you define and can be any modifer+hotkey combo. -### 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 -`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 +*** +### Optional Properties + +* `enable` [bool] +true -> Enables all hotkeys (does not override disable_list property) +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 + +* `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` New enable state after the toggle -__________________________________________________________________________________________________ -## Why make it if it's a common script to make? +*** +## Why remake it? 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.](https://i.imgur.com/gZJJrrO.png) @@ -85,7 +131,3 @@ Adding properties that can adjust the script on the fly/gives the user control o 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. - -## Usage -Choose which [number sets](https://i.imgur.com/aKRtVQD.png) on the keyboard you want to use. -Set `use_`