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

  • Beenden Button

    • FuchsFan
    • 13. Mai 2025 um 20:06
    Zitat von Horstmann

    Deine Dateipfade für die Icons funktionieren nur sehr begrenzt

    Funktionieren hervorragend.:thumbup:

    Es ist nun mal:

    Zitat

    Zitat von FuchsFan

    Eine andere Variante zum Beenden von Firefox.

  • Beenden Button

    • FuchsFan
    • 13. Mai 2025 um 19:24
    Zitat von Mira_Belle

    und sortieren neu!

    Zeilen 57 und 59?;)

    Zeile 43 auch noch.

  • Beenden Button

    • FuchsFan
    • 13. Mai 2025 um 18:43

    Eine andere Variante zum Beenden von Firefox.

    JavaScript
    //  Fox beenden.uc.js
    //  beendet Firefox
    
      (function() {
    
       if (location != 'chrome://browser/content/browser.xhtml') return;
    
        try {
            CustomizableUI.createWidget({
                id: 'foxBeenden',
                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: 'foxBeenden',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Firefox beenden',
                        tooltiptext: 'Firefox beenden',
    					// Pfad zum Icon für ein ausgewähltes Verzeichnis
    					//style: 'list-style-image: url("file:///C:/FoxIcons2/beenden.png")',
    					// Pfad zum Icon im Profilordner im Verzeichnis chrome/icons
    					style: 'list-style-image: url("file:///G:/Firefox Test/Nightly22/Profilordner/chrome/icons/beenden.png")',
                    };
                    for (var p in props)
                        toolbaritem.setAttribute(p, props[p]);
                    return toolbaritem;
                }
            });
        } catch(e) { }
    
        document.getElementById('foxBeenden').addEventListener('click', event => {
          if (event.button === 0) {
            goQuitApplication(event);
          }
        });
    })();
    Alles anzeigen

    ....das Icon

  • Restart_Firefox.uc.js

    • FuchsFan
    • 12. Mai 2025 um 09:17

    Das meinte ich.:thumbup:

  • Restart_Firefox.uc.js

    • FuchsFan
    • 12. Mai 2025 um 08:34
    Zitat von Mira_Belle

    Oder spricht etwas dagegen?

    Dann müsstest du aber Zeilen 7 bis 9 auch so für dich ändern.

  • Restart_Firefox.uc.js

    • FuchsFan
    • 12. Mai 2025 um 08:15

    Zeilen 65 und 69 bitte die Ziffern tauschen.;)

  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 11. Mai 2025 um 19:47
    Zitat von 2002Andreas

    Aber bitte keinen Stress deswegen, ich wollte/habe das Skript nur mal getestet.

    Ich auch nur.:)

  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 11. Mai 2025 um 19:35
    Zitat von 2002Andreas

    Aber hier hat das Icon keine andere Farbe

    Hier schon, Andreas.

    Bilder

    • red.png
      • 3,48 kB
      • 73 × 78
  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 11. Mai 2025 um 17:55

    Mira_Belle

    Zum Test habe ich den Code so umgebaut, dass ich auch einen anderen Ordner für Icons auswählen kann. Auch das "Ersatzicon" wird angezeigt. Schau es dir mal bitte an, ob es so zu gebrauchen ist.

    Code
    // Button_Test.uc.js
    // Öffnen des "Profilordners"
    
    (function() {
    
        if (location != "chrome://browser/content/browser.xhtml") return;
        try {
            CustomizableUI.createWidget({
                id: 'buttonTest',
                type: 'custom',
                onBuild: function(aDocument) {
                    let toolbaritem = aDocument.createXULElement('toolbarbutton');
                    let props = {
                        id: 'buttonTest',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'buttonTest',
                        tooltiptext: 'Profil-Ordner öffnen',
                    };
                    for (var p in props)  {
                        toolbaritem.setAttribute(p, props[p]);
                    }
                    return toolbaritem;
                }
            });
    
        } catch(e){}
    
        document.getElementById('buttonTest').addEventListener('click', event => {
            if (event.button === 0) {
                Services.dirsvc.get("ProfD", Ci.nsIFile).launch();
                }
            });
    
            // Pfad zum Iconordner
            let IconPath = "C:/FoxIcons/";
            // Name & Dateiendung des anzuzeigenden Symbols!
            let ButtonIcon = "gibtesnicht.png";
            // Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann
            let img = new Image();
            img.src = "file:" + IconPath + ButtonIcon;
    
            img.onload = function() {
                // Wenn die Grafik geladen werden kann, setze das listStyleImage
                document.getElementById('buttonTest').style.listStyleImage = 'url("' + ("file:" + IconPath + ButtonIcon) + '")';
            };
    
            img.onerror = function() {
                // Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon
                document.getElementById('buttonTest').style.listStyleImage = 'url("chrome://browser/skin/fxa/avatar-empty.svg")';
            };
    
    })();
    Alles anzeigen
  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 11. Mai 2025 um 09:50
    Zitat von Horstmann

    Dann Fenster A schliessen, dann zusätzlich zu Fenster B noch ein Fenster C öffnen --> Fenster C hat Buttonfunktion, weil die Funktion nach unten bewegt wurde; Icons hat Fenster C keine, weil diese beiden Funktionen (Icon und Fallback) nicht bewegt wurden.

    Nach deiner Vorlage habe ich nun meine Scripte umgebaut, genau so getestet, wie du es beschrieben hast, und es funktioniert in allen Fenstern ohne Probleme (wenn ich dich richtig verstanden habe).

    Ich bedanke mich bei dir, und auch bei Mira_Belle, für diesen Lösungsvorschlag, gefällt mir.:thumbup:

    Hier habe ich eines der Scripte, dass ich mir angepasst habe. Die Icon-Lösung habe ich neu eingefügt, weil sie hier in einem zentralen Verzeichnis (auf C:) hinterlegt sind. Teste es bitte mal, ob es nun deinen Vorstellungen entspricht. Fehler werden auch nicht angezeigt.

    JavaScript
    // Button_Verzeichnisse.uc.js
    // Linksklick öffnet Profilordner
    // Mittelklick öffnet Installationsordner
    // Rechtsklick öffnet Ordner chrome
    
    (function() {
    	if (!window.gBrowser)
    		return;
         
    	try { 
    	        CustomizableUI.createWidget({
                id: 'buttonOrdner',
                type: 'custom',
                defaultArea: CustomizableUI.AREAS,
                onBuild: function(aDocument) {
                   var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                   var props = {
                        id: 'buttonOrdner',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        removable: true,
                    // Name im AnpassungFenster
                        label: 'Ordner aufrufen',
                    // Name bei MausHover wenn in Symbolleiste
                        tooltiptext: 'Links Profilordner / Mitte Installationsordner / Rechts Ordner chrome',
                        style: 'list-style-image: url("file:///C:/FoxIcons2/ordner2.png")',
    			
    		       };
                   for (var p in props)
                      toolbaritem.setAttribute(p, props[p]);
    
                   return toolbaritem;
    			   
                   }
                });
            } catch(e) { };	
    
    			document.getElementById('buttonOrdner').addEventListener('click', event => {
    				if (event.button == 0) {
    					uProfMenu.prefDirOpen('ProfD');
    				}
    				if (event.button == 1) {
    					uProfMenu.prefDirOpen('CurProcD');
    				}
    				if (event.button == 2) {
    					Services.dirsvc.get("UChrm", Ci.nsIFile).launch();
    				}
    			});
    })();
    Alles anzeigen
  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 10. Mai 2025 um 18:25
    Zitat von Horstmann

    Bzgl. about:about, das könnste mal probieren:

    Danke, damit werde ich mich befassen.:thumbup:

    Zitat von Horstmann

    Noch ein Nachtrag: die Lösungen, wenn sie denn auch für alle funktionieren, basieren auf vielen Diskussionen und Codevarianten aus diesem Forum; allen voran viele Beiträge von BrokenHeart zu diesem Thema. :) :thumbup:

    Ja, das glaube ich dir gern, weil ich in der Regel mitlese. Ich betone "mitlese", denn wenn ihr eine Diskussion über diese Sachen beginnt, dann sind das für mich immer "Böhmische Wälder". Amateur bleibt Amateur.:)

  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 10. Mai 2025 um 09:44
    Zitat von Mira_Belle

    oder soll ich sie schon ungefixt hier "vorstellen"?

    Besser sie sind fertig nutzbar.;):)

  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 10. Mai 2025 um 09:29
    Zitat von Mira_Belle

    Für das Skript hier ein Ersatz.

    Ich danke dir, aber wie müsste der Ablauf z.B. für about:about, oder auch Konsole aussehen, bekomme es nicht gebacken.


    Zitat von Mira_Belle

    Ich meine, dass darüber im Forum schon "gesprochen" wurde.

    Ja, das schon, aber ich war immer der Meinung, dass meine Scripte funktionieren, leider nicht.

  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 9. Mai 2025 um 21:43
    Zitat von Horstmann

    Nicht bei mir

    Stimmt, das habe ich nicht in der richtigen Reihenfolge gemacht.:rolleyes:

    Dann habe ich dieses noch, ist im Aufbau fast deinem ähnlich. Kannst ja mal probieren.

    JavaScript
     //  Button zum Aufruf des Profil-Ordners
      
      (function() {
    	  
    	  if (location.href !== 'chrome://browser/content/browser.xhtml') return;
    	
    	try {
    		ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
    		const sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
    		
    		const button_label = "Profil Button (generic)";
            const open_in_a_window = false; 
    		
    		CustomizableUI.createWidget({
    			id: 'Profil-Button',
    			defaultArea: CustomizableUI.AREA_NAVBAR,
    			removable: true,
    	        label: button_label, 
    	        tooltiptext: button_label, 
    	        onClick: function(event) {
    		
    			    const win = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    		           .getService(Components.interfaces.nsIWindowMediator)
    		           .getMostRecentWindow("navigator:browser");
    		
                    if(event.button=='0') {
    		          try {
    		  
    		            if(open_in_a_window)
    		              window.open("ProfD");
    		              uProfMenu.prefDirOpen('ProfD');
    							  		  
    		} catch (e) {}
    	  }   
    	},
    	onCreated: function(button) {
    	  return button;
    	}
    		
      });
    					
    // style button icon
      const uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent('\
    	\
    	  #Profil-Button .toolbarbutton-icon {\
    		list-style-image: url("file:///C:/FoxIcons2/prof.png"); \
    	}\
    	\
      '), null, null);
      
      sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
      
    } catch (e) {
    	Components.utils.reportError(e);
    };
    
    })();					
    Alles anzeigen
  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 9. Mai 2025 um 18:34
    Zitat von Horstmann

    Die Lösung kommt von einem Amateur (mir), und könnte unvorhergesehene, aber von mir noch nicht beobachtete Probleme verursachen. :/

    Gute Lösung, meine ich als absoluter Amateur, deswegen habe ich, so gut ich konnte, meine Scripte nach dieser Vorlage aufgebaut. Einfach und verständlich, und kann auf alle möglichen Button umgeschrieben werden. Außerdem funktionstüchtig in allen Fenstern, und die Konsole ist auch zufrieden.

    JavaScript
    // ButtonProfilordner.uc.js
    // Öffnen des "Profilordners"
    
    (function() {
    	if (!window.gBrowser)
    		return;
    
    	CustomizableUI.createWidget({
    		id: 'buttonProfilOrdner',
    		defaultArea: CustomizableUI.AREA_NAVBAR,
    		label: 'Profilordner öffnen',
    		tooltiptext: 'Profilordner öffnen',
    
    		onCreated: (button) => {
    			button.style.listStyleImage = 'url("file:///C:/FoxIcons2/prof.png")';
    
    			button.addEventListener('click', () => {
    				if (event.button == 0) {
    					uProfMenu.prefDirOpen('ProfD');
    				}
    			})
    		}
    	});
    })();
    Alles anzeigen
  • Einige Skripte funktionieren seit ff 138 nicht mehr

    • FuchsFan
    • 6. Mai 2025 um 13:13
    Zitat von Mira_Belle

    Bitte um Tests und natürlich um Rückmeldung(en).

    Funktioniert!:thumbup:

  • Einige Skripte funktionieren seit ff 138 nicht mehr

    • FuchsFan
    • 6. Mai 2025 um 09:18

    lenny2

    Bestätigung, das Script funktioniert.

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 4. Mai 2025 um 14:00

    Hier noch ein Nachtrag. Zum Vergleich mal den Code für das Appmenu.uc.js, dort funktioniert es ohne Probleme, Selektoren fast identisch.

    CSS
    /*rechts der kleine Pfeil / neues Icon*/
    #AppMenuButton menupopup#AMpopup menu.menu-iconic::after {
      content: "" !important;
      background-image: url("..//icons/rechts6.png") !important;
      margin-right: 12px !important; 
      background-size: 18px 18px !important;
    }
    
    /*rechts der kleine Pfeil bei hover / neues Icon*/
    #AppMenuButton menupopup#AMpopup menu.menu-iconic:hover::after {
      content: "" !important;
      background-image: url("..//icons/down2.png") !important;
      margin-right: 12px !important; 
      display: block !important;
      background-repeat: no-repeat !important;
      background-position: 0px 3px !important;
      background-size: 14px 14px !important;
    }
    Alles anzeigen

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 4. Mai 2025 um 12:52
    Zitat von Horstmann

    Nochmal die Frage: an welchem Punkt ist das Problem aufgetreten?

    menu::after geht gar nicht

    #ExtraConfigMenu-popup :is(#submenu-ucjs,#submenu-css,#submenu-cssweb,#submenu-cssabout,#submenu-cssshadow,#submenu-about,#submenu-extra2,#submenu-extra):hover::after { funktioniert bestens

    #ExtraConfigMenu-popup [id^="submenu-"]:hover[open]::after {  funktioniert mit kl. Verzögerung

    Zitat von Horstmann

    Und ist das Problem das Hovern über dem Sub Popup, nachdem man die Maus aus dem ersten (Haupt) Popup herausbewegt schliesst sich der Sub ohne dort etwas anzuklicken?

    ....damit:

    #ExtraConfigMenu-popup [id^="submenu-"]:hover::after {

    Auf deinen Wunsch hin habe ich dieses nochmal aufgeführt. Dass es jetzt solche Ausmaße angenommen hat konnte ich nicht ahnen. Mir ist hier geholfen worden, dafür bedanke ich mich bei allen herzlichst. Ich habe zwei Selektoren die ich einsetzen kann, und bin damit zufrieden (wenn es denn so bleibt).

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

    • FuchsFan
    • 4. Mai 2025 um 09:53
    Zitat von Mira_Belle

    Test die Version von

    Ich glaube, Du bist da eine Zeile verrutscht.:/

Unterstütze uns!

Jährlich (2025)

60,4 %

60,4% (392,55 von 650 EUR)

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