Entwicklung Firefox

  • Zitat


    Finally, there is a completely new feature for themes called theme_experiment that allows theme authors to declare their own theme properties based on any Firefox CSS element. You can declare additional properties in general, additional elements that can be assigned a color, or additional elements that can be images. Any of the items declared in the theme_experiment section of the manifest can be used inside the theme declaration in the same manifest file, as if those items were a native part of the WebExtensions theme API.

    theme_experiment is available only in the Nightly and Developer editions of Firefox and requires that the ‘extensions.legacy.enabled’ preference be set to true. And while it also requires more detailed knowledge of Firefox, it essentially gives authors the power to completely theme nearly every aspect of the Firefox user interface.

    Hm. Falls ich das richtig verstehe, wird die userChrome.css in gewisser Weise überflüssig. Aber wahrscheinlich habe ich wieder irgendetwas überlesen oder missverstanden. Und das verlinkte bugzilla ticket bringt mich auch mal wieder nicht weiter.. :P

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • (Voll-Zitat wegen Seitenwechsel)

    Hm. Falls ich das richtig verstehe, wird die userChrome.css in gewisser Weise überflüssig. Aber wahrscheinlich habe ich wieder irgendetwas überlesen oder missverstanden. Und das verlinkte bugzilla ticket bringt mich auch mal wieder nicht weiter.. :P

    Ich sag's mal so: userChrome.css wird damit genauso überflüssig - oder auch nicht - wie User-Scripts. Das kann man sehen, wie man will. Theme-Experimente sind das Pendant zu WebExtension-Experimenten, bloß für Themes.

    Erklärung: Mit den sogenannten Experimenten kann man praktisch alles machen, was WebExtension oder WebExtension-Themes normalerweise nicht machen können. Nur: die Experimente erfordern a) das Umlegen eines Schalters in about:config und funktionieren b) ausschließlich in Vorab-Versionen von Firefox und bewusst nicht in stabilen Firefox-Versionen. Es ist auch etwas komplizierter dadurch, dass du anders als in der userChrome.css kein reines CSS schreibst, sondern Theme-Eigenschaften definierst.

    Der Sinn dieser Experimente ist es, wie der Name schon nahelegt, zu experimentieren, und in der Folge ggfs. Mozilla API-Erweiterungen vorzuschlagen.

  • Hallöchen Sören,

    aber die userChrome.css und auch die userContent.css funktionieren weiterhin wie gewohnt? Die fand ich bisher eine feine Sache zur Anpassung der Oberfäche und zum vornehmen individueller Anpassungen auf speziellen Webseiten.

    Gruß, Nobby

    Lenovo IdeaPad B590 Core-i5 - Windows 10 und 11 Home 64-Bit 22H2/23H2 - Firefox Release aktuell

  • Ja, bezüglich userChrome.css und userContent.css ändert sich in Firefox 63 überhaupt nichts. EffPeh hatte den Vergleich deswegen gezogen, weil man mit Theme-Experimenten auch sämtliche Elemente der Oberfläche ansprechen kann, wie mit der Datei userChrome.css. Bislang sind mir keine Pläne bekannt, die Unterstützung für userChrome.css und userContent.css zu entfernen (wobei zumindest userContent.css eh problemlos durch Erweiterungen wie Stylish oder Stylus ersetzt werden kann, im Gegensatz zu userChrome.css, problematisch wäre nur ein Wegfall von userChrome.css).


  • [...]
    Erklärung: Mit den sogenannten Experimenten kann man praktisch alles machen, was WebExtension oder WebExtension-Themes normalerweise nicht machen können. Nur: die Experimente erfordern a) das Umlegen eines Schalters in about:config und funktionieren b) ausschließlich in Vorab-Versionen von Firefox und bewusst nicht in stabilen Firefox-Versionen. Es ist auch etwas komplizierter dadurch, dass du anders als in der userChrome.css kein reines CSS schreibst, sondern Theme-Eigenschaften definierst.
    [...]


    Ich habe das eben mal ausprobiert und es ist keineswegs so, dass man Theme-Eigenschaften definieren muss. Im Gegenteil, ich konnte meine userChrome-Files praktischerweise wie gewohnt einsetzen. Und zwar so:


    "theme" selbst muss in der manifest.json enthalten sein, damit es mit "theme_experiment" funktioniert und die ganze Geschichte überhaupt vom System als Theme begriffen wird, benötigt aber gar keine Wertangaben. "theme_experiment" ist mit einem Link zum CSS vollkommen zufrieden. In meinem Fall werden in "styles.css", wie im chrome-Ordner auch, alle sonstiges CSS-Files included. Also wirklich eine komplette 1 zu 1 Umsetzung meines chrome-CSS. :)
    Leider gibt es bisher noch keine Dokumentation zu "theme_experiment".

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Umso besser. Wie du richtig sagst, fehlt es noch ein wenig an Dokumentation. Ich hatte noch ein Beispiel von vor Monaten im Kopf, als das noch gar nicht implementiert war, sondern sich noch in der Planungsphase befunden hatte. Wenn einfach eine CSS-Datei angegeben werden kann, ist es natürlich genauso einfach wie userChrome.css.

    Bleibt natürlich trotzdem der Umstand, dass man keine Theme-Experimente an Nutzer finaler Firefox-Versionen ausliefern kann. ;)


  • Umso besser. Wie du richtig sagst, fehlt es noch ein wenig an Dokumentation. Ich hatte noch ein Beispiel von vor Monaten im Kopf, als das noch gar nicht implementiert war, sondern sich noch in der Planungsphase befunden hatte. Wenn einfach eine CSS-Datei angegeben werden kann, ist es natürlich genauso einfach wie userChrome.css.

    Es fehlt an jeglicher Dokumentation. (Eigentlich ein Unding, die Geschichte im Blog "anzupreisen", ohne auch nur ansatzweise eine Doku dazu zu liefern. :roll: ) Den oben geposteten Code habe ich praktisch aus dem ersten Post des Bugreports, der im Blog verlinkt ist, und von dem ich eigentlich angenommen habe, dass der eher als "Vorschlag" gedacht war. Ich war schon einigermaßen erstaunt, dass der Code zu einem Ergebnis führte. :)
    Aber bis auf die Einbindung konnte ich wirklich noch nichts über "theme_experiment" herausfinden. Wie und wozu die anderen Eigenschaften neben "stylesheet" einzusetzen sind, ist mir bisher auch nicht klar. Haben Definitionen aus "theme" Priorität vor "theme_experiment"? Arbeiten die überhaupt zusammen? Wie ist das mit dynamischen Themes? Kann man da auch mit "theme_experiment" arbeiten? Es überhaupt mit JS ansprechen?


    Bleibt natürlich trotzdem der Umstand, dass man keine Theme-Experimente an Nutzer finaler Firefox-Versionen ausliefern kann. ;)


    Na, so wie ich das sehe, wird das wohl in Zukunft eh für alle Nutzer gelten, die Anpassungen vornehmen wollen. :wink:
    Aber ich habe ja auch die Hoffnung, dass "theme_experiment" irgendwann einmal regulär für Extensions zur Verfügung stehen wird. Ansonsten muss man sich schon fragen, wozu der Aufwand gut sein soll, wenn doch die bereits bestehende bisherige userChrome-Lösung funktioniert.

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Es fehlt an jeglicher Dokumentation. (Eigentlich ein Unding, die Geschichte im Blog "anzupreisen", ohne auch nur ansatzweise eine Doku dazu zu liefern. :roll: )

    Firefox 63 hat doch gerade erst die Nightly-Phase verlassen. Auch die Leute, welche die Dokumentationen pflegen, benötigen Zeit und können das logischerweise erst machen, wenn sicher ist, dass sich nichts mehr ändert. Wenn du dir das Bugzilla-Ticket ansiehst, wirst du sehen, dass "dev-doc-needed" als Keyword eingetragen ist. Das ist das offizielle Keyword für Dokumentation, die noch zu erstellen ist. Das heißt, es ist auf dem Radar der richtigen Personen und es wird sich noch darum gekümmert. ;)

    Wie und wozu die anderen Eigenschaften neben "stylesheet" einzusetzen sind, ist mir bisher auch nicht klar. Haben Definitionen aus "theme" Priorität vor "theme_experiment"? Arbeiten die überhaupt zusammen? Wie ist das mit dynamischen Themes? Kann man da auch mit "theme_experiment" arbeiten? Es überhaupt mit JS ansprechen?

    Ich würde vorschlagen, auf die Dokumentation zu warten. Ich kann dir die Fragen nicht beantworten. Mich interessieren Themes zu wenig, um mich damit ohne Dokumentation zu befassen.


    Na, so wie ich das sehe, wird das wohl in Zukunft eh für alle Nutzer gelten, die Anpassungen vornehmen wollen. :wink:

    Mir sind keine Pläne bekannt, diese Einschränkung für userChrome.css einzuführen.

    Aber ich habe ja auch die Hoffnung, dass "theme_experiment" irgendwann einmal regulär für Extensions zur Verfügung stehen wird. Ansonsten muss man sich schon fragen, wozu der Aufwand gut sein soll, wenn doch die bereits bestehende bisherige userChrome-Lösung funktioniert.

    Das schließe ich komplett aus, dass das passieren wird. WebExtensions sollen ja definierte Grenzen haben und sich nur im definierten Rahmen bewegen, Gleiches gilt für die WebExtension-Themes.

    userChrome.css ist ein inoffizieller Mechanismus, der seit Jahren überhaupt nicht angerührt worden ist. Ich denke, dass die Wahrscheinlichkeit, dass die Unterstützung dafür irgendwann entfernt werden wird (nochmal: mir sind keine Pläne in diese Richtung bekannt!) höher ist als dass Theme-Experimente irgendwann auch in finalen Versionen zur Verfügung stehen werden.


  • userChrome.css ist ein inoffizieller Mechanismus, der seit Jahren überhaupt nicht angerührt worden ist. Ich denke, dass die Wahrscheinlichkeit, dass die Unterstützung dafür irgendwann entfernt werden wird (nochmal: mir sind keine Pläne in diese Richtung bekannt!) höher ist als dass Theme-Experimente irgendwann auch in finalen Versionen zur Verfügung stehen werden.


    Na gut. So gesehen ergibt es aber eigentlich auch keinen Sinn, mich überhaupt weiter mit Themes zu beschäftigen. Die bisherigen Möglichkeiten der API sind doch banal. "theme_experiment" wäre da eine Chance gewesen, aber wenn man das in solcher Weise einschränkt (warum auch immer), wäre es Blödsinn, mich dahingehend weiter zu informieren. :)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)


  • Mir sind keine Pläne bekannt, diese Einschränkung für userChrome.css einzuführen.


    Ach so, ich bin mal davon ausgegangen: Wer CSS sagt, sagt auch Javascript. :wink:
    Ich meine, vieles geht gar nicht ohne JS. Fängt ja schon bei einer einfachen Statusleiste an... :P

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Die bisherigen Möglichkeiten der API sind doch banal. "theme_experiment" wäre da eine Chance gewesen, aber wenn man das in solcher Weise einschränkt (warum auch immer), wäre es Blödsinn, mich dahingehend weiter zu informieren. :)

    Das 'warum auch immer' ist ganz einfach erklärt: Ohne diese Einschränkung würden Theme-Entwickler wieder die halbe Oberfläche umbiegen und das als Themes anbieten, die dann von den Nutzern installiert werden. Adé, all die Versprechungen, mit denen WebExtensions eigentlich verknüpft sind. Wir haben wieder "Legacy-Themes" und mit jedem Firefox-Update die Gefahr, dass entweder das Theme nicht mehr wie erwartet funktioniert oder Firefox. Mozilla kann nur für definierte Schnittstellen respektive Theme-Eigenschaften die Garantie geben, dass sowohl Firefox als auch die Themes funktional bleiben. Es gab gute Gründe dafür, dass man Legacy-Themes abgeschafft hat. Die Zahlen zur Kompatibilität belegen ja, wie real die Probleme waren.

    Aber gleichzeitig möchte man Entwicklern die Chance geben, über das, was vorhanden ist, hinaus zu experimentieren und damit Mozilla vielleicht zu überzeugen, dass eine weitere Form der Anpassbarkeit Sinn ergeben würde. Nichts ist überzeugender als eine reale Demonstration, wie eine Anpassung in einem echten Firefox-Build aussieht und sich anfühlt.


    Ach so, ich bin mal davon ausgegangen: Wer CSS sagt, sagt auch Javascript. :wink:

    Beides hat ganz andere Voraussetzungen. ;) Der Mechanimus userChrome.css wird zwar nicht in dem Sinne offiziell unterstützt, wurde aber irgendwann einmal implementiert, um genau diese Form der Anpassung zu ermöglichen. Was User-Scripts hingegen machen, ist die Zweckentfremdung eines Mechanimus, der für etwas vollkommen anderes gedacht ist. Es war zu keinem Zeitpunkt jemals von Mozilla geplant, dass das so funktioniert. Viel mehr sollte es damit möglich sein, die Voraussetzungen zu scripten, unter welchen Bedinungen welche Schalter in about:config wie eingestellt werden. Aber beliebige Oberflächen-Anpassungen vorzunehmen, war nie Mozillas Idee dahinter.

  • Eine indirekte Firefox-Neuigkeit: Es gibt eine erste Alpha-Version vom Tor-Browser für Android:
    https://play.google.com/store/apps/det…orbrowser_alpha

    Wie der Tor-Browser für den Desktop basiert auch der Tor-Browser für Android auf Firefox. Der Tor-Browser für den Desktop ist übrigens in Version 8.0 mit Quantum-Technologie und Photon-Design erschienen.

  • Ahh Orfox wird Anfang 2019 eingestellt, wenn der stabile Tor Browser für Android herauskommt. Bin ich mal gespannt ob er dann auch in F-Droid verfügbar sein wird. Ich habe und nutze nämlich keinen Google Playstore.

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • Genau. Der Tor-Browser wird dann auch der erste offizielle Tor-Browser sein. Orfox war ja nicht vom Tor-, sondern vom Guardian-Projekt.

    Bezüglich F-Droid, hier ist das dazugehörige Ticket:
    https://trac.torproject.org/projects/tor/ticket/27539

    Im Tor-Blog war in den Kommentaren davon die Rede, dass es komplizierter sei, bei F-Droid zu veröffentlichen als im Play Store oder auf einer Webseite, weswegen das Zeit bräuchte und noch keine Priorität für den Alpha-Release hatte.

  • Ah danke für das Ticket. Werde ich mal verfolgen. Die von F-Droid sind ja ziemlich streng was ihre Regeln betrifft ob eine App in den Store kommt (hat vor und Nachteile). Ich dachte, es wäre vom gleichen Entwickler Tor, da beides unter "The Tor Project" gelistet sind https://play.google.com/store/apps/dev…The+Tor+Project

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • Ich hatte vor Quantum einen einfachen Feed Reader, der seinen Zweck erfüllt hat. Alle Abos würden in der Sidebar geordnet aufgelistet und durch Klick auf den "Alles Öffnen" Button haben sich alle tabs mit nachrichten gefüllt. Simpel und gut.

    Jetzt ist da nix mehr. Feedbro scheint nicht zu gehen. Oder ich kapier es nicht.