AutoHotkey: ScrollLock im TC nutzen

Aus TCWikide
Zur Navigation springen Zur Suche springen

Script eins sorgt dafür, dass die aktuell gewählte Datei ausgewählt bleibt, auch wenn man durch das Dateifenster mit den Cursortasten scrollt.

; Total Commander:
; Wenn Scrolllock eingeschaltet ist, dann bewegt sich der Cursor nicht von der gerade 
; ausgewählten Datei, wenn man durch die Dateiliste mit den Cursortasten scrollt. Bei der 
; 'Kurz'-Ansicht kann man dadurch allerdings nur noch durch [Rechts/Links]scrollen.
$Down:: TCScroll( 1 )
$Up:: TCScroll( 0 )

TCScroll( xnDirecton )
{	
       GetKeyState, sScrollLockState, ScrollLock, T
 	if (not WinActive( "ahk_class TTOTAL_CMD" )) or (sScrollLockState != "D")
	{
		if (xnDirecton = 1)
			Send {Down}
		else
			Send {Up}
		Return
	}

	ControlGetFocus sActivePanel, A
	PostMessage 0x115, xnDirecton, 0, %sActivePanel%, A
	Return
}

Das zweite Script macht folgendes: Wenn man [Strg]+[Umsch]+[Hoch/Runter] drückt, dann bleibt der Cursor an der gleichen Stelle im Dateifenster, bis man ans Ende der Liste kommt. Dies ist nützlich, wenn man den Überblick behalten möchte, welche Datei direkt vor und direkt hinter der gerade aktiven Datei steht. Normalerweise wird die Liste im Fenster ja erst dann weitergescrollt, wenn der Cursor am Fensterrand angelangt ist, wodurch dann die nächste/vorhergehende Datei nicht mehr zu sehen ist.

Wem die Tastenkombination [Strg]+[Umsch]+[Hoch/Runter] nicht gefällt, der kann stattdessen [AltGr]+[Umsch]+[Hoch/Runter] benutzen, indem er die ersten 3 Zeile des Scripts mit den folgenden austauscht.

; Cursor im Datefenster festhalten
<^>!+Down:: TCScrollKeep( 1 )
<^>!+Up:: TCScrollKeep( 0 )

Hier nun das 2. Script

; Cursor im Datefenster festhalten
^+Down:: TCScrollKeep( 1 )
^+Up:: TCScrollKeep( 0 )

TCScrollKeep( xnDirecton )
{
	if WinActive( "ahk_class TTOTAL_CMD" )
	{
		if xnDirecton = 1
			Send {Down}
		else
			Send {Up}
	ControlGetFocus sActivePanel, A
	PostMessage 0x115, xnDirecton, 0, %sActivePanel%, A
	}
	Return
}





->Zurück zu AutoHotkey