Button um weiteres Profil zu öffnen

  • gut wäre im Script.

    Wenn da schon ein CSS Code drin ist bei dir, dann eiinfach drunter.

    Das ist jetzt das Skript aus Beitrag Nr. 157


    Mit freundlichem Gruß
    Andreas
    Mein Laptop  Meine Add-ons

    Einmal editiert, zuletzt von 2002Andreas (3. August 2023 um 14:25) aus folgendem Grund: Ein Beitrag von 2002Andreas mit diesem Beitrag zusammengefügt.

  • Was kann ich machen, dass die Grafik im Button größer erscheint?

    Eine Änderung der Pixelzahl (Vergrößerung) für die Grafik bringt nichts.

    das wäre normal: und so mit dem Script:

    Das Icon für dieses Script funktioniert hier wie alle anderen auch; ich vermute du hast evtl. CSS am Laufen das die Icongrösse für manche Buttons ändert, aber nicht für alle.

    Es ist mir auch nicht so ganz klar, worauf die Screenshots basieren - ist das normale Icon für einen anderen Button mit CSS eingefügt, oder in der Bildbearbeitung manipuliert?

    Wäre vielleicht sinnvoller das mal zu eruieren, statt eine Einzelregel für nur einen Button reinzuwürgen; aber wenn's auch so geht, geht's auch so. ;)

    Einmal editiert, zuletzt von Horstmann (3. August 2023 um 15:03)

  • was wäre der Vorteil gegenüber .svg?

    Sören Hentzschel
    2. August 2023 um 20:21

    Verstehe ich nicht so ganz; base64 ist langsamer an sich, oder mit Code eingebettete Icons generell?

    .svg kann man ja auch als Code in CSS benutzen, ohne eine separate Bilddatei zu benötigen - wenn man tatsächlich den einen Schritt sparen muss.

  • ich vermute du hast evtl. CSS am Laufen das die Icongrösse für manche Buttons ändert, aber nicht für alle.

    Da liegst Du vollkommen richtig, in der Regel werden mit eingebunden, aber nicht alle, wie du andeutest.

    CustomCSSforFx/current/css/buttons/buttons_on_navbar_classic_appearance.css at master · Aris-t2/CustomCSSforFx
    Custom CSS tweaks for Firefox. Contribute to Aris-t2/CustomCSSforFx development by creating an account on GitHub.
    github.com

    Grüße vom FuchsFan

  • Verstehe ich nicht so ganz; base64 ist langsamer an sich, oder mit Code eingebettete Icons generell?

    Alles, was als base64 kodiert ist, muss auch wieder dekodiert werden. Und das jedes Mal, wenn es angezeigt wird, da ist kein Caching möglich. Das ist deutlich langsamer und beansprucht die CPU mehr als Grafiken direkt anzuzeigen.

  • ich vermute du hast evtl. CSS am Laufen das die Icongrösse für manche Buttons ändert, aber nicht für alle.

    Da liegst Du vollkommen richtig, in der Regel werden mit eingebunden, aber nicht alle, wie du andeutest.

    https://github.com/Aris-t2/Custom…_appearance.css

    Da seh ich aber nix bzgl. Grössen, oder ich bin blind.

    Das Aris Monster - genial wie es ist - hab ich aber schon zu oft durchgekämmt um das nochmal zu machen. ;)

    Eine komplett wilde Idee wäre in dem Fall das Icon in einer CSS Datei - am besten vielleicht unten in deiner userChrome.css - anzugeben, und damit das Icon im Script zu umgehen.

    Also sowas, angenommen dein Icon ist in einem Ordner namens icons im chrome Ordner:

    CSS
    #profileschange-button .toolbarbutton-icon {
        list-style-image: url("icons/DeinIcon.png") !important;
    }

    Könnte sein dass dann deine anderen Einstellungen für Icons auch für dieses Bild greifen, ohne zusätzliche Grössenangaben.

    Aber wie gesagt, wenn es auch anders funktioniert ist das ja auch ok, also muss man sich den Aufwand vielleicht nicht machen.

  • Das Aris Monster - genial wie es ist - hab ich aber schon zu oft durchgekämmt um das nochmal zu machen.

    Die Version , die ich nutze, habe ich geändert, und immer so behalten (ohne Updates). Bisher selten mal ein Problemchen. ;)

    Könnte sein dass dann deine anderen Einstellungen für Icons auch für dieses Bild greifen, ohne zusätzliche Grössenangaben.

    Danke, das schaue ich mir dann an.

    Grüße vom FuchsFan

  • So dann hier die neue und aktuelle Version meines "Button-um-weiteres-Profil-zu-öffnen-Skripts".

    Nur mal für ganz Langsame wie mich: das hier ist wohl inzwischen überholt, und Zeile 31 ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); - mit PathUtils - funktioniert also, auch in den aktuellen Nightlys?

    Ärgerlicherweise kann ich Nightlys nicht mehr benutzen auf der alten Mackiste, möchte nur weitmöglichst meine Scripts aktuell halten.

  • Äh, wie soll ich das nun erklären?

    :/

    Also, so wie das "alte" Skript gestrickt war, Version 1.05 vom 27. Juli, funktionierte

    ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));

    nicht mehr!

    Als Zwischenlösung ersetzte ich diese Variable durch

    ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");.

    Jedoch mussten dadurch die Ordner chrome & icons anders eingebunden werden.

    Das gefiel mir nicht :!:

    Du :!: hattest mich aber auf eine Idee gebracht!

    CSS!

    Ich nutze ja auch ein anderes Skript, um alle Menüs mit Symbolen zu erweitern,

    in diesem Skript wird aber weiterhin

    ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));

    genutzt, aber :!: die Variable wird eben in CSS-Teil des Skriptes aufgerufen :!: :!:

    Und es funktioniert.

    Also,

    habe ich im neuen Skript, Version 1.07 vom August 3, CSS-Code "eingeschmuggelt", um wieder die

    alte Möglichkeit der Variable nutzen zu können.

    Ich bin mir auch nicht sicher, ob ich es dabei belasse.

    Es ergibt m.M. absolut keinen Vorteil an dieser Methode.

    Eventuell kehre ich doch wieder auf die andere Methode zurück.

    Um noch einmal die Unterschiede zu verdeutlichen:

    Alte, nicht mehr funktionierende Version.

    JavaScript
    let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
    let buttonicon = "bookmark-hollow.svg";
    let props = {
        style: "list-style-image: url('" + ProfilePath + buttonicon + "');"
    };

    Die Zwischenlösung:

    JavaScript
    let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
    let buttonicon = "bookmark-hollow.svg";
    let props = {
        style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) +'");',
    };

    Die jetzige Lösung:

    JavaScript
       let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
       let ButtonIcon = "user-group_2.svg";
       var css =`
           #profileschange-button { list-style-image: url("${ProfilePath}/${ButtonIcon}") }
       `;
       var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
       var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
       sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);

    Beachte die Zeilen mit Nummer 4.

    --------------------------------------------------------------------------------------------------------------------------------------------------------

    Nachtrag

    Mir fiel gerade doch ein klitzekleiner Vorteil ein!

    Man kann direkt im CSS-Teil des Skriptes, z.B. dir Größe genau dieses Symbols beeinflussen

    und hat dann alles in einem Code.

    Mit <3lichem Gruß

    Mira

  • Äh, wie soll ich das nun erklären?

    :/

    Prima erklärt, herzlichen Dank für die Mühe! :)  :thumbup:

    Ich wollte v.a. sicher gehen, dass PathUtils nicht generell Probleme macht in neueren Fx Versionen.

    Ich bastle immer noch ein bisschen an unserer alten Baustelle herum, ich vermute dass damit alles iO sein sollte bzgl. der Dateipfade, da wird ja CSS im Script benutzt wie in deinem aktuellen Beispiel.

  • Man kann direkt im CSS-Teil des Skriptes, z.B. dir Größe genau dieses Symbols beeinflussen

    und hat dann alles in einem Code.

    Ja, das kann man, mit dem Nachteil, dass sich der gesamte Button dann mit vergrößert. Nun habe ich versucht über Größenanpassungen das zu ändern, aber automatisch verkleinert sich dann auch das icon wieder. Im Moment habe ich noch keine Lösung dafür.

    Bei dem Script addons-update-button.uc.js verhält es sich auch so, die anderen machen da keine Probleme.

    Grüße vom FuchsFan

  • noch keine Lösung dafür.

    Und mit diesem Eintrag?

    CSS
    #profileschange-button.toolbarbutton-1.chromeclass-toolbar-additional image.toolbarbutton-icon {
           width: 30px !important;
           height: 30px !important;
    }

    Mit freundlichem Gruß
    Andreas
    Mein Laptop  Meine Add-ons

    Einmal editiert, zuletzt von 2002Andreas (4. August 2023 um 13:46) aus folgendem Grund: Ein Beitrag von 2002Andreas mit diesem Beitrag zusammengefügt.

  • Ja, das kann man, mit dem Nachteil, dass sich der gesamte Button dann mit vergrößert. Nun habe ich versucht über Größenanpassungen das zu ändern, aber automatisch verkleinert sich dann auch das icon wieder. Im Moment habe ich noch keine Lösung dafür.

    Bei dem Script addons-update-button.uc.js verhält es sich auch so, die anderen machen da keine Probleme.

    Äh, mit dem Code von 2002Andreas bleibt der Button in seiner Größe!

    Es wird nur das Symbol angesprochen!


    Mach doch mal bitte ein "Foto", vor der Benutzung, nach der Benutzung des Codes.

    Bitte.


    AH, halt, Kommando zurück!

    Ich habe für die Buttons noch ein extra CSS am Laufen.

    Schaumal was daraus Du gebrauchen kannst.

    Du kannst mit diesem CSS-Code dann Dir die Buttons so gestalten wie Du es möchtest. ;)

    Mit <3lichem Gruß

    Mira

    3 Mal editiert, zuletzt von Mira_Belle (4. August 2023 um 14:15) aus folgendem Grund: Ein Beitrag von Mira_Belle mit diesem Beitrag zusammengefügt.