Ich hab keine Ahnung woran es lag, das Skript funktioniert wieder bzw. weiterhin
Beiträge von Stoiker
-
-
Hallo
Ich hatte auch große Probleme eine der zahlreichen *.css die gerade kursieren, um die Tableiste unter die Lesezeichenleiste zu verschieben, ans laufen zu bekommen.
Meine Lösung ist kein Eintrag in der "userChrome.css" sondern ein Skript:
CSS
Alles anzeigen// ==UserScript== // @name zzzz-MultiRowTab_LiteforFx48.uc.js // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description Experimentelle CSS Version für Mehrzeilige Tableiste // @include main // @compatibility Firefox 81 // @author Alice0775 // @version 2016/08/05 00:00 Firefox 48 // @version 2016/05/01 00:01 hide favicon if busy // @version 2016/03/09 00:01 Bug 1222490 - Actually remove panorama for Fx45+ // @version 2016/02/09 00:01 workaround css for lwt // @version 2016/02/09 00:00 // ==/UserScript== "use strict"; MultiRowTabLiteforFx(); function MultiRowTabLiteforFx() { /* Symbolleisten und Menüleiste von der Titelleiste in die Navigator-Toolbox verschieben */ document.getElementById("titlebar").parentNode.insertBefore(document.getElementById("toolbar-menubar"),document.getElementById("titlebar")); var css =` @-moz-document url-prefix("chrome://browser/content/browser.xhtml") { /* Symbolleiste Sortieren */ #toolbar-menubar { -moz-box-ordinal-group: 1 !important; } /* Menüleiste */ #nav-bar { -moz-box-ordinal-group: 2 !important; } /* Navigationsleiste */ #PersonalToolbar { -moz-box-ordinal-group: 3 !important; } /* Lesezeichen-Symbolleiste */ #titlebar { -moz-box-ordinal-group: 4 !important; } /* Titelleiste */ /* Anpassung der Symbolleisten */ [tabsintitlebar="true"] #toolbar-menubar { height: 29px; } [tabsintitlebar="true"][sizemode="maximized"] #navigator-toolbox { padding-top: 8px !important; } #titlebar,#tabbrowser-tabs { -moz-appearance: none !important; } /* Windows 10 und Firefox Standardtheme, Fensterausenlinie in weiß. Anpassung für Titelleistenschaltflächen wenn sie in den Hintergrund verschoben sind */ #main-window:not([lwtheme="true"]) #TabsToolbar .titlebar-buttonbox .titlebar-button, #main-window:not([lwtheme="true"]) #window-controls toolbarbutton { color: rgb(24, 25, 26) !important; } #main-window:not([lwtheme="true"]) #TabsToolbar .titlebar-buttonbox .titlebar-button:not(.titlebar-close):hover, #main-window:not([lwtheme="true"]) #window-controls toolbarbutton:not([id="close-button"]):hover { background-color: var(--lwt-toolbarbutton-hover-background, hsla(0,0%,70%,.4)) !important; } /* Anpassung für Titelleistenschaltflächen */ [tabsintitlebar="true"] .titlebar-buttonbox-container { display: block; position: fixed; right:0; } [tabsintitlebar="true"][sizemode="normal"] .titlebar-buttonbox-container { top: 1px; } [tabsintitlebar="true"][sizemode="maximized"] .titlebar-buttonbox-container { top: 8px; } #navigator-toolbox:not([style^="margin-top:"])[style=""][inFullscreen="true"] #window-controls { display: flex; position: fixed; top: 0; right:0; } #navigator-toolbox:not([style^="margin-top:"])[style=""][inFullscreen="true"] #window-controls > toolbarbutton { display: inline; max-height: var(--tab-min-height); } /* auf der rechten Seite Platz für die Schaltflächen der Titelleiste einfügen, damit die Schaltflächen der Titelleiste und der Navigationsleiste nicht verdeckt werden */ [tabsintitlebar="true"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #nav-bar:not([inFullscreen="true"]) { padding-right: 139px !important; } #navigator-toolbox[inFullscreen="true"] #nav-bar { padding-right: 109px !important; } /* Mehrzeilige Tableiste */ box[class="scrollbox-clip"][orient="horizontal"], tabs > arrowscrollbox { display: block; } scrollbox[part][orient="horizontal"] { display: flex; flex-wrap: wrap; max-height: calc(var(--tab-min-height) * 5); /* Anzahl der Tabzeilen(Standard = 5 Zeilen) */ overflow-x: hidden; overflow-y: auto; } tabs tab[fadein]:not([pinned]) { flex-grow: 1; } tabs tab,.tab-background { height: var(--tab-min-height); overflow: hidden; } #main-window[proton] tabs tab, #main-window[proton] .tab-background { min-height: var(--tab-min-height); margin: 0 !important; padding: 0 !important; } tab > .tab-stack { width: 100%; } #main-window[proton] .tab-background[style$="2px solid red !important;"] { border-radius: 0 !important; } #tabs-newtab-button { margin: 0 !important; } /* Bei Überschreitung der angegebenen Zeilenanzahl, mit der Maus, über die dann eingeblendetet Scrolleiste zur gewünschten Zeile wechseln */ scrollbox[part][orient="horizontal"] > scrollbar { -moz-window-dragging: no-drag; } /* Drag-Bereich auf der linken und rechten Seite der Tab-Leiste ausblenden - verstecken Links und rechts → hbox.titlebar-spacer links → hbox.titlebar-spacer[type="pre-tabs"] rechts → hbox.titlebar-spacer[type="post-tabs"] */ hbox.titlebar-spacer , /* Ausblenden - Verstecken */ tabs tab:not([fadein]),#scrollbutton-up,#scrollbutton-down, #toolbar-menubar[autohide="false"] + #titlebar #TabsToolbar .titlebar-buttonbox-container { display: none; } } `; 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.AGENT_SHEET); gBrowser.tabContainer.clearDropIndicator = function() { let tabs = this.allTabs; for (let i = 0, len = tabs.length; i < len; i++) { tabs[i].removeAttribute("style"); tabs[i].querySelector(".tab-background").removeAttribute("style"); } } gBrowser.tabContainer.addEventListener("dragleave", function(event) { this.clearDropIndicator(event); }, true); gBrowser.tabContainer.on_dragover = function(event) { this.clearDropIndicator(); var effects = this._getDropEffectForTabDrag(event); var ind = this._tabDropIndicator; if (effects == "" || effects == "none") { ind.hidden = true; return; } event.preventDefault(); event.stopPropagation(); var arrowScrollbox = this.arrowScrollbox; // autoscroll the tab strip if we drag over the scroll // buttons, even if we aren't dragging a tab, but then // return to avoid drawing the drop indicator var pixelsToScroll = 0; if (this.getAttribute("overflow") == "true") { switch (event.originalTarget) { case arrowScrollbox._scrollButtonUp: pixelsToScroll = arrowScrollbox.scrollIncrement * -1; break; case arrowScrollbox._scrollButtonDown: pixelsToScroll = arrowScrollbox.scrollIncrement; break; } if (pixelsToScroll) { arrowScrollbox.scrollByPixels( (RTL_UI ? -1 : 1) * pixelsToScroll, true ); } } // let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0); let draggedTab = this._getDropIndex(event, false); if ( (effects == "move" || effects == "copy") && this == draggedTab.container ) { ind.hidden = true; if (!this._isGroupTabsAnimationOver()) { // Wait for grouping tabs animation to finish return; } this._finishGroupSelectedTabs(draggedTab); if (effects == "move") { this._animateTabMove(event); return; } } this._finishAnimateTabMove(); if (effects == "link") { let tab = this._getDragTargetTab(event, true); if (tab) { if (!this._dragTime) { this._dragTime = Date.now(); } if (Date.now() >= this._dragTime + this._dragOverDelay) { this.selectedItem = tab; } ind.hidden = true; return; } } var rect = arrowScrollbox.getBoundingClientRect(); var newMargin; if (pixelsToScroll) { // if we are scrolling, put the drop indicator at the edge // so that it doesn't jump while scrolling let scrollRect = arrowScrollbox.scrollClientRect; let minMargin = scrollRect.left - rect.left; let maxMargin = Math.min( minMargin + scrollRect.width, scrollRect.right ); if (RTL_UI) { [minMargin, maxMargin] = [ this.clientWidth - maxMargin, this.clientWidth - minMargin, ]; } newMargin = pixelsToScroll > 0 ? maxMargin : minMargin; } else { let newIndex = this._getDropIndex(event, effects == "link"); let children = this.allTabs; if (newIndex == children.length) { // let tabRect = children[newIndex - 1].getBoundingClientRect(); let tabRect = children[newIndex - 1].querySelector(".tab-background").style.setProperty("border-right","2px solid red","important"); if (RTL_UI) { newMargin = rect.right - tabRect.left; } else { newMargin = tabRect.right - rect.left; } } else { // let tabRect = children[newIndex].getBoundingClientRect(); let tabRect = children[newIndex].querySelector(".tab-background").style.setProperty("border-left","2px solid red","important"); if (RTL_UI) { newMargin = rect.right - tabRect.right; } else { newMargin = tabRect.left - rect.left; } } } ind.hidden = false; newMargin += ind.clientWidth / 2; if (RTL_UI) { newMargin *= -1; } ind.style.transform = "translate(" + Math.round(newMargin) + "px)"; } gBrowser.tabContainer.on_drop = function(event) { this.clearDropIndicator(); var dt = event.dataTransfer; var dropEffect = dt.dropEffect; var draggedTab; let movingTabs; if (dt.mozTypesAt(0)[0] == TAB_DROP_TYPE) { // tab copy or move draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0); // not our drop then if (!draggedTab) { return; } movingTabs = draggedTab._dragData.movingTabs; draggedTab.container._finishGroupSelectedTabs(draggedTab); } this._tabDropIndicator.hidden = true; event.stopPropagation(); if (draggedTab && dropEffect == "copy") { // copy the dropped tab (wherever it's from) let newIndex = this._getDropIndex(event, false); let draggedTabCopy; for (let tab of movingTabs) { let newTab = gBrowser.duplicateTab(tab); gBrowser.moveTabTo(newTab, newIndex++); if (tab == draggedTab) { draggedTabCopy = newTab; } } if (draggedTab.container != this || event.shiftKey) { this.selectedItem = draggedTabCopy; } } else if (draggedTab && draggedTab.container == this) { let oldTranslateX = Math.round(draggedTab._dragData.translateX); let tabWidth = Math.round(draggedTab._dragData.tabWidth); let translateOffset = oldTranslateX % tabWidth; let newTranslateX = oldTranslateX - translateOffset; if (oldTranslateX > 0 && translateOffset > tabWidth / 2) { newTranslateX += tabWidth; } else if (oldTranslateX < 0 && -translateOffset > tabWidth / 2) { newTranslateX -= tabWidth; } let dropIndex = this._getDropIndex(event, false); // "animDropIndex" in draggedTab._dragData && // draggedTab._dragData.animDropIndex; let incrementDropIndex = true; if (dropIndex && dropIndex > movingTabs[0]._tPos) { dropIndex--; incrementDropIndex = false; } if (oldTranslateX && oldTranslateX != newTranslateX && !gReduceMotion) { for (let tab of movingTabs) { tab.setAttribute("tabdrop-samewindow", "true"); tab.style.transform = "translateX(" + newTranslateX + "px)"; let onTransitionEnd = transitionendEvent => { if ( transitionendEvent.propertyName != "transform" || transitionendEvent.originalTarget != tab ) { return; } tab.removeEventListener("transitionend", onTransitionEnd); tab.removeAttribute("tabdrop-samewindow"); this._finishAnimateTabMove(); if (dropIndex !== false) { gBrowser.moveTabTo(tab, dropIndex); if (incrementDropIndex) { dropIndex++; } } gBrowser.syncThrobberAnimations(tab); }; tab.addEventListener("transitionend", onTransitionEnd); } } else { this._finishAnimateTabMove(); if (dropIndex !== false) { for (let tab of movingTabs) { gBrowser.moveTabTo(tab, dropIndex); if (incrementDropIndex) { dropIndex++; } } } } } else if (draggedTab) { let newIndex = this._getDropIndex(event, false); let newTabs = []; for (let tab of movingTabs) { let newTab = gBrowser.adoptTab(tab, newIndex++, tab == draggedTab); newTabs.push(newTab); } // Restore tab selection gBrowser.addRangeToMultiSelectedTabs( newTabs[0], newTabs[newTabs.length - 1] ); } else { // Pass true to disallow dropping javascript: or data: urls let links; try { links = browserDragAndDrop.dropLinks(event, true); } catch (ex) {} if (!links || links.length === 0) { return; } let inBackground = Services.prefs.getBoolPref( "browser.tabs.loadInBackground" ); if (event.shiftKey) { inBackground = !inBackground; } let targetTab = this._getDragTargetTab(event, true); let userContextId = this.selectedItem.getAttribute("usercontextid"); let replace = !!targetTab; let newIndex = this._getDropIndex(event, true); let urls = links.map(link => link.url); let csp = browserDragAndDrop.getCSP(event); let triggeringPrincipal = browserDragAndDrop.getTriggeringPrincipal( event ); (async () => { if ( urls.length >= Services.prefs.getIntPref("browser.tabs.maxOpenBeforeWarn") ) { // Sync dialog cannot be used inside drop event handler. let answer = await OpenInTabsUtils.promiseConfirmOpenInTabs( urls.length, window ); if (!answer) { return; } } gBrowser.loadTabs(urls, { inBackground, replace, allowThirdPartyFixup: true, targetTab, newIndex, userContextId, triggeringPrincipal, csp, }); })(); } if (draggedTab) { delete draggedTab._dragData; } } gBrowser.tabContainer._getDropIndex = function(event, isLink) { var tabs = this.allTabs; var tab = this._getDragTargetTab(event, isLink); if (!RTL_UI) { for (let i = tab ? tab._tPos : 0; i < tabs.length; i++) { if ( event.screenY > tabs[i].screenY && event.screenY < tabs[i].screenY + tabs[i].getBoundingClientRect().height ) { if ( event.screenX > tabs[i].screenX && event.screenX < tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 ) { return i; } if ( event.screenX > tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 && event.screenX < tabs[i].screenX + tabs[i].getBoundingClientRect().width ) { return i + 1; } } } } else { for (let i = tab ? tab._tPos : 0; i < tabs.length; i++) { if ( event.screenY > tabs[i].screenY && event.screenY < tabs[i].screenY + tabs[i].getBoundingClientRect().height ) { if ( event.screenX < tabs[i].screenX + tabs[i].getBoundingClientRect().width && event.screenX > tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 ) { return i; } if ( event.screenX < tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 && event.screenX > tabs[i].screenX ) { return i + 1; } } } } return tabs.length; } }
Die (mutmaßlich) schlechte Nachricht: ich habe dieses Skript nach den entsprechenden notwendigen Vorbereitungen in einem neuen Profil getestet. Es funktioniert zwar, aber die Tableiste sprang bei mir jedes Mal wenn ich mit "Strg + T" einen neuen Tab aufgemacht habe. In meinem Hauptprofil tritt dieses Verhalten Gott sei Dank nicht auf.
Vielleicht ist ein/dieses Skript ja ein Ansatz der dir weiterhilft.
-
Ich pushe mal.
Bin ich wirklich der Einzige der so ein Skript nutzt bzw. die Suchfunktion gern gleich vollständig "geladen" hat wenn man auf einer Seite etwas sucht?
-
Hallo
Ich hatte bis Version 87 ein Skript benutzt welches sofort die vollständige Suchleiste eingeblendet hat wenn ich auf einer Seite angefangen etwas zu tippen und nicht erst nachdem ich "Strg+F" gedrückt habe. In Version 89 funktioniert es bei mir nicht mehr.
Kann bitte mal jemand drüber schauen:
JavaScript
Alles anzeigen(function() { if (!window.gBrowser) return; async function doFindbar() { await gFindBarPromise; gFindBar.open = function open() { this.findMode = this.FIND_NORMAL; if (!this._notFoundStr) { var bundle = this.strBundle; this._notFoundStr = bundle.GetStringFromName("NotFound"); this._wrappedToTopStr = bundle.GetStringFromName("WrappedToTop"); this._wrappedToBottomStr = bundle.GetStringFromName("WrappedToBottom"); this._normalFindStr = bundle.GetStringFromName("NormalFind"); this._fastFindStr = bundle.GetStringFromName("FastFind"); this._fastFindLinksStr = bundle.GetStringFromName("FastFindLinks"); this._caseSensitiveStr = bundle.GetStringFromName("CaseSensitive"); this._entireWordStr = bundle.GetStringFromName("EntireWord"); } this._findFailedString = null; this._updateFindUI(); if (this.hidden) { this.removeAttribute("noanim"); this.hidden = false; this._updateStatusUI(Ci.nsITypeAheadFind.FIND_FOUND); let event = document.createEvent("Events"); event.initEvent("findbaropen", true, false); this.dispatchEvent(event); this.browser.finder.onFindbarOpen(); return true; } return false; }; }; doFindbar(); gBrowser.tabContainer.addEventListener('TabSelect', function() { if (!gFindBarInitialized) doFindbar(); }); })();
-
nimm bitte nicht alles so persönlich
Dann bitte ich in diesem Fall um Entschuldigung.
Ich würde auch lieber bei Firefox bleiben, aber der aktuelle Releasezweig stagniert (Anpassbarkeit, Auswahl der Erweiterungen), auf dem Tablet habe ich damit regelmäßig Abstürze nach ein paar Videos, dem Nigthlyzweig fehlen mind. die erwähnten Optionen und geschwindigkeitsmäßig ist das Bild, seit ich jetzt Bromite/Vivaldi kenne, durchwachsen.
Sorry, ich habe nicht auf dem Schirm das es doch noch ein paar mehr gibt, zu viele Baustellen
-
Erst einmal Danke für die Reaktionen.
Tja, ich muss grad nach Argumenten suchen auf dem neuen Smartphone irgend'n Mozilladerivat zu nutzen. Jahrelang habe ich mir nicht mal die Mühe gemacht nach Alternativen links und rechts des Mozillversums zu schauen.
Dann, mit einem neuen Androiden den oft gelesenen Bromite-Browser getestet. Und Vivaldi habe ich schon länger am Desktop in der Hinterhand und bin damit momentan auch ausschließlich am PC unterwegs, weil ich im Moment nicht die Lust finde den Umstieg auf Proton nebenher zu erledigen.
Ich war erstmal entsetzt wie schnell beide Browser im Gegensatz zu Firefox sein können. Ich habe hier von Fennec über die Playstoreversion des Firefox' bis hin zum Nightly eine gewisse Bandbreite im Einsatz.
Ernsthaft jetzt?
Force web content to use dark mode
Keine Ahnung ob sich das auf mich bezieht. Ich habe es neulich schon einmal zum Ausdruck gebracht. Du schreibst hier gute und anspruchsvolle techn. Beiträge die mir manchmal zu kompliziert sind. Gut, ist dann mein Problem. Aber dann bringst du es regelmäßig fertig hier etwas hinzurot***. Ich würde mir das ja sogar zu Herzen nehmen was du geschrieben hast, aber: du klatschst hier etwas codeartiges hin, ohne Kontext ohne Erklärung wo das hingehört und meinst dann auch noch das Ganze ironisieren zu müssen. Ernsthaft jetzt?
Was das zweite Anliegen angeht:
Setting to request desktop sites by default
Wenn Firefox sich das pro Domäne merkt, dann ja, ansonsten nein.
Noch so'n kontextloses Fragment. Was, bitte schön, soll ich denn damit anfangen? Ich weiß es ehrlich nicht.
Keine Ahnung ob das für den Android Fuchs zutrifft.
Ja
Ich hatte diese Erweiterung extra erwähnt weil es im Moment die einzige (?!) Erweiterung ist die ich im Nightly zum abdunkeln von Seiten nutzen kann.
-
Sehe ich das richtig das es von Haus aus nicht, wie z.B. bei Bromite und Vivaldi, möglich ist Internetseiten standardmäßig als Desktopwebseite zu öffnen? Oder gibt es einen Eintrag in about:config der das ermöglicht?
Und auch was den "Dark Mode" für Internetseiten angeht muss ich im Nightly auf eine Erweiterung zurückgreifen? Oder gibt es auch dafür einen entsprechenden about:konfig-Eintrag? Die "Dark Reader"-Erweiterung kenne ich, fand die aber bei letzten Tests nur durchwachsen gut.
-
Hallo und Willkommen im Forum
Firefox kann manchmal ganz schön nerven, aber so sehr das er dich geradezu nötigt dir irgend 'nen Schei* zu installieren dann doch wieder nicht
Ob's jetzt an deinem Betriebssystem liegt (was ich eher nicht glaube) oder an deinem "Gesamtkonzept" kann ich nicht sagen. Fragen solltest du dich wie du zu diesen forschen Einladungen gekommen bist.
Im Zuge dessen ist eine Aktualisierung auf eine aktiv unterstützte Version von Windows zu empfehlen oder gleich der Blick hin zu Linux, wenn du nicht gerade mit Software hantierst die ein Windows voraussetzt.
-
aber alle bestehenden Schalter entfernt werden
Den Teil verstehe ich nicht. Heißt das das dieser Weg für Anpassungen demnächst komplett wegfällt? Wenn ja, wird es neue Optionen geben?
-
Zum Verständnis bzgl. Betaversionen.
Ich denke ich werde bis Version 89 o. auch 90 warten müssen bis ich Firefox anpassen und wieder in den Produktivbetrieb übernehmen kann.
Um aber nicht ganz den Anschluss zu verlieren bastel ich u.a. mit Skripten aus diesem Thread derzeit in Betas rum. Nun hab ich nicht den Nerv jede Beta zu testen oder überspring auch aus Zeitgründen die eine oder andere.
Ich habe derzeit noch die 89beta9 ich im Testeinsatz.
Ist davon auszugehen das z.B. nachfolgende Versionen Änderungen in about:config haben? Sprich, Neuerungen, Rauswurf alter Werte oder Implementierung neuer?
Und wenn ich etwas in Beta9 ans laufen bekommen habe, also z.B. eine Neuerung in/mit/wegen Proton die mir aber nicht gefällt und dann hier ein entsprechender Code zur Anpassung gepostet wird, dass das dann auch in den nachfolgenden Versionen funktionieren sollte?
-
Oder überseh ich in meiner Unkenntnis zu Betas irgendwas gravierendes?
Ich kann automatisierten Updates nix Mehrwert steigerndes abgewinnen. Und bei der Testversion eines Browsers gleich doppelt nicht.
Was also spricht dagegen sich bei erscheinen einer aktualisierten Testversion die *.exe zu laden mit einem Packprogramm der Wahl zu entpacken (z.B. 7z) und dann auch gleich noch ein wenig ... aufzuräumen? Vorher das Testprofil (also Programmverzeichnis und Profil sichern) und dann aktualisieren. So lässt sich bei Problemen die Ursachensuche eingrenzen und man kann im Zweifel zwischen den Profilen "springen".
-
-
Wenn du magst
Wärst du so nett und stellst das hier zur Verfügung? Ich komme momentan noch weniger als sonst zum testen und dann vergesse ich schon mal welche Version mit welchem Stand ich zuletzt getestet habe. Entsprechende Icons würden mir bei der Unterscheidung schon helfen.
-
'n Abend
Mal in die Runde gefragt: gehen die Anpassungen mit Firefox 89 dort weiter wo sie gerade mit Version 88 wieder angefangen haben? Ich bin grad geschockt was da wieder verb... äh modernisiert wurde. Tableiste verschoben, Kontextmenü kaputt, Restartbutton weg .... Bevor ich hier jetzt für den 88er nach Hilfe ersuche und mich in Beschäftigungstherapie ergehe, warte ich dann lieber bis sich der Staub gelegt hat (bis zur Version 89?!) und baue dann um.
-
Alternativ zu dem Tipp von Zitronella, habe ich von hier diesen Schnipsel für uBlock gefunden, der nach einem Schnelltest ohne Funktionseinschränkungen funktioniert. Sowohl bei google als auch bei youtube:
Wer mag, bitte testen und Feedback geben
-
Hallo micmen
Schön das du dich entschieden hast deinen doch schon etwas betagten Firefox zu aktualisieren. Im übrigen, ich fühle mich weder von dir noch durch deinen ollen Fux bedroht
Apropos, wer hat gerade mal wieder ein paar hundert Mio Datensätze verloren? Was macht deren IT eigentlich hauptberuflich? Wer will schon Browser kapern wo die Tröge woanders viel fetter sind, pff..
Mein Tipp:
hol dir ein paar Versionen zw. 56 und der, keine Ahnung, 87, bau dir eine portable Version und kopiere dort dein Profil ein. Dann packst du die Zwischenversionen dort rein, öffnest FF, schließt ihn wieder und machst mit einer aktuellen Version weiter. Bestimmte Daten werden bei diesem Prozess "transformiert" und taugen am Ende für die aktuelle Version. Aber ich will dir keine große Hoffnung machen. Von deinen Erweiterungen wird so wie du es bis jetzt kennst keine/kaum eine überleben. Auch von den Einstellungen in der gewohnten Form wird wohl nicht viel übrig bleiben.
Wenn du einen großen Bildschirm hast, legst du auf die eine Seite den derzeitigen 56er und auf die andere den aktuellen. Dann schaust du was dir im aktuellen fehlt und fragst in einem kompetenten Forum, wie z.B. diesem, nach Ersatz bzw. Alternativen. Auch beim Thema "Modding" wird dir dann hoffentlich hier geholfen.
Und ja, das kostet dich Zeit und wahrscheinlich auch Nerven. Von beidem viel.
-
Klar geht.
Muss man halt mögen. Aber es gibt sie ja, die Alternativen
-
Alternativ: nutz a gscheiden PW-Manager. Vorteil: dort kannst Infos eintragen die über PW von Firefox hinausgehen. Die entsprechende Datei kannst du (mehrfach) absichern und z.B. auch auf dem Smartphone, Tablet, Zweitrechner ... nutzen.
Empfehlen kann ich dir: Keepass. Gibt für Smartphones entsprechende Apps. Wer's richtig cloudig mag, kann auch gern via Webdienste (z.B. Dropbox oder (seine eigene) Nextcloud) synchronisieren.
Halte ich für nochmal zuverlässiger und, wie gesagt, breiter aufgestellt als in Firefox selbst
-
Frage ist nun
Mein Tipp: nach einem Release ein paar Tage mit der Installation warten. Solche krassen Probleme tauchen dann auch außerhalb der typischen Technachrichten auf und eine breitere Masse bekommt das mit.
Sobald ein Patch oder Update verfügbar ist natürlich sofort installieren
-
Eine offene Antwort darauf kann ich dir leider nicht geben. Das führt hier zu Problemen.
Auch wenn es nicht die feine Art ist, stelle ich die Gegenfrage: würde das am Problem etwas ändern?
Thunderbird wird auch seit Jahren händisch per offline-Installer aktualisiert. Bei diesem kommt es zu keinem Problem mit dem angepassten Pfad des via Taskleiste aufgerufenen Icons. Dort startet nach einem Update das voreingestellte Profil. Der hinterlegte Pfad ist nicht verändert.
Aber ich werde es beim nächsten Update von beiden Programmen einmal ausprobieren: Systemsicherung, dann Update und dann nachschauen ob's was ändert. Im Zweifel gehe ich dann auf die vorherige Systemsicherung zurück und aktualisiere wieder händisch