Icon in Menüleiste versetzt

  • Hi,
    ich habe das PlugIn External Application Button installiert.
    Dann habe ich diese Anwendung auf Outlook verlinkt und das Icon in die Menüleiste gesetzt.

    Doch leider ist das Icon versetzt. Es ist zu hoch platziert.
    [Blockierte Grafik: http://img353.imageshack.us/img353/3887/unbenannt10tq.gif]
    Woran kann das liegen und wie behebe ich das?

    Ich nutze WinXP Home SP2 und FF 1.5.0.1

    In Deutschland hat man die Freiheit, Gesetzen zu gehorchen, denen man nicht zugestimmt hat.

  • Hallo,

    das ist nicht ganz einfach, und auch noch abhängig von Deinem installierten Theme.

    Zuerst musst Du in Erfahrung bringen, wie dieses Icon "intern" benannt wird.
    Dazu eignet sich ganz gut der DOM-Inspektor, den Du u.U. sogar als Erweiterung installiert hast.

    Wie genau der DOM zu benutzen ist, da musst Du mal die Forensuche bemühen, gibt einige ganz gute Postings hier oder auf Englisch eine ausführliche Dokumentation:
    (Link)

    Danach kannst Du in der Datei userChrome.css einen entsprechenden Korrekturcode eintragen, z.B. in der Art:

    #IRGENDWAS-button .ÜBER DOM GEFUNDENER ICON-NAME
    {
    margin-top: 0px !important;
    margin-left: 0px !important;
    margin-bottom: 8px !important;
    padding: 0px !important;
    }

    Ist eigentlich ganz normaler CSS-Code.
    Dann ein wenig experimentieren, wie mit den Zahlen für Spalten, Leerzeichen, Positionierungen die korrekte Position gefunden werden kann.

    Details zu CSS kannst Du finden bei SelfHTML.

    Ich habe die Erweiterung leider nicht installiert, sonst hätte ich mal nachgesehen, wie der entsprechende Code des Buttons lautet.

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)

  • Ich habe den DOM-Inspektor zwar installiert, aber eine verständliche Anleitung gibt es nicht. Auch nicht in diesem Forum.
    Ich habe mal damit experimentiert, konnte aber nur Webseiten analysieren und nicht den FF selbst.
    In der userChrome.css steht nur das hier: @namespace url("http://www.mozilla.org/keymaster/gate…ere.is.only.xul");

    Nachtrag:
    Bei dem Standard-Theme passt es.

    In Deutschland hat man die Freiheit, Gesetzen zu gehorchen, denen man nicht zugestimmt hat.

  • Ok,

    denke mal, Du hast die userchrome-example.css. Falls ja, dann erstelle im Unterverzeichnis /chrome Deines Profilverzeichnisses mit einem Texteditor die Datei userChrome.css und schreibe in die erste Zeile den von Dir zitierten String

    Zitat

    .

    Danach käme dann der von mir genannte spezifische Code, sobald Du weisst, wie der Button heisst.

    Gut, zum DOM:

    Firefox starten, dann direkt den DOM starten.
    Im DOM die Option Datei->Ein Fenster inspizieren->"Deine Seite im Browser" (sollte die 1. Option sein) aktivieren.
    Dann auf den Button ganz links oben im DOM klicken. Der Button verfärbt sich dann dunkel.

    Nun wechselst Du zurück zum Firefox (DOM nicht schliessen) und als erste Aktion klicke mit der linken Maustaste auf Deinen zu ändernden Button.

    Dieser müsste nun rot umrandet (bzw. falls themenspezifisch nicht möglich) sich anderweitig hervorheben.

    Dann sofort wieder zurück zum DOM und nun siehst Du, dass im linken Fenster eine Struktur im Baum markiert ist.
    Hier beginnen alle Einstellungen für diesen Button.

    In diesem Ast der Anzeige suchst Du nun etwas, dass nach Button klingt.
    Da wirst Du sicher mehrere Sachen finden (z.B. sowas wie xul:image IrgendeinName-button etc.).
    Meistens ist es der erste gefundene Eintrag in diesem Ast.

    Bei dieser Anzeige gibt es links einen Namen, in der Mitte eine ID und rechts eine Class.
    Die ID ist der Name, wie das ganze "Gebilde" angesprochen werden kann, die CLASS ist der Bezeichner für ein "Untergebilde" davon.

    Um meinen obigen Code zu ergänzen:

    Versuche mal den Umgang mit DOM zu üben im Default-Thema und mit dem genannten Lesezeichen-Button/Icon.

    Und genauso kannst Du es dann in Deinem Theme durchführen und die entsprechenden Bezeichnungen herausfinden.

    Wegen der Positionierung musst Du dann experimentieren, ob evtl. der untere Rand zu viel ist, ein padding verändern helfen kann etc.

    Viel Erfolg.

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)

  • [Blockierte Grafik: http://img215.imageshack.us/img215/4378/zwischenablage012ej.jpg][Blockierte Grafik: http://img215.imageshack.us/img215/7480/zwischenablage024hr.jpg]

    Direkt in der Erweiterung findest du die Button-Werte in der: properties.js, xul und der settings.xul!

    Name des Buttons:

    Code
    toolbarbutton-externalapp
  • liracon: Vielen Dank für deine Erklärung des DOM-Inspectors. Hat super funktioniert.

    Zitat von liracon

    denke mal, Du hast die userchrome-example.css.

    Nein, es ist schon die userChrome.css.

    Ich habe in dieser Datei folgenden Code eingetragen:

    CSS
    @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    
    #toolbarbutton-externalapp.toolbarbutton-icon
    {
    margin-top: 0px !important;
    margin-left: 0px !important;
    margin-bottom: 0px !important;
    padding: 0px !important;
    }

    Das Icon steht aber immer noch zu hoch. Egal ob ich 16 oder 32 als Größe angebe.

    In Deutschland hat man die Freiheit, Gesetzen zu gehorchen, denen man nicht zugestimmt hat.

  • Hallo,

    wenn das Icon oder auch der dazugehörige Text nicht mit den Theme-Standardbuttons übereinstimmt, gibt es viele Möglichkeiten, das zu korrigieren.

    Eine - nicht unbedingt einfache - ist es, in der Erweiterung die Buttons zu extrahieren, diese zu verkleinern und wieder einzubinden. Aber das ist schon aufwändig.

    Die andere Möglichkeit ist tatsächlich, in der userchrome.css entsprechende Style-Angaben zu verändern.
    Wenn ein Icon zu hoch steht, kann es daran liegen, dass "unten" ein zu grosser Freiraum definiert ist oder das diverse Paddings von Theme vorgegeben werden. Diese Parameter kann man schon mittels css-Code anpassen.

    Zum Austesten empfiehlt es sich, bewusst übertriebene Werte zu nehmen, damit man erst einmal sieht, ob überhaupt die richtige Einstellung getroffen wurde.

    Wenn Du z.B. margin-top: 20px benutzt, dann sollte das Icon schon etwas runterkommen.

    Ich installiere mal die Erweiterung - dann kann ich Dir sicherlich etwas mehr helfen.

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)

  • Ich will euch nicht entmutigen, aber mit eurem Chromecode wirds nichts. Wenn er schon bei den Einstellungen(wie auf meinem Screenshot oben!) die Buttongröße nicht wechseln kann, das läuft die Erweiterung bei ihm schon mal nicht richtig!

    Und wenn man prinzipiell die Buttongröße dieser Erweiterung auf seine eigene Themegröße anpassen will, muss man schon tiefer rum wühlen. Wo, hab ich oben auch schon erwähnt!

  • loshombre

    da ist viel Wahrheit in dem, was Du sagst :)
    Jetzt würde mich persönlich interessieren, warum es bei dieser Erweiterung nicht geht.

    Habe sie gerade installiert, das Notepad.exe als Apl.. zugewiesen und versucht, den Button zu maipulieren, was nicht geht - wie Du es gesagt hast.

    Nur was ich jetzt nicht verstehe:
    auf der gleichen Symbolleiste sind manipuliere ich mit CSS-Code die Buttons "Lesezeichen", "Sidebar", "Quicknote" und "Session-Manager", da funktionieren alle Manipulationen (Position, Grösse, Text, Label, Hintergrund).

    Ist das eine Besonderheit von External Application oder liegt es daran, dass die Applikation mit einem festen Parameter hinsichtlich Icongrösse aufgerufen wird ?

    Wäre nett, wenn Du mir evtl. noch ein wenig Input geben könntest.

    Merci


    Uwe411

    was allerdings zu funktionieren scheint:
    wenn Du den Appliaktionsaufruf änderst, ändert sich auch das Icon mit.

    In meinem oben beschriebenen Fall lautet der Aufruf:

    Zitat


    moz-icon:file:///C:/WINDOWS/notepad.exe?size=32

    Wenn ich über den DOM das 32 auf z.B. 10 ändere, ändert sich auch die Grösse des Icons. Vielleicht ist Dir ja damit gedient - etwas.

    Wenn Du dauerhaft die richtige Einstellung gefunden hast, kannst Du den Wert in der externalapp.rdf (Profilverzeichnis) dauerhaft eintragen (Texteditor reicht).

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)

  • Die Erweiterung scheint ziemlich hartnäckig zu sein. Die schnappt sich beim Zuweisen einer Programm.exe halt deren Ico. Und das ist Windows üblich 32/16 px. Ich hab jetzt probehalber die ganze Erweiterung auf meine Navbargröße von 24 px umgeschraubt. Danach reagierte sie immer noch nicht. Erst als ich tatsächlich eine 24 px *PNG erzeugt und zugewiesen habe, hat es endlich geklappt.

    [Blockierte Grafik: http://img461.imageshack.us/img461/5662/zwischenablage011fn.jpg][Blockierte Grafik: http://img461.imageshack.us/img461/3042/zwischenablage021oi.jpg]

  • loshombre
    hartnäckiges Ding. Danke Dir für die Infos.

    Habe jetzt einen niedrigeren Pixelwert in den Aufrufparameter der externalapp.rdf eingetragen, wird beim Start beibehalten.

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)

  • die legt die Erweiterung bei mir an, sobald ich ein entsprechendes Programm einbinde.
    Da stehen die ganzen Config-Einstellungen der Applikation drinnen, so u.a. auch der shellbefehl zum Start der externen Anwendung.

    Existiert die bei Dir nicht ???

    Meine aktuell benutzte Konfiguration !
    Nicht der Wind bestimmt die Richtung, sondern das Segel ! (Lao Xiang, China)
    Wandel und Wechsel liebt, wer lebt ! (Richard Wagner, Bayreuth)
    Seit wann sind wir dem Wähler - und nicht nur Gott - Rechenschaft schuldig ?! (CSU, München)