Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
Saving
  • Loading branch information
GroggyOtter authored May 5, 2023
1 parent 1a4ecca commit 942ea6f
Showing 1 changed file with 88 additions and 46 deletions.
134 changes: 88 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `<EMPTY>`.
![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 `<BINARY DATA>`.
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 `<!` left alt and paste 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 <EMPTY>
`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
***
### 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 <EMPTY>

* `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` 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)
Expand All @@ -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_`

0 comments on commit 942ea6f

Please sign in to comment.