UserCSSLoader (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. ;)

  • Diese Version funktioniert bei mir (mit Ausnahme des filemanagerParam) :

    Bitte beachten: Ich selbst habe bei mir die Tastenkombinationen für die Menüpunkte deaktiviert, aber oben aktiviert – in einem Fall mit Hinweistext (für die anderen ist er ebenso vorhanden, aber auskommentiert). Ich wäre vor allem daran interessiert, ob diese in Linux und MacOs überhaupt funktionieren. In Bezug auf ein anderes Skript hat mich Sören Hentzschel einmal darauf hingewiesen, dass dort die Meta-Taste anstelle der Strg-Taste zu benutzen war, und den benötigten Code zur Anpassung gepostet. Ich könnte diesen hier genauso verwenden (ich hab oben eine Abwandlung davon für den PathSep genutzt).

    Edit im Skript: Ich hatte vergessen, eine Tastenkombination wieder zu aktivieren. Und ich habe eine Vereinfachung wegen der Kommata bei accesskey: "M" gemacht.

  • Wer mag sich mal meines UserCSSLoader.uc.js Skriptes annehmen?

    Sind etliche oncommand-Befehle drin.

    Schon mal ein Danke für Kontrolle und Anpassung.

    Freundliche Grüße
    Barbara

    ____________

  • Wer mag sich mal meines UserCSSLoader.uc.js Skriptes annehmen?

    Die Version, die du gepostet hast, ist schon bezüglich 'inline-Events' angepasst (siehe Code ab Z. 677) . Solange alles funktioniert, sind keine weiteren Änderungen am Skript notwendig.

    Sind etliche oncommand-Befehle drin.

    Die müssen auch drin bleiben, da die Anpassungen an anderer Stelle im Skript (Z. 677) vorgenommen werden.

    Gruß BrokenHeart

    "success has many fathers, failure is an orphan"

  • Hallo zusammen. Speravir , BrokenHeart , Mira_Belle, milupo , 2002Andreas
    Habe eine funktionierende Version vom usercssloader.uc.js auf Basis einer
    Version aus den asiatischen Tiefen gemacht.
    Hat wie gehabt frei verschiebbare Schaltfläche usw. Funktioniert auch
    in Firefox 143 unabhängig ob CSP aktiviert ist oder nicht.
    Im Moment fehlt noch der Eintrag zum öffnen des Chromeordners
    und die Möglichkeit zur Verwendung eines alternativen Dateimanagers.
    Also anstelle vom Explorer zbs. den Totalcomander.
    Ich habe es versucht einzubauen, durch einfügen der entsprechenden Teile
    aus unserem Script, aber dann funktioniert es nicht mehr.
    Vielleicht kann jemand von euch sich das mal anschauen:

    Hoffe jemand von euch kann da weiter helfen.

    CSS Code für Schaltfläche:

    Code
    Mfg.
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0.3
    OS: Windows 10 pro 64 bit und Windows 10 Home 64 bit
    Meine Scripte Sammlung: https://github.com/Endor8/userChrome.js
    Kein Support per PN. Fragen bitte im Forum stellen!

    2 Mal editiert, zuletzt von Endor (17. August 2025 um 13:55)

  • Hatte gerade mal etwas Zeit, und bin doch schon zu Hause, und habe mit CSS & JS in einem neuen Profil installiert.
    Echt cool! Das ganze.
    Nur an welcher Stelle des Menüs wird der Explorer geöffnet?
    Kann CSS an und aus "Knipsen", was ich echt sehr, sehr cool finde,
    und wenn der Editor eingetragen ist, die Dateien bearbeiten.


    Zitat

    Strg+Linksklick zum Anzeigen im Dateimanager

    Da tut sich bei mir nichts!

    Mit <3lichem Gruß

    Mira

  • Ja, ja, habe ich auch schon festgestellt! War wohl zu hektisch und zu schnell!
    Auch zeigt mit VS-Code ein paar Fehler an.
    ABER, dafür werde ich mir Zeit nehmen.
    Einige Variablen sind zwar deklariert, werden aber nie aufgerufen.
    Die werden aber nicht ohne Grund deklariert worden sein.
    Und "Oktale Literale sind nicht zulässig. Verwenden Sie die Syntax "0o664"."

    Mit <3lichem Gruß

    Mira

  • Und "Oktale Literale sind nicht zulässig. Verwenden Sie die Syntax "0o664"."

    Alles Böhmische Dörfer für mich :rolleyes:
    Ich habe ja nur ein Script vom japanischen Portal
    runter geladen und die Schaltfläche eingebaut, auch nur den Code
    aus unserem Script an passende Stellen eingefügt usw.
    Dass das überhaupt funktioniert ist für mich schon ein Wunder...
    Mfg.
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0.3
    OS: Windows 10 pro 64 bit und Windows 10 Home 64 bit
    Meine Scripte Sammlung: https://github.com/Endor8/userChrome.js
    Kein Support per PN. Fragen bitte im Forum stellen!

  • Ich habe ja nur ein Script vom japanischen Portal
    runter geladen und die Schaltfläche eingebaut, auch nur den Code
    aus unserem Script an passende Stellen eingefügt usw.

    Ah, jetzt wird auch ein Schuh daraus!
    Hättest Du für mich das originale JavaScript für mich, ohne Deine "Erweiterungen"?
    (Eventuell schon in Englisch, habe auch schon JS gesehen, die waren komplett in Japanisch geschrieben.
    Da half mir auch kein DeepL oder Google Translate weiter.)

    Denn in dem Code, er scheint recht alt zu sein, schlummern so einige Fallstricke.
    Es wird z.B. noch auf XUL und den dazugehörigen XPCOM-Komponenten zugegriffen,
    was in Zukunft aber in die Hose gehen könnte.
    Das Problem, XUL wurde von Mozilla seit vielen Jahren als veraltet eingestuft und größtenteils aus Firefox entfernt.
    D.h. das wird "uns" irgendwann auf die Füße fallen.
    Aber es sind da auch noch so einige andere Fallen eingebaut!

    Ach, und eventuell, vielleicht den Link zu "Griever"?
    Denn der im Skript angegebene Link wird umgeleitet auf einen Blog.

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (18. August 2025 um 09:56)

  • Ja das Script ist schon sehr alt.
    Wurde von vielen Leuten nur aktualisiert damit es läuft.
    Griever siehe hier:

    GitHub - Griever/userChromeJS
    Contribute to Griever/userChromeJS development by creating an account on GitHub.
    github.com

    Ist aber schon lange nichts mehr los da.
    Er hat das Script am 23.12.2012 zuletzt aktualisiert.

    Von hier habe ich die Datei runter geladen:

    Mfg.
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0.3
    OS: Windows 10 pro 64 bit und Windows 10 Home 64 bit
    Meine Scripte Sammlung: https://github.com/Endor8/userChrome.js
    Kein Support per PN. Fragen bitte im Forum stellen!

    Einmal editiert, zuletzt von Endor (18. August 2025 um 10:58)

  • Ich poste hier mal meine verwendete Version, die ist zwar älter, versieht aber klaglos ihren Dienst und ist ohne japanische Schnörkel, aber mit deutschen Erklärungen. Es sind meine Anpassungspfade für den Explorer drin. Vielleicht kann der ja zur Referenz benutzt werden.