mozdev.org

 Mnenhy    

resources:

Der Begriff Chrome bezeichnet bei Mozilla und seinen Derivaten die Gesamtheit der grafischen Benutzeroberfläche. Bei näherer Betrachtung lassen sich drei weitere Unterteilungen treffen:

Mozilla erlaubt die Installation von Erweiterungspaketen für Chrome, sogenannten Addons oder Extensions. Diese Pakete werden entweder mozillaweit für alle oder aber profilbasiert für nur einzelne Benutzer installiert. Sie bestehen zumeist aus mehreren Chrome-Paketen, die jeweils einen der drei obigen Chrome-Aspekte beschreiben.

Der Chrome-Manager kann nun den Installationsort, den Aktivierungszustand und den Archivstatus solcher Chrome-Pakete manipulieren: Pakete können zwischen Profil- und Anwendungsverzeichnis verschoben, temporär deaktiviert oder gar komplett deinstalliert werden. Zugehörige .jar-Dateien kann man in lokale Verzeichnisse entpacken und von dort nutzen. Dies vereinfacht das Austesten neuer Addons ohne eigenen Deinstallierer oder das Ausprobieren neuer Hacks und Modifikationen beträchtlich.

Dieses Feature ist nichts für Zaghafte: die Mozilla-Installation kann irreparabel beschädigt werden, wenn man nicht genau weiß, was man da macht! Diese Seite bitte sorgfältig durchlesen!

Die aus den vorinstallierten und nachgerüsteten Chrome-Paketen gebildete Mozilla-Oberfläche wird in einer Sammlung verschiedener Dateien verwaltet, die zusammen die Chrome-Registry bilden:

Der Chrome-Manager liest die Informationen der Chrome-Registry ein und baut daraus eine hierarchische Baumstruktur aller installierten Chrome-Pakete auf:

Chrome-Manager-Fenster

Alle änderbaren Werte können entweder durch Mausklicks auf die entsprechenden Icons, über das Kontextmenüber oder über die Tastatur manipuliert werden; geänderte Zeilen werden gelb hinterlegt.

Bis auf den Aktivierungsstatus und den Archivstatus können Änderungen nur vorgenommen werden, wenn Schreibrechte für das Mozilla-Chrome-Verzeichnis bestehen; der Chrome-Manager zeigt dies durch (Admin-Modus) im Fenster-Titel an.

Diese Spalte enthält die Baumstruktur der Chrome-Registry:

        +- Inhaltspakete
        |  +- <Paketname>
        |  |  +- Eigenschaften
        |  |  |  +- <Eigenschaft_1>
        |  |  |  ...
        |  |  +- Skins
        |  |  |  +- <Skin_1>
        |  |  |  ...
        |  |  +- Sprachen
        |  |     +- <Sprache_1>
        |  |     ...
        |  ...
        +- Skins
        |  +- <Skin_1>
        |  |  +- Eigenschaften
        |  |  |  +- <Eigenschaft_1>
        |  |  |  ...
        |  |  +- Pakete
        |  |     +- <Paketname>
        |  |     |  +- Eigenschaften
        |  |     |     +- <Eigenschaft_1>
        |  |     |     ...
        |  |     ...
        |  ...
        +- Sprachen
           +- <Sprache_1>
           |  +- Eigenschaften
           |  |  +- <Eigenschaft_1>
           |  |  ...
           |  +- Pakete
           |     +- <Paketname>
           |     |  +- Eigenschaften
           |     |     +- <Eigenschaft_1>
           |     |     ...
           |     ...
           ...

Dabei korrespondiert jeder Eintrag Pakete → <Paketname_x> → Skins → <Skin_y> mit einem entsprechenden Eintrag Skins → <Skin_y> → Pakete → <Paketname_x>; gleiches gilt für die Sprachen.

Änderungen an einem Eintrag werden mit einem kleinen Fähnchen am Paketnamen markiert und können mit einem Klick auf das Fähnchen oder mit der Taste [Backspace ←] vollständig zurückgenommen werden.

In dieser Spalte werden die Werte der verschiedenen Eigenschaften angezeigt, zum Beispiel die Version eines Skin-Paketes oder die URN eines Sprachpaketes.

Ist der Wert eine URN (zum Beispiel urn:mozilla:locale:de-DE:mnenhy), kann durch einen Doppelklick oder die Taste [G] zu diesem anderen Paket gewechselt werden.

Diese Spalte zeigt den Aktivierungsstatus eines Paketes an:

Der Aktivierungsstatus wird durch Anklicken des Häkchens oder vermittels der [Leertaste] umgestellt. Ist kein Icon sichtbar, sind keine Änderungen möglich.

Das Löschen eines Paketes ist nur über [Entf] möglich.

Diese Spalte zeigt den Speicherort eines Paketes an:

Der Speicherort wird durch Anklicken des Diamanten oder vermittels der Taste [L] umgestellt. Ist kein Icon sichtbar, sind keine Änderungen möglich.

Chrome-Pakete liegen in der Regel als .jar-Dateien, mithin also als Zip-Archive, im Chrome-Verzeichnis des Installationsortes vor, können aber auch als Verzeichnisstrukturen angelegt und somit einfacher manipuliert werden. Diese Spalte zeigt den Archivstatus eines Paketes an:

Der Archivstatus wird durch Anklicken des Diamanten oder vermittels der Taste [J] umgestellt. Ist kein Icon sichtbar, sind keine Änderungen möglich.

Folgende Schaltflächen stehen zur Verfügung:

Das Verschieben eines Addons funktioniert natürlich nur, wenn man auch die notwendigen Schreibrechte für das Mozilla-Chrome-Verzeichnis besitzt.

Folgende Schritte sind dann notwendig:

Da sich mitunter mehrere Addons ein .jar-Archiv teilen, kann dies dazu führen, daß hinterher dasselbe .jar-Archiv in beiden Chrome-Verzeichnissen existiert!

Addons können nicht nur vollständig entfernt, sondern auch vorübergehend deaktiviert werden. Dazu sind bei Addons im Mozilla-Chrome-Verzeichnis natürlich die entsprechenden Schreibrechte notwendig, profilinstallierte Addons können immer entfernt werden.

Folgende Schritte sind notwendig:

Da sich mitunter mehrere Addons ein .jar-Archiv teilen, kann dies dazu führen, daß das .jar-Archiv nicht nicht gelöscht wird!

Bei Änderungen an der Chrome-Registry sichert der Chrome-Manager alle relevanten Dateien im Unterverzeichnis .mnenhy.bak des entsprechenden Chrome-Verzeichnisses. Wird ein Addon deinstalliert und seine Dateien von keinem anderen Paket mehr benötigt, werden sie ebenfalls dorthin verschoben.

Prinzipiell existiert so zwar immer exakt eine Kopie einer Datei in diesem Verzeichnis, aber natürlich können sich viele verschiedene Dateien dort ansammeln.

Wenn man sicher ist, daß man die enthaltenen Sicherheitskopien nicht mehr benötigt, kann das Verzeichnis .mnenhy.bak gelöscht werden.

Wenn Mozilla nach einer Manipulation der Chrome-Registry nicht mehr startet, kann dies mehrere Ursachen haben:

In diesen Fällen ist die Lösung relativ einfach: der Chrome-Manager legt in beiden Chrome-Verzeichnissen ein Verzeichnis namens .mnenhy.bak an, in welchem die alten Dateien gesichert wurden. Ein Zurückspielen des Inhalts von .mnenhy.bak ins jeweilige Chrome-Verzeichnis bei vollständig geschlossenem Mozilla stellt den alten Stand wieder her. Zusätzlich muß im Profilverzeichnis die XUL.mfasl/XUL.mfl gelöscht werden.

Liegt das Paket noch als .jar-Archiv vor, hilft ein Neuentpacken des Paketes mit dem Zip-Entpacker. Andernfalls liegt der einfachste Weg in einer Neuinstallation Mozillas.

Fragen, Korrekturen, Vorschläge? Bitte schreibt mir!