Wunsch: TCMD mit einem Tabs-File starten

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
schittli
Member
Member
Posts: 101
Joined: 2004-01-06, 16:13 UTC
Location: Switzerland, Biel Bienne

Wunsch: TCMD mit einem Tabs-File starten

Post by *schittli »

Guten Tag

Es wäre toll, wenn man beim Starten angeben könnte, dass der Total Commander ein Tabs-File lädt.

Noch genialer wäre es natürlich, wenn der Total Commander dann auch grad mit diesem Tabs-File arbeitet, d.h. beim Beenden (und zwischendurch als Backup) dann auch grad wieder das angegebene Tabs-File aktualisiert.

Das würde ermöglichen, dass der Total Commander Sitzungen verwalten kann. Dann bräuchte es nur noch einen Sitzungsnamen, damit man sie mit Alt-Tab auch einfach findet :-)

Mit lieben Grüssen,
Thomas
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo,
derzeit gibt es diese Funktion meines Erachtens noch nicht.
Als Alternative könntest Du aber vielleicht wie folgt vorgehen:

1-- Deine .tab - Dateien in einem Ordner sammeln, zB in %COMMANDER_PATH%\TABs\

2-- In der Datei wincmd.ini unter [Configuration] folgendes eintragen: TabDir=%COMMANDER_PATH%\TABs\ ("TABs": Ein Ordner der sich
2-- in dem Verzeichnis befindet, in dem sich auch Deine Programmdateien, zB TOTALCMD.EXE oder TOTALCMD64.exe befinden)
2-- TC-Hilfe: "Ort merken, wo Ordnertabs zuletzt gespeichert/geladen wurden".
2-- Dies hat den Vorteil, dass nach einem Rechtsklick auf einen Tab und "Tabs in Datei speichern" dieser Ordner vorgeschlagen wird.
2.0 Anmerkung: %COMMANDER_PATH% wird nach Neustart von TC auf den "realen" Pfad automatisch umgewandelt.

2.1 Die geänderten TABs müssen von Dir selbst gespeichert werden(!)
2.1 Falls dies nicht geschieht, dann werden die in der wincmd.ini unter [lefttabs] bzw. [righttabs] zuletzt gespeicherten Tabs
2.1 nach TC-Neustart wieder aufgerufen. Mit Rechtsklick auf Tab und "Tabs aus Datei laden, aktuelle ersetzen" läßt sich jedoch
2.1 der gewünschte Zustand schnell wieder herstellen
2.2 Ein Button mit Kommando: cd %COMMANDER_PATH%\TABs\ um schnell zu den gespeicherten Tabs zu gelangen wäre ebenfalls möglich
2.2 oder ein Eintrag in der Verzeichnisliste (Menü "Befehle" - "Verzeichnisliste" ... <Strg+D>)

3-- Total Commander-Sitzungen sind zB mit diesem Button möglich

Code: Select all

TOTALCMD#BAR#DATA
%COMMANDER_EXE%
%Z/N %X"%P" "%T"
TOTALCMD.EXE
TC weitere Instanz öffnen: |Instanz-Nr. [2], [3], etc. + Versions-Nr. + registrierter User |werden in Titelzeile angezeigt

0
-1
Du kannst den Code wie folgt nutzen:
1. Markiere den Code (einfach die linke Maustaste gedrückt halten und über den Code drüberziehen, dann linke Maustaste loslassen)
2. Drücke die STRG-Taste und halte sie gedrückt, dann drücke den Buchstaben "C" (STRG + C = kopieren in die Zwischenablage)
3. Tätige einen Rechtsklick auf einen freien Platz in der Buttonbar [zB nach dem letzten Button oder zwischen den Buttons]
4. Klicke auf den Menüpunkt "Einfügen"
5. [Optional: Zeige (etwas länger) mit dem Cursor auf den neuen Button: "Tooltip" erscheint (-> Beschreibung zum Button)]

6. Klicke auf den neuen Button => separate TC-Instanz wird geöffnet und die Instanz-Nr., z.B. [2],[3], ... wird in der Titelzeile angezeigt
7. [Optional: Drücke die ALT-Taste und halte sie gedrückt, dann drücke die TAB-Taste [mehrfach] um zwischen den Tasks zu wechseln]

4-- In der Praxis würde das dann so aussehen:
4.1 Bei geöffnetem TC wird eine neue TC-Instanz mit obigem Button gestartet
4.2 In der neuen TC-Instanz [2] einen Rechtsklick auf einen Button durchführen und danach "Tabs aus Datei laden, aktuelle ersetzen!
4.2 durchführen.
4.3 Sofern in der neuen TC-Instanz Tabs verändert werden, müssen sie vor dem Beenden von TC selbst gespeichert werden:
4.3 Rechtsklick auf einen Button durchführen, dann zB "Tabs auf beiden Seiten in Datei speichern" anklicken.
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Ergänzung:
Es wäre z.B. auch möglich, durch Zusammenfügen von em_Kommandos (em_x,em_y .. in einem Button) bzw. Anlage eines Ansichtsmodus
eine separate TC-Instanz zu starten und dort automatisch eine bestimmte Tab-Datei, zB "Test.tab" aufrufen zu lassen -
ich habe jedoch leider keine Möglichkeit gefunden, dass
a) die Tabs aus der "Test.tab" nur in der 2. TC-Instanz und nicht auch in der 1. TC-Instanz automatisch angewendet werden
b) nach beenden der 2. TC-Instanz in der 1. TC-Instanz die "STANDARD.tab" wiederhergestellt wird => "Test.tab" bleibt vorhanden -
b) "die vertikale Linie beim Verlassen eines Ansichtsmodus" greift hier nicht, da auf eine andere TC-Instanz gewechselt wird

Fazit
(bis es eventuell zu einer anderen Lösung kommt):
1. Würde den TC-Sitzungen-Button verwenden UND
2. einen Button anlegen, um meine gespeicherten .tab-Dateien schnell zu erreichen, zB mit Kommando: cd %COMMANDER_PATH%\TABs\
2. Nach Anklicken der gewünschten .tab-Datei (zB Test.tab, STANDARD.tab, usf.) in der jeweiligen TC-Instanz werden die Tabs geladen

EDIT1: Kleine Textkorrektur unter "Fazit" unter Pkt. 2.
EDIT2: Komplette Korrektur zu "Fazit" - Pkt. 2. ... soll richtig lauten:
2. Je einen Button für meine gespeicherten .tab-Dateien anlegen, zB mit Kommando: OPENTABS %COMMANDER_PATH%\TABs\Test.tab, usf.
Last edited by tuska on 2017-03-11, 13:18 UTC, edited 2 times in total.
Gruß,
Karl
algol
Senior Member
Senior Member
Posts: 456
Joined: 2007-07-31, 14:45 UTC

Post by *algol »

Vielleicht nicht ganz so elegant, aber dafür relativ einfach und überschaubar wäre eventuell auch folgende Lösung:

Angenommen, es sollen 4 unterschiedliche Tabs-Varianten/Layouts für 4 User, Anton, Berta, Charlie und Doris, erstellt und gestartet werden. Folgende Prozedur sollte das ermöglichen:

1. Backup der aktuellen wincmd.ini durch Kopieren erstellen -> wincmd.in0
......
2. Im TC händisch (re. Mausklick auf aktuelles Tab) das 1. tab-file laden (Methode replace), eventuell aktive Tabs/Layout wie gewünscht herrichten, in Config "save position / save settings" durchführen. TC sodann beenden.
3. Ausserhalb TC (mit explorer oder anderem Dateimanager) die entstandene "wincmd.ini" (auf-)suchen und in "wincmd_Anton.ini" umbenennen.
4. Auf dem Desktop einen neuen Link ("TC_Anton") erzeugen, der "totalcmd64.exe" mit dem Parameter "/i=Pfad/wincmd_Anton.ini" startet.
......
5. TC nun mit "Anton-Layout" starten und Schritte 2 bis 4 sinngemäß für Berta, Charlie und Doris wiederholen.

Das Ergebnis sollten 4 Desktop-Links sein, die TC nun wahlweise in 4 unterschiedlichen Varianten, basierend auf 4 individuellen, bereits vorhandenen tab-files starten.

Unnötig zu erwähnen, dass, sollten noch nicht alle 4 tab-files vorab existieren, diese jeweils "händisch" mit "save tabs on both sides to file" zuvor - wie gewünscht - 'hergerichtet' werden müssen.

greetings
algol
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Bei den beiden Lösungen gebe ich noch folgendes zu Bedenken:

1-- bei der ersten Lösung muß der User selbst darauf achten, dass er im Falle von Tab-Änderungen in den einzelnen TC-Instanzen
1-- diese vor dem Beenden SPEICHERT! (zB Button mit Kommando: SAVETABS2L %COMMANDER_PATH%\TABs\Test.tab, usf.)

2-- bei der zweiten Lösung muß der User bei Veränderungen der wincmd.ini - die nicht nur mit Tab-Änderungen in Zusammenhang stehen -
2-- abwägen, ob es Sinn macht diese Änderungen auf sämtliche wincmd.ini's zu übertragen ("Wartung" von zusätzl. -3- .ini-Dateien)
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Ein Verhalten bezüglich der Tabs ist mir noch aufgefallen:

1-- Werden die Tab-Varianten über einen Button aufgerufen, dann ersetzen sie die aktuellen Tabs
1-- Button mit Kommando: OPENTABS %COMMANDER_PATH%\TABs\Test.tab ODER OPENTABS %COMMANDER_PATH%\TABs\STANDARD.tab

2-- Werden die Tab-Varianten durch Anklicken der .tab-Datei aufgerufen, dann werden sie zu den aktuellen Tabs hinzugefügt
2-- Linkes Fenster: %COMMANDER_PATH%\TABs --> Klick auf Datei Test.tab --> Tabs werden zu den aktuellen Tabs (STANDARD.tab) hinzugefügt!
2-- Somit ist eine Korrektur zu meinem "Fazit" oben erforderlich -> erledigt.
Gruß,
Karl
TomTomturnaround
Junior Member
Junior Member
Posts: 32
Joined: 2011-12-18, 17:29 UTC

Post by *TomTomturnaround »

Hallo zusammen,

Den Vorschlag mit Buttons und internen Commands hab' ich noch nicht ausprobiert, da ich nicht innerhalb eines TC hin- und herzuschalten brauche.

Aber wenn ich den OP richtig interpretiere, dann geht es ihm mehr um getrennte Sitzungen für verschiedene Anwendungen oder Personen. Und genau den Wunsch habe ich auch schon länger. Ich habe daher die zweite Methode bei mir ausprobiert und was soll ich sagen: "funzt" wie eine Eins, ganz prima!

Heissen Dank dafür! Hat mir sehr geholfen.
algol
Senior Member
Senior Member
Posts: 456
Joined: 2007-07-31, 14:45 UTC

Post by *algol »

Hallo "TomTomturnaround",

freut mich, wenn's geholfen hat und funktioniert.

Und vielleicht erleben wir beim nächsten TC-Release ja doch, dass auch der Kommandozeilen-Parameter /T, wie die meisten anderen Parameter auch, mit einem "/T=" direkt ein vorhandenes tab-file in eine bestehende wincmd.ini-Umgebung laden kann, und zwar gleich beim Start/Aufruf.

greetings
algol
schittli
Member
Member
Posts: 101
Joined: 2004-01-06, 16:13 UTC
Location: Switzerland, Biel Bienne

Post by *schittli »

Herzlichen Dank an die vielen Tipps und Konzepte!, ich war leider grad ein paar Wochen AFK und konnte nicht früher antworten.

Ich werde mich nun daran machen, die Ideen mal zu testen,
ein zukünftig direkter Support vom TC wäre natürlich toll.

Ja, die Grundidee ist tatsächlich, dass jede TC-Instanz eine Sitzung ist:

- Beim Starten des TC ohne Übergabe eines Sitzungsnamens lädt der TC die Default-Sitzung
- Eine TC-Instanz kann als Sitzung gespeichert werden. Schliesst man dann diese TC-Instanz, wird die Konfiguration in dieser Sitzung gespeichert.
- Beim Starten des TC kann man die zu ladende Sitzung übergeben
- Weil eine Sitzung im Wesentlichen durch die geöffneten Tabs gekennzeichnet ist, hätte ich die TC-Konfiguration und die geladenen Tabs in zwei ini-Files aufgetrennt. So könnte die TC-Konfiguration für alle Sitzungen identisch sein und die Anpassungen im TC wären minimal: die Sitzungs-Tabs in eine eigene ini-File schreiben :-)

Mit lieben Grüssen,
Thomas
algol
Senior Member
Senior Member
Posts: 456
Joined: 2007-07-31, 14:45 UTC

Post by *algol »

schittli wrote:- Weil eine Sitzung im Wesentlichen durch die geöffneten Tabs gekennzeichnet ist, hätte ich die TC-Konfiguration und die geladenen Tabs in zwei ini-Files aufgetrennt. So könnte die TC-Konfiguration für alle Sitzungen identisch sein und die Anpassungen im TC wären minimal
Je nach Anwender-Bedürfnis können verschiedene TC-Sitzungen durch alle möglichen Abwandlungen, sowohl in Layout, Funktion wie auch vorab bereitgestellten Verzeichnissen (Tabs) gekennzeichnet sein.

Diese individuell aufzurufen geschieht eben durch Übergabe des Parameters

Code: Select all

/i=Pfad/wincmd_xxx.ini
beim Start, meist durch einen Link/Icon auf dem desktop oder wo auch immer. Nach Beenden der Sitzung werden dann allfällige Änderungen (bei entsprechender Konfiguration automatisch) auch wieder in die übergebene ini-Datei zurückgeschrieben. Man kann also sagen, alle Sitzungen führen gewissermassen ab Erzeugung ein Eigenleben.

Dieses Switchen von (virtuellen oder realen) Benutzern im TC für verschiedene Sitzungen war eigentlich schon "immer" (zumindest seit langem) möglich - aber eben nur über eine komplette ini-Datei.

Was eben (noch) nicht geht, ist eine gemeinsam benützte (abgeänderte, gewartete) "Stamm-"ini-Datei, die sich innerhalb der verschiedenen Sitzungen nur durch die unterschiedlichen Tabs (geladene tab-Dateien) unterscheidet. Es sei denn, man ist bereit, die gewünschte tab-Datei manuell nach Sitzungsbeginn zu laden.

Wie "tuska" so schön beschrieben hat, lässt sich diese letztere Prozedur mit etwas Aufwand auch, z.B. über Buttons automatisieren.

Wenn eine parallele Entwicklung der zukünftigen Einstellungen für die getrennten Instanzen aber nicht so wichtig erscheint, dann kann man den Aufruf der tab-Dateien eben dadurch voll automatisieren, dass man für jede tab-Datei eine eigene ini-Datei erzeugt und diese dann in traditioneller Weise bei Aufruf/Start an die jeweilige Sitzung übergibt.

greetings
algol
Post Reply