UserCSSLoader (Anfang 2025)

  • Firefox-Version
    Firefox 134
    Betriebssystem
    Windows 11

    Vorab: Ich beziehe mich auf diese Version von 2023 bei Endor (genauer: Revision 7947b7d), deshalb Ping Endor.

    Zunächst das Einfache: Wenn man sich wie ich den Loader als frei verschiebbare Schaltfläche anzeigen lässt (Einstellung let position = 0;, dann kann man sich per CSS ein Symbol einrichten (ob das auch als festes Menü möglich ist, habe ich nicht ausprobiert):

    CSS
    /* Symbol für den UserCSSLoader, eigentlich ein Menü */
    #usercssloader-menu {
        background-image: url("./images/CSS.png") !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        background-size: 16px !important;
        & > :is(.menu-accel-container,.menu-right) { display: none !important }
        & > .menu-text[value="CSS"] { opacity: 0 !important }
    }

    Das bedeutet, dass die Symboldatei CSS.png (siehe in CSS.zip) in einem Unterordner images des Ordners liegt, in dem sich die Stildatei befindet. Das Symbol habe ich von dieser Datei abgeleitet: File:CSS text representation (short).png (Wikimedia Commons). Beachte, dass der ursprüngliche Autor (das bin nicht ich) die Datei unter eine CC-Lizenz gesetzt hat. Ich bin aber der Überzeugung, dass für diese Datei die Schöpfungshöhe viel zu gering ist, was gewöhnlich in Wikimedia Commons mit der Vorlage Template:PD-textlogo markiert wird.

    Ich habe mir zusätzlich die folgende Stilregel in gleich zwei Stildateien geschrieben, die hier im UserCSSLoader eher nicht zeitgleich deaktiviert werden:

    CSS
    /* Check mark (x) für den UserCSSLoader */
    #usercssloader-menu menuitem[checked="false"] {
        &::before {
            content: "\274C";
            display: block;
            width: 16px;
            height: 16px;
        }
        & .menu-iconic-text { padding-inline-start: 8px !important }
    }

    \274C steht für das Zeichen ❌ (in Unicode als CROSS MARK bezeichnet).


    Nun zum eigentlichen Skriptinhalt:

    Zuerst eine Frage:
    Funktioniert bei Euch der Konfigparameter filemanagerParam? Bei mir nämlich nicht. Ich lasse stattdessen als filemanager eine Verknüpfung aufrufen, in der die Parameter enthalten sind. (In Linux und MacOS würde man wohl ein Shellscript nehmen).

    Zweitens:
    Die Tastenkombinationen sollten überarbeitet werden: Manche sind eher ungewöhnlich, manche sind doppelt (ich selbst habe sie auskommentiert). Ein paar Vorschläge wären gut. Und wieso gibt es nur für einen der Menüeinträge den entsprechenden Hinweistext (acceltext im Skript)?

    Von mir:
    * Alt+C zum Öffnen des Menüs funktioniert nicht, weil damit das Standardmenü für die Historie (Chronik) geöffnet wird.
    * Styles importieren: I statt R.
    * CSS-Datei erstellen: E statt D. Alt+D öffnet das Standard-Dateimenü.
    * Chrome-Ordner öffnen, vielleicht K statt O?

    Drittens:
    Die Skriptsammlung userstyles.org ist schon länger nicht mehr erreichbar, so dass der entsprechende Menüeintrag und die Funktion, die von diesem aufgerufen wird, entfernt werden können. Dasselbe trifft bei mir auf die Testfunktion sowie die beiden Menüeinträge zu, die diese aufrufen. Zusätzlich ist dann der vorherige Menüseparator nicht mehr nötig.

    Viertens:
    Hier nicht behandelt, aber das Skript muss wie viele andere auf Eventhandler umgestellt werden. Ich hab sie noch nicht getestet, aber BrokenHeart hat anscheinend eine dahingehend veränderte, funktionierende Version vorgestellt. (Edit: Upps, stimmt nicht.) In diese sollten die notwendigen Änderungen dann eingearbeitet werden. (Aha, Mira_Belle oder Endor15. Januar 2025, 15:29, oder das direkt folgende Posting um 15:58 Uhr).

    Nachtrag:
    Barbaras folgender Beitrag hat mich erinnert, dass ich vergessen habe, das um die entfernten Teile (Punkt 3) gekürzte Skript zu posten. Nicht geändert sind aber die Tastenkombinationen.

    Für die Verknüpfung hab ich mal eine Totalcommander.lnk als Beispiel genommen, die Paramater seht ihr im auskommentierten Teil.

  • Hier meine Version, die auch nicht funktioniert.

    Freundliche Grüße
    Barbara

    ____________

  • Zum Script kann ich nichts sagen, mir ist nur eine Sache beim CSS aufgefallen:

    Das & kann in den Zeilen 7, 8 und 19 entfernt werden. Grundsätzlich kann es immer am Anfang einer Zeile weggelassen werden, wenn direkt danach ein Leerzeichen folgt. Das war in der nicht finalen Spezifikation mal notwendig, aber glücklicherweise ist es am Ende nicht tatsächlich notwendig geworden. Das ergibt sich ja durch die Verschachtelung automatisch, dass sich das auf die Ebene darüber bezieht. Und so ist dieses Zeichen nur notwendig, um einen einzelnen Selektor näher zu definieren, wie hier in Zeile 13, weil ::before direkt und ohne Leerzeichen dazwischen an den Selektor eine Ebene darüber kommt.

  • Das & kann in den Zeilen 7, 8 und 19 entfernt werden.

    Ja, danke. Ich weiß das (dank dir, Du hattest schon einmal darauf hingewiesen). Ich finde es aber ohne das & viel schwerer lesbar, vor allem, wenn die Regeln umfangreicher werden, und werde es für mich deshalb beibehalten.

  • Also eigentlich sollte es dadurch leichter lesbar werden, weil das &-Symbol dann nur noch verwendet wird, wo wirklich etwas verknüpft wird, und man nicht mehr durch überflüssige Zeichen irritiert werden kann und sich dann auch nicht mehr die Frage stellen muss, ob ein Leerzeichen versehentlich dazwischen gerutscht ist oder fehlt. Dazu kommt, dass man im Mozilla-Code auch nur diese Schreibweise findet. Dass verschachtelt wird, wird ja bereits durch die Einrückung klar. Und sowohl im Code-Editor als auch bei uns im Forum durch die Farben des Syntax-Highlightings. ;)