To start, run either AutoCommand.ahk (requires Autohotkey) or the compiled version AutoCommand.exe
Commands may be sent directly with a Shortcut
When you input the Hotkey of a Filter:
- Typing will narrow down the list of commands
- Hitting
Enterwill either:- Let you select a command from the menu by choosing its number, 1-9
- Automatically select the last command if only one exists
- Cancel if the list is empty.
- If there is a
TemplateExpressionand blanks that need to be filled in the selected command supply them by typing before submitting withEnter ProcessCommand()is where the selected command is handled.
Configuration is done in the Config.ini file.
-
If
UBBroadcastPathis set to a valid path it will try to use UtilityBeltBroadcast to send a command to all connected clients.- WIP, will eventually implement tags or something more specific
-
MinCharactersis the minimum amount input before matching commands are sought -
MaxResultsis the max matching commands to be shown -
TooltipPositionwill set the location the tooltip shows at. If missing or incorrect it will show by the mouse as you type. -
CommandPathis the file that keeps that commands the script looks for matches in. -
If
TemplateExpressionisn't blank you'll be prompted to kill in blanks matching it in the selected command- Ex.
A $$, a $$, a $$: Panamawould prompt you for input 3 times ifTemplateExpressionwas$$
- Ex.
-
If
ActiveWindowshas a value,[Hotkey]actions will only trigger if the active window matches that comma-separated list-
Title Matching Behaviour [Part of Window title] ahk_class Window Class ahk_id Unique ID/HWND ahk_pid Process ID ahk_exe Process Name/Path Multiple Criteria -
Ex:
ActiveWindows=Aqua1,ahk_class Notepadwould only work when Notepad or a window withAqua1in the title were active.
-
- The normal mode matches if the input is a substring of a command.
- Use
UseSplitTerms=1to separate the input on spaces/tabs and match each term individually- Ex.
eq 1would match/ub equip 13
- Ex.
- Set options for
RegexFilterwithRegexOptionsDas an option ensures there is an end lineDiwould also make it case-insensitive
- For
StringDistanceFilterIncludeRating=1displays distance between the input and command in the menuMinRatingToMatchsets a minimum acceptable distance to match
- Set zero-plus comma-separated hotkeys for anything in the
[Hotkeys]or[GlobalHotkeys]section using the Autohotkey syntax.- Reuse of a hotkey will replace what it was previously assigned to.
[GlobalHotkeys]work regardless of restrictions on the active window- Ex:
RepeatCommand=#F5,XButton1would send your last command again withWin+F5or the back button on your mouse
- Set hotkeys for:
CommandFilter- Filters commands by input or each word of the input ifUseSplitTerms=1RegexFilter- Filters by regular expression- Ex.
^.{5,15}$would match commands that have 5-15 characters between the start and end of a line.
- Ex.
StringDistanceFilter- Filters by string similarity (using Chunjee's library)RepeatCommand- Resends your last selected command, if one existsClearInput- Tries to clear the filter textSortCommands- Alphabetically sorts your commands and gets rid of duplicatesAddCommand- Adds whatever you type before the nextEnterat the end of your commands if it doesn't already existAddClipboardAsCommand- Adds whatever is in your clipboard to your commands (if under 1k characters, no new lines, and unique)Reload- Reload the script and commandsExit- Quits out of the script. Can also be done through the TrayIcon with an 'A' on it
[Shortcuts]let you map a hotkey to a command directly.- Works with
TemplateExpression - Similar to the hotkeys there is a
[GlobalShortcuts]that won't restrict shortcut by the active window. - Ex:
XButton2=/mt jumpwould map the forward mouse button to
- Works with
Some WIP functionality for sending key/mouse input to inactive AC windows is included in ACHelpers.ahk
Hotkeys added:
MaximizeAll- Set all AC windows to borderless-fullscreenBorderlessAll- Set all AC windows to borderlessClickAll- Send a click at the current mouse position to all AC windowsJump- Starts holding spaceReleaseJump- Releases space
The demo shows:
- A regular search to narrow in on navs
- A string similarity search (for the typo-prone) with a template parameter to be filled
- Making hotkeys global
Demo.mp4
Feel free to make suggestions!
-
Filter commands by active window
-
Alternative ways of handling selected command without requiring editing of the script/install AHK
-
Improved command syntax. Allow comments/other command-specific configuration.
-
Make
StrSplitwhen reading the Ini only split on the correct/first=