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

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

    • FuchsFan
    • 3. August 2025 um 11:51
    Zitat von Mira_Belle

    Wäre es einfach nur ein Button oder so,

    Lass dich dabei nicht stören, immer her damit.;):)

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

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

    Sorry der Nachfrage, aber wo finde ich das :/

    Sorry, Andreas, hätte ich noch dazu schreiben müssen. Ich nutze von Aris das Script Add-on Bar script for Firefox 102+ by Aris.uc.js, und das Menü befindet sich dann in der unteren Leiste. Du wirst nur den schwarzen Schriftzug "Start" sehen. Ich habe dazu noch Anpassungen vorgenommen.

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

    • FuchsFan
    • 3. August 2025 um 11:17

    Das folgende Script erstellt ein Startmenü, und übernimmt automatisch die zugehörigen Icons aus Windows. Seit dem gestrigen Update in Nightly werden nur noch wenige Icons fehlerlos dargestellt.

    Vor dem Update: Nach dem Update:

    Wer kann bitte helfen?

    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: 'Download Firefox', path: 'D:\\Download Firefox'},
    	{name: 'Ordner Screenshots', path: 'C:\\Users\\Old Man\\Pictures\\Screenshots'},
    	{name: 'Windows Explorer', path: 'C:\\Windows\\explorer.exe'},
    	{name: 'Editor', path: 'C:\\Windows\\System32\\notepad.exe'},
    	{name: 'Ordner Dokumente', path: 'C:\\Users\\Old Man\\Documents'},
    	{name: 'notepad++', path: 'C:\\notepad++\\notepad++.exe'},
    	{name: 'Rechner', path: 'C:\\WINDOWS\\system32\\calc.exe'},
    	{name: 'Ordner Backup ArbeitsFox', path: 'E:\\BackupFirefox\\ArbeitsFox '},
    	{name: 'Ordner BackupFirefox', path: 'E:\\BackupFirefox'},
    	{name: 'Ordner ArchiveFirefox', path: 'G:\\ArchiveFirefox'},
    	{name: 'Firefox Beta 3', path: 'G:\\Portable.Firefox.Updater.3\\Firefox Beta x64 Launcher.exe'},
    	{name: 'Firefox Nightly 3', path: 'G:\\Portable.Firefox.Updater.3\\Firefox Nightly x64 Launcher.exe'},
    	{name: 'Firefox Stable 3', path: 'G:\\Portable.Firefox.Updater.3\\Firefox Stable x64 Launcher.exe'},
    	{name: 'Ordner Portable.Firefox.Updater.1', path: 'G:\\Portable.Firefox.Updater.1'},
    	{name: 'Ordner Portable.Firefox.Updater.2', path: 'G:\\Portable.Firefox.Updater.2'},
    	{name: 'Ordner Portable.Firefox.Updater.3', path: 'G:\\Portable.Firefox.Updater.3'},
    	{name: 'Ordner Portable.Firefox.Updater.4', path: 'G:\\Portable.Firefox.Updater.4'},
    	{name: 'Portable Start', path: 'G:\\Starter'},
    	{name: 'Ordner FoxIcons', path: 'C:\\FoxIcons'},
    	{name: 'Ordner FoxIcons2', path: 'C:\\FoxIcons2'},
    	{name: 'Installationsordner', path: 'C:\\Program Files\\Mozilla Firefox'},
    	
      ],
    
      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('addonbar');
          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
  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 2. August 2025 um 08:57
    Zitat von Mira_Belle

    für Tests setze ganz einfach "interne" Symbole
    oder schaue hier:

    Mira_Belle

    Ich danke dir, werde mich damit befassen.:thumbup:

    Nachtrag:

    Eventuell kann es Verwendung finden, mit dem folgenden Code sind die Kästchen hinter den Icons ausgeblendet. Script Appmenu.uc.js funktioniert fehlerfrei.

    CSS
    /*===  ab Version 143 ===*/
    
    /* die Kästchen hinter den Icons ausgeblendet */
    #AppMenuButton menupopup#AMpopup menuitem.menuitem-iconic img.menu-icon {
       display: none !important;
    }
    
    /* die Kästchen hinter den Icons bei Submenüs ausgeblendet */
    #AppMenuButton menupopup#AMpopup menu.menu-iconic img.menu-icon {
        display: none !important;
    }
    
    /* Text in den Menüs nach rechts verlagert */
    #AMpopup menuitem.menuitem-iconic label.menu-text {
        padding-left: 22px !important;
    }
    
    /* Text in den Menüs mit Submenüs nach rechts verlagert */
    #AppMenuButton menupopup#AMpopup menu.menu-iconic label.menu-text {
    	padding-left: 23px !important;
    }
    
    #AMpopup menuitem.menuitem-iconic:hover label.menu-text {
    	font-weight: 700 !important;
    	color: red !important;
    }
    
    /** ENDE */
    Alles anzeigen

  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 22:06
    Zitat von Mira_Belle

    Ich denke, Du bist besser beraten, einzelne Skripte zu nutzen.
    Z.B. eines für ein abgespecktes Appmenü

    Mira_Belle

    Stellst du mir bitte mal dein "abgespecktes" Appmenü zur Verfügung, welches jetzt auch im Nightly ohne Fehler funktioniert. Ich möchte damit einige Tests ausführen.

  • Ordnersymbole manuell einfärben ab Nightly 143

    • FuchsFan
    • 1. August 2025 um 21:37
    Zitat von 2002Andreas

    So habe ich das überall gemacht.

    2002Andreas

    Ich habe es nun auch geändert. Kannst du dich noch an unsere Powershell-Scripte erinnern, da war es besonders wichtig, sonst funktionierten sie nicht.

  • Ordnersymbole manuell einfärben ab Nightly 143

    • FuchsFan
    • 1. August 2025 um 19:16
    Zitat von 2002Andreas

    So sollte das für die Lesezeichen-Symbolleiste und die Popups dann aussehen:

    Probiere ich aus.


    Das passt wunderbar, nun hat das Gefrickel ein Ende. Danke!:thumbup::)

  • Ordnersymbole manuell einfärben ab Nightly 143

    • FuchsFan
    • 1. August 2025 um 19:02
    Zitat von .DeJaVu

    weil ich die Änderungen dort zum einen nachvollziehen kann

    Ich nicht, deswegen bleibe ich bei meinem "Gefrickel".;) Du meinst es gut, aber ich habe davon schon Teile versucht, kann aber nicht feststellen was sie bewirken. Seine Fähigkeiten würde ich nie anzweifeln, steht mir nicht zu. Außerdem nutze ich auch zwei Sachen von ihm, aber die kann ich noch überblicken.


    Zitat von 2002Andreas

    Aber da eh schlechtes Wetter zur Zeit ist, da kann man ja etwas basteln ;)

    :thumbup::)

  • Ordnersymbole manuell einfärben ab Nightly 143

    • FuchsFan
    • 1. August 2025 um 18:28
    Zitat von 2002Andreas

    Kurzform:

    2002Andreas

    Danke, damit konnte ich wenigstens weiter kommen. Letztendlich habe ich das jetzt so aufgestellt, dass sowohl in der Symbolleiste, als auch in den Popup-Menüs ein eigenes Icon für Folder angezeigt wird. Nacharbeit fehlt noch, aber das hat Zeit.

    CSS
    treechildren::-moz-tree-image(container),
    .bookmark-item[container="true"] {
        background-image: url('icons/yellow.png') !important;  
        background-repeat: no-repeat !important;
    	fill: transparent !important;
    }
    
    .bookmark-item[container="true"] {
        list-style-image: url('icons/yellow.png') !important;  
        background-repeat: no-repeat !important;
    }
    Alles anzeigen
  • Ordnersymbole manuell einfärben ab Nightly 143

    • FuchsFan
    • 1. August 2025 um 17:40
    Zitat von 2002Andreas

    jetzt also background-image.

    2002Andreas

    Das hatte ich gestern schon probiert, dann sieht es so aus. Das Icon ist da, aber natürlich auch das svg-Icon. Wie bekomme ich das weg?

    Zitat von grisu2099

    teste bitte:

    grisu2099

    Wenn ich das nehme, dann werden keine Icons mehr angezeigt, nicht in der Symbolleiste, und auch nicht in den Popups.:/


    Zitat von 2002Andreas

    Außerdem, hier fehlen die "

    Das funktioniert hier auch ohne.:/

  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 15:26
    Zitat von Mira_Belle

    Das Skript ist ganz schöner Murks!

    Du magst je recht haben, aber das funktioniert so bisher in allen Versionen. Und es funktioniert immer noch, nur dass da jetzt die zusätzlichen Icons (hinter dem eigenen Icon) da sind, und die möchte ich weg haben. Für die eigenen Icons nutze ich eine css-Datei.

    Danke für dein Angebot, aber diese Arbeit brauchst du nicht wirklich machen, das muss nicht sein.

  • Ordnersymbole manuell einfärben ab Nightly 143

    • FuchsFan
    • 1. August 2025 um 15:11

    Für eigene Icons in der Lesezeichen-Symbolleiste und in den Popup-Menüs der Ordner nutze ich den folgenden Code.

    CSS
    /*========== Ordnersymbole manuell einfärben ** Symbole im Ordner icons im Ordner chrome ============*/
    /*************** Farben ** blue ** brown ** cyan ** green ** orange ** red ** yellow *****************/
    
    /* Ordner in der Lesezeichen-Symbolleiste */
    @-moz-document url-prefix("chrome://browser/content/browser.xhtml") {
    	
    treechildren::-moz-tree-image(container),
    .bookmark-item[container="true"] {
        list-style-image: url('icons/yellow.png') !important;  
        background-repeat: no-repeat !important;
    }
    
    
    /*===== Ordner in der Lesezeichen-Symbolleiste =====*/
    
    /* Lesezeichen-Symbolleiste bei den Button das Icon nach links verlagert */
    #PersonalToolbar.browser-toolbar.chromeclass-directories.instant.customization-target toolbaritem#personal-bookmarks hbox#PlacesToolbar hbox scrollbox#PlacesToolbarItems toolbarbutton.bookmark-item image.toolbarbutton-icon {	
        margin-left: 1px !important;
    	margin-top: 0px !important;
    }
    
    /* Lesezeichen-Symbolleiste bei den Button den Text nach links verlagert */
    #PersonalToolbar.browser-toolbar.chromeclass-directories.instant.customization-target toolbaritem#personal-bookmarks hbox#PlacesToolbar scrollbox#PlacesToolbarItems toolbarbutton.bookmark-item .toolbarbutton-text {	
        margin-left: 1px !important;
    	margin-top: -1px !important;
    	padding-right: 2px !important;
    }
    
    /* Lesezeichen-Symbolleiste in den Unterordnern das Icon nach links verlagert */
    #personal-bookmarks hbox#PlacesToolbar scrollbox#PlacesToolbarItems toolbarbutton.bookmark-item menupopup menu.menu-iconic.bookmark-item hbox.menu-iconic-left image.menu-iconic-icon{
    	margin-left: -35px !important;
    }
    /* Lesezeichen-Symbolleiste in den Unterordnern den Text verlagert */
    #personal-bookmarks hbox#PlacesToolbar scrollbox#PlacesToolbarItems toolbarbutton.bookmark-item menupopup menu.menu-iconic.bookmark-item label.menu-iconic-text {
    	margin-left: -5px !important;
    }
    
    /* Lesezeichen-Symbolleiste in den weiteren Unterordnern den Text verlagert */
    #PersonalToolbar.browser-toolbar.chromeclass-directories.instant.customization-target toolbaritem#personal-bookmarks hbox#PlacesToolbar scrollbox#PlacesToolbarItems toolbarbutton.bookmark-item menupopup menu.menu-iconic.bookmark-item menupopup menuitem.menuitem-iconic.bookmark-item.menuitem-with-favicon label.menu-iconic-text {
    	margin-left: -3px !important;
    }
    
    
    /*===== Menü Lesezeichen =====*/
    
    /* bei Menü "Lesezeichen" /  das Icon nach links / Text nach links verlagert */
    #main-menubar menu#bookmarksMenu menupopup#bookmarksMenuPopup .menu-iconic.bookmark-item hbox.menu-iconic-left image.menu-iconic-icon {
    	margin-left: -41px !important;
    }
    #main-menubar menu#bookmarksMenu menupopup#bookmarksMenuPopup .menu-iconic.bookmark-item label.menu-iconic-text {
    	margin-left: -6px !important;
    }
    
     
    /* bei Menü "Lesezeichen" / "Lesezeichen-Symbolleiste" in den Unterordnern das Icon nach links / Text nach links verlagert */
    #bookmarksMenuPopup menu#bookmarksToolbarFolderMenu.menu-iconic.bookmark-item menupopup#bookmarksToolbarFolderPopup menu.menu-iconic.bookmark-item hbox.menu-iconic-left image.menu-iconic-icon {
    	margin-left: -32px !important;
    }
    #bookmarksMenuPopup menu#bookmarksToolbarFolderMenu.menu-iconic.bookmark-item menupopup#bookmarksToolbarFolderPopup menu.menu-iconic.bookmark-item label.menu-iconic-text {
    	margin-left: -3px !important;
    }
    
    /* bei Menü Lesezeichen/Lesezeichen-Symbolleiste in den weiteren Unterordnern das Favicon verlagert */
    #PlacesToolbarItems toolbarbutton.bookmark-item menupopup menu.menu-iconic.bookmark-item menupopup menuitem.menuitem-iconic.bookmark-item.menuitem-with-favicon hbox.menu-iconic-left image.menu-iconic-icon{
    	margin-left: 0px !important;
    }
    
    /* bei Menü "Lesezeichen" / "Lesezeichen-Symbolleiste" in den weiteren Unterordnern das Favicon und Text verlagert */
    #bookmarksToolbarFolderPopup menu.menu-iconic.bookmark-item menupopup menuitem.menuitem-iconic.bookmark-item.menuitem-with-favicon hbox.menu-iconic-left image.menu-iconic-icon{
    	margin-left: -32px !important;
    }
    #bookmarksToolbarFolderPopup menu.menu-iconic.bookmark-item menupopup menuitem.menuitem-iconic.bookmark-item.menuitem-with-favicon label.menu-iconic-text{
    	margin-left: -5px !important;
    }
    
    /* bei Menü "Lesezeichen" / "Weitere Lesezeichen" das Favicon und Text verlagert */
    #otherBookmarksFolderPopup menuitem.menuitem-iconic.bookmark-item.menuitem-with-favicon hbox.menu-iconic-left image.menu-iconic-icon{
    	margin-left: -32px !important;
    }
    #otherBookmarksFolderPopup menuitem.menuitem-iconic.bookmark-item.menuitem-with-favicon label.menu-iconic-text{
    	margin-left: -5px !important;
    }
    
    /* bei Menü "Lesezeichen" / "Kürzlich Lesezeichen gesetzt" das Favicon und Text verlagert */
    #bookmarksMenuPopup menu.menu-iconic.bookmark-item menupopup menuitem.menuitem-iconic.bookmark-item.menuitem-with-favicon hbox.menu-iconic-left image.menu-iconic-icon{
    	margin-left: -32px !important;
    }
    #bookmarksMenuPopup menu.menu-iconic.bookmark-item menupopup menuitem.menuitem-iconic.bookmark-item.menuitem-with-favicon label.menu-iconic-text{
    	margin-left: -5px !important;
    }
    
    
    /*=== einige Ordner mit eigenem Icon ausgestattet ===*/
    
    /* PC */
    #PlacesToolbarItems > .bookmark-item > .toolbarbutton-icon[label=Computer] {
        list-style-image: url("file:///C:/FoxIcons/computer24.png") !important;
        background-repeat: no-repeat !important;
    }
    
    /* Firefox */
    #PlacesToolbarItems > .bookmark-item > .toolbarbutton-icon[label=Firefox] {
        list-style-image: url("file:///C:/FoxIcons/Firefox32.png") !important;
        background-repeat: no-repeat !important;
    }
    
    /* Shops */
    #PlacesToolbarItems > .bookmark-item > .toolbarbutton-icon[label=Shops] {
        list-style-image: url("file:///C:/FoxIcons/shop32.png") !important;
        background-repeat: no-repeat !important;
    }
    
    /* News */
    #PlacesToolbarItems > .bookmark-item > .toolbarbutton-icon[label=News] {
        list-style-image: url("file:///C:/FoxIcons/news32.png") !important;
        background-repeat: no-repeat !important;
    }
    
    /* Ablage */
    #PlacesToolbarItems > .bookmark-item > .toolbarbutton-icon[label=Ablage] {
        list-style-image: url("file:///C:/FoxIcons/1273.png") !important;
        background-repeat: no-repeat !important;
    }
    }
    
    
    /* Ordner der Sidebar */
    @-moz-document url("chrome://browser/content/places/bookmarksSidebar.xhtml") {
    	    
        treechildren::-moz-tree-image(title, container),
        treechildren::-moz-tree-image(title, query, hostContainer) {
            list-style-image: url("icons/green.png")  !important;
        }
        }
    	
    	
    /* Ordner der Bibliothek */
    @-moz-document url("chrome://browser/content/places/places.xhtml") {
        
        treechildren::-moz-tree-image(title, container),
        treechildren::-moz-tree-image(title, query, hostContainer) {
            list-style-image: url("icons/blue.png")  !important;
        }
        }	
    Alles anzeigen


    Das sah bisher dann in den Popup-Menüs dann so aus.

    Jetzt sieht es aber in Nightly so aus.

    Ich bekomme den Code nicht geändert, bitte helfen.

  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 14:52
    Zitat von 2002Andreas

    Den Eintrag habe ich in keinem meiner Codes.

    In den anderen Versionen (bis Beta) ist er immer noch drin, und keine Probleme. Aber ich gehe davon aus, dass er auch dort überflüssig ist. Werde ich mal testen.

  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 14:47
    Zitat von 2002Andreas

    Der Code funktioniert auch, aber er vergrößert die beiden Pfeile nicht so groß wie die anderen Icons.

    2002Andreas

    Das stimmt so, Andreas. Der Code funktioniert hier auch wieder, weil ich aus dem gesamten Code diesen Übeltäter entfernt habe.

    @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

    Den Code für die einzelnen Icons musste ich natürlich auch abändern, aber nun funktioniert es auch wieder in Nightly. Danke für deine Unterstützung.:thumbup::)

  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 10:22
    Zitat von 2002Andreas

    Dann den Inhalt in die Browser-Werkzeuge einfügen, und dann teilweise Einträge löschen..testen..Rückgängig machen.. usw. bis ich den Fehler gefunden habe.

    Ja, nun ist mir klar, ich muss den gesamten Code für das Kontext-Menü überarbeiten.

  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 10:11

    2002Andreas

    Danke, Andreas, Code in userChrome.css eingefügt, und es funktioniert. Da muss im ganzen Code noch Sand im Getriebe sein.:/

  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 09:59
    Zitat von 2002Andreas

    Teste bitte mal.

    Nichts zu machen, ändern sich nicht.:/


    Zitat von Mira_Belle

    Da ist aber ganz schön schwer daran gebastelt worden.

    Stimmt, dieses nutze ich so, nur um andere Programme zu starten.

  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 09:48
    Zitat von Mira_Belle

    Den dazugehörenden Code bräuchte ich.

    Aber natürlich, bitteschön.

    JavaScript
    // ==UserScript==
    // @name           AppsStarter.uc.js
    // @namespace      Appmenu@gmail.com
    // @description    Basiert auf dem Script externalFuncButtonM.uc.js, Wiederherstellung der Orangenen FF-Menü Schaltfläche
    
    // ==/UserScript==
    
    var Appmenu = {
        // Beginn der Konfiguration ------------------
        
        // Editor mit angegebenem Pfad verwenden
        editor: 'C:\\notepad++\\notepad++.exe',
        // oder
        // in 'view_source.editor.path' eingetragenen Editor verwenden
        editor: Services.prefs.getCharPref('view_source.editor.path'),
        // Dateimanager mit angegebenem Pfad verwenden oder leer ('') wenn System-Dateimanager verwenden
        fileManager: '',
        // fileManager: 'C:\\Program files\\FreeCommander XE\\FreeCommander.exe',
        // Parameter für Dateimanager oder leer ('')
        FMParameter: '/T',
        // Submenüs ohne Inhalt im Hauptmenü automatisch ausblenden
        autohideEmptySubDirs: true,
        // Submenüs im Hauptmenü nach unten verschieben
        moveSubDirstoBottom: false,
        // Ort und Aussehen des Menü-Buttons einstellen
        isUrlbar: 1,  // 0: TabsToolbar, 1: navbar, 2: toolbar-menubar;
        isButton: 1,  // 0: Hamburger, klein; 1: Firefox, groß
        // Hotkey zum Öffnen des Appmenüs oder leer ('')
        hotkey: 'x',
        hotkeyModifier: 'alt',
        
        // Ende der Konfiguration --------------------
        
        subdirPopupHash: [],
        subdirMenuHash: [],
        toolbar: {
            // Submenüs des Hauptmenüs definieren; Separator einfügen mit {name: 'separator'}
    		
            subdirs: [
    		
    		],
            
    		apps: [
    		
    		
    		// im Hauptmenü angezeigt
    		
    		{
                name: 'Updater 1 - Beta',
    			root: 'ProfD',
                path: 'G:/Portable.Firefox.Updater.1/Firefox Beta x64 Launcher.exe',
            },
    		{
                name: 'Updater 1 - ESR',
    			root: 'ProfD',
                path: 'G:/Portable.Firefox.Updater.1/Firefox ESR x64 Launcher.exe',
            },
    		{
                name: 'Updater 1 - Stable',
    			root: 'ProfD',
                path: 'G:/Portable.Firefox.Updater.1/Firefox Stable x64 Launcher.exe',
            },
    		
    		{
                name: 'Updater 2 - Beta',
    			root: 'ProfD',
                path: 'G:/Portable.Firefox.Updater.2/Firefox Beta x64 Launcher.exe',
            },
    		{
                name: 'Updater 2 - Nightly',
    			root: 'ProfD',
                path: 'G:/Portable.Firefox.Updater.2/Firefox Nightly x64 Launcher.exe',
            },
    		{
                name: 'Updater 2 - Stable',
    			root: 'ProfD',
                path: 'G:/Portable.Firefox.Updater.2/Firefox Stable x64 Launcher.exe',
            },
    		
    		{
                name: 'Updater 3 - Beta',
    			root: 'ProfD',
                path: 'G:/Portable.Firefox.Updater.3/Firefox Beta x64 Launcher.exe',
            },
    		{
                name: 'Updater 3 - Nightly',
    			root: 'ProfD',
                path: 'G:/Portable.Firefox.Updater.3/Firefox Nightly x64 Launcher.exe',
            },
    		{
                name: 'Updater 3 - Stable',
    			root: 'ProfD',
                path: 'G:/Portable.Firefox.Updater.3/Firefox Stable x64 Launcher.exe',
            },
    		{
                name: 'Nightly 1',
    			root: 'ProfD',
                path: 'G:/Firefox Test/Nightly1/FirefoxLoader.exe',
            },
    		{
                name: 'Nightly 2',
    			root: 'ProfD',
                path: 'G:/Firefox Test/Nightly2/FirefoxLoader.exe',
            },
    		{
                name: 'Profil-Manager',
    			root: 'ProfD',
                path: 'G:/Profilauswahl/Profil-Starter.lnk',
            },
    		{
                name: 'WinMerge',
    			root: 'ProfD',
    			path: 'G:/Starter/WinMerge 2.16.42.1.lnk',
    		},	
    		{
                name: 'notepad++',
    			root: 'ProfD',
    			path: 'C:/notepad++/notepad++.exe',
    		}	
    		],
            
            configs: [
            // Untermenü Firefox Funktionen
    		
    		{
                name: 'Browser-Werkzeuge',
                command: "var { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
                          var { BrowserToolboxLauncher } = require('resource://devtools/client/framework/browser-toolbox/Launcher.sys.mjs');\
                          BrowserToolboxLauncher.init();",
            },
    		{
                name: 'Neustart',
                tooltiptext: 'userChrome.js-Cache wird geleert',
                	command: 'Services.appinfo.invalidateCachesOnRestart(); \
                          Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);',
                id: 'AMreboot',
            },
    		{
                name: 'Beenden',
                command: "goQuitApplication(event);",
                id: 'AMquit',
            },
    
            ]
        },
        _externalAppPopup: null,
        _isready: false,
        init: function() {
            this.handleRelativePath(this.toolbar.apps);
            const XULNS = 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul';
    
            var ExternalAppBtn = document.createElementNS(XULNS, 'toolbarbutton');
            ExternalAppBtn.id = "AppMenuButton";
            ExternalAppBtn.setAttribute("label", "AppButton");
            //ExternalAppBtn.setAttribute("onclick", "event.preventDefault();event.stopPropagation();");
    		ExternalAppBtn.addEventListener('click', event => {
              event.preventDefault();
              event.stopPropagation();
            });
            ExternalAppBtn.setAttribute("tooltiptext", "Firefox Menü");
            ExternalAppBtn.setAttribute("type", "menu");
            ExternalAppBtn.setAttribute("removable", "true");
    		  
    		  if (Appmenu.isButton) {
    			  ExternalAppBtn.style.listStyleImage = "url(file:///C:/FoxIcons/0059.png)";
    		  } else {
    			  ExternalAppBtn.style.listStyleImage = "url(file:///C:/FoxIcons/0059.png)";
    		  }
            if (Appmenu.isUrlbar === 1) {
                var navBar = document.getElementById("nav-bar-customization-target");
                navBar.insertBefore(ExternalAppBtn, navBar.firstChild);
            } else if (Appmenu.isUrlbar === 2) {
                var menubar = document.getElementById("toolbar-menubar");
                menubar.insertBefore(ExternalAppBtn, menubar.firstChild);
            } else {
                var TabsToolbar = document.getElementById("TabsToolbar");
                TabsToolbar.insertBefore(ExternalAppBtn, TabsToolbar.firstChild);
            }
    
            var ExternalAppPopup = document.createElementNS(XULNS, 'menupopup');
            //ExternalAppPopup.setAttribute('onpopupshowing', 'event.stopPropagation(); Appmenu.onpopupshowing();');
    		ExternalAppPopup.addEventListener('click', event => {
               event.stopPropagation();
            });
            ExternalAppPopup.setAttribute('id', 'AMpopup');
            this._externalAppPopup = ExternalAppPopup;
            ExternalAppBtn.appendChild(ExternalAppPopup);
            Appmenu.onpopupshowing();
            
    		  // Menü mit Tastaturkürzel öffnen
            if (Appmenu.hotkey) {
            let key = document.createXULElement('key');
            key.id = 'key_AppMenuPopup';
            key.setAttribute('key', Appmenu.hotkey);
                if (Appmenu.hotkeyModifier)
            key.setAttribute('modifiers', Appmenu.hotkeyModifier);
            key.setAttribute('oncommand', 'document.getElementById("AMpopup").openPopup();');
            document.getElementById('mainKeyset').appendChild(key);
            }
        },
    
        onpopupshowing: function() {
            if (this._isready)
                return;
            if (this._externalAppPopup === null)
                return;
            var ExternalAppPopup = this._externalAppPopup;
            for (let subdir of this.toolbar.subdirs) {
                if (subdir.name == 'separator') {
                    ExternalAppPopup.appendChild(document.createXULElement('menuseparator'));
                } else {
                    var subdirItem = ExternalAppPopup.appendChild(document.createXULElement('menu'));
                    var subdirItemPopup = subdirItem.appendChild(document.createXULElement('menupopup'));
                    subdirItem.setAttribute('class', 'menu-iconic');
                    subdirItem.setAttribute('label', subdir.name);
                    subdirItem.setAttribute('image', subdir.image);
                    Appmenu.subdirPopupHash[subdir.name] = subdirItemPopup;
                    Appmenu.subdirMenuHash[subdir.name] = subdirItem;
                }
            }
    
            for (let app of this.toolbar.apps) {
                var appItem;
                if (app.name == 'separator') {
                    appItem = document.createXULElement('menuseparator');
                } else {
                    appItem = document.createXULElement('menuitem');
                    appItem.setAttribute('class', 'menuitem-iconic');
                    appItem.setAttribute('label', app.name);
                    appItem.setAttribute('image', app.image);
                    //appItem.setAttribute('oncommand', "Appmenu.exec(this.path, this.args);");
    				appItem.addEventListener('command', function () {
                    Appmenu.exec(this.path, this.args);
    
                });
                    appItem.setAttribute('tooltiptext', app.name);
                    appItem.path = app.path;
                    appItem.args = app.args;
                }
                if (app.subdir && Appmenu.subdirPopupHash[app.subdir])
                    Appmenu.subdirPopupHash[app.subdir].appendChild(appItem);
                else ExternalAppPopup.appendChild(appItem);
            }
    
            for (let config of this.toolbar.configs) {
                var configItem;
                if (config.name == 'separator') {
                    configItem = document.createXULElement('menuseparator');
                } else {
                    configItem = ExternalAppPopup.appendChild(document.createXULElement('menuitem'));
                    configItem.setAttribute('class', 'menuitem-iconic');
                    configItem.setAttribute('label', config.name);
                    configItem.setAttribute('image', config.image);
                    //configItem.setAttribute('oncommand', config.command);
    				configItem.addEventListener('command', () => {
                    eval(config.command);
                });
                    if (config.tooltiptext) {
                    configItem.setAttribute('tooltiptext', config.tooltiptext);
                    } else {
                       configItem.setAttribute('tooltiptext', config.name);
                    }
                    configItem.setAttribute('id', config.id);
                }
                if (config.subdir && Appmenu.subdirPopupHash[config.subdir]) {
                    Appmenu.subdirPopupHash[config.subdir].appendChild(configItem);
                } else {
                    ExternalAppPopup.appendChild(configItem);
                }
            }
    
            if (this.autohideEmptySubDirs) {
                for (let i = 0; i < Appmenu.subdirPopupHash.length; i++) {
                    if (Appmenu.subdirPopupHash[i].hasChildNodes()) {
                        continue;
                    } else {
                        Appmenu.subdirMenuHash[i].setAttribute("hidden", "true");
                    }
                }
            }
    
            if (this.moveSubDirstoBottom) {
                let i = ExternalAppPopup.childNodes.length;
                while (ExternalAppPopup.firstChild.getAttribute('class') != 'menuitem-iconic' && i-- != 0) {
                    ExternalAppPopup.appendChild(ExternalAppPopup.firstChild);
                }
            }
            this._isready = true;
        },
    
        handleRelativePath: function(apps) {
            for (let app of apps) {
                if (app.path) {
                    app.path = app.path.replace(/\//g, '\\');
                    var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get(app.root, Ci.nsIFile).path;
                    if (/^(\\)/.test(app.path)) {
                        app.path = ffdir + app.path;
                    }
                }
            }
        },
    
        exec: function(path, args) {
            args = args || [];
            var args_t = args.slice(0);
            for (let arg of args_t) {
                arg = arg.replace(/%u/g, gBrowser.currentURI.spec);
            }
            var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
            file.initWithPath(path);
            if (!file.exists()) {
                //Cu.reportError('Datei nicht gefunden: ' + path);
                alert('Datei nicht gefunden: ' + path);
                return;
            }
            if (file.isExecutable() && !path.endsWith('.js')) {
                var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
                process.init(file);
                process.run(false, args_t, args_t.length);
            } else if (file.isFile()) {
                if (this.editor) {
                    let UI = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter);
                    UI.charset = window.navigator.platform.toLowerCase().includes('win') ? 'Shift_JIS' : 'UTF-8';
                    let path = UI.ConvertFromUnicode(file.path);
                    let app = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
                    app.initWithPath(this.editor);
                    let process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
                    process.init(app);
                    process.run(false, [path], 1);
                } else {
                    file.launch();
                }
            } else if (file.isDirectory()) {
                if (this.fileManager) {
                    let args=[this.FMParameter,path];
                    let app = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
                    app.initWithPath(this.fileManager);
                    let process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
                    process.init(app);
                    process.run(false, args, args.length);
                } else {
                    file.launch();
                }
            }
        },
    };
    
    if (window.gBrowser)
        Appmenu.init();
    
    // _AppMenuButtonMoveable.js
    
    (function() {
      if (location != 'chrome://browser/content/browser.xhtml')
        return;  
      var appButton = document.getElementById('AppMenuButton');
     
      if (!CustomizableUI.getPlacementOfWidget('MoverAppMenuButton')) { 
        try {
          CustomizableUI.createWidget({
            id: 'MoverAppMenuButton',
            type: 'custom',
            defaultArea: CustomizableUI.AREA_NAVBAR,
            onBuild: function(aDocument) {
              var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
              toolbaritem.id = 'MoverAppMenuButton';
              toolbaritem.className = 'chromeclass-toolbar-additional';          
              toolbaritem.setAttribute('label', 'Firefox Starter');          
              return toolbaritem;            
            }
          });
          if (!CustomizableUI.getPlacementOfWidget('MoverAppMenuButton')) {     
            menuButton.style.display = 'none';
            return; 
          };        
        } catch(e) {        
          menuButton.style.display = 'none';
          return;      
        };    
      };
      
      setTimeout(function() { 
       document.getElementById('MoverAppMenuButton').appendChild(appButton);       
       appButton.setAttribute('consumeanchor', 'MoverAppMenuButton');
       appButton.setAttribute('label', 'Firefox Starter');
       appButton.setAttribute('tooltiptext', 'Firefox Starter');        
      }, 0);
    
    }());
    Alles anzeigen
  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 09:35

    2002Andreas

    Kannst du mir hierbei behilflich sein, ich schaffe es nicht den Code abzuändern. So sieht es bisher aus, damit alle Icon die gleiche Größe haben.

    Mit diesem Code:

    CSS
    /* =========================== */
    /*  Skip To Top & Bottom Icons */
    /*  Einheitliche Icon-Größe    */
    /* =========================== */
    
    #context-navigation {
      > .menuitem-iconic {
        > .menu-icon {
            width: 34px !important;
            height: 34px !important;
            max-width: 34px !important;
            max-height: 34px !important;
            background-size: contain !important; /* für perfekte Skalierung */
            object-fit: contain !important; /* falls SVGs oder PNGs verwendet werden */
        }
      }
    }
    
    #context-navigation > .menuitem-iconic:not([disabled]):hover{
       color: red !important;
    }
    Alles anzeigen


    Im aktuellen Nightly funktioniert das so nicht mehr.

  • ScrollTopAndBottom.uc.js und Open with.uc.js zeigen keine Icons mehr an im Nightly

    • FuchsFan
    • 1. August 2025 um 09:30
    Zitat von Mira_Belle

    Ach, und so ganz nebenbei habe ich das Appmenü-Skript auch gefixt!
    Wer nutzt das Original?

    Mira_Belle

    So sieht das jetzt aus, was darf ich ändern?

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