AutoHotkey: With Alt - \ always to root
Jump to navigation
Jump to search
If you are working with 'softlocked' Tabs (locked but dir change allowed) it's most time useful to change with [Ctrl]+[\] to the root of the locked Tab instead root of the drive. You can achieve this with the key LockedGoToDriveRoot=0 in the wincmd.ini.
However, sometimes it is useful to go instead to the root of the drive. That's what this script is for:
;Alt \ leads to root of drive !\:: IfWinActive ahk_class TTOTAL_CMD { ; activate the command line PostMessage, 1075, 4003, , , ahk_class TTOTAL_CMD ; type cd \ sendraw, cd \ ; send it send, {ENTER} } return
Here's a variant by ND, which ensures that the script is only launched when one the TC panels is active and which leaves the command-line history unmodified (tested in TC 5.50 and TC 7.01 on WinXP SP2)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;! \brief pressing Alt+\\ should land in drive root rather than tab root ; ; Assumes that the status-bar is accessible (TMyPanel2) ; ; Computes the number of different parts separated by \\, ; then goes-up the appropriate number of parent dirs (cm_GoToParent) ; #IfWinActive, ahk_class TTOTAL_CMD ~!\:: ; only when the actual TC panels are active ControlGetFocus, tcFocus If( RegExMatch( tcFocus, "^TMyListBox(1|2)$" ) ) { ControlGetText, tcStatus, TMyPanel2 RegExReplace( tcStatus, "[^\\>]+", "$1", tcBack ) tcBack-- ; minus the drive root itself If( RegExMatch( tcStatus, "^.\\[^\\]" ) ) tcBack-- ; minus the server root for network drives If( tcBack > 0 ) Loop, %tcBack% PostMessage, 1075, 2002 ; cm_GoToParent } Return
Back to AutoHotkey