1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. Mira_Belle

Beiträge von Mira_Belle

  • Ganze Seite nach unten oder oben Scrollen das zweite mal

    • Mira_Belle
    • 18. September 2025 um 10:12

    Ersetze Zeile menuitem.style.listStyleImage='url("chrome://browser/skin/downloads/downloads.svg")'; beide,
    durch menuitem.style.setProperty('--menuitem-icon','url("chrome://browser/skin/downloads/downloads.svg")');

  • Nach Update auf 143.0: Gibt es neue Standards im Code?

    • Mira_Belle
    • 18. September 2025 um 10:10

    Mal so auf die Schnelle.

    JavaScript
    //ScrollTopAndBottom.uc.js
    //Tab schließen zusätzlich eingefügt
    (function() {
    if (location.href !== 'chrome://browser/content/browser.xhtml') return;
    
        let menuitem = document.createXULElement('menuitem');
            menuitem.id = 'context-to-top';
            menuitem.classList.add('menuitem-iconic');
            menuitem.setAttribute('tooltiptext' , 'Zum Seitenanfang springen');
            menuitem.style.setProperty('--menuitem-icon','url("chrome://browser/skin/downloads/downloads.svg")');
            menuitem.addEventListener('click', () => {
                if (event.button == 0) {
                    ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo({ top: 0, left: 0, behavior: \"smooth\" }) ' , false);
                }
            });
    
        let refItem = document.getElementById('context-reload');
        refItem.parentNode.insertBefore(menuitem, refItem);
         
        })();
    
    
    (function() {
    if (location.href !== 'chrome://browser/content/browser.xhtml') return;
        let menuitem = document.createXULElement('menuitem');
            menuitem.id = 'context-to-bottom';
            menuitem.classList.add('menuitem-iconic');
            menuitem.setAttribute('tooltiptext' , 'Zum Seitenende springen');
            menuitem.style.setProperty('--menuitem-icon','url("chrome://browser/skin/downloads/downloads.svg")');
            menuitem.addEventListener('click', () => {
                if (event.button == 0) {
                    ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo({ top: 100000, left: 0, behavior: \"smooth\" }) ' , false);
                }
            });
    
        var css = '\
            #context-to-top { \
            --menuitem-icon: url("chrome://browser/skin/downloads/downloads.svg");\
            transform:rotate(180deg)!important;\
            }\
            #context-to-top,\
            #context-to-bottom {\
            order: -1 !important;\
            }';
    
        var cssUri = Services.io.newURI('data:text/css,' + encodeURIComponent(css), null, null);
        var SSS = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
        SSS.loadAndRegisterSheet(cssUri, SSS.AGENT_SHEET);
    
        let refItem = document.getElementById('context-reload');
        refItem.parentNode.insertBefore(menuitem, refItem);
         
        })();
    
    (function() {
    if (location.href !== 'chrome://browser/content/browser.xhtml') return;
        let menuitem = document.createXULElement('menuitem');
        menuitem.id = 'Tab schließen';
        menuitem.classList.add('menuitem-iconic');
        menuitem.setAttribute('tooltiptext' , 'Tab schließen');
        menuitem.style.setProperty('--menuitem-icon','url(chrome://global/skin/icons/close.svg)');
        menuitem.addEventListener('click', () => {
            if (event.button == 0) {
                BrowserCommands.closeTabOrWindow();
            }
        });
    
        let refItem = document.getElementById('context-reload');
        refItem.parentNode.insertBefore(menuitem, refItem);
         
        })();
    Alles anzeigen
  • drei Strich Menü > Erweiterung, warum der Umweg ?

    • Mira_Belle
    • 18. September 2025 um 09:07

    :/ Warum nicht einfach about:addons in die Adressleiste eingeben, wenn man genau dort hin will?
    Wenn Du auch Skripte verwendest, könntest Du Dir auch einen Button "machen". QuickLink so zu sagen,
    oder ich, oder wer anders.


    JavaScript
    // JavaScript Document
    // QuickLinkButton-about:addons.uc.js  =  Button_for_QuickLinks-about.uc.js
    
    /* ----------------------------------------------------------------------------------- */
    /*     Zu beachten ist, dass die Grafiken sich im richtigen Ordner befinden müssen     */
    /*            %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons             */
    /* ----------------------------------------------------------------------------------- */
    
    (function() {
      
       if (location.href !== 'chrome://browser/content/browser.xhtml') return;  
       try {
          CustomizableUI.createWidget({
             id: 'link-button-about',
             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: 'link-button-about',
                   class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                   removable: 'true',
                   label: 'Quicklink: about:addons',
                   tooltiptext: 'Quicklink:\nabout:addons',
                };            
                for (var p in props) {
                   toolbaritem.setAttribute(p, props[p]);
                }           
    
                return toolbaritem; 
             }      
          });
       } catch(e) {};
    
       document.getElementById('link-button-about').addEventListener('click', event => {
          if (event.button === 0) {
             openTrustedLinkIn("about:about", "tab")
          }
       });
    
       // Pfad zum Profilordner
       let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
       // Pfad in den entsprechenden Unterordner
       let IconPath = '/chrome/icons/';
       // Name & Dateiendung des anzuzeigenden Symbols!
       let ButtonIcon = "firefox.svg";
       // Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann
       let img = new Image();
       img.src = "file:" + ProfilePath + IconPath + ButtonIcon;
       
       img.onload = function() {
          // Wenn die Grafik geladen werden kann, setze das listStyleImage
          document.getElementById('link-button-about').style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")';
          document.getElementById('link-button-about').style.fill = '#f1b508';    // Hier wird die Iconfarbe direkt gesetzt
       };
       
       img.onerror = function() {
          // Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon
          document.getElementById('link-button-about').style.listStyleImage = 'url("chrome://browser/skin/flame.svg")';
          document.getElementById('link-button-about').style.fill = 'red';    // Hier wird die Iconfarbe direkt gesetzt
       };
    })();
    Alles anzeigen
  • Nach Update auf 143.0: Gibt es neue Standards im Code?

    • Mira_Belle
    • 18. September 2025 um 09:02

    Poste hier Deine Skripte, die bei Dir nicht mehr funktionieren, bitte.
    Und ja, es gibt da einige Änderungen, aber die kann ich jetzt nicht so einfach aus dem Ärmel schütteln,
    ich muss sehen, eventuell mit meinen vergleichen, dann kann ich sie korrigieren.

  • FF143 - Foldericons in Unterordnern werden nicht mehr zugewiesen

    • Mira_Belle
    • 18. September 2025 um 00:05
    Zitat von Horstmann

    Das Problem hatte ich auch schon, ähnlich wie hier diskutiert.

    Danke.

    Dann würde so etwas gehen:

    CSS
    :root {
        --uno: url("file:///C:/Users/Mira/AppData/Roaming/Mozilla/Firefox/Profiles/Neu/chrome/icons/folder-plus.svg") !important;
        --dos: url("file:///C:/Users/Mira/AppData/Roaming/Mozilla/Firefox/Profiles/Neu/chrome/icons/default-browser-red.svg") !important;
    }
    
    treechildren::-moz-tree-image(container),
    .bookmark-item[container="true"] {
    	list-style-image: url("../icons/folder.svg") !important;
        --bookmark-item-icon: image-set(var(--uno)) !important; 
    }
    
    #bookmarksToolbarFolderMenu {
        --menuitem-icon: image-set(var(--dos)) !important;
    }
    Alles anzeigen

    Wobei auch das eben auch kein allgemein gültiges CSS ist!
    Auch da muss mit dem absoluten Pfad gearbeitet werden.

    Grrrr, das ist doch

  • FF143 - Foldericons in Unterordnern werden nicht mehr zugewiesen

    • Mira_Belle
    • 17. September 2025 um 22:29
    Zitat von harff182

    Ich wollte/will mein eigenes Icon wiederhaben, und das habbich ja auch ;)

    Das ist schön und freut mich für Dich.
    Nur ist das keine allgemeine Lösung, an der wir uns gerade versuchen.

    @Horstmann Eventuell könnte da was mit content gehen,
    aber ich finde kein Unterscheidungsmerkmal für Symbole von Links!
    Denn wenn ich .bookmark-item > img.menu-icon oder so, ausblende,
    sind nicht nur die "Ordnersymbole" weg, sondern eben auch die Icons von den Pages.

  • FF143 - Foldericons in Unterordnern werden nicht mehr zugewiesen

    • Mira_Belle
    • 17. September 2025 um 21:32

    @Horstmann Das mit der Variabel habe ich auch schon ausprobiert,
    doch leider gibt es in CSS keine Möglichkeit, Variablen zu verketten oder Pfade dynamisch zu ergänzen.
    url(var(--xxx) + "icons/folder_10.png") oder ähnliche Konstruktionen sind in CSS nicht gültig.

    Wäre echt gut gewesen.
    Bleibt also nur interne Symbole zu verwenden oder halt den absoluten Pfad zu nutzen. Echt doof.
    Oder mit Kanonen auf Spatzen ..., aber das würde ja viel zu weit gehen und für User ohne JS ...
    Ach was, lassen wir das.

    harff182
    Oder, wie in diesem Fall, weil es ja im Grunde nur um "Farbe" geht, die Symbole einzufärben.
    Z.B. .bookmark-item[container] { fill: red !important; } 

  • FF143 - Foldericons in Unterordnern werden nicht mehr zugewiesen

    • Mira_Belle
    • 17. September 2025 um 19:23

    :?: :/ Schrieb ich nicht, dass das übertrieben ist?

    Und meine Antwort mit dem JS bezog sich ja auch nur auf Horstmanns Fragestellung ....
    ... eigene Icons mit relativem Dateipfad ...

    Also einfach nur hypothetischer Natur, aber eben mit Kanonen auf Spatzen und so. ;)

  • FF143 - Foldericons in Unterordnern werden nicht mehr zugewiesen

    • Mira_Belle
    • 17. September 2025 um 19:15
    Zitat von 2002Andreas

    Nur um den Pfad zu ändern :/

    Ja, ich weiß, ist schon irgendwie "overdone".

  • Gelbe Ordner Farbe wieder verschwunden

    • Mira_Belle
    • 17. September 2025 um 18:57

    Meine Antwort war wohl etwas voreilig!

    Zu aller erst musst Du mal herausfinden, mit welchem Profil Deine andere Software zusammen arbeitet!

    Erst danach kann dieses Profil auf Vordermann gebracht werden.

  • FF143 - Foldericons in Unterordnern werden nicht mehr zugewiesen

    • Mira_Belle
    • 17. September 2025 um 18:33
    Zitat von Horstmann

    Aber - es geht um eigene Icons mit relativem Dateipfad,

    Ich weiß und bin noch am Testen.

    Sorry, geht wohl nicht!
    Mir fiele da nur noch der Weg über JS dann ein.

  • FF143 - Foldericons in Unterordnern werden nicht mehr zugewiesen

    • Mira_Belle
    • 17. September 2025 um 17:48

    @Horstmann Das ...

    CSS
    /* Standard-Ordner-Icon festlegen */
    
    .bookmark-item[container] {
    	--menuitem-icon: url('chrome://global/skin/icons/defaultFavicon.svg') !important;
    }

    ... funktioniert!

  • Meine "Vertical Add-on Bar" funktioniert mit Fx143 nicht mehr?!

    • Mira_Belle
    • 17. September 2025 um 17:42
    Zitat von omar1979

    👍‍ vielen Dank. Funkt.

    Ja, was dachtest Du denn? Zweifelst Du etwa? :D

  • Gelbe Ordner Farbe wieder verschwunden

    • Mira_Belle
    • 17. September 2025 um 17:41

    .DeJaVu Es ist mir egal, wo was gestrandet ist! Das CSS ist Murks und ich werde es nicht bereinigen und auf den aktuellen Stand bringen. Zumal ich ja auch gar nicht weis, was Tec1do von den Veränderungen eigentlich haben will.
    Wie schaut Dein Firefox aus? Screenshot, wäre ganz gut.

    2002Andreas Ich bin mir absolut sicher, dass da so einige Leichen im Keller sind.
    Aber, ohne dass wir wissen, wie er sich seinen Firefox vorstellt, tappen wir nur im Dunklen.

  • Gelbe Ordner Farbe wieder verschwunden

    • Mira_Belle
    • 17. September 2025 um 16:21

    2002Andreas & Tec1do Es sind aber einige Fehler im CSS!

    CSS
    /* Windows 7 specific */
    Media (-moz-os-version: windows-win7) {
    .tabbrowser-tab {
    background-color: transparent !important;
    border: none !important;
    }
    Media (-moz-windows-default-theme) {
    .tabbrowser-tab:not(:-moz-lwtheme) {
    background-color: transparent !important;
    border: none !important;
    }
    }
    Alles anzeigen

    &

    CSS
    /* OS-specific color variables */
    Media screen and (-moz-windows-theme) {
    :root {
    }
    }
    Media not screen and (-moz-windows-theme) {
    :root {
    }
    }

    Ist der Wurm drinnen! Da mault VS-Code!

    Und so schaut's schon besser aus.

    CSS
    /* Windows 7 specific */
    @Media (-moz-os-version: windows-win7) {
        .tabbrowser-tab {
            background-color: transparent !important;
        border: none !important;
        }
    }
    @Media (-moz-windows-default-theme) {
        .tabbrowser-tab:not(:-moz-lwtheme) {
            background-color: transparent !important;
            border: none !important;
        }
    }
    Alles anzeigen

    &

    CSS
    /* OS-specific color variables */
    @media screen and (-moz-windows-theme) {
      :root {
        /* Hier deine Variablen für Windows-Themes einfügen */
      }
    }
    @media not screen and (-moz-windows-theme) {
      :root {
        /* Hier deine Variablen für Nicht-Windows-Themes einfügen */
      }
    }
    Alles anzeigen

    Wichtig!
    Keine leeren Regelsätze verwenden.

    Entweder das wird komplett gelöscht, weil es ja eigentlich gar nicht gebraucht wird,
    oder eben "etwas" eintragen.

    Gilt im übrigen auch für " /* Windows 7 specific */ "!
    Auch dieser Code kann eigentlich gelöscht werden!

    Tec1do Du nutzt doch W10 oder W11, oder?

  • Gelbe Ordner Farbe wieder verschwunden

    • Mira_Belle
    • 17. September 2025 um 15:52

    Das CSS von 2002Andreas aus Beitrag #6 funktioniert einwandfrei!

    Bitte nach dem Entpacken umbenennen.

    User.zip

  • UserCSSLoader (2025)

    • Mira_Belle
    • 17. September 2025 um 09:26

    Neues Skript!

    Windows Explorer ist ohne Parameter

    Der Chrome- und CSS-Ordner werden im Explorer geöffnet.

    Windows Explorer ist mit Parameter let fileManagerParam = "/select,";

    Und auch hier, der Chrome- und CSS-Ordner werden im Explorer geöffnet.

    Es spielt also keine Rolle, ob ich einen Parameter angebe oder nicht.
    Was die Einschränkungen sein sollen, mir ist nichts aufgefallen.
    Der Explorer verhält sich gleich.

  • FF143 - About-button weg

    • Mira_Belle
    • 16. September 2025 um 19:27

    2002Andreas Tatsache.
    Und ich habe da was verwechselt. Aber, schon ist's korrigiert. Danke.

  • FF143 - About-button weg

    • Mira_Belle
    • 16. September 2025 um 19:16
    JavaScript
    // 12a_aboutname-button.uc.js
    // Button für About-Dialog
    
    (function() {
    
        try {
        
    //      ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
            
            CustomizableUI.createWidget({
                id: "aboutname",
                defaultArea: CustomizableUI.AREA_NAVBAR,
                removable: true,
                label: "aboutname",
                tooltiptext: "Über Firefox",
        
                onClick: function() {
                    openAboutDialog();
                },
        
        
                onCreated: function(aNode) {
        
        //			"currentProfileDirectory"-Lösung:
                    var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
                    var aboutname_icon = 'url("file:///' + currentProfileDirectory + '/chrome/icons/firefox_21865_16.jpg")';
                    aNode.style.listStyleImage = aboutname_icon;
                    
                    return aNode;
                }
            });
        } catch (e) {
            Components.utils.reportError(e);
        };
        
        })();
    Alles anzeigen

    Oh. =O

    1. Sören war schneller.
    2. Anderer Ansatz.

    Funktioniert es?

  • Skript zum Anpassen der Scrollbar funktioniert nicht mehr richtig

    • Mira_Belle
    • 15. September 2025 um 19:34

    Eine etwas aufgeräumtere Version für den FF 143.

    JavaScript
    // Scrollbar.uc.js
    
    "use strict";
    /* Custom Scrollbars for Firefox ********************************************************************************************* */
    /*																															   */
    /* Version: v2.0.8.uc.js for Firefox 143+ 																					   */
    /*																															   */
    /* Scrollbar.v2.0.8.js	  https://www.camp-firefox.de/forum/thema/139766/?postID=1279113#post1279113						   */
    /*																															   */
    /* ******************************************************************************************************************************
    
    	README
    
    		about:config >
    			widget.windows.overlay-scrollbars.enabled > false (Windows)
    			widget.gtk.overlay-scrollbars.enabled > false (Linux)
    		[!] The above preferences have to be set to 'false' for this code to work
    		[!] Die genannten Einstellungen müssen auf 'false' gesetzt werden, damit dieser Code funktioniert.
    
    			/* ----------------------------------------------------------------------------------- */
    			/*     Zu beachten ist, dass die Grafiken sich im richtigen Ordner befinden müssen     */
    			/*            %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons             */
    			/*                                                                                     */
    			/*   Auch müssen die Dateinamen im Skript mit jenen im Ordner "icons" übereinstimmen   */
    			/* ----------------------------------------------------------------------------------- */
    
    /* *************************************************************************************************************************** */
    
    (function() {
    
      /* **** Konfiguration **** */
    
      // PROFILE PHATH "CALCULATE"
      let ProfileDirectory = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
    
      // CUSTOM SCROLLBAR COLORS/GRADIENTS
      // - scrollbar
      let cs_scrollbar_arrows_color = 						"#bfbfbf"				   ;// "#7c7c7c"	"#1e90ff"
      let cs_scrollbar_arrows_hover_color = 				"#ffa600"				   ;// "#ffa600"	"#bebebe"
      // - background
      let cs_background_color = 							"#5b5b66"				   ;// default: cs_background_color = "#DDDDDD"	/ "#AEC5FA"
      let cs_background_roundness = 						0							;// default: cs_background_roundness = 0 / in px	/ 9
      let cs_ignore_color_gradients = 						true						;// default: cs_ignore_color_gradients = false / true 'flat' scrollbars
      // - corner
      let cs_corner_background_color = 						"#bfbfbf"				   ;// default: cs_corner_background_color = "#DDDDDD" / - corner	/ "#CCCCCC"
      // - thumb/slider
      let cs_thumb_color = 									"#bfbfbf"				   ;// default: cs_thumb_color = "#33CCFF" / thumb/slider
      let cs_thumb_hover_color = 							"#ffa600"				   ;// default: cs_thumb_hover_color = "#66FFFF"
      let cs_thumb_border_color = 							"#5b5b66"				   ;// default: cs_thumb_border_color = "#33CCFF"
      let cs_thumb_border = 								1							;// default: cs_thumb_border = 0 / in px 1
      let cs_thumb_roundness = 								9							;// default: cs_thumb_roundness = 0 / in px 9
      let cs_thumb_minimal_size = 							17							;// default: cs_thumb_minimal_size = 17 / in px
      // - buttons
      let cs_buttons_color = 								"#5b5b66"				   ;// default: cs_buttons_color = "#66FFFF" "Bahama Blue";/ buttons
      let cs_buttons_hover_color = 							"#5b5b66"				   ;// default: cs_buttons_hover_color = "#33CCFF"	/ "#bfffff"
      let cs_button_size =									17							;// in px // default: cs_button_size = 17 / in px
      let cs_buttons_border = 								2							;// default: cs_buttons_border = 0 / in px
      let cs_buttons_roundness = 							0							;// default: cs_buttons_roundness = 0 / in px
    
      /* **** Ende Konfiguration **** */
    
    /* *************************************************************************************************************************** */
      // FIXED SCROLL BAR COLORS/COLOR GRADIENTS
    	// - fixed values for background image gradients
    	let GRADIENT_VERTICAL = 							"linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)";
    	let GRADIENT_HORINZONTAL = 							"linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)";
    	// - background  
    	let cs_background_image_vertical = 					GRADIENT_VERTICAL			;// default: cs_background_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
    	let cs_background_image_horizontal = 				GRADIENT_HORINZONTAL		;// default: cs_background_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
    	// - corner
    	let cs_corner_background_image = 					"linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.5) 50%,transparent 70%),linear-gradient(-45deg,transparent 30%,rgba(255,255,255,0.5) 50%,transparent 70%)"						;// default: cs_corner_background_image = "linear-gradient(45deg,transparent 30%,rgba(255,255,255,0.5) 50%,transparent 70%),linear-gradient(-45deg,transparent 30%,rgba(255,255,255,0.5) 50%,transparent 70%)"
    	// - thumb/slider
    	let cs_thumb_image_vertical = 						GRADIENT_VERTICAL			;// default: cs_thumb_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
    	let cs_thumb_image_horizontal = 					GRADIENT_HORINZONTAL		;// default: cs_thumb_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
    	let cs_thumb_hover_image_vertical = 				GRADIENT_VERTICAL			;// default: cs_thumb_hover_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
    	let cs_thumb_hover_image_horizontal = 				GRADIENT_HORINZONTAL		;// default: cs_thumb_hover_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
    	// - buttons
    	let cs_buttons_image_vertical = 					GRADIENT_VERTICAL			;// default: cs_buttons_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
    	let cs_buttons_image_horizontal = 					GRADIENT_HORINZONTAL		;// default: cs_buttons_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
    	let cs_buttons_hover_image_vertical = 				GRADIENT_VERTICAL			;// default: cs_buttons_hover_image_vertical = "linear-gradient(to right,transparent,rgba(255,255,255,0.5),transparent)"
    	let cs_buttons_hover_image_horizontal =				GRADIENT_HORINZONTAL		;// default: cs_buttons_hover_image_horizontal = "linear-gradient(to bottom,transparent,rgba(255,255,255,0.5),transparent)"
    
      // unset background image color gradients -> flat scrollbars
      if(cs_ignore_color_gradients === true)
    	cs_background_image_vertical
    	= cs_background_image_horizontal
    	= cs_corner_background_image
    	= cs_thumb_image_vertical
    	= cs_thumb_image_horizontal
    	= cs_thumb_hover_image_vertical
    	= cs_thumb_hover_image_horizontal
    	= cs_buttons_image_vertical
    	= cs_buttons_image_horizontal
    	= cs_buttons_hover_image_vertical
    	= cs_buttons_hover_image_horizontal
    	= "unset";
    
      let custom_scrollbars_code='';
      let custom_scrollbar_arrows_code='';
    
    	custom_scrollbars_code=`
    		scrollcorner,
      		scrollbar > slider, 
    		scrollbar > slider > thumb, 
    		scrollbar > scrollbarbutton {
    		/*  appearance: auto; */
    		  -moz-default-appearance: none !important;
    		}
    		scrollbar > slider {
    		  background-color: ${cs_background_color} !important;
    		  background-image: ${cs_background_image_horizontal} !important;
    		  border-radius: ${cs_background_roundness}px !important;
    		}
    		scrollbar[vertical] > slider {
    		  background-image: ${cs_background_image_vertical} !important;
    		  border-radius: ${cs_background_roundness}px !important;
    		}
    		scrollcorner {
    		  background-color: ${cs_corner_background_color} !important;
    		  background-image: ${cs_corner_background_image} !important;
    		}
    		scrollbar > slider > thumb {
    		  background-color: ${cs_thumb_color} !important;
    		  border-radius: ${cs_thumb_roundness}px !important;
    		  box-shadow: inset 0 0 0 ${cs_thumb_border}px ${cs_thumb_border_color} !important;
    		}
    		scrollbar[vertical] > slider > thumb {
    		  background-image: ${cs_thumb_image_vertical} !important;
    		  min-height: ${cs_thumb_minimal_size}px !important;
    		}
    		scrollbar > slider > thumb {
    		  background-image: ${cs_thumb_image_horizontal} !important;
    		  min-width: ${cs_thumb_minimal_size}px !important;
    		}
    		scrollbar > slider > thumb:hover, scrollbar > slider > thumb:active {
    		  background-color: ${cs_thumb_hover_color} !important;
    		}
    		scrollbar > slider > thumb[vertical]:hover, scrollbar > slider > thumb[vertical]:active {
    		  background-image: ${cs_thumb_hover_image_vertical} !important;
    		}
    		scrollbar > slider > thumb[horizontal]:hover, scrollbar > slider > thumb[horizontal]:active {
    		  background-image: ${cs_thumb_hover_image_horizontal} !important;
    		}
    		scrollbar > scrollbarbutton {
    		  background-color: ${cs_buttons_color} !important;
    		  border-radius: ${cs_buttons_roundness}px !important;
    		  box-shadow: inset 0 0 0 ${cs_buttons_border}px !important;
    		  height: 17px !important;
    		  width: 17px !important;
    		}
    		scrollbar[vertical] scrollbarbutton {
    		  background-image: ${cs_buttons_image_vertical} !important;
    		}
    		scrollbar[horizontal] scrollbarbutton {
    		  background-image: ${cs_buttons_image_horizontal} !important;
    		}
    		scrollbar > scrollbarbutton:hover {
    		  background-color: ${cs_buttons_hover_color} !important;
    		}
    		scrollbar[vertical] scrollbarbutton:hover {
    		  background-image: ${cs_buttons_hover_image_vertical} !important;
    		}
    		scrollbar[horizontal] scrollbarbutton:hover {
    		  background-image: ${cs_buttons_hover_image_horizontal} !important;
    		}
    	`;
    
    	custom_scrollbar_arrows_code=`
    		scrollbar > scrollbarbutton {
    		  background-repeat: no-repeat !important;
    		  background-position: center center !important;
    		}
    		scrollbar[vertical] > scrollbarbutton[type="decrement"] {
    		  background-image: url("${ProfileDirectory}/Pfeil-hoch.svg") !important;
    		    -moz-context-properties: fill, fill-opacity;
                fill: ${cs_scrollbar_arrows_color} !important;
                fill-opacity: 1 !important;
    		}
    		scrollbar[vertical] > scrollbarbutton[type="increment"] {
    		  background-image: url("${ProfileDirectory}/Pfeil-runter.svg") !important;
    		    -moz-context-properties: fill, fill-opacity;
                fill: ${cs_scrollbar_arrows_color} !important;
                fill-opacity: 1 !important;
    		}
    		scrollbar > scrollbarbutton[type="decrement"] {
    		  background-image: url("${ProfileDirectory}/Pfeil-links.svg") !important;
    		    -moz-context-properties: fill, fill-opacity;
                fill: ${cs_scrollbar_arrows_color} !important;
                fill-opacity: 1 !important;
    		}
    		scrollbar > scrollbarbutton[type="increment"] {
    		  background-image: url("${ProfileDirectory}/Pfeil-rechts.svg") !important;
    		    -moz-context-properties: fill, fill-opacity;
                fill: ${cs_scrollbar_arrows_color} !important;
                fill-opacity: 1 !important;
    		}
    
    		/* Hover */
    
    		scrollbar[vertical] > scrollbarbutton[type="decrement"]:hover {
    		  background-image: url("${ProfileDirectory}/Pfeil-hoch.svg") !important;
    		    -moz-context-properties: fill, fill-opacity;
                fill: ${cs_scrollbar_arrows_hover_color} !important;
                fill-opacity: 1 !important;
    		}
    		scrollbar[vertical] > scrollbarbutton[type="increment"]:hover {
    		  background-image: url("${ProfileDirectory}/Pfeil-runter.svg") !important;
    		    -moz-context-properties: fill, fill-opacity;
                fill: ${cs_scrollbar_arrows_hover_color} !important;
                fill-opacity: 1 !important;
    		}
    		scrollbar > scrollbarbutton[type="decrement"]:hover {
    		  background-image: url("${ProfileDirectory}/Pfeil-links.svg") !important;
    		    -moz-context-properties: fill, fill-opacity;
                fill: ${cs_scrollbar_arrows_hover_color} !important;
                fill-opacity: 1 !important;
    		}
    		scrollbar > scrollbarbutton[type="increment"]:hover {
    		  background-image: url("${ProfileDirectory}/Pfeil-rechts.svg") !important;
    		    -moz-context-properties: fill, fill-opacity;
                fill: ${cs_scrollbar_arrows_hover_color} !important;
                fill-opacity: 1 !important;
    		}
    
    		scrollbar > scrollbarbutton {
    			min-width: ${cs_button_size}px !important;
    			min-height: ${cs_button_size}px !important;
    		}
    	`;
    
    	Components.classes["@mozilla.org/content/style-sheet-service;1"]
    		.getService(Components.interfaces.nsIStyleSheetService)
    			.loadAndRegisterSheet(Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
    				${custom_scrollbars_code}
    				${custom_scrollbar_arrows_code}
    			`), null, null),
    	Components.classes["@mozilla.org/content/style-sheet-service;1"]
    		.getService(Components.interfaces.nsIStyleSheetService).AGENT_SHEET);
    
    })();
    Alles anzeigen

Unterstütze uns!

Jährlich (2026)

35,3 %

35,3% (273,24 von 775 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon