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. FuchsFan

Beiträge von FuchsFan

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 12. Januar 2025 um 15:56

    Noch ein Script, das funktioniert.

    Es wird eine Add-on-Bar ganz unten eingefügt, die dann mit den Button befüllt werden kann. Verstecken wird über den angelegten Button in der Navbar geregelt.

    CSS
    // 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 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 = '';
    	var h_button_label = 'Toggle horizontal Add-on Bar'; // Toggle button name
    	
    	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;
    			background: #d0e4f0 !important;
    		  }
    		  #main-window:-moz-lwtheme #addonbar {
    			background: var(--lwt-accent-color) !important;
    			/* background: green !important; */
    		  }
    		  #main-window[lwtheme-image='true']:-moz-lwtheme #addonbar {
    			background: var(--lwt-header-image) !important;
    			/* background: green !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;
    		  }*/
    		  #togglebutton_addonbar_h .toolbarbutton-icon { \
    		    list-style-image: url('chrome://browser/skin/sidebars.svg');
    		    fill: green; 
    			transform: rotate(270deg);
    		  }
    		  `+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 windows = Services.wm.getEnumerator(null);
    			while (windows.hasMoreElements()) {
    			  var win = windows.getNext();
    			  var hAddonBar = win.document.getElementById('addonbar');
    			  setToolbarVisibility(hAddonBar, hAddonBar.collapsed);
    			  Services.prefs.getBranch('browser.addonbar.').setBoolPref('enabled',!hAddonBar.collapsed);
    			  if(!hAddonBar.collapsed)
    				win.document.querySelector('#togglebutton_addonbar_h').setAttribute('checked','true');
    			  else win.document.querySelector('#togglebutton_addonbar_h').removeAttribute('checked');
    			}
    	    `);
    		document.getElementById('mainKeyset').appendChild(key);
    		
    		
    		try {
    		  setToolbarVisibility(document.getElementById('addonbar'), Services.prefs.getBranch('browser.addonbar.').getBoolPref('enabled'));
    		} catch(e) {}
    		
    		
    		CustomizableUI.createWidget({
    			id: 'togglebutton_addonbar_h', // button id
    			defaultArea: CustomizableUI.AREA_NAVBAR,
    			removable: true,
    			label: h_button_label, // button title
    			tooltiptext: h_button_label, // tooltip title
    			onClick: function(event) {
    			  if(event.button==0) {
    			    var windows = Services.wm.getEnumerator(null);
    				while (windows.hasMoreElements()) {
    				  var win = windows.getNext();
    				  
    				  var hAddonBar = win.document.getElementById('addonbar');
    				  setToolbarVisibility(hAddonBar, hAddonBar.collapsed);
    					  
    				  
    				  Services.prefs.getBranch('browser.addonbar.').setBoolPref('enabled',!hAddonBar.collapsed);
    				  
    				  if(!hAddonBar.collapsed)
    					win.document.querySelector('#togglebutton_addonbar_h').setAttribute('checked','true');
    				  else win.document.querySelector('#togglebutton_addonbar_h').removeAttribute('checked');
    				}
    			  }
    			},
    			onCreated: function(button) {
    			  if(Services.prefs.getBranch('browser.addonbar.').getBoolPref('enabled'))
    			    button.setAttribute('checked','true');
    			  return button;
    			}
    				
    		});
    		
    	  
    	  }
    	} 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 */
    Alles anzeigen
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 12. Januar 2025 um 09:40
    Zitat von grisu2099

    Mal bitte diese Version testen...

    grisu2099 Funktioniert perfekt, danke: :thumbup::)

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 22:45
    Zitat von milupo

    Was soll das bringen?

    Es war nur ein Wunschdenken, weil dann alle Scripte "geordnet" zur Verfügung stünden. Wenn es dann nicht so ist, für mich kein Hindernis.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 22:27
    Zitat von Mira_Belle

    Kann man für einzelne Skripts nicht ein Unterforum aufmachen

    Da würde ich vorschlagen ein Unterforum zu eröffnen, in dem nur die lauffähigen Scripte eingestellt werden, alles ohne Diskussion.

    Wer übernimmt?;)

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 22:19
    Zitat von BrokenHeart

    Hier mal das Skript mit etlichen Anpassungen. Es werden immer noch Fehler in der Konsole ausgegeben, d.h. es wird noch nicht alles funktionieren, aber den Ist-Zustand kann ja vielleicht mal jemand testen

    BrokenHeart

    Erst einmal meinen Dank, dass Du dich der Sache angenommen hast. :thumbup:

    Mein Script weicht von dem korrigierten in einigen Teilen ab, weil ich zusätzliche Teile eingebaut habe.

    Versucht habe ich nun deine Korrektur auf mein Script zu übertragen, und es funktioniert zu 90%, zumindest lassen sich die Menüs wieder aufrufen, auch Ordner öffnen. Trotzdem werde ich mal in Ruhe alles vergleichen, eventuell kann ich dann die letzten Fehler noch beseitigen.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 21:33
    Zitat von Mitleser

    Ich kann das ja nicht testen aber vielleicht klappt das ja:

    Danke, das funktioniert.:thumbup::)

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 17:38
    Zitat von 2002Andreas

    Mein wichtigstes Skript hier

    Wem sagst du das.;):)

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 17:34
    Zitat von 2002Andreas

    Na, auch ein blindes Huhn findet mal ein Korn

    Nun nur noch ds extra-config-Script.:rolleyes:

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 17:22
    Zitat von 2002Andreas

    Ungetestet:

    :thumbup::thumbup::thumbup::)

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 16:54
    Zitat von FuchsFan

    Der Button wird angezeigt, aber das Kommando zum Schließen der Tabs wird nicht befolgt.

    Wenn ich das Kommando einsetze, so werden auch alle offenen Tabs gelöscht. Wie muss es dann für den aktiven lauten?

    gBrowser.removeAllTabsBut('gBrowser.mCurrentTab');  

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 16:17

    Wer hat hier noch eine Idee? Der Button wird angezeigt, aber das Kommando zum Schließen der Tabs wird nicht befolgt.

    Code
    // buttonCloseTab.uc.js - Button > Firefox Tabs schliessen
      
              CustomizableUI.createWidget({
                id: 'fp-closetabs',
                type: 'custom',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                onBuild: function(aDocument) {            
                    let toolbaritem = aDocument.createXULElement('toolbarbutton');
                    let props = {
                        id: 'fp-closetabs',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Aktuellen Tab schließen',
                        tooltiptext: 'Aktuellen Tab schließen',
                        style: 'list-style-image:url("file:///c:/FoxIcons/0024.png")',
                    };
                    for (let p in props)
                        toolbaritem.setAttribute(p, props[p]);
    				
    				toolbaritem.addEventListener('click', event => {
                        if (event.button == 0) {
                          gBrowser.removeCurrentTab; 
    					}							  
                    
                });				
    				
    			        return toolbaritem;
                }
            });
    Alles anzeigen
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 14:43

    Hier sind dann mal meine Anpassungen für das Restart-Script im Hamburger Menü. Dazu dann der Code für das Icon mit Anpassung Text. Icon hat grisu2099 oben geliefert.

    Code
    /* Hamburger Menu */
    (function() {
    	
    if (location != 'chrome://browser/content/browser.xhtml') return;
    
    var menuitem = document.createXULElement('toolbarbutton');
    menuitem.id = 'uc_menu_Restart_H';
    menuitem.classList.add('subviewbutton', 'subviewbutton-iconic');
    menuitem.setAttribute('label' , 'Neustart');
    menuitem.setAttribute('tooltiptext' , 'Neustart');
    menuitem.style.listStyleImage= 'url("file:///c:/FoxIcons/restart2.png")';
    menuitem.addEventListener('click', event => {
    						if (event.button == 1) { 
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); 
                                }
                            if (event.button == 0 || event.button == 2) { 
                                      Services.appinfo.invalidateCachesOnRestart(); 
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);
                                }							  
    					});
    	  
    var refItem = document.getElementById('appMenu-viewCache').content.getElementById('appMenu-quit-button2');
    refItem.parentNode.insertBefore(menuitem, refItem);
    })();
    Alles anzeigen


    Der Code für den Button (Pfad hier und im Script bitte anpassen).

    CSS
    /* Icon für Restart-Script */
    	#uc_menu_Restart_H::before{
        margin-right: 10px !important; 
        margin-left: 3px !important;
        content: '' !important;
        display: block !important;
        width: 19px !important;
        height: 15px !important;
        background-image: url("file:///C:/FoxIcons2/panel10.png") !important;
        background-repeat: no-repeat !important;
    	padding-bottom:2px !important;
        background-position: 1px 0px !important;
        background-size: 14px 14px !important; }
    	/* originale Icon (svg) ausgeblendet */
    	#appMenu-mainView.PanelUI-subView vbox.panel-subview-body toolbarbutton#uc_menu_Restart_H.subviewbutton.subviewbutton-iconic image.toolbarbutton-icon{
    	display: none !important; }	
    	/* Text auf Position gebracht */
    	#appMenu-mainView.PanelUI-subView vbox.panel-subview-body toolbarbutton#uc_menu_Restart_H.subviewbutton.subviewbutton-iconic label.toolbarbutton-text{
    	margin-left: 0px !important; }	
    Alles anzeigen
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 13:58
    Zitat von milupo

    Das habe ich. Allerdings habe ich es als eigene Datei:

    Danke, milupo, das funktioniert.:thumbup:

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 13:49
    Zitat von Mira_Belle

    Und so funktioniert es nicht?

    Doch, so auch, danke. Nur der zweite Teil für das Hamburger Menü nicht, hast du da noch eine Idee?

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 12:58
    Zitat von Mira_Belle

    Ich stelle mal mein geändertes Skript hier ein!
    Könnt ja die Änderungen übernehmen.

    Danke, soweit i.O., aber das funktioniert nur, wenn in meinem Script das so vorhanden ist.

    Code
    onBuild: function(aDocument) {            
    var toolbaritem = aDocument.createXULElement('toolbarbutton');
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • FuchsFan
    • 11. Januar 2025 um 12:32
    Zitat von 2002Andreas

    Ansonsten, das betrifft wohl noch weitere Skipte

    Ja, und auch dieses:

    Code
    //        RestartFirefoxButtonM.uc.js
    //        v. 0.3
    
    (function() {
    
       if (location.href !== 'chrome://browser/content/browser.xhtml')
        return;
        
        try {
            CustomizableUI.createWidget({
                id: 'restart-button2a',
                type: 'custom',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                onBuild: function(aDocument) {            
                    var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                    var props = {
                        id: 'restart-button2a',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Neustart',
                        tooltiptext: 'Neustart (mit Linksklick (0) und Rechtsklick (2) wird der userChrome.js-Cache geleert)',
                        style: 'list-style-image: url(file:///C:/FoxIcons/restart2.png)',
                        onclick:'if (event.button == 1) { \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  }; \
                                      if (event.button == 0 || event.button == 2) { \
                                      event.preventDefault(); \
                                      Services.appinfo.invalidateCachesOnRestart(); \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  };'
                                   
                    };                
                    for (var p in props)
                        toolbaritem.setAttribute(p, props[p]);                
                    return toolbaritem;
                }        
            });
        } catch(e) { };        
       
    })();
    
    
    /* Hamburger Menu */
    (function() {
    
    var menuitem = document.createXULElement('toolbarbutton');
    menuitem.id = 'uc_menu_Restart_H';
    menuitem.classList.add('subviewbutton', 'subviewbutton-iconic');
    menuitem.setAttribute('label' , 'Neustart');
    menuitem.setAttribute('tooltiptext' , 'Neustart');
    menuitem.style.listStyleImage= 'url(\'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="context-fill" fill-opacity="context-fill-opacity" d="M15,1a1,1,0,0,0-1,1V4.418A6.995,6.995,0,1,0,8,15a6.954,6.954,0,0,0,4.95-2.05,1,1,0,0,0-1.414-1.414A5.019,5.019,0,1,1,12.549,6H10a1,1,0,0,0,0,2h5a1,1,0,0,0,1-1V2A1,1,0,0,0,15,1Z"/></svg>\')';
    menuitem.setAttribute('onclick', 'if (event.button == 1) { \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  }; \
                                  if (event.button == 0 || event.button == 2) { \
                                      Services.appinfo.invalidateCachesOnRestart(); \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  };');
    var refItem = document.getElementById('appMenu-viewCache').content.getElementById('appMenu-quit-button2');
    refItem.parentNode.insertBefore(menuitem, refItem);
    })();
    Alles anzeigen
  • Die Sozialen Medien zerfallen immer mehr

    • FuchsFan
    • 10. Januar 2025 um 19:22

    :thumbdown::thumbdown::thumbdown:

  • Wie input[type="radio"] in about:preferences Umfärben?

    • FuchsFan
    • 1. Januar 2025 um 15:54
    Zitat von 2002Andreas

    Danke, dir auch

    Danke, Andreas!:)

    Zitat von 2002Andreas

    Teste bitte:

    Da bin ich auf Irrwegen gewesen, weil ich mich auch hier auf accent-color: red !important; verlassen hatte.

    Danke, Andreas. :thumbup::)

  • Wie input[type="radio"] in about:preferences Umfärben?

    • FuchsFan
    • 1. Januar 2025 um 15:23

    Auch von mir die besten Wünsche für 2025!

    Wie kann ich die weißen Boxen mit Hover ansprechen, bekomme es einfach nicht gebacken?

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

    • FuchsFan
    • 29. Dezember 2024 um 16:04

    Danke milupo , hoffentlich gerät das nicht wieder in Vergessenheit. Die Funktion habe ich so selten genutzt, dass ich nicht einmal bemerkt habe, es funktionierte z.Z. in keiner Fox-Version mehr. Also aufpassen in Zukunft.

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