AutoHotkey: With Alt - \ always to root: Difference between revisions
Jump to navigation
Jump to search
(Added category AutoHotkey scripts) |
(updated ND variant for TC 7.5 (unicode panels)) |
||
Line 19: | Line 19: | ||
Here's a variant by '''ND''', which ensures that the script is only launched when one of 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) | Here's a variant by '''ND''', which ensures that the script is only launched when one of 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, and TC 7.5 on WinXP SP3) | ||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
Line 38: | Line 38: | ||
If( RegExMatch( tcFocus, "^TMyListBox2$" ) ) | If( RegExMatch( tcFocus, "^TMyListBox2$" ) ) | ||
tcPath = TMyPanel5 | tcPath = TMyPanel5 | ||
Else | |||
If( RegExMatch( tcFocus, "^TMyListBox\.UnicodeClass2$" ) ) ; new in TC 7.5 | |||
tcPath = TPathPanel.UnicodeClass1 | |||
Else | |||
If( RegExMatch( tcFocus, "^TMyListBox\.UnicodeClass1$" ) ) | |||
tcPath = TPathPanel.UnicodeClass2 | |||
Else | Else | ||
Return | Return |
Revision as of 10:50, 21 April 2009
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 of 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, and TC 7.5 on WinXP SP3)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;! \brief pressing Alt+\\ should land in drive root rather than tab root ; ; Assumes that the panel title-paths are accessible (TMyPanel5/TMyPanel9) ; ; 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, "^TMyListBox1$" ) ) tcPath = TMyPanel9 Else If( RegExMatch( tcFocus, "^TMyListBox2$" ) ) tcPath = TMyPanel5 Else If( RegExMatch( tcFocus, "^TMyListBox\.UnicodeClass2$" ) ) ; new in TC 7.5 tcPath = TPathPanel.UnicodeClass1 Else If( RegExMatch( tcFocus, "^TMyListBox\.UnicodeClass1$" ) ) tcPath = TPathPanel.UnicodeClass2 Else Return ControlGetText, tcStatus, %tcPath% 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