Horstmann Ich glaube, dass das doch nicht der richtige Weg ist. Ich sehe gerade, dass eigentlich nur ein Reload-Button erzeugt wurde, was ja eigentlich auch klar ist, wenn man sich den Code anschaut. Stop und reload haben die gleiche ID und den 'reload'-Button hat er dann wohl einfach als letztes registriert... Oder siehst du das anders?
Beiträge von BrokenHeart
-
-
Ich glaube, du hast recht.
Der Button an sich ist aber da, funktioniert und der Hintergrund taucht bei hover auch auf.
Sehr interessant: der neue, kombinierte Button wird aus den beiden Stop/Reload-Buttons vom Firefox selber "zusammengesetzt", wenn man sie neu erzeugt und wenn sie die gleiche ID haben. Deswegen sind im Inspektor auch beim geklonten Button ('stop-reload-button-2') keine Kindknoten vorhanden. Er benutzt dann wohl die vorhandenen Kind-Elemente vom Original.
Dass kein Button sichtbar ist, dürfte nur am fehlenden Icon liegen!
Nur die ausgegebenen Fehlermeldungen beim Druck auf den Button machen mir noch etwas Sorgen..
Ich denke aber, auf jeden Fall mal der richtige Ansatz...
Ich könnte mir vorstellen, dass das Script den Button und die Funktion kreiert, aber nicht alle darunterliegenden Buttons, bzw. deren Darstellung.
Mit dem Befehl cloneNode(true); werden auch alle Kind-Elemente kopiert. Bei 'false' wäre das nicht der Fall und nur das angesprochene Element würde kopiert werden.
-
Ich hatte es mir eben noch mal angeschaut, aber alle meine Versuche laufen leider ins Leere
. Das Problem ist, dass dieser kombinierte Button eben aus 2 Kind-Buttons besteht. Ein vollständiger "Klon" dieses Buttons bewirkt nicht, dass alle Messages an die richtigen Elemente gesendet werden. Ich habe sogar die "mit-geklonten" Kindelemente (Stop/Reload) gelöscht und durch neu erzeugte Buttons ersetzt. Aber dann bleiben immer 2 getrennte Buttons. Obwohl auch im Inspektor alles gleich zum Original aussieht, fehlt irgendwas...aber ich komme nicht drauf, was das sein könnte.
Vielleicht kann ja aborix mal wieder aktiv werden? Er hat ja auch die Lösung für die Vor-Zurück-Buttons zur Verfügung gestellt.
Hoffe es geht ihm gut, schon lange nichts mehr von ihm gehört!
-
Da gibt es ein Problem.. Das Icon ist daueraktiv.
Also bei mir ist da nichts 'daueraktiv'...
Nur der Event zum 'Abbrechen' wird nicht weitergeleitet ('X'). Aber ansonsten funktioniert der Reload...
Normalerweise müsste da das Icon für den Reload sein, und nicht für Stop.
Es müssen also 2 Icons im Skript erstellt werden.
Aber er wollte doch den kombinierten Button (Stop/Reload) dupliziert haben, oder hatte ich es falsch verstanden?
-
Bitte testen:
In Zeile 12 musste das + '-button' entfernt werden...
JavaScript
Alles anzeigen(function() { if (window.__SSi != 'window0') return; function createButton(str) { CustomizableUI.createWidget({ id: 'stop-reload-button-2', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function() { let button = document.getElementById(str).cloneNode(true); button.id = 'stop-reload-button-2'; //button.style.listStyleImage = 'url(chrome://browser/skin/' + str + '.svg)'; button.style.listStyleImage = 'url("file:///C:/Users/Ramo/AppData/Roaming/Mozilla/Firefox/Profiles/g4mso52s.default-release/chrome/Icons/arfresh.svg")'; button.setAttribute('onclick', 'checkForMiddleClick(this, event); if (event.button == 0) event.target.ownerDocument.getElementById("' + str + '-button").click();'); button.setAttribute('onmousedown', 'if (event.button == 0) event.preventDefault();'); return button; } }); } createButton('stop-reload-button'); })();
-
Fragt sich nur noch, warum dies verstellt war und wer weiss, was da noch alles verstellt ist bzw. wurde?
Ich glaube, dass sind die üblichen Verdächtigen. Z.B:
Diesen Schutz gegen Fingerprinting aktiviert man unter "about:config" mit folgender Einstellung (aufgrund des unplausiblen User-Agent-Fakes aber nur für Windows Nutzer empfehlenswert):
privacy.resistFingerprinting = true
Unter Firefox 112+ kann man zusätzlich folgende Optionen aktivieren, die den Fingerprint stärker randomisieren und den Schutz gegen Wiedererkennung verbessern:privacy.resistFingerprinting.randomization.enabled = true
privacy.resistFingerprinting.randomization.daily_reset.enabled = true
Na ja, wird der TE wohl am besten wissen (hoffe ich).
-
Äh, ich habe BrokenHard zitiert.
Und mein Kommentar bezieht sich auch nur auf seinen Kommentar.
Achtung! =>
...
Hab halt 'nen empfindlichen Magen
Nein im Ernst, du hast schon viele gute Ideen gehabt und die auch so umgesetzt, dass wirklich sehr brauchbarer Code dabei herausgekommen ist
. Aber die Zeile in #34 ist wirklich in jeder Beziehung Mist. Du musst dann bei jeder zusätzlichen Verschachtelungsebene neuen Code anfügen, oder zur Sicherheit gleich 50x menu > menupopup >... schreiben. Vor allem wenn man bedenkt, dass es auch viel einfacher geht.
Also nichts für ungut, mir ist ja nur schlecht geworden und ich habe nicht k....n müssen, sonst hätte ich auch ein anderes Smiley benutzt.
-
-
1. In der Adressleiste das dritte von links
Das ist doch das Standard-Firefox-Drucker-Symbol. Das hast du doch auch...
Edit: Oder meintest du in der URL-BAR? Das ist das Symbol für die Erweiterung Tabliss
und gleich das erste nach der Adressleiste, (Reload?)
Das ist das (per CSS-filter grau eingefärbte) Symbol aus dem bekannten Restart-Skript. Allerdings habe ich mir das Original-Symbol in einer höheren Auflösung neu zusammengebastelt. Hier ist es:
-
Nun, die sollen ja auch angezeigt werden, auf der Startseite will ich die alle sehen.
Alles klar, wenn das so ok für dich ist.
Mir wäre das zu unflexibel, aber ich benutze eh ein Skript für die mehrzeilige Lesezeichenleiste und da hat sich an der bisherigen Funktionsweise auch in der aktuellen Nightly nichts geändert.
-
Danke. Hat teilweise geholfen. Ich habe jetzt die Berechnungsformel von max-height übernommen und jetzt scheint alles wieder in Ordnung zu sein.
Könntest du bitte mal den Code dazu posten!
Edit: Sehe gerade, den hattest du ja schon oben gepostet, Sorry. Wenn du die gleiche Berechnungsformel auch für 'min-height' verwendet hast, dann zeigt er doch viel zu viele Zeilen an (eben die max. Anzahl):
-
Dass du öfters gesagt hast, dass du keine neuen Features einabust, war mir nicht klar, von mir aber wie gesagt auch nicht erwartet. (aber schreib doch das in den 1. Post).
Deswegen hatte ich es ja noch mal erwähnt, aber gute Idee, werde ich machen...
Aber nein, mein Anliegen hat keinen optischen Nutzen. Das ist rein der Produktivität halber. Beispiel: Wenn ich mit diesem Skript einen Tab nach unten ziehe (senkrecht), dann zieht es mit den Tab nicht an die Position direkt darunter, sondern rechts/links von dem Tab, direkt darunter. Das ist unlogisch und stört mich im Fluss.
Das ist so nicht ganz richtig. Du kannst den selektierten Tab, welchen du verschieben möchtest, genau senkrecht unter bzw. über der vorherigen Position droppen. Wenn du ihn runter ziehst, dann eben rechts von der Mitte des Tab, welchen du "ersetzen" willst, und beim rauf ziehen eben links davon: Im Prinzip ist das genau das selbe, wie das Standard-Verhalten (obwohl man das nicht ganz vergleichen kann), nur eben, dass die Positionierung und das Verschieben der anderen Tabs nicht sofort passiert:
Mag sein, dass das mal mit (dem alten!) TabMixPlus funktioniert hat, ist zu lange her, da kann ich mich nicht mehr dran erinnern. Falls ja, dann gibt es meines Wissens doch Möglichkeiten das alte TabMixPlus irgendwie wieder zum Laufen zu bringen. Aber da kenne ich mich nicht mit aus...
Trotzdem danke für die Antwort
Gerne
...wenn es nur ein paar Zeilen wären, dann hätte ich dir auch konkretere Tipps gegeben, aber das was du wünscht ist mit einem sehr großen Aufwand verbunden (für mich). Vielleicht kann dir ja jemand anderes deinen Wunsch erfüllen oder du findest ein entsprechendes Skript dazu...
)
-
-
-
Sieht jetzt deutlich anders aus
Wenn man jetzt noch das + für einen neuen Tab noch ein wenig anpassen könnte größenmäßig, wäre ich endgültig zufrieden
Folgenden Code noch an die CSS-Anpassungen anhängen. Sollte die Default-Größe sein. Kannst du dir dann individuell einstellen.
-
Ich bin mir allerdings nicht sicher, ob das so passt, denn irgendwie merke ich keinen Unterschied ob das .css File vorhanden ist oder nicht.
Es scheint nicht so, dass bei dir die Einträge in der 'userChrome.css' ausgewertet werden, da die Tabs noch einen zusätzlichen Rahmen und Schatten besitzen.
Steht bei dir unter 'about:config' toolkit.legacyUserProfileCustomizations.stylesheets auf true?
Befindet sich die Datei im richtigen Profilordner? Falsche Schreibweise bzw. falsches Suffix (
.txt)->(.css)? -
-
Ich weiß genau, was du meinst. Aber der Grund, warum es hier anders gelöst wurde, ist folgender: Bei der einzeiligen (eindimensionalen) Anzeige der Tableiste müssen nur die sichtbaren Tabs auf einer Linie verschoben werden. Je nachdem, von wo ich den Tab nehme, entweder nach rechts oder nach links, um diese Lücke zu erzeugen. Bei der mehrzeiligen (2-dimensionalen) Anzeige muss ich auch die sichtbaren Tabs berücksichtigen, die oberhalb und unterhalb des 'Drop-Ziels' liegen. Auch mit dem ständigen Refresh und dem Scrollen könnte es dann Probleme geben. So hab ich nur einen Indikator und einen Thumb mit dem Screenshot für den selektierten Tab und muss mich darum nicht kümmern.
Das heißt natürlich absolut nicht, dass es nicht so funktionieren kann, wie es dir vorschwebt, aber ich werde mir sicherlich nicht die Mühe machen, so etwas in das Skript einzubauen oder Hilfestellungen dazu geben. Einmal, weil ich den Code für das Drag&Drop von 'alice0775' übernommen habe und bis auf ein paar Anpassungen, bisher noch nichts daran geändert habe, weil er ja auch bis jetzt wunderbar funktioniert hat. Außerdem hatte ich ja schon öfters gesagt, dass ich an diesem Skript nur noch Fehlerbehebung betreiben möchte und keine neuen Features mehr einbaue. Und dein Anliegen hat ja offensichtlich - wenn überhaupt - nur einen rein optischen Nutzen. Ich frage mich sowieso, was dich an der jetzigen Lösung stört...?
Ansonsten musst du ab Zeile ~1157 selber tätig werden. Aber du solltest dich dafür nicht nur gut mit JavaScript auskennen, sondern dich auch mit den Interna des Firefox beschäftigt haben...
-
Und das sagst Du jetzt nicht, wie Du das da hin gezaubert hast.
Doch, natürlich, aber da ist nix mit Zauberei oder Voodoo. Das ist so trivial, dass ihr euch mit der flachen Hand gegen die Stirn schlagen werdet!
Hier die "Wunder"-Zeile
:
let strCountOut = "📁" + String(menuCount).padEnd(2, '\xa0') + "⭐" + String(menuitemCount).padEnd(3, '\xa0');
Die Emojis/Icons können z.B. direkt in den Editor (NP++) über [Windows-Taste]+[.] in den Code kopiert werden.
Damit alle Abstände gleich bleiben, muss im CSS Teil natürlich ein 'monospace'-Font verwendet werden z.B. 'Consolas' etc.:
CSS.countClass::after { content: attr(data-value); font-family: Consolas, "Lucida Console", "Courier New", monospace; font-size: 11px; font-weight: 900; color: rgb(100,200,255); }
Das ist alles...
-
Sollte sich das auf mich beziehen,
Nein! Damit meinte ich den Header den Dharkness gepostet hat. Deswegen hatte ich ihn auch vorher zitiert....
Bei deinem Skript ist alles in Ordnung...