Menu

Aus TCWikide
Zur Navigation springen Zur Suche springen

Einleitung

MENU.png

Das Hauptmenü des Total Commander wird in einer ganz gewöhnlichen Textdatei beschrieben. Diese Datei ist gewöhnlich im Unterordner Language des Programmverzeichnisses zu finden.

Die Namen der mitgelieferten Menüdateien sind nach folgender Konvention aufgebaut:

 WCMD_XXX.MNU 

wobei 'XXX' einem Kürzel für die jeweilige Sprache entspricht.

WCMD_CZ.MNU    Tschechisch
WCMD_DAN.MNU   Dänisch
WCMD_DEU.MNU   Deutsch
WCMD_DUT.MNU   Niederländisch
WCMD_ENG.MNU   Englisch - normalerweise nicht enthalten
WCMD_ESP.MNU   Spanisch
WCMD_FRA.MNU   Französisch
WCMD_HUN.MNU   Ungarisch
WCMD_ITA.MNU   Italienisch
WCMD_KOR.MNU   Koreanisch
WCMD_NOR.MNU   Norwegisch
WCMD_POL.MNU   Polnisch
WCMD_SK.MNU    Slovakisch
WCMD_SVN.MNU   Slovenisch
WCMD_SWE.MNU   Schwedisch

Die deutsche Menüdatei heisst daher WCMD_DEU.MNU. Korrespondierend zu den Menüdateien gibt es ebenfalls jeweils eine Sprachdatei, die den gleichen Namen, aber die Endung LNG hat. Dabei handelt es sich ebenfalls um eine reine Textdatei, in der die verschiedenen Meldungen des Total Commander in der jeweiligen Landessprache aufgeführt sind. Die erste Zeile Dieser Datei gibt die jeweilige Landessprache an. So steht in der WCMD_DEU.LNG in der ersten Zeile Deutsch.

Für die Sprachdateien ist es zwingend, dass sie nach dem Schema WCMD_XXX.LNG aufgebaut sind, da Total Commander sie sonst nicht als Sprachdatei erkennt.


Zusammengehörigkeit der gleichnamigen MNU und LNG -Datei

Interessant ist dies, weil diese erste Zeile der LNG Datei im Konfigurationsdialog für die Sprachauswahl (Konfigurieren -> Einstellungen -> Sprache ändern) angezeigt wird. Gefolgt wird diese Zeile vom Dateinamen der Sprachdatei.

Sprache.png

Wenn man die Sprache ändert, und es existiert im Verzeichnis Language eine Menüdatei mit dem gleichen Namen wie die Sprachdatei, so wird diese Menüdatei automatisch mitgewählt.

Dies kann man nutzen, wenn man mit mehreren Hauptmenüdateien arbeiten möchte. (Ich schalte auf diese Weise zum Beispiel häufig auf das deutsche Standardmenü um, wenn dies eine Frage im deutschen Forum erfordert. ) Dann nennt man sein Menü z.B. WCMD_mein_tolles_menü_Deu.mnu und kopiert die deutsche Sprachdatei nach WCMD_mein_tolles_menü_Deu.LNG. Dann ändert man die erste Zeile dieser Datei von 'Deutsch' nach 'Mein tolles Menü', und kann durch 'Ändern' der Sprache in "Mein tolles Menü" einfach das eigene Menü aufrufen. Wenn man will, kann man zum Umschalten auch ein AutoHotkey Script benutzen.

Aufbau

Die Menüdatei ist eine ganz normale Textdatei, welche das Hauptmenü beschreibt. Möchte man ein eigenes Hauptmenü erstellen oder ein heruntergeladenes Hauptmenü benutzen, sollte man die WCMD_DEU.MNU zunächst in eine andere Datei kopieren. Zum einen kann man jederzeit das Originalmenü wieder laden und zum zweiten vermeidet man so, dass das Menü bei einem Update des Total Commander überschrieben wird.

Untermenü

Jedes Untermenü wird durch den Befehl POPUP eingeleitet und durch den Befehl END_POPUP abgeschlossen. Der Befehl POPUP wird vom Titel des Untermenüs in doppelten Anführungszeichen gefolgt. Ein Buchstabe mit einem & davor wird dabei unterstrichen und kann mit ALT+Buchstabe angesprungen werden. Beispiel:

POPUP "&Dateien" END_POPUP

Hinweis:

Unter Windows XP wird dieser 'Hotkey' normalerweise nicht angezeigt, sondern erst,
wenn man die Taste [Alt] drückt. Dies kann man ändern, indem man in Systemsteuerung ->
Anzeige: Darstellung:Effekte: "Unterstrichene Buchstaben für Tastaturnavigation ausblenden (mit Alt-Taste einblenden) deaktiviert.

Popup-Menüs können beliebig verschachtelt werden.

Wenn man das "&"-Zeichen selbst in einenm Menüeintrag verwenden möchte, so muss man dies einfach zweimal hintereinander schreiben

MENUITEM "&Dateiattribute ändern..." 
POPUP "&Packen && Entpacken"

Was dann etwa so aussieht:

P&P.JPG


Menüpunkt

Ein Menüpunkt ist wie folgt aufgebaut: auf den Befehl MENUITEM folgt der Text des Menüpunktes in doppelten Anführungszeichen, danach ein Komma, sowie der Bezeichner des Menübefehles oder dessen Codenummer. Eine Liste aller Bezeichner und der zugehörigen Befehlsnummern sowie eine kurze Beschreibung finden Sie in der Datei totalcmd.inc. Beispiel:

MENUITEM "&Packen...\tALT+F5", cm_PackFiles

oder auch:

MENUITEM "&Packen...\tALT+F5", 508


So könnte z. Beispiel ein Menü mit Untermenü aussehen:

Menu11.png
So würde dieses Menu aussehen ------------->
 
POPUP "&Dateien"
   MENUITEM "&Dateiattribute ändern...", cm_SetAttrib
   MENUITEM "&Packen...\tALT+F5", cm_PackFiles
   MENUITEM SEPARATOR
     POPUP "&Weitere Befehle"
       MENUITEM "Ver&knüpfen...", cm_associate
       MENUITEM "Speicher&bedarf ermitteln...", cm_GetFileSpace
     END_POPUP
END_POPUP

Spezielle Befehle

Separator

Mit dem Befehl MENUITEM SEPARATOR fügen Sie einen horizontalen Trennstrich ein.

Startmenü

Mit dem Befehl STARTMENU fügt man das Menü Starter an der aktuellen Position in der Hauptmenüleiste ein. Wenn man diesen Menüpunkt weglässt, wird er jedoch dennoch eingefügt, jedoch am Ende des Menüs. Möchte man die Anzeige des Menü Starter unterdrücken fügt man in der wincmd.ini einen Schlüssel RestrictInterface ein und setzt dessen Wert auf 1.

HELP_BREAK

Mit dem Befehl HELP_BREAK bewirken Sie, dass alle Menüpunkte hinter HELP_BREAK rechtsbündig angezeigt werden. Hinweis: Wenn STARTMENU direkt hinter HELP_BREAK steht, wird Starter so dargestellt, als stünde es als letzter Menüpunkt vor dem HELP_BREAK! Wenn man direkt hinter dem HELP_BREAK statt eines POPUP/END_POPUP einen MENUITEM einfügt, dann werden die Nachfolgenden EInträge nicht rechtsbündig angezeigt.

...
HELP_BREAK
MENUITEM "Miniaturansicht", cm_SrcThumbs
 POPUP "&Hilfe"
   MENUITEM "&Index\tF1", 610
   MENUITEM "&Tastatur", 620
   MENUITEM "&Registrier-Info", 630
   MENUITEM "&Homepage von Totalcmd besuchen", 640
   MENUITEM SEPARATOR
   MENUITEM "&Über Total Commander...", 690
END_POPUP
NORIGHT.PNG


Als workaround fürt man einfach ein leeres Untermenü ein:

HELP_BREAK
POPUP ""
END_POPUP
MENUITEM "Miniaturansicht", cm_SrcThumbs
POPUP "&Hilfe"
    MENUITEM "&Index\tF1", 610
    MENUITEM "&Tastatur", 620
    MENUITEM "&Registrier-Info", 630
    MENUITEM "&Homepage von Totalcmd besuchen", 640
    MENUITEM SEPARATOR
    MENUITEM "&Über Total Commander...", 690
END_POPUP

Das sieht dann so aus:

DOCH RIGHT.PNG


Wissenswertes zu den Bezeichnern:

Alle Bezeichner beginnen mit cm_ (Abkürzung für Kommando). Bezeichner, die mit cm_src beginnen, wirken auf das aktuelle Quellverzeichnis. Entsprechend wirken Bezeichner mit cm_left auf das linke, mit cm_right auf das rechte Verzeichnis.

Es können nur Bezeichner verwendet werden, welche in der Datei totalcmd.inc enthalten sind! Ausserdem können statt den Bezeichnern auch direkt die entsprechenden Zahlenwerte angegeben werden.

Man kann auch eigene Bezeichner in die Totalcmd.inc aufnehmen, wenn man ihnen einen gültigen Befehlscode zuweist. Dabei ist es auch möglich, einem Befehlscode zwei verschiedene Bezeichner zuzuweisen, z. B.

cm_srcTree=303;Quelle Verzeichnisbaum
cm_QuelleBaumansicht=303; Quelle Verzeichnisbaum

und beide Befehle lassen sich verwenden. Im Menü ließe sich sogar ein Befehl:

de_QuelleBaumansicht=303; Quelle Verzeichnisbaum

verwenden. Leider wird dieser Befehl aber in der Buttonbar nicht erkannt.

HINWEIS: Wenn man solche benutzerdefinierten Bezeichner in der totalcmd.inc einträgt, dann sollte man auf jeden Fall eine Sicherheitskopie der modifizierten Datei machen, sonst wird beim nächsten Update die ganze Arbeit zunichte gemacht, weil die totalcmd.inc ohne Abfrage überschrieben wird.

Alternative Menüs

Peter H. S. Madsen aka User:petermad stellt auf seiner Webseite alternative Menüs in verschiedenen Sprachen bereit.

Der Benutzer:pdavit hält auf seiner Webseite das TCExtMenu bereit, ebenfalls in verschiedenen Sprachen. Hierbei handelt es sich um ein Menü, in dem alle internen Befehle des Total Commander systematisch angeordnet sind. Das TCExtMenu.mnu von pdavit kann man hier einmal 'ausgeklappt' als Screenshot betrachten. Wegen seiner extremen breite ist es auf einer separaten Seite zu sehen.





->Zurück zu Look and Feel
Zurück zu Interne Funktionen