Skip to content

Instantly share code, notes, and snippets.

@davebrny
Created July 5, 2019 08:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davebrny/225f5b37fe646c4cfe8c7d65174cbe4d to your computer and use it in GitHub Desktop.
Save davebrny/225f5b37fe646c4cfe8c7d65174cbe4d to your computer and use it in GitHub Desktop.
(autohotkey) - one-liners to restore built-in variables
^!b::
if (orb_list = "")
{
orb_list =
(lTrim
autoTrim | autoTrim | "off"
batchLines | setBatchLines | -1
controlDelay | setControlDelay | -1
coordModeCaret | coordMode, caret | "client"
coordModeMenu | coordMode, mouse | "client"
coordModeMouse | coordMode, mouse | "client"
coordModePixel | coordMode, pixel | "client"
coordModeToolTip | coordMode, toolTip | "client"
defaultMouseSpeed | setDefaultMouseSpeed | 0
detectHiddenText | detectHiddenText | "on"
detectHiddenWindows | detectHiddenWindows | "on"
isCritical | isCritical | "off"
sendMode | sendMode | "input"
stringCaseSense | stringCaseSense | "on"
titleMatchMode | setTitleMatchMode | 2
titleMatchModeSpeed | setTitleMatchMode | "slow"
winDelay | setWinDelay | -1
workingDir | setWorkingDir | a_scriptDir
)
loop, parse, orb_list, `n
{
orb := strSplit(a_loopField, "|", a_space)
menu, orb_menu, add, % orb[1], orb_menu_action
}
}
if (orb_list)
menu, orb_menu, show
return
orb_menu_action:
stringGetPos, orb_pos, % orb_list, % a_thisMenuItem, L1
stringMid, orb_output, % orb_list, orb_pos + 1
stringGetPos, orb_pos, % orb_output, `n, L1
stringMid, orb_line, % orb_output, orb_pos, , L
orb := strSplit(orb_line, "|", a_space)
; make acronym from item name
orb_acrnm := subStr(a_thisMenuItem, 1, 1)
loop, parse, a_thisMenuItem
{
if a_loopField is upper
orb_acrnm .= a_loopField
}
stringLower, orb_acrnm, orb_acrnm
if a_thisMenuItem contains coordModeMenu,winDelay
orb_acrnm .= "e"
; paste line 1, add line 2 to the clipboard
sendMode, % ("input"), restore_sm := a_sendMode
clipboard := orb[2] ", % (" orb[3] "), restore_" orb_acrnm " := a_" a_thisMenuItem
send ^{v}
sleep 100
clipboard := orb[2] ", % restore_" orb_acrnm
sendMode, % restore_sm
return
/*
[script info]
version = 1
description = one-liners to restore built-in variables
author = davebrny
source = https://gist.github.com/davebrny/225f5b37fe646c4cfe8c7d65174cbe4d
*/
@davebrny
Copy link
Author

davebrny commented Jul 5, 2019

usage

  • press ctrl alt + b to show the menu
  • select an item from the menu to have it's first line pasted
  • place the caret where you want the second line to be pasted and press ctrl + v

 

autoTrim, % ("off"), restore_at := a_autoTrim
autoTrim, % restore_at

setBatchLines, % (-1), restore_bl := a_batchLines
setBatchLines, % restore_bl

setControlDelay, % (-1), restore_cd := a_controlDelay
setControlDelay, % restore_cd

coordMode, caret, % ("client"), restore_cmc := a_coordModeCaret
coordMode, caret, % restore_cmc

coordMode, mouse, % ("client"), restore_cmme := a_coordModeMenu
coordMode, mouse, % restore_cmme

coordMode, mouse, % ("client"), restore_cmm := a_coordModeMouse
coordMode, mouse, % restore_cmm

coordMode, pixel, % ("client"), restore_cmp := a_coordModePixel
coordMode, pixel, % restore_cmp

coordMode, toolTip, % ("client"), restore_cmtt := a_coordModeToolTip
coordMode, toolTip, % restore_cmtt

setDefaultMouseSpeed, % (0), restore_dms := a_defaultMouseSpeed
setDefaultMouseSpeed, % restore_dms

detectHiddenText, % ("on"), restore_dht := a_detectHiddenText
detectHiddenText, % restore_dht

detectHiddenWindows, % ("on"), restore_dhw := a_detectHiddenWindows
detectHiddenWindows, % restore_dhw

isCritical, % ("off"), restore_ic := a_isCritical
isCritical, % restore_ic

sendMode, % ("input"), restore_sm := a_sendMode
sendMode, % restore_sm

stringCaseSense, % ("on"), restore_scs := a_stringCaseSense
stringCaseSense, % restore_scs

setTitleMatchMode, % (2), restore_tmm := a_titleMatchMode
setTitleMatchMode, % restore_tmm

setTitleMatchMode, % ("slow"), restore_tmms := a_titleMatchModeSpeed
setTitleMatchMode, % restore_tmms

setWinDelay, % (-1), restore_wde := a_winDelay
setWinDelay, % restore_wde

setWorkingDir, % (a_scriptDir), restore_wd := a_workingDir
setWorkingDir, % restore_wd

example in use:

detectHiddenWindows, % ("on"), restore_dhw := a_detectHiddenWindows    ; <--------------------
winGet, running, list, ahk_class AutoHotkey
loop % running
    {
    winGetTitle, title, % "ahk_id " running%a_index%
    script_path := regExReplace(title, "\s-\sAutoHotkey\s.*")
    path_list .= (path_list = "" ? "":"`n") . script_path
    }
detectHiddenWindows, % restore_dhw    ; <--------------------
msgBox, % path_list

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment