Eigene Icons für about:xxx in deren Urlbar und Tabs

  • Aktueller Stand:

    Ergibt:

    = OK, ist so gewollt

    = OK, ist zum Testen so gewollt

    aber auch:

    oder...

    Was ist falsch?

    ############################################

    Nachfrage:

    Wo hast Du was zu

    #identity-box[pageproxystate="valid"].localResource

    und

    #identity-box[pageproxystate="valid"].chromeUI

    gefunden?

    W11 Home 64bit - FF128.x

    2 Mal editiert, zuletzt von harff182 (14. Februar 2023 um 23:00)

  • Was'ne Geburt!

    Werte eventuell noch anpassen.

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (14. Februar 2023 um 23:15)

  • Die Sache hat nur einen entscheidenden Fehler:

    Ruf mal mit diesem Code z.B. "about:addons" auf...

    Getestet in einem neuen Nightly. Einzige Anpassung ist dein Code.

    Ergänzung: Habe nur das Icon in ein bei mir vorhandenes geändert.

    Sch.....

    Du hast recht und nicht nur da! about:debugging#/setup & about:preferences genau so.

    Und ich weiß nicht weiter, ich brauch’ ’ne Pause.

    Was mir jetzt nur so ad hoc dazu einfällt, den Code in die userContent.css zu schreiben

    und explizit den Seiten zuzuweisen.

    Ob’s funktioniert?

    Kann das mal jemand prüfen?

    Ich habe dazu z.Z. keinen Nerv mehr

    und ab morgen auch nicht mehr so viel Zeit für solche Sachen.

    Bitte.

    Mit <3lichem Gruß

    Mira

    2 Mal editiert, zuletzt von Mira_Belle (15. Februar 2023 um 00:29)

  • Hab ich jetzt einen Denkfehler?

    Wie willst du mit der userContent.css on die URL-Bar kommen? :/

    War nur so eine Idee.

    Habe mir mal die Zeit genommen und die Selektoren herausgesucht.

    Da wären:

    #identity-box[pageproxystate="valid"].chromeUI #identity-icon denen wird das Firefoxicon

    url(chrome://branding/content/icon16.png) zu gewiesen.

    #identity-box[pageproxystate="valid"].localResource #identity-icon denen wird das Favicon

    url(chrome://global/skin/icons/page-portrait.svg) zu gewiesen.

    #identity-box[pageproxystate="valid"].verifiedDomain #identity-icon denen wird das Vorhängeschloss

    url(chrome://global/skin/icons/security.svg) zu gewiesen.

    und zu guter Letzt gibt es noch zwei Seiten, nämlich about:home & about:welcome

    #urlbar:not(.searchButton) > #urlbar-input-container > #identity-box[pageproxystate="invalid"]

    denen wird die Lupe url(chrome://global/skin/icons/search-glass.svg) zu gewiesen.

    Der Seite about:downloads sowie einigen anderen haben den Selektor

    #identity-box[pageproxystate="valid"].chromeUI.

    Da nun das Label zu ändern und/oder dahinter noch zusätzlich ein Icon zu plazieren,

    ist also eine nicht so gute Idee, denn es wirkt sich ja auch auf andere Seiten

    mit gleichem Selektor aus, z.B. auf about:buildconfig, about:policies und viele weitere!

    Hier die Seiten mit dem Selektor #identity-box[pageproxystate="valid"].localResource

    about:about, about:checkerboard, about:logging, about:logo, about:memory,

    about:mozilla, about:networking, about:newtab, about:privatbrowsing, about:robots,

    about:serviceworkers, about:sync-log, about:third-party, about:unloads, about:url-classifier,

    about:webrtc & about:windows-messages

    Dann gibt es noch Seiten mit dem Selektor #identity-box[pageproxystate="valid"].chromeUI

    about:addons, about:buildconfig, about:cache, about:certificate, about:compat,

    about:config, about:crashes, about:debugging, about:downloads, about:license,

    about:logins, about:loginsimportreport, about:performance, about:plugins, about:policies,

    about:preferences, about:processes, about:profiles, about:profiling, about:protections,

    about:rights, about:studies, about:support & about:telemetry

    Und wie erwähnt gibt es die zwei Seiten mit dem Selektor

    #urlbar:not(.searchButton) > #urlbar-input-container > #identity-box[pageproxystate="invalid"]

    about:home & about:welcome

    Aber es gibt da noch ein Schmankerl! #identity-box[pageproxystate="valid"].verifiedDomain

    für about:credits

    Ich erhebe keinen Anspruch auf Vollständigkeit!

    Aber das war noch nicht alles :!:

    Wäre ja viel zu einfach, mit diesen Informationen zu arbeiten.

    Da war doch noch das JavaScript.

    Tja, das ist die Würze in dieser Suppe.

    Denn es sorgt dafür, dass bei manchen Seiten an erster Stelle das Firefoxicon url(chrome://branding/content/icon16.png), dann das Label Firefox und an letzter und dritter Stelle ein weiteres Icon angezeigt wird.

    Aber eben nicht bei allen!

    Und das hat auch nichts mit den oben genannten Selektoren zu tun!

    Z.B. Bei about:addons werden das Logo, das Label und ein Icon angezeigt,

    und bei about:cache nur Logo & Label.

    Bei about:about werden das Favicon und das Logo angezeigt,

    und bei about:logo jedoch nur das Favicon.

    about:credits lass ich jetzt mal außen vor.

    Meine Idee wäre gewesen, Änderungen an den Selektoren in der userContent.css

    jeweils den einzelnen Seiten zu geordnet vorzunehmen.

    Ob's geht?

    #- ----------------------------------------------------------------------------------------------------------------------------------------------- -#

    Nachtrag

    Die Seiten:

    CSS
    @namespace url(http://www.w3.org/1999/xhtml);
    @-moz-document url("about:about") {
    CSS
    @namespace url(http://www.w3.org/1999/xhtml);
    @-moz-document url("about:addons") {
    CSS
    @namespace url(http://www.w3.org/1999/xhtml);
    @-moz-document url("about:buildconfig") {

    usw.

    Mit <3lichem Gruß

    Mira

    2 Mal editiert, zuletzt von Mira_Belle (14. März 2023 um 13:50)

  • Meine Idee wäre gewesen, Änderungen an den Selektoren in der userContent.css

    jeweils den einzelnen Seiten zu geordnet vorzunehmen.

    Ob's geht?

    Nein, siehe Hinweis von grisu2099. Genau darum geht es ja bei der Unterscheidung zwischen userContent.css und userChrome.css: Anpassungen der Browseroberfläche („chrome“) müssen in die Datei userChrome.css, Anpassungen am Content in die Datei userContent.css. Die Adressleiste ist ganz klar Browseroberfläche.

  • Meine Idee wäre gewesen, Änderungen an den Selektoren in der userContent.css

    jeweils den einzelnen Seiten zu geordnet vorzunehmen.

    Ob's geht?

    Nein, siehe Hinweis von grisu2099. Genau darum geht es ja bei der Unterscheidung zwischen userContent.css und userChrome.css: Anpassungen der Browseroberfläche („chrome“) müssen in die Datei userChrome.css, Anpassungen am Content in die Datei userContent.css. Die Adressleiste ist ganz klar Browseroberfläche.

    Habe ich auch gerade festgestellt!

    Es geht nicht.

    Ergo, mein Fehler.

    Jetzt bliebe nur noch, die Selektoren soweit aufzudröseln, dass Unterschiede der einzelnen Seiten

    zu Tagen treten. Ob es da überhaupt Unterschiede gibt?

    Mit <3lichem Gruß

    Mira

  • Aufdröseln :!:

    Ich habe mal zwei Screenshots gemacht und habe Fragen dazu!

    about:about

    Man schauen auf die Zeile label

    bei value steht nix! und dahinter collapsed="true"

    Nun about:addons

    Wie man hier unschwer erkennen kann, steht in der Zeile label

    bei value="Firefox" und der Eintrag collapsed="true" fehlt ganz.

    Nun meine Frage an die Profis!

    Wo sind diese Einträge hinterlegt?

    Und wie, wenn überhaupt möglich, kann man darauf Einfluss nehmen?


    Analog zu diesem Problem gibt es mit dem JavaScript auch noch die Zeile image id="faviconid",

    wo ich dann das gleiche Problem habe!

    z.B. about:debugging#/setup

    Hier ist ein Icon hinterlegt und hier

    about:buildconfig

    wiederum nicht!

    Auch hier die Frage, wo steht das?

    Und wie könnte man darauf Einfluss nehmen?


    Also hier noch einmal das JavaScript:

    Wenn ich das richtig verstehe, müsste man, wenn es kein Tabicon gibt, dem Ganzen dann ein "Eigenes" zuweisen.

    Nur wo und wie?

    Wenn das klappen sollte, wäre ja schon einmal ein Problem gelöst.

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (15. Februar 2023 um 14:31) aus folgendem Grund: Ein Beitrag von Mira_Belle mit diesem Beitrag zusammengefügt.

  • Meine Gedanken überschlagen sich und mir kam noch eine Idee!

    Die Symbole, welche in den Tabs angezeigt werden, sind doch Seitenspezifisch?

    Und da das Script eben jene kopiert und in die Adresszeile schafft, ... :/

    Leider habe ich keine Zeit mehr dem nachzugehen.

    Mit <3lichem Gruß

    Mira

  • Wie wäre es mit ähnlichem

    #urlbar-input [title^="camp-firefox"]

    Darunter gibt es keine weitere Spezifikation.

    Sorry .DeJaVu, das verstehe ich jetzt nicht, bzw. worauf Du hinaus willst.

    Ich habe die Idee mit dem JavaScript mal wieder aufgegriffen!

    Also wenn es kein Icon für den Tab gibt, dass dann z.B. "chrome://mozapps/skin/extensions/extension.svg"

    eingefügt wird!

    Habe wie folgt das Script geändert:

    Aber, das Ergebnis gleicht einer Katastrophe!

    Es wird zwar das Icon eingefügt, aber immer, egal ob es schon eins gibt oder nicht,

    und wenn man die Tabs wechselt, wird ständig ein weiteres Icon hinzugefügt.

    Wenn ich doch nur verstehen würde, was ich da mache.

    Mit <3lichem Gruß

    Mira

  • Dann wird das ja nie etwas *wechduck* :P

    HP Chromebook 15a-nb0225ng, i3N-305, 8 GB LPDDR5-4800 MHz RAM (integriert), 256GB UFS, - chromeOS 126 (Stable Channel) - Linux Debian Bookworm: Firefox Nightly, Beta und Main Release (Mozilla PPA), Android 13: Firefox Nightly und Firefox (Main Release)

    Smartphone - Firefox Main Release, Firefox Nightly, Firefox Klar (Main Release)

  • Eine kleine Hürde ist genommen!

    Alle Seiten mit dem Selektor #identity-box[pageproxystate="valid"].localResource haben nun

    das gleiche Aussehen.

    Für die Seiten mit dem Selektor #identity-box[pageproxystate="valid"].chromeUI

    wird es meiner Einschätzung nach nur mit einem Script funktionieren!

    Denn einige Seiten bringen ihr eigenes Icon im Tab schon mit, dies wird ja kopiert und dann

    in der Adresszeile hinter dem Label angezeigt, andere wiederum haben kein Icon im Tab!

    Und hier muss im Script eine Prüfung erfolgen und nur wenn kein Icon vorhanden ist,

    darf dann ein fest definiertes Icon eingefügt werden.

    Ich denke, meine Idee weiter oben, war gar nicht so schlecht.

    Jedoch hapert es an Kenntnissen bezüglich JavaScript.

    Mit <3lichem Gruß

    Mira

  • Nun eine behelfsmäßige Lösung!

    Alle internen Seiten sind nun gleich.

    Alle, nein, nicht alle.

    about:privatebrowsing schaut so aus.

    Und dabei werde ich es auch belassen.

    about:credits ist eine externe Seite, da mache ich auch nichts dran.

    about:home & about:welcome muss ich noch den anderen Seiten anpassen :!:

    Da gehe ich aber erst morgen dran.

    Hier "mein" vorläufiger Code:

    Mit <3lichem Gruß

    Mira

    2 Mal editiert, zuletzt von Mira_Belle (16. Februar 2023 um 21:06)