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

Beiträge von bege

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 1. August 2014 um 14:08
    Zitat von aborix

    Oder du testest gleich in einem neuen Profil.


    Vielen Dank für deine Hilfe.
    "Leider" geht es in einem neuen Profil. "Leider" deshalb, weil mein Profil vollgepackt ist mit Erweiterungen und Skripten. Jetzt kann ich mir überlegen, ob ich wirklich ein neues Profil aufbauen oder durch Deaktivierungen im alten Profil testen will. :wink:

    Deja vu: Im alten Profil verschwindet inzwischen das Widget nach dem ersten Neustart nach der Installation von der nav-bar, auch wenn es gar nicht im appmenu-Skript eingetragen ist. Ich kann es also gar nicht mehr verwenden.
    Wir sind bei diesem appmenu-Skript gelandet, weil die Erweiterung "Personal Menu" alle verschiebbaren Skriptbuttons "gefressen" hat. Stattdessen habe ich jetzt das CTR-appmenu und das Skript. Und jetzt wird das Widget also auch gefressen. Herauszufinden, ob es eine Erweiterung oder ein anderes Skript ist, wäre eine lange Arbeit bei meinem vollen Profil. Da das alte Profil aber ansonsten problemlos funktioniert, kann ich vielleicht Stück für Stück parallel ein neues Profil aufbauen. Ich überleg's mir noch. <:)

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 27. Juli 2014 um 15:19
    Zitat von aborix

    Dreh mal die Reihenfolge der ids um


    Dann werden beide Buttons nicht verschoben, sondern in der nav-bar angezeigt.

    Zitat

    Versuche auch, innerhalb der setTimeout-Funktion das Widget nicht in der Toolbox, sondern an anderer Stelle im CTR-Menü einzufügen.


    Dann verschwindet das Widget zwar von der nav-bar, wird aber nicht im appmenu angezeigt. (Die Toolboxen sind doch deshalb da, weil Buttons nicht direkt im Menü angezeigt werden können, oder?)

    Zitat

    Teste beides mit hohen Timeout-Werten.


    Alles mit verschiedenen Timeout-Werten getestet.

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 24. Juli 2014 um 17:53
    Zitat von aborix

    Wenn das Skript im Prinzip so wie in Beitrag 5 aussieht, setze im setTimeout die Zeit höher, d.h. ersetze 0 durch eine größere Zahl. Teste zuerst mit 100, dann mit 200 usw.


    Hab's mit 100er-Schritten bis 1000 probiert, kein Erfolg.
    Die Codezeile sieht so aus:

    Code
    var menuButtonsPane2 = ['console-button','widget:addonListDumper@jetpack-eldumper'];


    So wie eingetragen wird die ID im DOM-Inspector angezeigt.
    Setze ich statt des Widget den Button einer anderen Erweiterung ein, werden beide in der Toolbox angezeigt.

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 22. Juli 2014 um 18:09

    Ich habe versucht, ein Widget in eine Toolbox einzufügen, das bleibt aber auf der Navigationsleiste.
    Das Add-on "Addon List Dumper (restartless)" erzeugt keinen Button, sondern ein Widget. Keine Ahnung, was das ist. Jedenfalls reicht es nicht, die ID (widget:addonListDumper@jetpack-eldumper) in der Toolbox hinzuzufügen.
    Geht das mit Widgets gar nicht, oder muss das Skript noch angepasst werden?

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 1. Juni 2014 um 19:40

    aborix,
    kapiert. Normalerweise teste ich meine Links, diesmal habe ich es offensichtlich nicht gemacht. Dein Link landet nicht genau auf dem gleichen Beitrag, deshalb bin ich durcheinander gekommen und meinte, du wolltest auf die Markierung von Änderungen hinweisen. Verwirrung komplett, alles klar ;)

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 31. Mai 2014 um 00:35
    Zitat von aborix

    ich erlaube mir mal:

    http://forums.mozillazine.org/viewtopic.php?…2717&p=13583975

    Warum hast du diesen Beitrag gepostet? Nach meiner Beobachtung ist das Feature in der neuen Version enthalten (geänderte Einträge werden jetzt automatisch fett dargestellt), und die Funktion ist überholt (löscht die Ordner-Icons in der neuen Version).

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 30. Mai 2014 um 20:29
    Zitat von bege


    Ich glaube kaum, dass das CTR-Menü editierbar wird

    Dafür gibt es ja das Add-on "Personal Menu", das ist eine feine Sache. Das macht bei mir nur Problem mit Script-Buttons. Deshalb habe ich nach einer Alternative gesucht und mit aborix' Hilfe diese hier gefunden.

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 29. Mai 2014 um 20:57
    Zitat von BarbaraZ-

    Meine bescheidene Frage:

    Ist oder wird dieses für die Allgemeinheit im CTR "eingebaut", wenn nein, kann die dieses Code über die UserChrome oder Stylish bei mir, zusätzlich zum CTR verwenden und wie ist er kompatibel?

    Danke für die Antworten
    Barbara


    Ich glaube kaum, dass das CTR-Menü editierbar wird, aber vielleicht weiß hier jemand mehr. Wer das machen will, muss etwas tiefer einsteigen.
    Also entweder mit MenuManipulator und/oder Scripts.
    Das CSS-Script (zum ausblenden von Einträgen) kannst du mit Stylish verwenden.
    Das JS-Script braucht das userChrome.js-Add-on. https://github.com/ardiman/userChrome.js (Beschreibung auf der Seite ganz unten.)

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 29. Mai 2014 um 20:50
    Zitat von Boersenfeger

    ..nicht jeder hat einen mozillazine-Account... vielleicht postest du die Antwort in der Klammer quote...


    Beitrag editiert.

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 29. Mai 2014 um 20:00

    Nachdem ich mein CTR-Menü also fertig gebastelt habe, bekam ich diese Antwort
    http://forums.mozillazine.org/viewtopic.php?…3975&e=13583975

    Zitat von dorando

    You could try to modify Profile/extensions/menumanipulator@dorando.xpi (.xpi is the same as .zip) while the application is closed.

    in menumanipulator-service.js replace

    PHP
    function SetID() {

    with

    PHP
    function SetID() {
     ID("id('appmenu-popup')//x:hbox[not(@id)]", "hbox");


    in main.js replace

    PHP
    if(containers[i].parentNode.localName != "menu" && containers[i].id)

    with

    PHP
    if(!containers[i].parentNode.localName.match("menu") && containers[i].id)

    and replace

    PHP
    case "menupopup": case "popup": case "menubar":

    following

    PHP
    case "menupopup": case "popup": case "menubar": case "vbox": case "hbox": case "splitmenu":


    Seems to work with Classic Theme Restorer (Customize Australis) or Firefox ESR 24 (structured differently).

    Alles anzeigen


    Mit diesen Änderung lassen sich mit dem Add-on MenuManipulator http://mozilla.dorando.at auch die Appmenüs in Firefox und Thunderbird ändern.
    Damit geht nicht alles, was mit dem Script geht, aber das Neu-Anlegen, Verschieben und Ausblenden von Menüeinträgen geht damit.

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 29. Mai 2014 um 18:29

    Also tausend Dank! Wirklich Klasse, sowohl deine Hilfe als auch das Ergebnis. :D

    Das CTR-Menü anzupassen ist wohl eine gewisse Bastelei mit einer JS und einer CSS-Datei, aber ich will das ja nicht jeden Tag verändern. Für mich eine gute Lösung :klasse:

    Mit diesem Code

    Code
    //    CTR-Firefox-Menü anpassen 1
    	//		Beispiel: neuen Button erstellen
            // var menuitem = document.createElement('menuitem');
            // menuitem.id = 'appmenu_restart';
            // menuitem.setAttribute('label', 'Neu starten');
            // menuitem.setAttribute('oncommand', 'Application.restart()');
    
            // var refitem = document.getElementById('sync-setup-appmenu');
            // refitem.parentElement.insertBefore(menuitem, refitem.nextSibling);       
    
    	(function () {
    
    
           if (location != 'chrome://browser/content/browser.xul') return;  
    
    
        // Buttons den Toolboxen zuordnen
    	   var menuButtonsPane1 = ['UserScriptLoader-icon'];
           var menuButtonsPane2 = ['console-button'];
    
        // Toolboxen erstellen
    	   var pane1 = document.getElementById('appmenuPrimaryPane');
           var pane2 = document.getElementById('appmenuSecondaryPane');
    
    
           var spacer = document.createElement('spacer');
           spacer.setAttribute('flex', '1');
           pane2.appendChild(spacer);   
    
           var hboxPane1 = document.createElement('hbox');
           var hboxPane2 = document.createElement('hbox');
    
           pane1.insertBefore(hboxPane1, document.getElementById('ctraddon_appmenubox_developer').nextSibling);   
    
           pane2.appendChild(hboxPane2);
    
        // Menüs einfügen 
           var fileMenu = document.getElementById('file-menu');
           pane1.insertBefore(fileMenu, pane1.firstChild);
    
           var toolsMenu = document.getElementById('tools-menu');
           pane2.insertBefore(toolsMenu, document.getElementById('ctraddon_appmenubox_help'));   
    
    	// Add-on-Einträge verschieben
    	   var sessionmanager = document.getElementById('appmenu-sessionmanager');
           pane2.insertBefore(sessionmanager, pane2.firstChild);   
    
           setTimeout(function() {
    
    
        // Script-Buttons einfügen
    		  var UCLmenu = document.getElementById('usercssloader-menu');
              if (UCLmenu)
                 pane1.insertBefore(UCLmenu, document.getElementById('ctraddon_appmenubox_developer').nextSibling);   
    
        // Buttons in die Toolboxen einfügen
    		  for (var id of menuButtonsPane1) {   
                 var button = document.getElementById(id);     
                 if (!button) {
                    window.CustomizableUI.addWidgetToArea(id,'nav-bar');
                    button = document.getElementById(id);
                 };
                 hboxPane1.appendChild(button);     
              }; 
    
              for (var id of menuButtonsPane2) {   
                 var button = document.getElementById(id);     
                 if (!button) {
                    window.CustomizableUI.addWidgetToArea(id,'nav-bar');
                    button = document.getElementById(id);
                 };
                 hboxPane2.appendChild(button);     
              };   
    
           }, 0);   
    
        }) ();
    Alles anzeigen
    CSS
    /* AGENT_SHEET */ 
    
    
    @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    
    #sync-setup-appmenu ,menu[label="Internote"],#appmenu_fullScreen,#appmenu_sendLink,#appmenu_downloads,#ctraddon_appmenubox_newtab,#appmenu_newPrivateWindow,#ctraddon_appmenubox_bookmarks,#ctraddon_appmenubox_history,#appmenu_savePage{display: none !important;}


    bekomme ich dieses Ergebnis

    [attachment=0]Screenshot_094.png[/attachment]

    Prost! 8)

    Bilder

    • Screenshot_094.png
      • 22,03 kB
      • 402 × 260
  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 28. Mai 2014 um 17:23
    Zitat von bege


    Und wie kriege ich Menüs aus der Menüleiste ins CTR-Menü, wie es in Personal Menu möglich war. Ich hatte das Datei- und das Extras-Menü im PM-Menü.

    Selbst rausgekriegt :D

    Code
    var fileMenu = document.getElementById('file-menu');
    			fileMenu.setAttribute('label', 'Datei');
    			pane1.appendChild(fileMenu);
    
    var toolsMenu = document.getElementById('tools-menu');
    			toolsMenu.setAttribute('label', 'Extras');
    			pane2.appendChild(toolsMenu);

    Aber es bleibt das Problem, dass ich diese Einträge nicht mit insertBefore positionieren kann.

    Und wie kriege ich den menuseparator am Anfang einer Spalte weg, wenn ich die darüberliegenden Einträge mit CSS ausgeblendet habe?

  • Button zum verschieben erstellen

    • bege
    • 28. Mai 2014 um 14:52
    Zitat von aborix

    Der CTR bringt ja auch ein Menü mit.
    Das kann man mit Skript-Hilfe auch fast beliebig gestalten, wenn auch nicht so bequem wie bei PM.

    Im CTR-Menü braucht es übrigens das Script zum Fix der Buttonanzeige des USL nicht. Ist dann wohl doch ein PM-Problem.

    Dazu habe ich ein neues Thema aufgemacht
    https://www.camp-firefox.de/forum/viewtopic.php?f=16&t=108651

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 28. Mai 2014 um 14:50

    Unerwünschte Einträge kann ich mit CSS ausblenden, das ist kein Problem.

    Die Toolbox, die du eingebaut hast, funktioniert prima.
    Den Neustart-Eintrag habe ich auskommentiert, weil RestartFirefox einen Eintrag im Appmenu erzeugt.

    Um den UserScriptLoader-Button in der ersten Spalte unterzubringen, habe ich dein Script erweitert.

    Code
    //    CTR-Firefox-Menü anpassen 1
    
    
        (function () {
    
    
            if (location != 'chrome://browser/content/browser.xul') return;   
    
            // var menuitem = document.createElement('menuitem');
            // menuitem.id = 'appmenu_restart';
            // menuitem.setAttribute('label', 'Neu starten');
            // menuitem.setAttribute('oncommand', 'Application.restart()');
    
            // var refitem = document.getElementById('sync-setup-appmenu');
            // refitem.parentElement.insertBefore(menuitem, refitem.nextSibling);       
    
            var pane1 = document.getElementById('appmenuPrimaryPane');  
    		var pane2 = document.getElementById('appmenuSecondaryPane');  
    
    
    		var spacer = document.createElement('spacer'); 
    			spacer.setAttribute('flex', '1');
    			pane2.appendChild(spacer);   		
    
            var hboxPane1 = document.createElement('hbox');
    		var hboxPane2 = document.createElement('hbox');
            pane1.appendChild(hboxPane1);
    		// pane1.insertBefore(hboxPane1, document.getElementById('usercssloader-menu').nextSibling);
    		pane2.appendChild(hboxPane2);   
    
            var menuButtonsPane1 = ['UserScriptLoader-icon'];
    		var menuButtonsPane2 = ['print-button','test-button'];
    
    		setTimeout(function() {   
              for (var id of menuButtonsPane1) {   
                 var button = document.getElementById(id);      
                 if (!button) {
                    window.CustomizableUI.addWidgetToArea(id,'nav-bar');
                    button = document.getElementById(id);
                 };
                 hboxPane1.appendChild(button);      
              };    
    			for (var id of menuButtonsPane2) {   
                 var button = document.getElementById(id);      
                 if (!button) {
                    window.CustomizableUI.addWidgetToArea(id,'nav-bar');
                    button = document.getElementById(id);
                 };
                 hboxPane2.appendChild(button);      
              };   
            }, 0);   
    
        }) ();
    Alles anzeigen


    Funktioniert einwandfrei. Nur wenn ich die Box nicht am Ende der Spalte, sondern unter dem UserCSSLoader einfügen will (Zeile 25), wird die Box nicht angezeigt. Was ist da falsch?

    Der UserCSSLoader wird normalerweise auch am Ende der Spalte angezeigt. Das habe ich im Script geändert, so dass er unter den Web-Entwickler-Tools angezeigt wird.
    Ist es möglich, das stattdessen im neuen Script zu bewerkstelligen? Also nicht jedes Script ändern, um den Platz für die Anzeige zu definieren, sondern im CTR-Appmenu-Script?

    Das betrifft besonders Einträge, die von Add-ons kommen. Lassen die sich auch verschieben?
    So wird das Sitzungsmanager-Menü von TabMixPlus

    Code
    menu[id="appmenu-sessionmanager"]

    unten in der ersten Spalte angezeigt, ich möchte es am Anfang der zweiten Spalte haben.

    Und wie kriege ich Menüs aus der Menüleiste ins CTR-Menü, wie es in Personal Menu möglich war. Ich hatte das Datei- und das Extras-Menü im PM-Menü.

  • Classic-Theme-Restorer-Menü (Firefox-Menü) anpassen

    • bege
    • 28. Mai 2014 um 14:29
    Zitat von aborix

    Der CTR bringt ja auch ein Menü mit.
    Das kann man mit Skript-Hilfe auch fast beliebig gestalten, wenn auch nicht so bequem wie bei PM.

    Falls du testen magst:

    Installiere in einem neuen Profil den CTR, userChromeJS, das Testskript aus Beitrag 58 und das folgende Skript.
    Damit kommen im Menü ein Eintrag für Neustart und zwei Buttons hinzu.

    Code
    //    CTR-Firefox-Menü anpassen 1
    
    
    (function () {
    
    
        if (location != 'chrome://browser/content/browser.xul') return;	 
    
    	 var menuitem = document.createElement('menuitem');
        menuitem.id = 'appmenu_restart';
        menuitem.setAttribute('label', 'Neu starten');
        menuitem.setAttribute('oncommand', 'Application.restart()');
    
        var refitem = document.getElementById('sync-setup-appmenu');
        refitem.parentElement.insertBefore(menuitem, refitem.nextSibling);	 	 
    
    	 var pane2 = document.getElementById('appmenuSecondaryPane');	 
    
    	 var spacer = document.createElement('spacer');  
    	 spacer.setAttribute('flex', '1');
    	 pane2.appendChild(spacer);	 
    
    	 var hbox = document.createElement('hbox');  
    	 pane2.appendChild(hbox);	 
    
    	 var menuButtons = ['print-button','test-button'];	 
    
    	 setTimeout(function() {	 
    		for (var id of menuButtons) {	
    			var button = document.getElementById(id);		
    			if (!button) {
    				window.CustomizableUI.addWidgetToArea(id,'nav-bar');
    				button = document.getElementById(id);
    			};
    			hbox.appendChild(button);		
    		};		
    	 }, 0);	 
    
    }) ();
    Alles anzeigen

    aborix, ich habe damit mal ein neues Thema aufgemacht.
    Danke erst mal, das ist eine Alternative, an die ich auch schon gedacht habe, mich aber nicht drangetraut habe. Vielleicht geht es ja mit deiner Hilfe.

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

    • bege
    • 26. Mai 2014 um 20:34

    Ich hatte mir den Code schon gebastelt und hier nicht geteilt, weil ich dachte, die können alle mehr als ich und wollen den deaktivierten Button.
    Für mich ist es viel deutlicher zu sehen, ob Feeds verfügbar sind oder nicht, wenn der Feed-Button ausgeblendet ist, wenn er nicht gebraucht wird.

  • Button zum verschieben erstellen

    • bege
    • 26. Mai 2014 um 19:18

    Damit könnte ich ja noch leben, wenn die Buttons auf den Toolbars nicht verschwinden würden. Und das tun sie in meinem Standard-Profil, und zwar nur dann, wenn PM installiert ist, obwohl es in dem leeren Profil funktioniert.
    Die anderen Buttons (Neustart und USL) sind bisher im PM geblieben.

  • Button zum verschieben erstellen

    • bege
    • 26. Mai 2014 um 17:52
    Zitat von aborix


    Nimm ein neues Profil mit Personal Menu und userChromeJS und diesem Skript. Keine weiteren Erweiterungen und Skripte.
    Teste: Bleibt der Button nach Neustart in der Leiste?


    Das macht echt keinen Spaß mehr :traurig:
    So bleibt der Button in der Leiste. Habe dann noch CTR und mehrere Scripte (mit und ohne verschiebbarem - nach alter Art- Button) installiert. Testbutton bleibt.
    Jetzt kommts: Testbutton in PM verschoben - Neustart - Testbutton weg. Anpassen-Dialog geöffnet, geschlossen - Testbutton im PM wieder da.
    :-??:-???:?:

  • Button zum verschieben erstellen

    • bege
    • 26. Mai 2014 um 13:30

    Danke, aborix.
    Diese Art von Button reagiert ähnlicher einem Add-on-Button: Er wird beim ersten Start in der Navigationsleiste angezeigt und wird im Anpassen-Dialog nicht immer am Ende angezeigt, sondern zwischen den anderen Buttons angezeigt. In Personal Menu lässt er sich auch problemlos einfügen.
    Das Problem, dass der Button mit Personal Menu nach einem Neustart aus der Toolbar verschwindet, ist allerdings geblieben. Mit diesem Test kann ich den Ball also wieder an den PM-Entwickler zurückspielen.

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

    • bege
    • 25. Mai 2014 um 20:49

    Ihr seid super, vielen Dank! Ja, ihr habt ganz recht, das gleich zwei mal zu posten ;)
    Das stand schon weiter vorn im Thema und ich hab's nicht kapiert. Mit zwei mal auf den Hinterkopf klopfen ist's angekommen! :D

Unterstütze uns!

Jährlich (2025)

104,5 %

104,5% (679,10 von 650 EUR)

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