userChrome.js Scripte für Fuchs 14 (Zusammenstellung)

  • Zitat

    Ja, find after Scroller ist super. Bis vor kurzem hatte ich noch ein Addon, dass genau das macht.

    Ja guck, schön. Dann brauchst den ja jetzt nicht mehr :)
    Das mit Github soll gehen, aber nur wenn man dort angemeldet ist. Dat sollte dir aber am besten der Berliner Jung erklären. Der hat da die Kenne von.

  • Miccovin
    Bei Github oben auf Signup and Pricing klicken, kostenlosen Account erstellen.
    Nach einloggen, müsstest Du dann einen Kommentar schreiben können.

    Angaben wie immer ohne Gewähr. :wink:
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0.1
    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!

  • Hier sind mehrere uc.xul-Skripte installiert, deren Menüeinträge oder Icons nach Neustarts teilweise verschwinden (und die genauso nach Neustarts auch wieder auftauchen können). Ich habe die Skripte wie auch die userChrome.js neuinstalliert, versucht, die Sache systematisch zu untersuchen und eine Regelmäßigkeit o.ä. festzustellen, aber alles ohne Erfolg. Ich wollte deswegen schon einen Beitrag schreiben, stieß dann aber auf Mithrandirs Beitrag und in dessen Folge auf die "Known Issues" auf http://userchromejs.mozdev.org/, sowie die dortige FAQ.

    Zitat

    Known Issues:

    Loading multiple overlays is hit or miss.

    Due to Bug 330458, an overlay must finish before another can be called, otherwise neither is successful. setTimout() values are used internally to minimize this problem but there is no guarantee; overlay cdata (if any) needs to consider overlay completions. See the FAQ for a workaround, if necessary.
    NOTE: the log message does not strictly mean an overlay has completed, but rather that the overlay merge of the given file has been invoked.
    NOTE: a proper fix would implement an observer and serialization, but it's better if the core bug is fixed..

    Das Problem scheint also bekannt zu sein und es wird empfohlen, als "Behelfslösung" bis o.g. Bug gefixt ist, bestimmte loadOverlayDelay-Werte hochzusetzen. Hier im Forum wurde zusätzlich noch empfohlen, evtl. mit der Reihenfolge, in der die Skripte geladen werden, zu spielen. Ich zitiere einfach mal den entspr. Teil aus der FAQ:

    Zitat

    2. Overlays don't seem to overlay, what can be done?

    The same restarts may allow multiple overlays to load at some times, and fail at other times. If this is happening, you may tweak the delay values to get a rather hacky serialization. If using import with a folder containing .xul files, set loadOverlayDelay to a higher value (default is 500 milliseconds). If using multiple import statements, set loadOverlayDelayIncr higher (default is 1600 milliseconds - 1.6 seconds). The javascript, eg, is simply:

    userChrome.loadOverlayDelayIncr = 2000;
    userChrome.import("scripts/myOverlay1.xul", "UChrm");
    userChrome.import("scripts/myOverlay2.xul", "UChrm");

    NOTE: It's better to use either the multiple import files method OR all .xul files in a folder method and not mix/match.

    Der Inhalt meiner userChrome.js sieht wie folgt aus:

    Code
    userChrome.import("*", "UChrm");


    Wie könnte ich den nun idealerweise ergänzen? Einfach userChrome.loadOverlayDelay = 2000;
    (oder userChrome.loadOverlayDelayIncr = 2000;?) in die Zeile davor setzen? Die Reihenfolge wiederum kann ich entweder über entsprechende Benennung der Dateien im Chromeordner (A-Z, 0-9) oder durch Einpflegen in die userChrome.js beeinflussen. Geht das mit dem Einpflegen auch für einzelne Skripte oder müsste ich dann wieder alle aufführen? Der knappe Code mit dem Sternchen gefällt mir so eigentlich ganz gut und ich würde es dann vielleicht erstmal ohne zusätzliche Einträge versuchen wollen..

    Die Problematik bezieht sich nur auf uc.xul- und nicht uc.js-Skripte und der Code sorgt dafür, dass Overlays nacheinander, mit einer zeitlichen Verzögerung, geladen werden. Das habe ich richtig verstanden, oder? Ich weiß ehrlich gesagt garnicht so genau, was ein Overlay ist, nur dass es sich wohl um eine bestimmte Modifikation der Fx-Oberfläche handelt (mittels xul?). Daher gibt es sicher auch Add-ons, die beim Start dazwischenfunken könnten. "Welche" sind das oder konfligieren die nicht mit den userChrome-Skripten?

    Firefox immer aktuell

  • Bei mir steht als Erste Zeile

    Code
    userChrome.loadOverlayDelayIncr = 2000;

    Pobiere das mal, eventuell den Wert schrittweise erhöhen, bis es richtig
    läuft.

    Bei mir war es ähnlich. Mal war das Symbol da mal nicht.
    Ich habe dann in meiner userChrome.js die erste Zeile wie oben
    und dann jedes Script einzeln angegeben, dabei habe ich die Reihenfolge
    so angelegt, dass zwischen jedem .xul Script ein paar .js Scripte sind.
    Bei 30 verschiedenen hat man einige Möglichkeiten der Reihenfolge.
    Seit dem geht es.
    Habe auch ein Script zum Neustraten von Firefox, welches dabei auch
    den Script Cache löscht, das ist auch sehr hilfreich.

    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0.1
    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 (16. Dezember 2011 um 14:58)

  • Danke Endor, ich werde es gleich mal probieren.

    Edit: Ach so, sorry. Laut FAQ oben soll man ja

    Zitat

    If using import with a folder containing .xul files, set loadOverlayDelay to a higher value (default is 500 milliseconds). If using multiple import statements, set loadOverlayDelayIncr higher (default is 1600 milliseconds - 1.6 seconds).

    Hast du denn noch andere Einträge ausser dem, den ich auch habe? Ansonsten hätte ich gedacht, dass ich womöglich die loadOverlayDelay-Variante ohne Incr am Ende verwenden müsste oder meinst du, dass das letztlich wurscht ist?

    Firefox immer aktuell

    Einmal editiert, zuletzt von bluemule (16. Dezember 2011 um 15:00)

  • Danke, ich hatte zwischenzeitlich auch nochmal editiert ;) Ok, dann versuche ich es erstmal ohne das Incr, ich habe ja auch nur sieben Skripte bisher. Vielleicht kann ja noch jemand anders seine Sichtweise beitragen.

    Grüße

    Firefox immer aktuell

  • Zitat

    Hab mal ne kurze Frage zum PrivacyProtector-Script: Was definiert hier den Begriff "neueste" Chronik?

    Nein nein Hombre. Damit wird "nur" das Popup zum Löschen der privaten Browser Spuren geöffnet und das Popup heißt in deutsch nun mal so.
    Willst du gezielt mit einem Klick die Chronik löschen, ham wa dafür auch hier in der Zusammenstellung wat am Start. Sogar eins, um die Chronik temporär während der Browsersitzung zu deaktivieren.

    Zitat

    PS: Das Keyconfig-Script ist der Hammer. Danke.

    Auch wenn ich mehr der Mausfan bin, bin ich hierbei voll deiner Meinung.

  • Zitat von bluemule

    Vielleicht kann ja noch jemand anders seine Sichtweise beitragen.

    Halte dich an die Ausführungen von Hombre Endor, dann passt dat schon. Wenn du nicht so viele *XUL Scripte verwendest, müsste schon die loadOverlayDelayIncr Startverzögerung mit 2 Sek. eigentlich reichen.

  • Ok, danke loshombre. Ich habe es jetzt mal so eingestellt und es funktioniert ganz gut (ohne Incr und ohne die Skripte einzeln aufzuzählen, wie ich es zuerst probiert hatte (s.o.), war es nicht so ideal..). Mit der Verzögerungszeit und der Reihenfolge werde ich aber wohl noch etwas experimentieren. Hier nochmal eine beispielhafte userChrome.js mit Aufzählung der Skripte: https://www.camp-firefox.de/forum/viewtopi…=761635#p761635

    Firefox immer aktuell

  • Hallo Miccovin

    Bei mir werden die Scripte in der Reihenfolge geladen, wie ich sie
    in der Liste eingegeben habe. Genau so wirkt es auch bei dem laden
    der Symbole, welches zuerst geladen wird kommt auch zuerst, wenn
    mehrere nebeneinander sind.

    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0.1
    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 füge ergänzend nochmal zu, dass man, wie mir an anderer Stelle mitgeteilt, die Reihenfolge der Buttons wohl auch durch die Umbenennung der Skripte (Dateinamen) und alphabetische Anordnung im Chromeordner bestimmen kann (nicht getestet).

    Firefox immer aktuell

  • Ach ja, da sagst du was. Ist wie gesagt auch unter Windows bei mir nicht getestet und ich beziehe mich nur auf den netten Hinweis eines Forumskollegen. Dass es aber unter Linux anders sein könnte, habe ich garnicht bedacht. Ich bitte meine windowszentristische Voreingenommenheit zu entschuldigen ;)

    Firefox immer aktuell