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.
Position speichern
Moderators: Hacker, Stefan2, white
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.
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)
(#2852 + #287609)
Hier eine Lösung mit einem AutoIt3-Script ("quick&dirty"):
"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
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)
Außerdem ist das o.g. Script nicht getestet für
* mehrere gleichzeitig laufende TC-Instanzen
* Zweischirmbetrieb
* virtuelle Desktop-Auflösungen