Cheatah: Mozilla: Konfigumanie

Hi,

ich beschäftige mich gerade mit zwei meiner Lieblingsthemen: Mozilla und Konfiguration ;-) Derzeit bin ich massiv mit der %PROFILE%/chrome/userContent.css beschäftigt, über die man ja schöne[tm] Dinge tun kann. Eines davon wurde hier kürzlich erst erwähnt:

marquee { -moz-binding:none; display:block; height:auto !important; }

(Wobei blink { text-decoration:none !important; } sicher auch recht nützlich ist.)

Nur bin ich ein wenig überrascht, dass einige der Beispiele, die man über http://www.mozilla.org/catalog/end-user/customizing/ sehr schnell findet, effektfrei bleiben. Als Beispiel:

a[href^="mailto:"]:before { content:"\2709 "; }

tut nichts, obwohl a[href^="javascript:"], a[href*="#"]:before und { content:"\2709 "; } an sich Ergebnisse liefern. Ebenso hilt

input[type="reset"] { display:none !important; }

augenscheinlich kein Stück, während das gleiche mit type="submit" oder "text" genau das tut, was man erwarten möchte.

Eine Lösung dieser Probleme interessiert mich jedoch nur nebenbei ;-) Vielmehr möchte ich wissen: Was sind eure Lieblings-Konfigurations-Details, egal ob nun in Sachen CSS, der user.js, bei Bookmarklets oder sonstwo? Was für Erweiterungen machen euch am glücklichsten? Was für süße kleine Tricks und Kniffe habt ihr gefunden, die Mozilla erst so richtig knackig machen?

Happy hinting :-)

Cheatah

  1. Was für süße kleine Tricks und Kniffe habt ihr gefunden,
    die Mozilla erst so richtig knackig machen?

    Kniffe im Sinne von nützlicher Zusatzsoftware:
    Mouse gestures: http://optimoz.mozdev.org/
    Preference toolbar: http://www.xulplanet.com/downloads/view.cgi?category=applications&view=prefbar
    .
    .
    .
    IE Skin: http://mozillako.hypermart.net/ieskin/ ;->

    1. Hi,

      Kniffe im Sinne von nützlicher Zusatzsoftware:
      Preference toolbar: http://www.xulplanet.com/downloads/view.cgi?category=applications&view=prefbar

      oh, das ist cool, genau sowas (vielleicht sogar noch detaillierter) habe ich mir nämlich schon immer gewünscht - schon bei Netscape 4 :-) Auf XULPlanet.com werde ich mich jedenfalls noch etwas umsehen.

      Btw, die Möglichkeit CSS abzuschalten dürfte bei Mozilla vermutlich schwer umzusetzen sein, oder? Wer nämlich ansonsten auch ein interessantes Feature...

      IE Skin: http://mozillako.hypermart.net/ieskin/ ;->

      Und dazu noch die passenden Icons, versteht sich: http://mozilla.deskmod.com/?state=view&skin_id=13437 ;-)

      Cheatah

      1. hi

        Btw, die Möglichkeit CSS abzuschalten dürfte bei Mozilla vermutlich schwer umzusetzen sein, oder? Wer nämlich ansonsten auch ein interessantes Feature...

        GANZ geht es in der Tat nicht. Allerdings könnte man alle <style>-blöcke und externen CSS-Aufrufe schonmal abstellen - zusätzlich noch alle style="" über CSS rauswerfen - das geht...

        Ich hab außerdem eine (ungetestete) JS-Funktion geschrieben, mit der alle in HTML Strict nicht mehr erlaubten Attribute (und auch gleich die durch die Quirks reingekommenen) rausfliegen. Auch ds Ding müsste sich da irgendwi einbauen lassen :)

        Grüße aus Bleckede

        Kai

        1. Hi,

          Btw, die Möglichkeit CSS abzuschalten dürfte bei Mozilla vermutlich schwer umzusetzen sein, oder? Wer nämlich ansonsten auch ein interessantes Feature...
          GANZ geht es in der Tat nicht. Allerdings könnte man alle <style>-blöcke und externen CSS-Aufrufe schonmal abstellen - zusätzlich noch alle style="" über CSS rauswerfen - das geht...

          ja; ich habe sogar bereits daran gedacht, ein Stylesheet selbst zu definieren, welches einen CSS-freien Bereich simuliert und natürlich äußerst important ist. Funktioniert dummerweise auch nur bei HTML, und dürfte vom Aufwand her noch ein gutes Stückchen über Deinem Aufwand liegen :-)

          Ich hab außerdem eine (ungetestete) JS-Funktion geschrieben, mit der alle in HTML Strict nicht mehr erlaubten Attribute (und auch gleich die durch die Quirks reingekommenen) rausfliegen. Auch ds Ding müsste sich da irgendwi einbauen lassen :)

          Ich bin ganz Aug' und Ohr ;-)

          Cheatah

  2. Hallo Cheatah,

    (Wobei blink { text-decoration:none !important; } sicher auch recht nützlich ist.)

    Ein user_pref("browser.blink_allowed", false); in der prefs.js ist auch sehr effektiv ;-)

    Was sind eure Lieblings-Konfigurations-Details, egal ob nun in Sachen CSS, der user.js, bei Bookmarklets oder sonstwo?

    Neben den diversen Javascript-Einstellungen, die man sowieso über das Preferences-Menü (de)aktivieren kann, finden sich in meiner prefs.js zusätzlich noch die folgenden Zeilen:

    user_pref("dom.disable_window_open_feature.location", true);
    user_pref("dom.disable_window_open_feature.menubar", true);
    user_pref("dom.disable_window_open_feature.personalbar", true);
    user_pref("dom.disable_window_open_feature.resizable", true);
    user_pref("dom.disable_window_open_feature.toolbar", true);

    Mittels user_pref("general.useragent.override", "..."); bekommen die Spuren meines Drachens eine individuelle Note. So lassen sie sich bei dynamischer IP leichter aus der eigenen Logfile-Statistik fernhalten (keine Sorge, die Mozilla-typischen Bestandteile des Useragents sind noch vorhanden ;-) ).
    Die bereits angesprochenen Mausgesten sind auch installiert. Damit es in meinem Hirn nicht zu Inkompatibilitäten mit Opera kommt, liegen sie auf der rechte Maustaste.
    Außerdem bin ich noch ein bißchen gemein und produziere bei vielen meiner Seitenbesuche einen 404er: user_pref("browser.chrome.favicons", true);
    Und mit meinem Theme befinde ich mich in einer fernen Zukunft, in den unendlichen Weiten des Weltraums... ;-)

    Viele Grüße
    Carsten

    PS: viele meiner vom "Standard" abweichenden Einstellungen, die man sowieso im Preferences-Menü findet, habe ich jetzt nicht weiter angesprochen...

    1. Hi,

      (Wobei blink { text-decoration:none !important; } sicher auch recht nützlich ist.)
      Ein user_pref("browser.blink_allowed", false); in der prefs.js ist auch sehr effektiv ;-)

      wohl wahr :-) Viele Wege führen nach Rom.

      user_pref("dom.disable_window_open_feature.location", true);

      Werden die entsprechenden Fensterelemente bei window.open() hier auf dem Defaultwert belassen? Dann ist das in der Tat sehr praktisch. Bei mir finden sich ähnliche Standard-Dingelchen:

      user_pref("capability.policy.default.Window.screenX.set", "noAccess");
      user_pref("capability.policy.default.Window.screenY.set", "noAccess");
      user_pref("capability.policy.default.Window.moveTo", "noAccess");
      user_pref("capability.policy.default.Window.moveBy", "noAccess");
      user_pref("capability.policy.default.Window.innerWidth.set", "noAccess");
      user_pref("capability.policy.default.Window.innerHeight.set", "noAccess");
      user_pref("capability.policy.default.Window.outerWidth.set", "noAccess");
      user_pref("capability.policy.default.Window.outerHeight.set", "noAccess");
      user_pref("capability.policy.default.Window.sizeToContent", "noAccess");
      user_pref("capability.policy.default.Window.resizeTo", "noAccess");
      user_pref("capability.policy.default.Window.resizeBy", "noAccess");
      user_pref("capability.policy.default.Window.locationbar.visible.set", "noAccess");
      user_pref("capability.policy.default.Window.menubar.visible.set", "noAccess");
      user_pref("capability.policy.default.Window.toolbar.visible.set", "noAccess");
      user_pref("capability.policy.default.Window.statusbar.visible.set", "noAccess");
      user_pref("capability.policy.default.Window.directories.visible.set", "noAccess");

      Nebst diverser user_pref("capability.policy.default.Screen.*", "noAccess");

      Was ich ebenfalls gerne hätte, wäre
      user_pref("capability.policy.default.Window.close", "confirm");
      was natürlich so nicht geht ;-) aber immerhin wie ein noAccess reagiert.

      user_pref("general.useragent.override", "...");

      Jupp, den haben wohl die meisten verbogen *g*

      Und mit meinem Theme befinde ich mich in einer fernen Zukunft, in den unendlichen Weiten des Weltraums... ;-)

      Hm, mir haben die LCARS nicht gefallen. Zwar sind sie noch installiert, aber ich bin trotzdem wieder bei Classic gelandet...

      PS: viele meiner vom "Standard" abweichenden Einstellungen, die man sowieso im Preferences-Menü findet, habe ich jetzt nicht weiter angesprochen...

      Naja, dass man sich dort sinnvoll zusammenklickt, ist eh klar :-) Auf jeden Fall danke für den Input!

      Cheatah

      1. hi

        Nebst diverser user_pref("capability.policy.default.Screen.*", "noAccess");

        Vorsicht, capabilities haben Nebenwirkung, dass das Script hier abbricht. So kann man mit eienr capability auf window.status dtm.de lahmlegen - die neuen Prefs im UI tun das nicht mehr.

        Was ich ebenfalls gerne hätte, wäre
        user_pref("capability.policy.default.Window.close", "confirm");
        was natürlich so nicht geht ;-) aber immerhin wie ein noAccess reagiert.

        hm.. auch 'ne Idee ;)
        ...das andere kommt (hoffentlich) bald.

        Grüße aus Bleckede

        Kai

  3. hi

    dann will ich auch mal. Zunächst hat's bei natürlich blink und marquee erwischt. W3C-Legales blinken darf sein (kommt eh nicht vor ;)

    Erzwungene Favicons hab' ich auch - und dabei wird es so lange bleiben, bis wenigstens die wichtigsten Seiten das kapiert haben (selbst demon von Pro-Linux rallt partout nicht, was ich von ihm will...)

    user_pref("middleclick.contentLoadURL", false); erlaubt auch unter Linux ein Tab mit der Mittleren Maustaste in's Nirvana zu schicken.

    Den Home-Button von http://home.no.net/trihand/mozilla/home/en/ ziehrt meine Toolbar (kennen übrigens alle Themes, die ich finden konnte!), der in der Personal-Toolbar ist dafür aus.

    user_pref("browser.block.target_new_window", true); für den hier gab's früher (u.a. auch noch in Netscape 7) ein UI. Damit wird target="" auf nicht-existente Fenster oder _blank ignoriert. Ist derzeit aus Copyrightgründen deaktiviert - vielleicht wird es ja bald in ein target=":_top" umgebogen, so dass es keine Probleme mehr gibt.

    Das mich jeder Keks fragen muss, Mailnews nichts darf (außer HTML) und die blocker mit GUI alle an sind - außer denen zu Cookies und Image-Rollover, ist klar, oder? ;)

    user_pref("dom.disable_window_open_feature.minimizable", true);
    das hier und Verwandte hatten wir ja schon - dabei darf man durchaus ausblenden (außer Statusleiste und Pref-Toolbar, aber über Scrollbars und Resize entscheinden der Browser bzw. ich. Minimizable zu sperren ist eh eine Unverschämtheit imho.

    Dann gibt's hier noch einen Keyword-Bookmark - "bug 135467" oder so öffnet den betreffenden (nicht mit 123456 testen, das ist ein Security-Bug, der zwar gefixt, aber dennoch gesperrt ist - man muss die Leute ja nicht einladen solange evtl. noch Netscape 6.x unterwegs sind, die sicherlich noch einige der nur intern bekannten Löcher haben (und einen Grund die 6er-Serie zu pflegen gibt es beim besten Willen nicht)...

    Deutsches Lang-Pack ist klar - wenn es mal im Nightly nicht geht, nerv ich KaiRo immer erstmal ;)

    Adons... lange Liste... Mausgesten, Kalender, CSS-Editor für den Composer und natürlich die Pref-Toolbar (die nicht zusammen mit dem Kalender installiert werden mag).

    Als Theme hab' ich alles installiert, was ich finden konnte, inklusive dem MacOS-Theme und die beiden für Netscape 7. Genutzt wird "Orbit 3+1".

    Grüße aus Bleckede

    Kai

  4. Hi Cheatah.
    Konfigumanie ist wohl eine Sucht die ich gut kenne. Muss ich mal von einer Mozilla Version auf die nächste umsteigen, kann das schon ein Zeiterl dauern, wenn ich so manches, das nicht im Profile ist, nachkonfigurieren muss.
    Dabei werd ich nicht müde Piro zu loben. Wer das ist. Ein Japaner, der allerlei nützliche Dinge für Mozilla programmiert. Seine Seite:
    http://www.cc-net.or.jp/~piro/xul/xul.html

    Vorallem die Tabbrowser Extensions haben mirs angetan: da kann man dann über ein ui konfigurieren was passiert wenn man middle clickt in ein tab, oder wenn man doppelclickt, in welcher reihenfolge sich die tabs schliessen bzw öffnen, also etwa links oder rechts vom aktuellen, oder am ende der reihe; middle click in ein bookmark öffnet sich in tab ist mein beliebtestes.
    AUSPROBIEREN!

    Daneben hat der gut einen policy manager geschrieben und die context menu extensions, mit denen man unter anderem auch die stylesheets deaktivieren kann! Und eigene context menu einträge in die man bookmarklets stecken kann !!!

    und und und...
    view source in tab
    open selected string as uri (wenn wer das verlinken im forum nicht kann..)
    ui für useragent änderungen
    http referrer unterdrückung
    ...

    In meiner userChrome.css hab ich die tabs etwas unterschiedlich gestaltet:
    tab[selected="false"] {
      color:#660000 !important;
    }
    tab[selected="true"] {
      font-weight:bold !important;
      -moz-border-radius: 6px 6px 0px 0px !important;
    }

    Ein guter Tip für diese Sachen ist die Seite von Holger Metzger:
    http://www.hmetzger.de
    und meine eigene Mozilla Bookmarks page:
    http://sandbox.pixelpoems.com/til/mozfavs/

    lg Til (aka Spaceman Spiff)

  5. Hallo, Cheatah,

    In prefs.js habe ich wie bereits beschrieben alles abgeschaltet, was man abschalten kann. Jetzt dürfte so ziemlich alles schädliche JavaScript verboten sein, sodass ich getrost mit generell aktiviertem JavaScript surfen kann. Vor allem ist mir wichtig, alle JavaScript-Funktionen zu deaktivieren, die Sicherheit und Privatsphäre beeinträchtigen könnten (ich will ernsthaft anonyme Proxies und JavaScript gleichzeitig nutzen - soweit möglich, natürlich nicht dauerhaft).

    Mit der preference toolbar und den context menu extensions habe ich zwiespältige Erfahrungen gemacht. Diese Plugins sind IMHO extrem wichtig und ich lechze förmlich nach ihnen, weil genau das Mozilla fehlt; das würde ihn knackig machen. Das Problem ist nur, dass Mozilla auf meinem P133 *noch* langsamer wird. Allein das Navigieren durch das Kontextmenü dauert Sekunden (Darstellung "hackt" einfach).

    Noch lustiger ist allerdings, wenn ich bei einer umfangreichen Seite die Toolbar nutze und die Fonts/Colors der Seite abschalten will. Für gewöhnlich crasht Mozilla, wenn nicht, dann dauert es ca. 30-45 Sekunden, bis die Seite neu gerendert ist. Vergleich mit Strg+G in Opera drängen sich auf.
    Wenn ich Images auschalte, passiert nichts, wenn ich es wieder anschalte, verschwinden die Grafiken (bei "[X] Images"). Während dieser Fehler nur in drei Viertel aller Fälle auftaucht, ist die Funktion in den restlichen Fällen dennoch unzuverlässig bzw. "funzt" ;) nicht.
    Zum Kontextmenü. Nach 3-5 Sekunden klappt der Unterpunkt "Stylesheets" auf. Juchu, deaktivieren! - Hm, geht irgendwie nicht. Es waren wohl wirklich nur Stylesheets und keine HTML-Formatierungen gemeint. Dabei hat man doch gerade auf technisch grausamen Seiten das Verlangen, die Formatierungen zu deaktivieren.
    Die anderen Features - hm, hört sich nicht schlecht an, einigen prefs-Einstellungen wird eine GUI-Option gegeben, hatte ich aber sowieso schon manuell eingefügt. Aber vor allem das Springen durch die Überschriften gefällt mir - aber: na, wer rät es, wie lange dauert das wohl...?
    Vieles erscheint mir als Addon wenig sinnvoll und sollte eher zentral und nicht durch ein Plugin im nachhinein eingebaut werden. Naja, deplatzierte Kritik.
    Fazit (für mich): Je mehr Plugins laufen, desto langsamer und unbenutzbarer wird Mozilla. Zudem funktionieren diese nur halb oder gar nicht (die Ausrede/Erklärung/Rechtfertigung, mein Rechner sei zu langsam, zählt imho nicht) oder sie funktionieren, sind aber lahm, dass sie wiederum nicht benutzbar sind.
    Mit Themes verhält es sich genauso. Ich hätte natürlich auch gerne den Home-Button dort, wo er hingehört; und ein schmuckes Theme gefällt mir um Längen besser als das Standardaussehen (diese Ampel regt mich auf!).

    Das einzige, womit ich deshalb wirkilch herumspielen kann, ist der User-Stylesheet. Ein paar Sachen habe ich in http://home.t-online.de/home/dj5nu/css-attributvisualisierung.html zusammengetragen <werbung />, dürften bekannt sein.
    Vor allem JavaScript und target-Attribute sollen gekennzeichnet werden und natürlich jegliche Werbebanner sowie Iframes und Objekte in Bannergröße versteckt werden. Nebenbei werden title, cite, hreflang, accesskey, tabindex und alle Attribute, die ein grafischer Browser für gewöhnlich rendert, durch CSS ausgegeben/symbolisiert.

    Grüße,
    Mathias