Beiträge von EffPeh


    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. :)


    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.


    [...]
    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".

    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


    Hier nur Windows: Funktioniert, ist aber noch nicht praxistauglich. Gut, ich weiß, Du planst die Verlinkung zu MDN.


    Erstaunlicherweise konnte ich problemlos „Ctrl+T“ eingeben, was aber ohne Funktion bleibt. Erst nach Eingabe von „Strg+T“ kommt eine Fehlermeldung.


    Was soll daran bitte nicht praxistauglich sein? Du gibst einen String ein und das war es. :)
    Die definierte Tastenkombination kann ich nur auf Gültigkeit der Syntax prüfen. (Was ich mit einem einfachen try-catch mache, weshalb "Ctrl+T" eben gültig ist, "Strg+T" aber nicht.) Ich bin zwar zunächst davon ausgegangen, aber ob die Kombi bereits belegt ist, lässt sich leider nicht abfragen, was natürlich schon recht blöd ist. So richtig verwirrend ist aber, dass manche Shortcuts - also zumindest "Ctrl+[Ziffer]" bzw. "Alt+[Ziffer]" (je nach System) - tatsächlich zwei Funktionen ausführen. Laut MDN-Dokumentation sollte das eigentlich gar nicht sein.


    Zitat

    If a key combination is already used by the browser (for example, "Ctrl+P"), or by an existing add-on, then you can't override it. You will be allowed to define it, but your event handler will not be called when the user enters it.
    Quelle: https://developer.mozilla.org/…/commands#Shortcut_values



    Gibt es auch eine Möglichkeit, keine Kombi zu vergeben? Sowas wie null eingeben (geht so nicht)?


    Vergib eine belegte Tastenkombination, also etwa "Ctrl+P", und du hast deine "Null-Nummer". ;)



    Ich weiß jetzt nicht mehr, ob ich das bei Webextensions schon gesehen habe, aber die gewünschte Kombi automatisch einzufügen, indem ich genau sie drücke, wenn das jeweilige Feld aktiv ist, ist nicht möglich?


    Oh ja, eine Luxus-Ausgabe, schon klar... :D
    Möglich ist das sicherlich. Irgendwie. Da gibt es nur ein paar Kleinigkeiten, die das etwas erschweren.
    Schon mal getestet, was passiert, wenn du einen bereits vergebenen Shortcut drückst? Genau, die damit verknüpfte Funktion wird ausgeführt. Unpraktisch.
    Davon abgesehen wird ein ermittelter Key-String nicht unbedingt so ausschauen, wie er für die Syntax benötigt wird. "Control" ist nicht "Ctrl", "," entspricht nicht "Comma" und "p" ist nicht gleich "P". Da ist eine Menge "Übersetzungsarbeit" nötig, die ich nicht einmal milupo zumuten kann. :P
    Du siehst, wohin das führt?...



    Die Tastenkombis "Alt+1" und "Alt+2" bleiben auch als Standard so erhalten. Linux-Nutzer müssen das dann eben entsprechend anpassen, wie sie es benötigen.
    Dein Farbschema habe ich versucht umzusetzen und hoffe, das es so für dich passt. Es gibt also jetzt in den Einstellungen ein entsprechendes Farbschema "Clio". :wink:


    Hier die neueste Tabs2List-Version:
    [attachment=0]tabs2list-1.5.zip[/attachment]



    [...]


    Huhu, milupo... :mrgreen:
    Hier, wie angedroht, ein bissel Arbeit. Ist aber wirklich nicht viel... :)


    Englisch habe ich schon, aber es wäre natürlich schön, wenn du noch mal einen kontrollierenden Blick darüberschweifen lassen würdest... :P

    Dateien

    Na klar. Alles nur eine Frage der Einstellung... :D
    Apropo Zusammenarbeit: Du kannst dir schon denken, dass ich in den nächsten Tagen wieder bissel Übersetzungsarbeit für dich habe, oder?... :P
    Die gute Nachricht ist: Die Hälfte davon hast du heute schon geleistet... :lol:

    Naja, das ist mir ein bisschen zu pauschal. Es gibt Kritiken, die berechtigt sind oder Fakten, bei denen man geteilter Meinung sein kann. Noch dazu ist das dein subjektives (deutsches) Empfinden. Ich glaube kaum, dass du in der Lage bist zu beurteilen, wie die "Mecker-Quote" in anderen Ländern ausschaut. Ich meine, in den USA etwa wurden z.B. die Themen "Pocket", "Cliqz" und besonders "Looking Glass" auch nicht von jedem bejubelt. Also alles eher relativ... ;)


    Nun ja, ich habe viel mit Englisch zu tun und habe im Grunde mehr Schwierigkeiten mit der behandelten Thematik. Es hängt auch vom Umfang ab. Eine ellenlange Dokumentation ist auf Deutsch doch einfacher zu lesen. Auf der MDN-Seite hier ist nicht viel Text und von der Thematik her auch nicht besonders kompliziert.


    Ja, das kann ich nachvollziehen. Wenn ich einen fachfremden Artikel auf Englisch lese, verstehe ich auch erstmal nur Bahnhof. Das ist aber ganz klar. Das geht mir unter Umständen allerdings auch bereits in der eigenen Sprache so... :lol:
    Wenn ich aber eine Dokumentation lese, die ein bekanntes Thema beinhaltet, lese ich oft quer. Ich selektiere da nur die Info, die ich gerade benötige. Ich weiss ja, wonach ich suchen muss.



    Edit: Ach, jetzt habe ich erst einmal das Komma hinter deinem Alt+ gesehen. Ich dachte, du meinst, Alt darf nicht alleine verwendet werden, dabei wolltest du mir eben schon in Beitrag #13 verklickern, dass man nicht einfach die Zeichen verwenden darf, sondern man deren Bezeichnung verwenden muss.


    Jaaaaaa! Jetzt hast du es... :lol:
    Ich habe mir fast gedacht, dass du das evtl. falsch verstehst, weil man das Komma auch so schlecht sieht. :wink:
    Es stimmt zwar auch, dass man "Alt" nicht alleine verwenden darf, aber dass man nicht einfach nur die Zeichen verwenden darf, sondern deren Bezeichnung verwenden muss, war gemeint. :)


    Ich habe es bei Alt+ belassen. Bist du auch sicher, dass mit bloßem Alt einfach nichts mehr frei ist, im Browser oder durch ein anderes Add-on alles belegt ist?


    Das verstehe ich gerade nicht. :-??
    Wie meinst du das: "Ich habe es bei Alt+ belassen."
    Wenn man eine Tastenkombi "Alt+," wählt, wird das nicht funktionieren, denn das Komma muss als "Comma" ausgeschrieben sein. Das könnte man in dem Artikel - völlig sprachunabhängig - verdeutlichen.
    Und grundsätzlich kann man mit den Tastenkombinationen nicht sicher sein, da abgesehen von den Browser-eigenen shortcuts jeder User andere Addons und entsprechende Tastenkombis benutzt.



    Ein Star-Entwickler wie du kann damit nichts anfangen? :-) Nun gut, mache ich.


    Star-Entwickler... :lol::lol::lol:
    Ich selbst komme klar damit. Ich bräuchte auch keine Übersetzung. Die braucht eigentlich niemand, der als Webdeveloper o.ä. arbeitet. Viele Tutorials, Anleitungen, Infos, etc. gibt es nun mal nur in Englisch. Man kommt da gar nicht drumherum, sich wenigstens die Basics anzueignen.

    Vielleicht könnte man bei den Begriffen Comma, Period, etc. den deutschen Begriff in Klammern dahintersetzen, denn mit den englischen Bezeichnungen kann man sonst nicht unbedingt etwas anfangen und weiss nicht, welche Taste gemeint ist. :)


    Vielleicht schaust du dir die MDN-Seite noch einmal genau an und sagst deine Meinung dazu. ;-)


    Oh. :D
    Hast du das heute übersetzt? Sehr geil... :klasse:
    So genügt dann wohl wirklich eine einfache Verlinkung zu der Seite. :wink:
    Wobei ich anmerken darf, dass die Modifikator-Bezeichnungen dem Original entsprechen müssen, also z.B. "Shift" statt "Umsch". Auch die Bezeichnungen für "Komma" usw. müssen in Englisch sein, also Comma, Period, etc.
    Das muss auch ausgeschrieben werden. Eine Tastenkombi "Alt+," funktioniert nicht. Es muss "Alt+Comma" sein. Auch die Gross-/Kleinschreibung ist dabei wichtig. Das alles geht aber auch aus dem englischen Text nicht hervor. :)

    So, die Option für die Tastenkombinationen ist soweit fertig (bis auf die Texte). Ging eigentlich schneller als gedacht.
    Könnte das bitte jemand mal testen? Am besten auf allen Systemen. :)


    [attachment=0]tabs2list-1.5.zip[/attachment]


    Ich bin am Überlegen, wie ich das mit den Texten mache. Stylus macht es sich einfach und verlinkt nur zur entsprechenden MDN-Seite, aber die ist natürlich nur auf Englisch. Wie seht ihr das? Ist eine Übersetzung bzw. eine deutschsprachige Erklärung nötig?


    Ich bin übrigens jetzt auf MDN auch "Contributor". :P
    Aber eher zufällig. Mir ist bei dem commands.getAll()-Beispiel ein Fehler aufgefallen und wollte den eigentlich nur melden, damit andere Leute nicht auch wie ich blöde nachschauen, ob eine entsprechende permission dafür nötig ist bzw. was sonst nicht passt. Ich wusste gar nicht, dass man da einfach selbst werkeln kann. Ich konnte mich praktischerweise mit meinem Github-Zugang einloggen und schon war der Fehler bereinigt. Warum erzähle ich das? Na, ich wollte auch mal was Positives zu MDN schreiben... :wink:

    Dateien