Silvermel und Charamel - Themen für Firefox und Thunderbird

  • Hallo Bird.
    Das Dir mit Lightning langsam die Geduld ausgeht ist kein Wunder.
    Ich kann Dich voll und ganz verstehen.
    Neue Symbole habe ich keine gewollt. Ich wollte nur wissen warum es bei edvoldi
    mit Windows XP so aus sieht, es geht nur um die Symbole in der Symbolleiste,

    [Blockierte Grafik: http://img401.imageshack.us/img401/7555/laoht3sdzdj3a.jpg]

    und so bei mir in Windows 7

    [Blockierte Grafik: http://img254.imageshack.us/img254/2421/bild002n.png]

    Oder sind das bei edvoldi gar keine Symbole von Silvermel?

    Mfg.
    Endor

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

  • Hallo Endor,

    bei Symbolleiste anpassen ist bei Dir Symbole neben Text eingestellt. So wie hier:

    [attachment=0]Symbole_neben_Text.png[/attachment]

    Ändere dort die Einstellung in Symbole und Text, dann ist der Text unter dem Symbol platziert.

    Gruß
    Feuervogel

    Bilder

    "Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: 'Das ist technisch unmöglich!'"
    (Peter Ustinov, engl. Schauspieler und Schriftsteller, 1921 - 2004)

  • Hallo Feuervogel.
    Danke für die Info, aber darum geht es mir nicht.
    Edvoldi hat andere Symbole in Lightning.
    Die sind aber gar nicht von Silvermel. Das habe ich aber
    zuerst nicht erkannt. Ist mir eben nach Deinem Betrag aufgefallen.
    Das hatte ich die ganze Zeit gemeint. Die hat er wahrscheinlich
    mit einem Stylish Script eingefügt. :wink:
    Mfg.
    Endor

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

  • Endor,
    es ist möglich unterschiedliche Styles, je nach Betriebssystem, zu deklarieren. Die Entwickler von Lightning wollen explizit diese Buttons (und die Hintergrundfarbe) für Windows 7 haben...

  • Zitat von bird

    Die Entwickler von Lightning wollen explizit diese Buttons (und die Hintergrundfarbe) für Windows 7 haben...


    Das ist ja ganz reizend. :grr: Ich verstehe Deinen Standpunkt zu Lightning immer besser.
    Danke für die Info. Ich werde mal versuchen, das mit einem Stylish Script etwas nach meinem Geschmack
    zu ändern.

    Mfg.
    Endor

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

  • Zitat von bird

    Die Entwickler von Lightning wollen explizit diese Buttons (und die Hintergrundfarbe) für Windows 7 haben...


    Da übertreibst du aber. Als explizit würde ich es nennen, wenn immer mit !important gearbeitet würde. Das ist aber spätestens mit Version 1.3 von Lightning nicht mehr der Fall. Da wurde Lightning stark umgebaut, damit das Aero Theme nicht mehr das XP Theme übersteuern muss.

    Da du auf XP entwickelst, ist es verständlich, dass du die Win7 Spezialitäten nicht immer sehen kannst. Leider hat Mozilla entschieden, die Win7 Stylings nicht in /global einzubauen. So muss jede Anwendung (Firefox, Thunderbird und auch Lightning), die das Win7 Erscheinungsbild haben will, das in ihren Zweig einbauen. Dies erschwert es etwas für die Themer, ist aber ohne grosse Verrenkungen machbar.

  • Hallo edvoldi.
    Ja ich weiß. Bird hat mich darauf aufmerksam gemacht.
    Lightning verwendet unter Windows 7 andere Symbole als in Windows xp.
    Daher der Unterschied.
    In Lightning selbst habe ich mittlerweile die Symbole geändert.
    Da ich es mit Stylish nicht hin bekommen habe, habe ich die betreffende
    Bilddatei geändert, bzw. neu gemacht. Bei den Fenstern Termin und Aufgabe
    muss ich das aber erst noch machen.

    Mfg.
    Endor

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

  • Zitat von Paenglab


    Da übertreibst du aber. Als explizit würde ich es nennen, wenn immer mit !important gearbeitet würde. Das ist aber spätestens mit Version 1.3 von Lightning nicht mehr der Fall. Da wurde Lightning stark umgebaut, damit das Aero Theme nicht mehr das XP Theme übersteuern muss.


    Ich denke nicht dass ich übertreibe, ganz im Gegenteil... Es geht nicht um ob wir in der Lage sind Styles zu überschreiben. Auch wenn !important flags benutzt werden, es ist immer noch möglich solche Styles zu überschreiben. Mir geht es um die Notwendigkeit Styles zu überschreiben. Ich würde noch sagen, jeder Erweiterungs Entwickler der so was schreibt, z.B.:

    Code
    #myElement {
      background-color: someColor;
      color: someOtherColor;
    }

    macht sehr wahrscheinlich was falsches.

    Das Zusammenspiel zwischen Erweiterungen und Themen ist ein sehr komplexeres Thema, sowieso. Ich sehe hier ein paar Probleme:


    • Unwissenheit wie die Chrome Registrierung funktioniert.

      Das ist ein sehr wichtiger Punkt, der eine sehr große Unterschied macht. Es sind völlig andere Ansätze nötig wenn man Styles für eine Gecko basierte Application entwickelt als wenn man Styles für eine Erweiterung entwickelt. Es gibt mehrere Dokumenten bei Mozilla die sich mit dem Thema beschäftigen und ich selber habe detailliert beschrieben wie es funktioniert, in diesen Artikel: http://www.tudobom.de/articles/yatt/
      Lightning ist ein gutes Beispiel dafür. Lass uns vorstellen ich entwickle eine Applikation, lass uns Calender nennen. Also, ich habe, zwischen andere, ein "calender" "package", dafür registriere ich drei providers für dieses "package": ein content, ein locale und ein skin provider. Ich habe die Funktionalität für meine toolbar buttons entwickelt, die sind jetzt im content in verschiedenen Dateien beschrieben. Jetzt möchte ich diese buttons gestalten. Ich gucke mir so andere Applikationen, wie Thunderbird oder Firefox und mir gefallen, z.B., das Aussehen das das Theme "Qute" für die buttons verleiht. Ich gebe meine Buttons ein Class, z.B., "cal-toolbarbutton" und in mein skin provider schreibe ich:

      Code
      .cal-toolbarbutton {
        /* styles die ich im Qute gesehen habe und mir super gefallen */
      }


      Also, wenn ich ein Theme für diese Applikation "Calender" schreibe, ist das kein Problem, weil ich ein skin provider für den "calender package" registriere und ruhig schreibe:

      Code
      .cal-toolbarbutton {
        /* styles die mir gefallen (und vielleicht andere Benutzer auch :-) */
      }

      Wenn ich aber, aus "Calender" eine Erweiterung schreibe, sieht anders aus... Weil kein Theme ein skin provider für den "calender package" registriert, alle meine Styles werden da sein, egal was für ein Theme benutzt wird. Ein Theme Author muss entweder der skin provider für calender registrieren oder diese Regel überschreiben.
      Die Lösung, seitens Erweiterung ist ganz einfach: die Styles die ich möchte sind im jedem Theme da, unter der Class "toolbarbutton-1". Also, ich muss nur noch diese Class für meine Buttons benutzen...

      Die oben beschriebene Situation ist genau was mit Lightning passiert bis Version 1.0 (wenn ich mich nicht irre...)


    • Themen Authoren leiden unter 1. UND denken und verbreiten die Idee das ein Theme nichts weiter ist als eine exakte Kopie des Default Themes, mit nur einem paar Veränderungen bei Icons und Farben.


    • Mozilla Entwickler geben wenige Möglichkeiten Elemente zu selektieren, geben wenige Klassen.

      Ein Beispiel von 2. und 3. ist wenn, z.B., ein Bild das sich in irgendein skin provider befindet. Ein Klassiker ist der Throbber. Stellen wir vor, ich, als Erweiterung Entwickler, möchte irgendein Indikator das irgend etwas ladet. Das beste dafür ist ein Throbber, richtig? Was mache ich? Ich schreibe einfach:

      Code
      #myThrobber {
        list-style-image: url(chrome://global/skin/icons/loading-16.png);
      }

      das ein totaler Unsinn ist, da ich den skin provider "global" nicht besitze. Ich kann auf gar keinen Fall wissen ob dieses Bild existiert oder nicht...
      Die Lösung hier hätte seitens Mozilla passieren müssen, indem sie einfach ein Class (oder verschiedene) für den Throbber geben. Das würde den Code in Firefox und Thunderbird selbst eine Menge vereinfachen.

    Zitat von Paenglab

    Da du auf XP entwickelst, ist es verständlich, dass du die Win7 Spezialitäten nicht immer sehen kannst. Leider hat Mozilla entschieden, die Win7 Stylings nicht in /global einzubauen. So muss jede Anwendung (Firefox, Thunderbird und auch Lightning), die das Win7 Erscheinungsbild haben will, das in ihren Zweig einbauen. Dies erschwert es etwas für die Themer, ist aber ohne grosse Verrenkungen machbar.


    Ich entwickle auf XP sowie Windows 7 und Linux...
    Ich denke dass die Lösung die das Default Theme für aero genommen hat, sowieso schlecht ist. Ohne falsche Bescheidenheit, die Lösung die ich vorgeschlagen habe: http://forums.mozillazine.org/viewtopic.php?f=18&t=906535 ist viel vernünftiger... :)

    Ich habe das letzte Wochenende Spaß gehabt indem ich einen Erweiterungs-Entwickler geholfen habe seine Erweiterung ein bisschen third-party Themen freundlicher zu gestalten. Es ging um einen searchbox der wie ein anderer "native" searchbox in Thunderbird aussehen sollte. Der hatte eine menge Arbeit um styles für XP, Aero, Linux u.s.w. zu schreiben die, letztendlich gut mit dem Default Theme funktioniert haben aber eine Katastrophe für andere Themen darstellten.
    Ich muss zugeben es war nicht einfach, aber mit der richtigen Wahl von Elementen und seine Attributen, und vor allem, der Einsatz von Klassen hat die ganze Styles überflüssig gemacht.

    Wie gesagt, es geht nicht um wie leicht oder schwer ist eine Erweiterung zu "korrigieren", es geht um überhaupt nichts "korrigieren" zu müssen. Es ist lächerlich dass Du, als Themen Entwickler, überhaupt Gedanken machen musst um Hintergrundfarben zu "korrigieren". Welcher Themen Entwickler kann alle Erweiterungen die es gibt, checken ob solche Anpassungen nötig sind?

  • Hallo bird,

    sehr guter Beitrag! :klasse: Meinen Dank dafür!

    Gruß
    Feuervogel

    "Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: 'Das ist technisch unmöglich!'"
    (Peter Ustinov, engl. Schauspieler und Schriftsteller, 1921 - 2004)

  • Zitat von bird


    Ich denke nicht dass ich übertreibe, ganz im Gegenteil... Es geht nicht um ob wir in der Lage sind Styles zu überschreiben. Auch wenn !important flags benutzt werden, es ist immer noch möglich solche Styles zu überschreiben. Mir geht es um die Notwendigkeit Styles zu überschreiben. Ich würde noch sagen, jeder Erweiterungs Entwickler der so was schreibt, z.B.:

    Code
    #myElement {
      background-color: someColor;
      color: someOtherColor;
    }

    macht sehr wahrscheinlich was falsches.


    Lightning selbst muss es "falsch" machen. Es muss die Styles selbst definieren, damit es unter Win7 nicht wie ein XP Programm im Win7 Thunderbird aussieht, weil eben Mozilla keinen globalen Win7 Style für die Toolbar oder Splitter usw. definieren will. Deshalb schrieb ich ja:

    Zitat von Paenglab

    Leider hat Mozilla entschieden, die Win7 Stylings nicht in /global einzubauen. So muss jede Anwendung (Firefox, Thunderbird und auch Lightning), die das Win7 Erscheinungsbild haben will, das in ihren Zweig einbauen. Dies erschwert es etwas für die Themer, ist aber ohne grosse Verrenkungen machbar.

    Zitat von bird

    Wie gesagt, es geht nicht um wie leicht oder schwer ist eine Erweiterung zu "korrigieren", es geht um überhaupt nichts "korrigieren" zu müssen. Es ist lächerlich dass Du, als Themen Entwickler, überhaupt Gedanken machen musst um Hintergrundfarben zu "korrigieren". Welcher Themen Entwickler kann alle Erweiterungen die es gibt, checken ob solche Anpassungen nötig sind?


    Das ist schon richtig, aber soll Lightning deshalb unter dem Default Theme bescheiden aussehen, da es nicht auf globale Klassen zugreifen kann?

  • Wie gesagt, es ist ein komplexes und kompliziertes Thema. Das alles funktioniert wie es sein soll ist eine Frage der Verantwortung und des Kompromisses.
    CSS ist ein mächtiges Instrument, aber muss vernünftig eingesetzt werden. Dafür müssen markups (XUL) gut geschrieben werden und Regel klug geschrieben werden. Du hast Recht. Dieses Problem hätte ganz einfach vermieden werden können...

  • Hallo Bird.
    Habe eben auf Firefox 12 aktualisiert, nun sehen bei mir die Tabs und die angepinnten
    Tabs so aus, beachte auch den Abstand zwischen den angepinnten Tabs:

    Tabs oben
    [Blockierte Grafik: http://img707.imageshack.us/img707/2712/bild000e.png]

    Tabs unten
    [Blockierte Grafik: http://img534.imageshack.us/img534/8622/bild001r.png]

    Ist das so gewollt oder ist das ein Fehler?
    Habe das in einem neuen Profil ganz leer nur mit Silvermel 5450 getestet.
    Mfg.
    Endor

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

  • Hi Endor,
    nöööö... Überhaupt nicht gewollt. Das Problem ist dieser Bug:
    https://bugzilla.mozilla.org/show_bug.cgi?id=497995

    Die haben den Patch zurückgespielt für 12.0 aber er bleibt für die andere Versionen (Aurora, Nightly, Daily). Da ich normalerweise unter Aurora und Nightly entwickle, ich habe es nicht bemerkt...
    Um überhaupt uptodate zu sein mit Mozilla muss die Entwicklung von Add-ons schon ein full-time job sein. :evil:

    P.S. - Wie ich sehe Du hast aero in about:config ausgeschaltet, richtig?

  • Hallo Bird.
    Danke für die neue Version. Sieht wieder gut aus. :klasse:
    Ja ich habe Aero in about:config deaktiviert. Für diese Option
    bin ich Dir besonders dankbar. :klasse:

    Mfg.
    Endor

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