Difference between revisions of "AutoHotkey: From FileSync open another TC instance with selected files"

From TotalcmdWiki
Jump to: navigation, search
m (Added category AutoHotkey scripts)
(fix: added double quotes for paths containing spaces)
Line 5: Line 5:
 
*/ ; --> <code><pre>
 
*/ ; --> <code><pre>
 
; ////////////////////////////////////////////////////////////////////////////
 
; ////////////////////////////////////////////////////////////////////////////
; // TC_Sync_OpenFolderInSecondTC.ahk  (W) StatusQuo 2008
+
; // TC_Sync_OpenFolderInSecondTC.ahk V0.11 (W) StatusQuo 2008
 
; // http://ghisler.ch/board/viewtopic.php?t=19713
 
; // http://ghisler.ch/board/viewtopic.php?t=19713
 
; //  
 
; //  
; // open another TC instance  
+
; // open another TC instance
 
; // with the folders of the currently selected file in cm_FileSync
 
; // with the folders of the currently selected file in cm_FileSync
 
; // via hotkey: Ctrl+Win+T
 
; // via hotkey: Ctrl+Win+T
Line 21: Line 21:
 
sTCExe := "C:\totalcmd\TOTALCMD.EXE"
 
sTCExe := "C:\totalcmd\TOTALCMD.EXE"
 
Send, {F3}
 
Send, {F3}
sLDirName := GetActiveListerPath()
+
sLDirName := GetActiveTCListerPath()
 
Send, +{F3}
 
Send, +{F3}
sRDirName := GetActiveListerPath()
+
sRDirName := GetActiveTCListerPath()
 
sRunStr := sTCExe
 
sRunStr := sTCExe
 
if (sLDirName != "")
 
if (sLDirName != "")
sRunStr = %sRunStr% /L=%sLDirName%
+
sRunStr = %sRunStr% /L="%sLDirName%"
 
if (sRDirName != "")
 
if (sRDirName != "")
sRunStr = %sRunStr% /R=%sRDirName%
+
sRunStr = %sRunStr% /R="%sRDirName%"
 
if (sRunStr = sTCExe)
 
if (sRunStr = sTCExe)
 
Return
 
Return
Line 35: Line 35:
 
#IfWinActive
 
#IfWinActive
  
GetActiveListerPath()
+
GetActiveTCListerPath()
 
{
 
{
WinWaitNotActive, ahk_class TCmpForm,, 1 ; wait for starting lister, timeout 1 second
+
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?
 
IfWinActive, ahk_class TCmpForm ; Lister hasn't started - no file on this panel side?
 
Return
 
Return

Revision as of 03:00, 23 July 2008

		; ////////////////////////////////////////////////////////////////////////////
		; // 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