AutoHotkey: From FileSync open another TC instance with selected files
Jump to navigation
Jump to search
; ////////////////////////////////////////////////////////////////////////////
; // TC_Sync_OpenFolderInSecondTC.ahk V0.12 (W) StatusQuo 2008
; // http://ghisler.ch/board/viewtopic.php?t=19713
; //
; // open another TC instance
; // with the folders of the currently selected file in cm_FileSync
; // via hotkey: Ctrl+Win+T
; ////////////////////////////////////////////////////////////////////////////
#SingleInstance, Force
Return
#IfWinActive, ahk_class TCmpForm
^#t:: ; hotkey = Ctrl+Win+T
; please adjust path here; %COMMANDER_PATH% is not available outside of TC
sTCExe := "C:\totalcmd\TOTALCMD.EXE"
; static pidTC2
Send, {F3}
sLDirName := GetActiveTCListerPath()
Send, +{F3}
sRDirName := GetActiveTCListerPath()
IfWinNotExist, ahk_pid %pidTC2%
pidTC2 := ""
if not (pidTC2 = "")
{
WinActivate, ahk_pid %pidTC2%
sTCExe = %sTCExe% /O
}
sRunStr := sTCExe
if (sLDirName != "")
sRunStr = %sRunStr% /L="%sLDirName%"
if (sRDirName != "")
sRunStr = %sRunStr% /R="%sRDirName%"
if (sRunStr = sTCExe)
Return
if (pidTC2 = "")
Run, %sRunStr%,,, pidTC2
else
Run, %sRunStr%
Return
#IfWinActive
GetActiveTCListerPath()
{
WinWaitNotActive, ahk_class TCmpForm,, 2 ; wait for starting lister, timeout 2 seconds
IfWinActive, ahk_class TCmpForm ; Lister hasn't started - no file on this panel side?
Return
WinGetActiveTitle, sWinTitle
WinClose, %sWinTitle%
iNamePos := (InStr(sWinTitle, "[", false, 0) + 1)
; folder only
; Return, % SubStr(sWinTitle, iNamePos, (InStr(sWinTitle, "\", false, 0) + 1) - iNamePos)
; folder + file name
Return, % SubStr(sWinTitle, iNamePos, StrLen(sWinTitle) - iNamePos)
}
;
Back to AutoHotkey