- Table of Contents
- HeckR_ClipLog
- Functionallity & Usage
- Settings
- Known Issues
- Notes
- Responsibility
- Dependencies
- Donate
HeckR_ClipLog is not only a log as it's name would suggest, but a full fledged clipboard manager which can be controlled through hotkeys.
In HeckR_ClipLog there are 2 types of clipboard groups
Here you can navigate through your clipboard history, since everything you copy is saved here
The clips are numbered in the history (0 is the latest, and the number increases as you go further back)
Change clipboard content, while moving across the history, and showing the preview of the clip (note)
- Win + (LeftArrow / LeftClick / MouseForward / ScrollDown): Go one position back in the history
- Win + (RightArrow / RightClick / MouseBackward / ScrollUp): Go one position forward in the history
- Win + (UpArrow / DownArrow / MiddleMouseButton): Only show the preview of the current clip (note)
- Win + <Any number>: Go to the clip with the number pressed
Alternatively it is possible to search in the history with a GUI
- Win + Enter: The Clip Search window pops up, which can be used to search for clips
Functionality:- The search term can be an AutoHotkey RegEx (which of course includes ordinary text)
- Using no search term lists all clips
- Double clicking on a search result copies it to the clipboard
- Only the clips that are classified as text clipboard data (according to Windows) are available in this window
- Since the clips are stored as files, on the computer storage, the speed of the storage device impacts this search heavily
In some cases you might want to reuse the few latest clips, but you dont want to switch to them before copying. In this case, you can just instant copy them
- Win + Alt + <Any number>: Instantly paste the clip from the history without changing the content on the clipboard (note)
While the default purpose of the history is what its name suggests (containing the history), there are a few other ways available to add clips to the history
- Win + Shift + Enter: A small window pops up, where you can enter some text you wish to save to the history. If you press the OK button, the text will be copied to the clipboard and will be saved to the history. (Note, that there is no autosave, thus the content inside the windows will only be saved if you press the OK button)
- Win + Shift + <Any number>: Add the quickClip indexed with the pressed number (if it exists) to the history and put it on the clipboard
It is also possible to delete clips from the history, which can be useful in case there is some sensitive data on them, or a few large clips take up too much space etc. When a clip in the history gets deleted all of the older clips' indexes become one less. This also applies to the selected clip
For example: if we delete index 2, the old index 3 will become the new index 2, the old index 4 will become the new index 3 and so on...
- Win + Shift + Alt + (LeftArrow / LeftClick / MouseForward): Delete the older neighbour of the currently selected clip (if it exists)
- For example: If the currently selected clip is the one indexed with 3 then the clip indexed with 4 will be deleted
- Win + Shift + Alt + (RightArrow / RightClick / MouseBackward): Delete the younger neighbour of the currently selected clip (if it exists)
- For example: If the currently selected clip is the one indexed with 3 then the clip indexed with 2 will be deleted. The selected clip will remain the same, but its index is being lowered by one since it is one index younger now (it becomes the new index 2)
- Win + Shift + Alt + (DownArrow / UpArrow / MiddleMouseButton): Delete the currently selected clip (if there is one selected)
- For example: If the currently selected clip is the one indexed with 3 then it will be deleted and the selected clip will be modified in one of the following ways
- If the DownArrow or the MiddleMouseButton was used:
The selected clip will still be on the same index, thus it becomes the deleted clip's older neighbour (so its content chages but it remains index 3) - If the UpArrow was used:
The selected clip will become the deleted clip's younger neighbour along with its index (so basically we select index 2)
- If the DownArrow or the MiddleMouseButton was used:
- For example: If the currently selected clip is the one indexed with 3 then it will be deleted and the selected clip will be modified in one of the following ways
- Win + Shift + Alt + <Any number>: Delete the clip with the same index as the number which is being pressed (if it exists)
- For example: If the pressed number is 3, then the clip indexed with 3 will be deleted. The selected clip will shift accordingly
- If the selected clip's index is < 3: It will remain the same
- If the selected clip's index is > 3: It will remain the same and it's index will lower with 1
- If the selected clip's index is = 3: It will change to the clip with 1 less index (2 in this case)
- For example: If the pressed number is 3, then the clip indexed with 3 will be deleted. The selected clip will shift accordingly
Here you can distinguish a few dedicated clips from the others, so they will not get buried in history
Quick clip tables are a collection of 10 dedicated quick clip slots, that can be used to store clipboard data
There are 2 types of quick clip tables:
- Numbered
There are 10 numbered quick clip tables by default (0-9)
These are always available without any additional prior configuration - Named (custom)
In addition, there are a custom number of named quick clip tables based on the configuration file (for details, see the Settings)
Regardless of the configuration, one named quick clip table is always available, calleddefault
As its name suggests, the default table is selected on startup
- Shift + Alt + <Any number>: Change to the associated quick clip table
- Shift + Alt + Tab: Step through the named quick clip tables (for details, see the
customQuickClipTables
key under the Settings) - Win + Shift + Ctrl + <Any number>: Save the current clipboard data to the quick clip at the position of the number you pressed
- Win + Shift + Ctrl + Enter: A small window pops up, where you can enter some text you wish to save to one of the quickClip slots. You can select the quickClip slot by selecting a number in the dropdown list at the bottom right (0 by default). If you press the OK button, the text will be saved to the selected quickClip slot. (Note, that there is no autosave, thus the content inside the windows will only be saved if you press the OK button)
- Win + Shift + Ctrl + Alt + <Any number>: Delete the clipboard data to the the quick clip at the position of the number you pressed (note)
- Win + Ctrl + <Any number>: Open a preview of the quick clip at the position of the number you pressed
- Win + Ctrl + Alt + <Any number>: Instant paste the quck clip at the position of the number you pressed (without adding it to the history) (note)
- Win + Shift + L: Turns on/off the logging of the clipboard and the other hotkeys of this script (a tooltip shows wether the functionalities are turned on or off). When turning it back on, anything on the clipboard is deleted, and if there was a selected clip in the history before turning the script off, the clipboard resets to that clip (the previous position in the history is also being retained)
- Win + H: Shows a helping tooltip about all of the available hotkeys
There are a few configuration options available for this script. All of these must be located in a configuration ini with the same name as the script (HeckR_ClipLog.ini)
As the extension suggests, the configuration file must be in .ini
format
The existence of the configuration ini is semi-mandatory
While it is not necessary to configure anything for the script to be functional, the configuration file will be created on the script's startup if it does not exist
Contains general settings
-
maxNumberOfClipFiles
Description: The maximum number of clip files to store in the history
Format:Integer
Default:1000
-
customQuickClipTables
Description: A list of custom quick clip table names to be available
Format: A comma separated string
Default: <empty string>
Both sections have the same kind of settings
-
initialWidth
Description: Window width in pixels
Format:Integer
Default:500
-
initialHeight
Description: Window height in pixels
Format:Integer
Default:300
-
initialPositionX
Description: Window's horizontal position in pixels, or "Center", for aligning it to the middle
Format:Integer
| "Center"
Default:Center
-
initialPositionY
Description: Window's vertical position in pixels, or "Center", for aligning it to the middle
Format:Integer
| "Center"
Default:0
Microsoft recently put an inbuilt hotkey into Windows, which you have to manually disable if you do not wish to have MS Office pop up every time. You can find some information about this on the following page: HowToGeek - How to Remap the Office Key on Your Keyboard
The method I recommend is using the REG ADD HKCU\Software\Classes\ms-officeapp\Shell\Open\Command /t REG_SZ /d rundll32
command in your PowerShell console.
In order to be able to display pictures, an invisible, non-interactive overlay window is being used.
Due to its non-interactive nature this should not cause any issues (which is indeed the case most of the time), however there are some rare cases when some apps that rely on overlays get confused due to the mentioned invisible one
Also, some anti-cheat detection software may not like the invisible overlay. I've personally never been banned from anywhere, but be warned, that it could be detected as something shady
This issue is semi-fixed in v2.3.1
Since then, the overlay is only shown when the history is being checked, so there should be no interference issues, since a normal person interacts with only one thing at the time (hopefully :D)
In order for AutoHotkey to be able to intercept the keys (and thus recognize the hotkeys) one must run the script with the same privileges as the in-focus application
So in order for the hotkeys to work when an app is running with admin privileges, the script must also be run with admin privileges
Any kind of preview of message will open via a tooltip below the cursor (or if that's not possible, then at the top of the screen), and it remains open as long as you hold down the modifier keys needed for the hotkey you used (modifier keys include: Win, Shift, Ctrl, Alt)
While the UpArrow, DownArrow and the MiddleMouseButton can usually be used interchangeably for previewing the current clip, there is a slight difference in functionallity
- DownArrow: Nothing is loaded, the preview is created from the actual clipboard data
- UpArrow and MiddleMouseButton: Before the preview is created, the clip data is loaded from the file with the current index. This is usually unnecessary, but there is an exception
There is a normally unnoticeable delay before you can do something again, which is due to this functionality should not really be possible, thus it uses a little workaround
The intended use of this script is having it automatically started my windows, but in this case it is not possible to automatically load the last clip, since windows locks the files until the user logs in. This means that even if there is a clip in the history with the current index, it is not loaded yet. This is automatically fixed if something is being copied, or any functionality is being used which loads a clip
Clicking on the mouse wheel
On better / gaming mouses there are usually 2 extra buttons at the thumb. This is usually the one closer to the user
On better / gaming mouses there are usually 2 extra buttons at the thumb. This is usually the one further from the user
Only use or do anything at your own risk. I do not take responsibility for any damage which occurs from using or following anything here in any way, shape or form
If you wish to use / play around with the scripts instead of the built version, you need some dependencies
All of the dependencies can be found in the following repository: HeckR_AUH-Lib
The dependencies should be placed anywhere where they can be imported using the angle bracket syntax (e.g.: <modulname>). One possibility is to put them directly inside a folder named "Lib" next to the main script (HeckR_ClipLog.ahk)
Some of these might be 3rd party scripts. The original authors and sources are linked in the repository provided above
- AutoXYWH.ahk
- GDIP_All.ahk
- GDIPHelper.ahk
- HeckerFunc.ahk
I'm making tools like this in my free time, but since I don't have much of it, I can't give all of them the proper attention.
If you like this tool, you consider it useful or it made you life easier, please do not hesitate to thank/encourage me to continue working on it with any amount you see fit. (You know, buy me a cup of coffee / gallon of lemonade / 5-course gourmet dish / whatever you think I deserve 🙂)