Mehrzeilige Tableiste für aktuelle Firefox-Versionen

  • Hast du denn die Vorbereitungen gemacht, um Skripte überhaupt nutzen zu können?

    Ergänzend: Hier ist, falls du das nicht mehr weißt, was du tun musst, damit Benutzerskripte funktionieren:

    userChrome.js/readme.md at master · Endor8/userChrome.js
    Skripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.
    github.com

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Sorry, hatte ganz übersehen das ab Firefox 115 (hatte vorher eine noch ältere Version) auch die main.cs und die user.cs angepasst werden müssen! Jetzt funktioniert es wieder einwandfrei!

    Vielen Dank für die Hilfe und die ganzen Scripts!

  • Jetzt funktioniert es wieder einwandfrei!

    :thumbup:


    hatte vorher eine noch ältere Version

    Allein aus Sicherheitsgründen sollte man immer die aktuelle Version nutzen, das gilt für alle Programme;)

    Mit freundlichem Gruß
    Andreas
    Mein Laptop  Meine Add-ons

    Einmal editiert, zuletzt von 2002Andreas (23. Oktober 2024 um 13:40) aus folgendem Grund: Ein Beitrag von 2002Andreas mit diesem Beitrag zusammengefügt.

  • Danke für Deine ausführlichen Informationen.

    Dieses Verhalten zeigt er allerdings nur bei Tabs nach dem 'Browserstart'. Neue Tabs werden immer mit normaler Schrift dargestellt, egal ob sie im Vordergrund oder im Hintergrund geöffnet werden. Dies ist zwar nicht das korrekte Verhalten, ...

    So ist das also. Genau genommen zeigt er bei mir das "korrekte" Verhalten. Also wenn ich aus einem Link heraus einen neuen Tab initiiere (öffnen im Hintergrund), erscheint zunächst die normale Schrift, solange der Tab noch lädt. Ist das Laden abgeschlossen, springt die Schrift aber auf kursiv um. Im Grunde richtig, denn er ist ja noch ungelesen. Wenn ich dann aber in den Tab wechsle, müsste die Schrift wieder auf normal umspringen. Genau das funktioniert bei mir nicht. Wechsle ich schnell genug vor dem Abschluss des Ladens in den neuen Tab, bleibt die Normalschrift aber wie gewünscht erhalten.

    Dabei fällt mir nun auf, dass ich eigentlich eine Kursiv-Markierung für den Zustand "ungeladen" haben möchte. Ob schon gelesen oder nicht, interessiert mich weniger.. Das Attribut notselectedsinceload müsste also durch ein geeigneteres ersetzt werden. Hat da vielleicht jemand eine Idee, wie das heißen könnte, oder wo man alle verfügbaren Attribute nachlesen kann?

    Du darfst natürlich nicht diesen herausgegriffenen CSS-Code-Schnipsel getrennt von den übrigen CSS-Einstellungen im Skript verwenden. Das funktioniert natürlich nicht.

    Das ist natürlich klar. Möglicherweise fehlt da was in "meinem" Skript (suche nach Mark_Unloaded_Tabs).
    Welche Code-Teile in Deinem Skript sind denn die Mindestvoraussetzung für das Funktionieren des Code-Schnipsels?

    Ich hatte eine Zeit lang ein Extra-Skript zur Markierung von gelesenen/ungelesenen-Tabs genutzt, ........ und du kannst es ja mal damit testen und bei Gefallen in dein neues Skript einbauen (ich denke, er hat nichts dagegen, wenn ich es hier mal poste):

    Oh das ist aber recht aufwändig und ich fühle mich da überfordert, es genau genug zu verstehen, um daraus die Essenz in mein Skript übertragen zu können.
    (Meins verstehe ich in größten Teilen ja auch nicht, kommt ja von dem unbekannten Japaner. Mit JavaSkript kann ich recht gut umgehen, aber die CSS-Syntax und -Logik ist für mich eher "böhmisches Dorf".) ?(

  • Welche Code-Teile in Deinem Skript sind denn die Mindestvoraussetzung für das Funktionieren des Code-Schnipsels?

    Wenn nach der Selektion eines Tabs wieder die normale Schrift dargestellt werden soll (kursiv->normal) ganz einfach die normale Schrift als "Default"-Wert eintragen, oder was meintest du? :/ :

    CSS
      .tabbrowser-tab .tab-label {
          font-style: normal !important;
      }

    Oh das ist aber recht aufwändig und ich fühle mich da überfordert, es genau genug zu verstehen, um daraus die Essenz in mein Skript übertragen zu können.
    (Meins verstehe ich in größten Teilen ja auch nicht, kommt ja von dem unbekannten Japaner. Mit JavaSkript kann ich recht gut umgehen, aber die CSS-Syntax und -Logik ist für mich eher "böhmisches Dorf".) ?(

    So wie dein Vorhaben ganz am Anfang klang, wolltest du ja die Alice-Sourcen für dich anpassen und erweitern. Dann wirst du dich aber wohl oder übel mit den Browser-Entwicklerwerkzeugen und CSS im Allgemeinen auseinandersetzen müssen. Dafür gibt es auch hier im Forum für den Einstieg schon gute angeheftete Threads hier im Unterforum von milupo. Ansonsten wärst du ja bei jeder kleinen Änderung darauf angewiesen, dass du etwas findest, was du kopieren kannst oder jemand anderes deine Wünsche hier im Forum umsetzt. Für CSS haben wir hier schon einige sehr fachkundige Unterstützer, bei Javascript bzw. Firefox-Interna sieht es dann schon magerer aus. Vor allem seit aborix hier nicht mehr aktiv ist :(.

    Für Fragen zum Skript stehe ich gerne zur Verfügung, aber ich möchte nicht die von mir beendete Weiterentwicklung des Skripts jetzt auf einer anderen Baustelle dann doch wieder fortsetzen...;)

  • für den Einstieg schon gute angeheftete Threads hier im Unterforum von milupo.

    Sind leider mittlerweile etwas veraltet.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Dabei fällt mir nun auf, dass ich eigentlich eine Kursiv-Markierung für den Zustand "ungeladen" haben möchte. Ob schon gelesen oder nicht, interessiert mich weniger.. Das Attribut notselectedsinceload müsste also durch ein geeigneteres ersetzt werden. Hat da vielleicht jemand eine Idee, wie das heißen könnte, oder wo man alle verfügbaren Attribute nachlesen kann?

    Durch Raten habe ich mittlerweile herausgefunden, dass loaded="false" statt notselectedsinceload="true" den von mir gewünschten Zweck erfüllt.

    Bei dem hier beschriebenen Fehler bin ich allerdings durch Raten leider noch nicht weiter gekommen.

  • Welche Code-Teile in Deinem Skript sind denn die Mindestvoraussetzung für das Funktionieren des Code-Schnipsels?

    Wenn nach der Selektion eines Tabs wieder die normale Schrift dargestellt werden soll (kursiv->normal) ganz einfach die normale Schrift als "Default"-Wert eintragen, oder was meintest du? :/ :

    Nein, das meine ich nicht. Du schriebst ja, das für das Funktionieren des von mir kopierten CSS-Code-Schnipsels bestimmte Voraussetzungen aus Deinem Skript obligatorisch sind. Die könnte ich mir dann angucken, und überlegen, wo ich sie in mein Skript einbauen müsste.

    CSS
      .tabbrowser-tab .tab-label {
          font-style: normal !important;
      }

    Wenn ich das zusätzlich einbauen würde, würden die beiden Schnipsel dann doch miteinander konkurrieren. Da wäre dann doch nicht klar, welches dann "gewinnen" würde.
    Gibt's denn so was wie if ... then ... else ... in CSS?

  • Jenes, das zuletzt im CSS auftaucht...

    Ergänzend: Darum heißt es CSS: Cascading Style Sheet – Kaskadierende Stilvorlage.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Wenn ich das zusätzlich einbauen würde, würden die beiden Schnipsel dann doch miteinander konkurrieren. Da wäre dann doch nicht klar, welches dann "gewinnen" würde.
    Gibt's denn so was wie if ... then ... else ... in CSS?

    Du hast ja hier ein implizites if...else. Es werden bestimmte Attribute/Zustände abgefragt [pendig], [notselectedsinceload="true"]  und falls der Selektor hier nicht greift, wird der Defaultwert verwendet. Eigentlich bräuchte man diesen zusätzlichen Code auch nicht, da normal ja sowieso der Standardwert ist. Zumindest ist das hier so...

    Bitte beachte die Einschränkung, dass nur bei einem Neustart die nicht gelesenen/selektierten Tabs kursiv angezeigt werden!

  • Da wäre dann doch nicht klar, welches dann "gewinnen" würde.

    Jenes, das zuletzt im CSS auftaucht... ;)

    Danke :thumbup:

    Hab' jetzt mal das probiert:

    CSS
    /* die JavaSkript-Variable `Mark_Unread_Tabs` aktiviert folgenden Schnipsel im CSS-String */
    ${Mark_Unread_Tabs ? `
      .tabbrowser-tab .tab-label {
        font-style: normal !important;
      }
      .tabbrowser-tab[pending] .tab-label, .tabbrowser-tab[notselectedsinceload="true"] {
        font-style: italic !important;
      }
    ` : ``}

    Es führt jetzt dazu, dass ein per "Link in neuem Tab öffnen ..." initiierter Tab die Schrift immer normal zeigt, also auch dann, wenn er noch nicht gelesen wurde. Wenn ich dann da drauf gehen, und damit der Tab erst dann als "gelesen" gilt, bleibt die Schrift auch, so wie gewünscht.


    Bitte beachte die Einschränkung, dass nur bei einem Neustart die nicht gelesenen/selektierten Tabs kursiv angezeigt werden!

    Ja, so sollte es sein.

    Bei mir kommt allerdings auch dann kursiv, wenn ich einen neuen Tab per "Link in neuem Tab öffnen" initiiere., und das bleibt auch so, selbst wenn ich den Tab nach abgeschlossenem Laden dann zum Lesen anwähle.

    8 Mal editiert, zuletzt von Herzmann (24. Oktober 2024 um 19:52) aus folgendem Grund: Ein Beitrag von Herzmann mit diesem Beitrag zusammengefügt.

  • Das Script in Beitrag #1 überschreibt Firefox-interne Funktionen und wird ab Firefox 133 Anpassungen benötigen, da Funktionen umbenannt wurden (um Verwirrungen in Zusammenhang mit dem neuen Tabgruppen-Feature zu vermeiden). Siehe:

    mozilla-central @ 408b33911175
    Bug 1926582 - Rename things related to moving multiselected tabs together to avoid confusion with tab groups. r=dwalker,jswinarton,tabbrowser-reviewers
    hg.mozilla.org
  • wird ab Firefox 133 Anpassungen benötigen, da Funktionen umbenannt wurden

    Danke für die Vorab-Info. :thumbup:

    Ich habe jetzt nur _finishGroupSelectedTabs in on_drop(event) identifizieren können. Habe es schon mal eingepflegt. Sollte ja eigentlich heute Abend oder spätestens morgen früh hier auch in der Nightly auftauchen. Dann werde ich ja in der Konsole sehen, ob ich was übersehen habe und welche Funktionsnamen u.U. noch geändert werden müssen.

  • Also nach dem update von 131.0.2 (wo es ging) auf 131.0.3 geht das skipt nicht mehr und ich habe außer dem update logischerweise nichts verändert.

    nichts ist unmöglich doch unmöglich ist nichts

  • So, die Nightly mit der Änderung ist hier gelandet und genau die oben genannte Funktion war die einzig erforderliche Umbenennung! Nach der Namensänderung funktioniert des Drag&Drop wieder! Wer die Nightly (FF133) nutzt, kann ja selber folgende Zeile im Skript anpassen (Zeile: 1233).

    vorher:

    JavaScript
    draggedTab.container._finishGroupSelectedTabs(draggedTab);

    jetzt:

    JavaScript
    draggedTab.container._finishMoveTogetherSelectedTabs(draggedTab);