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. 2002Andreas

Beiträge von 2002Andreas

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 22:00

    Nur meine pers. Meinung!

    Zitat von Mira_Belle

    Wann darf KI genutzt werden?

    Immer, wenn man sich davon Hilfe verspricht.

    Und wenn du es nutzt, und das Ergebnis stimmt...dann hast du es doch gut gemacht;)

    Zitat von Mira_Belle

    Darf überhaupt KI genutzt werden?

    Warum nicht, wozu gibt es das denn sonst:/

    Ich pers. kenne mich aber damit gar nicht aus, ergo nutze ich es auch nicht.

  • Titelleiste color nicht alle Buttons gleiche Farbe

    • 2002Andreas
    • 3. August 2025 um 21:54
    Zitat von milupo

    ganz links in der Tableiste die Firefox-View-Schaltfläche zu sein

    Hatte ich dann später auch bemerkt, und darum meinen pauschalen Code gepostet.

    Zitat von Sören Hentzschel

    Das & an der Stelle ist nicht notwendig.

    Danke für den Hinweis.

  • Titelleiste color nicht alle Buttons gleiche Farbe

    • 2002Andreas
    • 3. August 2025 um 20:08
    Zitat von aalbani

    ich nutze jetzt 141 Release und gut ist...,

    Funktioniert es denn jetzt?

    Ansonsten teste bitte:

    CSS
    #TabsToolbar .toolbarbutton-1 {
      & > .toolbarbutton-icon {
        fill: white !important;
      }
    }
  • Titelleiste color nicht alle Buttons gleiche Farbe

    • 2002Andreas
    • 3. August 2025 um 19:58

    Ergänzend, das ist die Titelleiste:

  • Titelleiste color nicht alle Buttons gleiche Farbe

    • 2002Andreas
    • 3. August 2025 um 19:52
    Zitat von aalbani

    Im Firefox 141 Release funktioniert das

    Dann mach mal das Update auf die aktuelle Firefox Version 141.0


    Fx 140...funktioniert einwandfrei

  • Titelleiste color nicht alle Buttons gleiche Farbe

    • 2002Andreas
    • 3. August 2025 um 19:49
    Zitat von aalbani

    um die Tableiste..

    Aber dein Code spricht sie nicht an.

    Siehe Beitrag Nr. 6

  • Titelleiste color nicht alle Buttons gleiche Farbe

    • 2002Andreas
    • 3. August 2025 um 19:46

    CSS
    image.toolbarbutton-icon[label="Sidebars"],
    #tabs-newtab-button > image {
      fill: white !important;
    }
  • Titelleiste color nicht alle Buttons gleiche Farbe

    • 2002Andreas
    • 3. August 2025 um 19:42
    Zitat von aalbani

    Aber es werden nicht alle buttons eingefärbt

    Dein Screenshot zeigt ja auch die Tableiste, kann also nicht funktionieren;)

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 18:24
    Zitat von FuchsFan

    Ich habe nur in Zeile 14 "Button" eingetragen.

    Ok, dann funktioniert es, danke.

    Ich hatte gedacht, auch der Button mit dem Text lässt sich verschieben.;)

  • Symbolabstände in einigen Menüs und Kontextmenüs zu groß

    • 2002Andreas
    • 3. August 2025 um 17:16
    Zitat von bananovic

    Aber an dem Abstandsproblem hat sich nichts geändert.

    Nutzt du noch andere CSS-Codes?

    In den Screenshots in Beitrag Nr. 21 ist zu erkennen, dass die Abstände passen.

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 17:10
    Zitat von Mira_Belle

    verschiebbar und mit Symbol.

    Hallo Mira.

    Funktioniert hier nicht, und ein eigenes Symbol ist auch nicht vorhanden:/

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 17:03
    Zitat von Mira_Belle

    jetzt noch verschiebbar bekommt, weiß ich noch nicht.

    Ich weiß nicht, ob dir das dafür weiterhilft.:/

    Aber aborix hatte das vor Jahren mal für ein anderes Skript gemacht.

    Hier mal der obere Abschnitt aus dem Skript:

    JavaScript
    // ==UserScript==
    // @name           extras_config_menu.uc.js
    // @compatibility  Firefox 137
    // @include        main
    // @version        1.0.20190504
    // @edit           @aborix 7/21 CSS Dateien als Untermenü eingefügt 
    // @edit           @2002Andreas 8/21 Shadow CSS Dateien als Untermenü + Ordner eingefügt
    // @edit 		   @BrokenHeart	1/25 Anpass. wg. Änderung der Sicherheitsrichtlinien bei 'inlineEvents'
    // ==/UserScript==
    
    var uProfMenu = {
      // Beginn der Konfiguration
      // In der folgenden Zeile (11) den Pfad zum Texteditor eintragen (unter Ubuntu 10.04 z.B.: '/usr/bin/gedit'). Bei Fehleintrag wird view_source.editor.path ausgelesen:
      //TextOpenExe: 'C:\\Program Files (x86)\\Notepad++\\notepad++.exe',
      TextOpenExe: 'C:\\Program Files\\Notepad++\\notepad++.exe',
      // Falls gewuenscht, in Zeile 15 einen Dateimanager eintragen (komplett leer lassen fuer Dateimanager des Systems) Beispiele:
      // vFileManager: 'E:\\Total Commander\\Totalcmd.exe',
      // vFileManager: 'C:\\Program Files (x86)\\FreeCommander\\FreeCommander.exe'
      vFileManager: '',
      // In der folgenden Zeile (19) 'menu' eintragen, damit es unter "Extras" als Menue erscheint, sonst die id des gewuenschten
      // Elements *nach* dem der Button erscheinen soll (z.B. 'urlbar', 'searchbar', 'undoclosetab-button','abp-toolbarbutton')
      // Bitte nicht so etwas wie die Menue- oder Navigationsleiste (sondern einen Menuepunkt oder einen Button mit id auf diesen Leisten) eintragen:
     warpmenuto: '',
     // Unter Linux sollte/kann versucht werden, die userChromeJS-Skripte zu sortieren, unter Windows ist das evtl. nicht noetig (die Sortierung wird Gross- und Kleinschreibung *nicht* beruecksichtigen - dazu wird die sort()-Funktion entsprechend mit einer Vergleichsfunktion aufgerufen)
      sortScripts: 0,   // 1 zum Erzwingen der Sortierung
      // Einbindung GM-Skripte-Ordner (0: nein, 1: Greasemonkey [Profil-Verzeichnis], 2: UserScriptLoader [Chrome-Verzeichnis], 3: Scriptish [Profil-Verzeichnis]):
      gmOrdner: 0,
      // Einbindung CSS-Ordner (0: nein, 1: UserCSSLoader-Ordner im Chrome-Verzeichnis):
      cssOrdner: 1,
      // In Zeile 30 gueltige about:Adressen eintragen, die ebenfalls aufgerufen werden sollen.
      // - Zum Ausblenden: abouts: [],
      // - Damit die about:-Seiten nicht als Untermenue, sondern direkt als Menuepunkte aufgefuehrt werden, muss das erste Element '0' sein:
      // abouts: ['0','about:about','about:addons','about:cache','about:config','about:support'],
      abouts: ['about:about','about:debugging#/runtime/this-firefox','about:profiles','about:cache','about:crashes','about:home','about:logins','about:memory','about:support','about:performance'],
      // Die normalen Firefox-Einstellungen auch zur Verfuegung stellen (0: nein, 1: ja):
      showNormalPrefs: 0,
      // Stellt "Skriptliste in Zwischenablage" zur Verfuegung (1: ja, 2: mit getrennter Nummerierung, 3: mit gemeinsamer Nummerierung) oder nicht (0):
      enableScriptsToClip: 1,
      // Um den Eintrag "Neustart" zu erzwingen (falls z.B. das andere Skript zu spaet eingebunden und nicht erkannt wird), auf 1 setzen:
      enableRestart: 0,
      // Ende der Konfiguration
    
      init: function() {
    	  if (location.href !== 'chrome://browser/content/browser.xhtml')    return;
        if (this.warpmenuto.toLowerCase() == 'menu') {
          // aufgrund des gewaehlten warpmenuto als Untermenue von Extras anlegen
          var zielmenu = document.getElementById('menu_ToolsPopup');
          if (zielmenu==null) {
            userChrome.log("extras_config_menu.uc.js findet Zielmenue nicht, evtl. weil ein anderes Fenster als das Hauptfenster " +
                           "geoeffnet wurde. Falls dieser Fehler auch im Hauptfenster auftritt, bitte die vorgehende Definition " +
                           "von 'zielmenu' kontrollieren.");
           return
          }
          var menu = zielmenu.appendChild(this.createME("menu","Config Men\u00FC",0,0,"ExtraConfigMenu"));
          menu.setAttribute("class","menu-iconic");
          menu.setAttribute("ondblclick","openTrustedLinkIn('about:config', 'tab');");
         } else {
    		 
    	/*	 
          // als Button nach dem per warpmenuto gewaehlten Element anlegen (s. Kommentar ueber warpmenuto im Konfigurationsabschnitt)
          var zielmenu = document.getElementById(this.warpmenuto);
          if (zielmenu==null) {
            userChrome.log("extras_config_menu.uc.js findet Zielpunkt '"+this.warpmenuto+"' nicht, evtl. weil ein anderes Fenster als das Hauptfenster " +
                           "geoeffnet wurde. Falls dieser Fehler auch im Hauptfenster auftritt, bitte die vorgehende Definition " +
                           "von 'warpmenuto' kontrollieren.");
            return;
          }
          var menu = zielmenu.parentNode.insertBefore(document.createXULElement('toolbarbutton'), zielmenu.nextSibling);
          menu.setAttribute("id", "ExtraConfigMenu-button");
          menu.setAttribute("class", "toolbarbutton-1");
          menu.setAttribute("type", "menu");
          menu.setAttribute("tooltiptext", "Extra Config Menü\nMittelklick \öffnet about:config");
          menu.setAttribute("onclick", "if (event.button === 2 && !this.open) {openTrustedLinkIn('about:config','tab')};");
        }
    	*/
    	
    	 // als verschiebbaren Button anlegen
          if (window.__SSi == "window0") {
            CustomizableUI.createWidget({
              id: "ExtraConfigMenu-button",
              defaultArea: CustomizableUI.AREA_NAVBAR,
              label: "Extra Config Menü",
              tooltiptext: "Extra Config Menü\nRechtsklick \öffnet about:config"
            });
    		
          }
          var menu = document.getElementById("ExtraConfigMenu-button");
          menu.setAttribute("type", "menu");
    	  menu.addEventListener('click', function(event) {
    			if (event.button == 2 && !this.open) { 
    				openTrustedLinkIn("about:config", "tab");
    				event.preventDefault();
    			};
    	 },true);
    	  
        }
    Alles anzeigen

    PS:

    Dann noch eine Frage zu der Anpassung vom Skript.

    Kann es sein, das die Änderung für die Icons:

    + encodeURIComponent(app.path) + '?size=16');

    nur in Menüs erforderlich ist?

    Denn in dem ersten Skript in Beitrag Nr. 4608 hatte ich die Änderung nicht, trotzdem wurden die Icons angezeigt.
    Aber da waren sie auch einzeln auf der Leiste.:/

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 16:31
    Zitat von Mira_Belle

    Bitte testen.

    :thumbup:

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 15:51

    Zwecks besserer Übersicht habe ich mal alle anderen Einträge entfernt:

    JavaScript
    // ==UserScript==
    // @name           XP - Spider.uc.js
    // @namespace      ithinc#mozine.cn
    // @description    External Applications
    // @include        main
    // @compatibility  Firefox 3.5.x
    // @author         ithinc
    // @version        20091212.0.0.1 Initial release
    // ==/UserScript==
    
    /* :::: External Applications :::: */
    
    
    
    var gExternalApplications = {
      type: 'menu', //'menu' or 'button'
      insertafter: '',
    
      apps: [
            {name: 'Notepad++', path: 'C:\\Program Files\\Notepad++\\notepad++.exe'},
       	    {name: 'Firefox Beta', path: 'D:\\Beta\\BetaLoader.exe'},
            {name: 'Test-Firefox', path: 'D:\\Test-Firefox\\Firefox Launcher.exe'}
      ],
    
      init: function() {
        for (var i=0; i<this.apps.length; i++) {
          if (!this.apps[i].path) continue;
          if (!this.apps[i].args) this.apps[i].args = [];
    
          this.apps[i].path = this.apps[i].path.replace(/\//g, '\\');
    
          var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path;
          if (/^(\\)/.test(this.apps[i].path)) {
            this.apps[i].path = ffdir.substr(0,2) + this.apps[i].path;
          }
          else if (/^(\.)/.test(this.apps[i].path)) {
            this.apps[i].path = ffdir + '\\' + this.apps[i].path;
          }
        }
    	
    	  if (location.href !== 'chrome://browser/content/browser.xhtml') return; 
    	
    	  if (this.type == 'menu') {
          var mainmenu = document.getElementById('nav-bar');
          var menu = mainmenu.appendChild(document.createXULElement('menu'));
          menu.setAttribute('label', 'Start');
          menu.setAttribute('accesskey', 'a');
    
          var menupopup = menu.appendChild(document.createXULElement('menupopup'));
          for (var i=0; i<this.apps.length; i++) {
            menupopup.appendChild(this.createMenuitem(this.apps[i]));
          }
        }
        else {
          var menubarItems = document.getElementById(this.insertafter);
          var toolbaritem = menubarItems.parentNode.insertBefore(document.createXULElement('toolbaritem'), menubarItems.nextSibling);
    	  toolbaritem.id = 'ExtAppButtons';
          toolbaritem.setAttribute("class", "chromeclass-toolbar-additional");
          toolbaritem.setAttribute("orient", "horizontal");
          for (var i=0; i<this.apps.length; i++) {
            toolbaritem.appendChild(this.createButton(this.apps[i]));
          }
        }
      },
    
      exec: function(path, args) {
        for (var i=0; i<args.length; i++) {
          args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec);
        }
    
        var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        file.initWithPath(path);
        if (!file.exists()) {
          throw 'File Not Found: ' + path;
        }
    
        if (!file.isExecutable() || args.length==0) {
          file.launch();
        }
        else {
          var process = Cc['@mozilla.org/process/util;1'].getService(Ci.nsIProcess);
          process.init(file);
          process.run(false, args, args.length);
        }
      },
      
     
    
      createButton: function(app) {
        if (app.name == 'separator')
          return document.createXULElement('toolbarseparator');
      
        if (location.href !== 'chrome://browser/content/browser.xhtml') return; 
    	
        var item = document.createXULElement('toolbarbutton');
        item.setAttribute('class', 'toolbarbutton-1 chromeclass-toolbar-additional');
        item.setAttribute('label', app.name);
        item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16');
       // item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);');
       
       item.addEventListener ('command', function (event) {
    	   if (event.button == 0) {
    		   gExternalApplications.exec(this.path, this.args);
    	   }
       });
       
       // item.setAttribute('tooltiptext', app.name);
        item.path = app.path;
        item.args = app.args;
        return item;
      },
    
      createMenuitem: function(app) {
        if (app.name == 'separator')
          return document.createXULElement('menuseparator');
    
    
        var item = document.createXULElement('menuitem');
        item.setAttribute('class', 'menuitem-iconic');
        item.setAttribute('label', app.name);
        item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16');
      //  item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);');
      
      item.addEventListener ('command', function (event) {
    	   if (event.button == 0) {
    		   gExternalApplications.exec(this.path, this.args);
    	   }
       });
      
        item.path = app.path;
        item.args = app.args;
        return item;
      }
    };
    gExternalApplications.init();
    Alles anzeigen

    Dann sieht das so aus:

    Die Icons fehlen also nur, wenn man den Zusatz im Skript nutzt, damit sie alle unter einem Button zu erreichen sind.:/

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 15:33
    Zitat von FuchsFan

    gut zu wissen.

    Da muss ein anderer Fehler drin sein:/

    Mit diesem Skript werden die Icons/Programme einzeln in der Leiste angezeigt:

    JavaScript
    // ==UserScript==
    // @name           Thunderbird.uc.js
    // @namespace      ithinc#mozine.cn
    // @description    External Applications
    // @include        main
    // @compatibility  Firefox 3.5.x
    // @author         ithinc
    // @version        20091212.0.0.1 Initial release
    // ==/UserScript==
    
    /* :::: External Applications :::: */
    
    var gExternalApplications = {
      type: 'button', //'menu' or 'button'
      insertafter: 'urlbar-container',
    
      apps: [
        
            {name: 'XP - Spider', path: 'C:\\Program Files\\Notepad++\\notepad++.exe'},
       	    {name: 'Firefox Beta', path: 'D:\\Beta\\BetaLoader.exe'},
            {name: 'Firefox Beta', path: 'D:\\Test-Firefox\\Firefox Launcher.exe'}
      ],
    
      init: function() {
        for (var i=0; i<this.apps.length; i++) {
          if (!this.apps[i].path) continue;
          if (!this.apps[i].args) this.apps[i].args = [];
    
          this.apps[i].path = this.apps[i].path.replace(/\//g, '\\');
    
          var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path;
          if (/^(\\)/.test(this.apps[i].path)) {
            this.apps[i].path = ffdir.substr(0,2) + this.apps[i].path;
          }
          else if (/^(\.)/.test(this.apps[i].path)) {
            this.apps[i].path = ffdir + '\\' + this.apps[i].path;
          }
        }
    
        if (this.type == 'menu') {
          var mainmenu = document.getElementById('main-menubar');
          var menu = mainmenu.appendChild(document.createXULElement('menu'));
          menu.setAttribute('label', 'Start');
          menu.setAttribute('accesskey', 'a');
    
          var menupopup = menu.appendChild(document.createXULElement('menupopup'));
          for (var i=0; i<this.apps.length; i++) {
            menupopup.appendChild(this.createMenuitem(this.apps[i]));
          }
        }
        else {
          var menubarItems = document.getElementById(this.insertafter);
          var toolbaritem = menubarItems.parentNode.insertBefore(document.createXULElement('toolbaritem'), menubarItems.nextSibling);
    	  toolbaritem.id = 'ExtAppButtons';
          toolbaritem.setAttribute("class", "chromeclass-toolbar-additional");
          toolbaritem.setAttribute("orient", "horizontal");
          for (var i=0; i<this.apps.length; i++) {
            toolbaritem.appendChild(this.createButton(this.apps[i]));
          }
        }
      },
    
      exec: function(path, args) {
        for (var i=0; i<args.length; i++) {
          args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec);
        }
    
        var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        file.initWithPath(path);
        if (!file.exists()) {
          throw 'File Not Found: ' + path;
        }
    
        if (!file.isExecutable() || args.length==0) {
          file.launch();
        }
        else {
          var process = Cc['@mozilla.org/process/util;1'].getService(Ci.nsIProcess);
          process.init(file);
          process.run(false, args, args.length);
        }
      },
    
      createButton: function(app) {
        if (app.name == 'separator')
          return document.createXULElement('toolbarseparator');
    
        var item = document.createXULElement('toolbarbutton');
        item.setAttribute('class', 'toolbarbutton-1 chromeclass-toolbar-additional');
        item.setAttribute('label', app.name);
        item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16');
       // item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);');
       
       item.addEventListener ('command', function (event) {
    	   if (event.button == 0) {
    		   gExternalApplications.exec(this.path, this.args);
    	   }
       });
       
       // item.setAttribute('tooltiptext', app.name);
        item.path = app.path;
        item.args = app.args;
        return item;
      },
    
      createMenuitem: function(app) {
        if (app.name == 'separator')
          return document.createXULElement('menuseparator');
    
        var item = document.createXULElement('menuitem');
        item.setAttribute('class', 'menuitem-iconic');
        item.setAttribute('label', app.name);
        item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16');
      //  item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);');
      
      item.addEventListener ('command', function (event) {
    	   if (event.button == 0) {
    		   gExternalApplications.exec(this.path, this.args);
    	   }
       });
      
        item.path = app.path;
        item.args = app.args;
        return item;
      }
    };
    gExternalApplications.init();
    Alles anzeigen

    Sieht dann so aus:

    Kopiere ich die 3 Programme in dein Skript, dann fehlen das erste und das letzte Icon.

  • Google dauerhaft raushalten / Push-Nachrichten dauerhaft blockieren ?

    • 2002Andreas
    • 3. August 2025 um 12:44
    Zitat von .DeJaVu

    Das komplette CSS von mir.

    Das habe ich mal so übernommen, gefällt mir gut, danke:)

  • Google dauerhaft raushalten / Push-Nachrichten dauerhaft blockieren ?

    • 2002Andreas
    • 3. August 2025 um 12:24
    Zitat von .DeJaVu

    Und wie lautet das CSS dafür?

    Hier funktioniert es damit:

    CSS
    .data-\[state\=open\]\:opacity-100[data-state="open"] {
      display: none !important;
    }

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 12:13

    Hinweis:

    Man braucht zwecks Test keine weitere Toolbar erstellen, einfach den Ort in Zeile 64 änden:

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 12:01

    Ich vermute den Fehler hier:

    Bei einem anderen Skript hat Mira das so angepasst:

    Evtl. fällt ihr ja auch für dein Skript der passende Weg ein.


    Zitat von FuchsFan

    von Aris das Script Add-on Bar

    Wäre dann dieses:

    JavaScript
    // Add-on Bar script for Firefox 102+ by Aris
    //
    // no 'close' button
    // 'toggle' toolbar with 'Ctr + /' on Windows/Linux or 'Cmd + /' on macOS
    // no 'Add-on Bar' entry in toolbar context menu
    //
    // option: smaller buttons / reduced toolbar button height
    //
    // flexible spaces on add-on bar behave like on old Firefox versions
    
    // [!] Fix for WebExtensions with own windows by 黒仪大螃蟹 (for 1-N scripts)
    
    
    var appversion = parseInt(Services.appinfo.version);
    
    var compact_buttons = false; // reduced toolbar height and smaller buttons
    
    var AddAddonbar = {
      init: function() {
    
    	if (location != 'chrome://browser/content/browser.xhtml')
          return;
    	  
    	/* blank tab workaround */
    	try {
    	  if(gBrowser.selectedBrowser.getAttribute('blank')) gBrowser.selectedBrowser.removeAttribute('blank');
    	} catch(e) {}
    	
    	try {
    	  Services.prefs.getDefaultBranch('browser.addonbar.').setBoolPref('enabled',true);
    	} catch(e) {}
    
    	var addonbar_label = 'Add-on Bar';
    	var compact_buttons_code = '';
    	
    	if(compact_buttons)
    	  compact_buttons_code = `
    		#addonbar toolbarbutton .toolbarbutton-icon {
    		  padding: 0 !important;
    		  width: 16px !important;
    		  height: 16px !important;
    		}
    		#addonbar .toolbarbutton-badge-stack {
    		  padding: 0 !important;
    		  margin: 0 !important;
    		  width: 16px !important;
    		  min-width: 16px !important;
    		  height: 16px !important;
    		  min-height: 16px !important;
    		}
    		#addonbar toolbarbutton .toolbarbutton-badge {
    		  margin-top: 0px !important;
    		  font-size: 5pt !important;
    		  min-width: unset !important;
    		  min-height: unset !important;
    		  margin-inline-start: 0px !important;
    		  margin-inline-end: 0px !important;
    		}
    		#addonbar .toolbaritem-combined-buttons {
    		  margin-inline: 0px !important;
    		}
    		#addonbar toolbarbutton {
    		  padding: 0 !important;
    		}
    	  `;
    
    	// style sheet
    	Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService).loadAndRegisterSheet(
    	  Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(`
    		  #addonbar toolbarpaletteitem[place=toolbar][id^=wrapper-customizableui-special-spring],
    		  #addonbar toolbarspring {
    			-moz-box-flex: 1 !important;
    			min-width: unset !important;
    			width: unset !important;
    			max-width: unset !important;
    		  }
    		  #main-window[customizing] #addonbar {
    			outline: 1px dashed !important;
    			outline-offset: -2px !important;
    		  }
    		  #addonbar {
    			border-top: 1px solid var(--sidebar-border-color,rgba(0,0,0,0.1)) !important;
    			background-color: var(--toolbar-bgcolor);
    			background-image: var(--toolbar-bgimage);
    			-moz-window-dragging: no-drag !important;
    		  }
    		  #main-window:-moz-lwtheme #addonbar {
    			background: var(--lwt-accent-color) !important;
    		  }
    		  #main-window[lwtheme-image='true']:-moz-lwtheme #addonbar {
    			background: var(--lwt-header-image) !important;
    			background-position: 0vw 50vh !important;
    		  }
    		  /* autohide add-on bar in fullscreen mode */
    		  /*#main-window[sizemode='fullscreen']:not([inDOMFullscreen='true']) #addonbar {
    			visibility: visible !important;
    			display: block !important;
    			min-height: 1px !important;
    			height: 1px !important;
    			max-height: 1px !important;
    		  }
    		  #main-window[sizemode='fullscreen']:not([inDOMFullscreen='true']) #addonbar:hover {
    			min-height: 24px !important;
    			height: 24px !important;
    			max-height: 24px !important;
    		  }*/
    		  `+compact_buttons_code+`
    	  `), null, null),
    	  Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService).AGENT_SHEET
    	);
    
    	// toolbar
    	try {
    	  if(document.getElementById('addonbar') == null) {
    		var tb_addonbar = document.createXULElement('toolbar');
    		tb_addonbar.setAttribute('id','addonbar');
    		tb_addonbar.setAttribute('collapsed', 'false');
    		tb_addonbar.setAttribute('toolbarname', addonbar_label);
    		tb_addonbar.setAttribute('defaultset','spring,spring'); 
    		tb_addonbar.setAttribute('customizable','true');
    		tb_addonbar.setAttribute('mode','icons');
    		tb_addonbar.setAttribute('iconsize','small');
    		tb_addonbar.setAttribute('context','toolbar-context-menu');
    		tb_addonbar.setAttribute('lockiconsize','true');
    		tb_addonbar.setAttribute('class','toolbar-primary chromeclass-toolbar browser-toolbar customization-target');
    
    		document.getElementById('browser').parentNode.appendChild(tb_addonbar);
    		
    		CustomizableUI.registerArea('addonbar', {legacy: true});
    	  
    		CustomizableUI.registerToolbarNode(tb_addonbar);
    		
    		// 'Ctr + /' on Windows/Linux or 'Cmd + /' on macOS to toggle add-on bar
    		var key = document.createXULElement('key');
    		key.id = 'key_toggleAddonBar';
    		key.setAttribute('key', '/');
    		key.setAttribute('modifiers', 'accel');
    		key.setAttribute('oncommand',`
    			var newAddonBar = document.getElementById('addonbar');
    			setToolbarVisibility(newAddonBar, newAddonBar.collapsed);
    			Services.prefs.getBranch('browser.addonbar.').setBoolPref('enabled',!newAddonBar.collapsed);
    		  `);
    		document.getElementById('mainKeyset').appendChild(key);
    		
    		
    		try {
    		  setToolbarVisibility(document.getElementById('addonbar'), Services.prefs.getBranch('browser.addonbar.').getBoolPref('enabled'));
    		} catch(e) {}
    	  
    	  }
    	} catch(e) {}
    
      }
    
    }
    
    /* initialization delay workaround */
    document.addEventListener('DOMContentLoaded', AddAddonbar.init(), false);
    /* Use the below code instead of the one above this line, if issues occur */
    /*
    setTimeout(function(){
      AddAddonbar.init();
    },2000);
    */
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • 2002Andreas
    • 3. August 2025 um 11:38
    Zitat von FuchsFan

    erstellt ein Startmenü

    Sorry der Nachfrage, aber wo finde ich das:/

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

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