Beiträge von Mitleser
-
-
Nur .popover reicht sogar, wenn es um die Gestaltung geht, weil die Klasse .active nur dafür sorgt, dass das Overlay sichtbar ist.
Nachtrag: Da gerade .popoverContent genannt wurde, das kann auch ausreichend sein, ist halt das Element eine Ebene darunter.
Das ist leider alles zu global, denn die popups auf der linken Seite werden damit auch ausgeblendet.
-
-
-
(zu mehr hab ich grad keine Lust mehr)
Schade!
-
-
Funzt das:?
CSS
Alles anzeigen#PlacesToolbarItems > toolbarbutton[label="test"] >.toolbarbutton-text { display: none !important; } #PlacesToolbarItems > toolbarbutton[label="test"]::before { content: '🍺' !important; display: block !important; font-size: 11px !important; /*color: transparent !important;*/ margin-left: 16px !important; margin-top: -7px !important; }
-
-
-
-
-
Wenn du einen direkt mit dem Code anwendbaren, und für den Code funktionierenden Vorschlag für eine Lösung hast
Nö, habe ich nicht. Damit habe und werde ich mich auch nicht beschäftigen, 'form follows funktion' ist bei diesem Thema auch nicht Programm, sondern eher 'mir ist gerade langweilig'. Entschuldigung für den vorherigen Beitrag.
-
Mir ist aufgefallen. dass du nicht:
#tabbrowser-tabs[haspinnedtabs]
#tabbrowser-tabs[positionpinnedtabs]
#tabbrowser-arrowscrollbox[overflowing]
nutzt.
Ein Beisp. wäre:
-
Danke! Jetzt die neuere Version:
JavaScript
Alles anzeigen(function() { if (!window.gBrowser){ return; } // ■■ START UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ const bExecuteOnStart = false; //[true] Ausführung des Skripts beim Start zulassen | [false] Nur händische Aktivierung über Button const buttonIcon = "16synchronization-13neongreen.svg" // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed const buttonPath = "/chrome/css/image/" // Pfad zum Ordner der das Icon beinhaltet | Path to folder containing the icon const label = 'Alle Tabs neu laden' const tooltiptext = 'Alle Tabs neu laden' // ■■ END UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)) try { CustomizableUI.createWidget({ id: 'RelAllTabs', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); let props = { id: 'RelAllTabs', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: label, tooltiptext: tooltiptext, style: "list-style-image: url('" + curProfDir + buttonPath + buttonIcon + "');" }; for (let p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); } catch(e) { }; //-----menu------------------ const menuitem1 = document.createXULElement('menuitem'); menuitem1.id = 'RelAllTabs-con'; menuitem1.setAttribute('label', label); // menuitem1.setAttribute('tooltiptext', tooltiptext); menuitem1.classList.add('menuitem-iconic'); menuitem1.style = "list-style-image: url('" + curProfDir + buttonPath + buttonIcon + "');"; const refItem1 = document.getElementById('context_reloadTab'); refItem1.parentNode.insertBefore(menuitem1, refItem1.nextSibling); //-----menu------------------ function onReady() { console.log("Ready: ReloadAllTabsOnStart"); if( bExecuteOnStart ) { reloadAllTabs(true); } } if (window.readyState !== "loading") { setTimeout(onReady,300); } else { window.addEventListener("DOMContentLoaded", onReady ); } document.getElementById('RelAllTabs').addEventListener( "click", onClick ); // button document.getElementById('RelAllTabs-con').addEventListener( "click", onClick ); // menu function onClick(aEvent) { if( aEvent.button == 0 ) { reloadAllTabs(false); } } function reloadAllTabs(bTwice) { let tabs = gBrowser.tabContainer.allTabs; let loadFlags = Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE | Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_PROXY ; let nTimeout1 = 0; let nTimeout2 = 2000; if(bTwice) nTimeout1 = 1000; setTimeout(function() { for (let nr = 0, count = tabs.length; nr < count; nr++) { tabs[nr].linkedBrowser.reloadWithFlags(loadFlags); } }, nTimeout1); if(bTwice) { setTimeout(function() { for (let nr = 0, count = tabs.length; nr < count; nr++) { tabs[nr].linkedBrowser.reloadWithFlags(loadFlags); } }, nTimeout2); } } })();
-
Ich habe sonst mit dem Add-On 'Tab Reloader' alle Tabs geladen.
Das ist nun vorbei. Vielen Dank für das script. Habe es für mich umgebastelt, so dass es auch einen Menüeintrag im Tabdopdown unterhalb von 'Tab neu laden' anzeigt. Den Button kommentiere ich aus oder schiebe ihn einfach ins 'widget-overflow'.
JavaScript
Alles anzeigen(function() { if (!window.gBrowser){ return; } // ■■ START UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ const bExecuteOnStart = false; //[true] Ausführung des Skripts beim Start zulassen | [false] Nur händische Aktivierung über Button const buttonIcon = "16synchronization-13neongreen.svg" // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed const buttonPath = "/chrome/icons/" // Pfad zum Ordner der das Icon beinhaltet | Path to folder containing the icon const label = 'Alle Tabs neu laden' const tooltiptext = 'Alle Tabs neu laden' // ■■ END UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)) try { CustomizableUI.createWidget({ id: 'RelAllTabs', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); let props = { id: 'RelAllTabs', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: label, tooltiptext: tooltiptext, style: "list-style-image: url('" + curProfDir + buttonPath + buttonIcon + "');" }; for (let p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); } catch(e) { }; //-----menu------------------ const menuitem1 = document.createXULElement('menuitem'); menuitem1.id = 'RelAllTabs-con'; menuitem1.setAttribute('label', label); // menuitem1.setAttribute('tooltiptext', tooltiptext); menuitem1.classList.add('menuitem-iconic'); menuitem1.style = "list-style-image: url('" + curProfDir + buttonPath + buttonIcon + "');"; const refItem1 = document.getElementById('context_reloadTab'); refItem1.parentNode.insertBefore(menuitem1, refItem1.nextSibling); //-----menu------------------ if( bExecuteOnStart ) { reloadAllTabs(true); } document.getElementById('RelAllTabs').addEventListener( "click", onClick ); // button document.getElementById('RelAllTabs-con').addEventListener( "click", onClick ); // menu function onClick(aEvent) { if( aEvent.button == 0 ) { reloadAllTabs(false); } } function reloadAllTabs(bTwice) { let tabs = gBrowser.tabContainer.allTabs; let loadFlags = Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE | Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_PROXY ; let nTimeout1 = 0; let nTimeout2 = 2000; if(bTwice) nTimeout1 = 1000; setTimeout(function() { for (let nr = 0, count = tabs.length; nr < count; nr++) { tabs[nr].linkedBrowser.reloadWithFlags(loadFlags); } }, nTimeout1); if(bTwice) { setTimeout(function() { for (let nr = 0, count = tabs.length; nr < count; nr++) { tabs[nr].linkedBrowser.reloadWithFlags(loadFlags); } }, nTimeout2); } } })();
-
-
Sorry, aber du trittst gerade unser Engagement mit Füssen, deshalb keine Hilfe von mir mehr...
-
Das 4 Tg. alte Update hast du sicherlich schon gemacht?
Aber auch dort ist deine Änderung relevant:
Zeile 161
Zeile 250
-
Jetzt wäre nur noch der ungelesene Tab. Geht das überhaupt, den in einer 3. Hintergrundfarbe + Schrifteigenschaften anzupassen?
Ich nutze dieses Script:
uc.css.js/JS/unreadTabMods.uc.js at master · aminomancer/uc.css.jsA dark indigo CSS theme for Firefox and a large collection of privileged scripts to add new buttons, menus, and behaviors and eliminate nuisances. The theme is…github.com -
Hier noch eine komplizierte (und auch überflüssige) Lösung:
Spoiler anzeigen
Da ich die url-bar möglichst clean halte, habe ich die Icons so ausgeblendet:
CSS/*Fingerprinting, und andere Addons ausblenden*/ #page-action-buttons { display: none !important; }
Ich möchte aber nicht auf die Übersetzungsfunktion (und einen Button) verzichten. Deshalb verschiebe ich den Button mit diesem bekannten
script wohin ich möchte (wenn die Funktion gefordert ist, erscheint der Button an der definierten Stelle):
JavaScript
Alles anzeigen//B_Uebersetzung.uc.js (function() { if (!window.gBrowser) return; /* ------ */ const origID = "translations-button";// ID des originalen Buttons const label = "Website-Übersetzung"; const tooltiptext = "Website-Übersetzung"; /* ------ */ const menuButton = document.getElementById(origID), buttonID = 'ucjs_' + origID; if (!CustomizableUI.getPlacementOfWidget( buttonID )) { try { CustomizableUI.createWidget({ id: buttonID, type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem'); toolbaritem.id = buttonID; toolbaritem.className = 'chromeclass-toolbar-additional'; toolbaritem.setAttribute('label', label); return toolbaritem; } }); if (!CustomizableUI.getPlacementOfWidget( buttonID )) { menuButton.style.display = 'none'; return; }; } catch(e) { menuButton.style.display = 'none'; return; }; }; setTimeout(function() { document.getElementById(buttonID).appendChild(menuButton); menuButton.setAttribute('consumeanchor', buttonID); menuButton.setAttribute('label', label); menuButton.setAttribute('tooltiptext', tooltiptext); }, 0); }());
Da die Buttonicons noch zentriert werden müssen, könnte man diese so ähnlich anpassen:
CSS
Alles anzeigen/*B_Uebersetzung.css*/ #translations-button-icon { margin-top: -2.5px !important; margin-bottom: 2.5px !important; transform: scale(0.92, 0.92) !important; overflow: hidden !important; } #translations-button-locale { margin-top: -5px !important; overflow: hidden !important; } #translations-button-circle-arrows { margin-top: -2.5px !important; margin-bottom: 2.5px !important; overflow: hidden !important; }