Position speichern

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
MC
Senior Member
Senior Member
Posts: 402
Joined: 2003-02-05, 13:53 UTC

Position speichern

Post by *MC »

Hallo,

ich habe dem TC mittels Position speichern eine bestimmte Position und Grösse zugewiesen. Nun kommt es während des Arbeitens öfters vor dass ich die Grösse des Fensters ändere, mal mehr vertikal, mal mehr horizontal, mal fast maximiert...

Nun möchte ich zurück zu der Position/Grösse die ich als Default gespeichert habe. Gibt es da einen anderen Weg als den TC zu beenden und neu zu starten?

Vielen Dank im Voraus.
User avatar
raeubi
Power Member
Power Member
Posts: 575
Joined: 2003-11-25, 09:01 UTC
Location: Rhein/Main

Post by *raeubi »

Gute Frage ...

Hier und da gab's schon mal Diskussionen, die in diese Richtung gingen,
jedoch ohne weiter auf dieses von Dir gesuchte Feature einzugehen. :(

Es gibt ein Kommando für das Speichern der Position: cm_configSavepos

Jedoch gibt es kein Pedant zum Laden der gespeicherten Position, wie z.B.: cm_ConfigReloadSavedPos

So ein Kommando wäre nicht "most needed" trotzdem könnte es hin und wieder ganz praktisch sein.
Räubi
(#2852 + #287609)
MC
Senior Member
Senior Member
Posts: 402
Joined: 2003-02-05, 13:53 UTC

Post by *MC »

Das wäre klasse, denn das kann man sich ja dann auf einen Toolbarbutton legen. Ob das wohl auf die To-Do-Liste kommt?
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Post by *van Dusen »

Hier eine Lösung mit einem AutoIt3-Script ("quick&dirty"):

Code: Select all

AutoItSetOption("WinTitleMatchMode", 4)
$whTC = WinGetHandle("classname=TTOTAL_CMD")
If @error = 1 Then Exit

$strTCIniFile = EnvGet("COMMANDER_INI")
If IniRead($strTCIniFile, "Configuration", "ResolutionSpecific", "1") = "0" Then
	$strTCIniSection = "AllResolutions"
Else
	$arrTCIniSections = IniReadSectionNames($strTCIniFile)
	$strTCIniSection = @DesktopWidth & "x" & @DesktopHeight
	For $i = 1 To $arrTCIniSections[0]
		If StringInStr($arrTCIniSections[$i], $strTCIniSection) = 1 Then
			$strTCIniSection = $arrTCIniSections[$i]
			ExitLoop
		EndIf
	Next
EndIf

$strTCXPos = IniRead($strTCIniFile, $strTCIniSection, "x", "")
$strTCYPos = IniRead($strTCIniFile, $strTCIniSection, "y", "")
$strTCXSize = IniRead($strTCIniFile, $strTCIniSection, "dx", "")
$strTCYSize = IniRead($strTCIniFile, $strTCIniSection, "dy", "")
$strTCMaximized = IniRead($strTCIniFile, $strTCIniSection, "maximized", "0")

If $strTCXPos = "" Or $strTCYPos = "" Or $strTCXSize = "" Or $strTCYSize = "" Then Exit

WinSetState($whTC, "", @SW_RESTORE)
WinMove($whTC, "", $strTCXPos, $strTCYPos, $strTCXSize, $strTCYSize)
If $strTCMaximized = "1" Then WinSetState($whTC, "", @SW_MAXIMIZE)
"Quick&Dirty", weil das o.g. Script ausschließlich in der <wincmd.ini> sucht. Wenn der auflösungsspezifische INI-Abschnitt (oder der Abschnitt "AllResolutions") in eine benutzerdefinierte INI-Datei umgeleitet ist, endet das Script ohne die Fensterposition zu ändern.

Außerdem ist das o.g. Script nicht getestet für
* mehrere gleichzeitig laufende TC-Instanzen
* Zweischirmbetrieb
* virtuelle Desktop-Auflösungen
Post Reply