AutoHotkey: From FileSync open another TC instance with selected files

From TotalcmdWiki
Revision as of 03:00, 23 July 2008 by StatusQuo (talk | contribs) (fix: added double quotes for paths containing spaces)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
		; ////////////////////////////////////////////////////////////////////////////
		; // TC_Sync_OpenFolderInSecondTC.ahk  V0.11  (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::	; Ctrl+Win+T
		; please adjust path here; %COMMANDER_PATH% is not available outside of TC
	sTCExe := "C:\totalcmd\TOTALCMD.EXE"
	Send, {F3}
	sLDirName := GetActiveTCListerPath()
	Send, +{F3}
	sRDirName := GetActiveTCListerPath()
	sRunStr := sTCExe
	if (sLDirName != "")
		sRunStr = %sRunStr% /L="%sLDirName%"
	if (sRDirName != "")
		sRunStr = %sRunStr% /R="%sRDirName%"
	if (sRunStr = sTCExe)
		Return
	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