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

Beiträge von milupo

  • addonbar.us.js funktioniert nicht mehr

    • milupo
    • 25. Januar 2025 um 23:08

    Das hat aber ursächlich nichts mit Aris' Skript zu tun. Aris ist da der falsche Ansprechpartner. Und wenn da beim Klick nichts passiert, mag es zwar das Firefox-Symbol sein, aber es sollte dann kein Problem mit der Funktion geben. Ich kann mir im Moment nur ein Download-Skript vorstellen, dass das Firefox-Symbol verwendet und das in der vertikalen Add-on_Leiste ist. Ein Bildschirmfoto von der Leiste wäre nicht schlecht.

  • addonbar.us.js funktioniert nicht mehr

    • milupo
    • 25. Januar 2025 um 22:59
    Zitat von FuchsFan

    Ich mische hier mal mit, wenn ich darf. Er meint sicherlich den Button

    Und wo kommt der her? Ich habe hier keine Buttons aus dem Skript. Nur die, die ich dorthin geschoben habe.

  • Ein Icon ins base64 Format umwandeln

    • milupo
    • 25. Januar 2025 um 22:57
    Zitat von Sören Hentzschel

    Allerdings ist das in meinen Augen ein schwaches Argument, wenn der Preis dafür eine erhöhte CPU-Last ist. Das wiegt für mich deutlich schwerer als etwas Bequemlichkeit.

    Was den ersten Satz angeht, bin ich durchaus deiner Meinung. Es ging mir aber nicht um Bequemlichkeit, sondern um es für alle Nutzer zu vereinfachen, dass Skript sofort verwenden zu können und bei der Diskussion über ein Skript eine für alle sofort verfügbar Schaltfläche zu haben. Aber nun ja, war nur so ein Gedanke.

  • Ein Icon ins base64 Format umwandeln

    • milupo
    • 25. Januar 2025 um 22:39
    Zitat von Sören Hentzschel

    Man sollte data:-URIs aber dennoch vermeiden, weil diese eine hohe CPU-Last verursachen und deutlich schlechter für die Performance sind.

    Die Symbole sind aber dadurch unabhängig vom Pfad. Für die Beispielskripte bei Endor auf Github hätten dann alle beim Speichern der Skripte das entsprechende Symbol. Es bleibt dann natürlich noch jedem unbenommen, daraus einen lokalen Pfad zu machen.

  • addonbar.us.js funktioniert nicht mehr

    • milupo
    • 25. Januar 2025 um 22:00
    Zitat von 2002Andreas

    Ich habe die Frage mal abgetrennt, und einen eigenen neuen Thread erstellt.

    Ich habe an der vorherigen Stelle gerade geantwortet. Kannst du meine Antwort verschieben?


    Zitat von milupo

    Ich habe an der vorherigen Stelle gerade geantwortet. Kannst du meine Antwort verschieben?

    Danke. Hat sich erledigt.

  • addonbar.us.js funktioniert nicht mehr

    • milupo
    • 25. Januar 2025 um 21:58
    Zitat von bege

    Das Problem besteht weiter, obwohl es gerade ein Update für das Skript gab.

    Ich weiß nicht, welchen Download-Button du meinst. Die Leiste hat keinen Button, es gibt nur den Button, mit dem man die Leiste ein- bzw. ausblenden kann. Irgendwie ist mir, als hätte ich dir das schon mal geschrieben. Wenn du da einen Download-Button hast, hast du wahrscheinlich ein Download-Skript, das nicht mehr funktioniert und dessen Symbol du in die vertikale Add-on-Leiste geschoben hast.

  • Ein Icon ins base64 Format umwandeln

    • milupo
    • 25. Januar 2025 um 20:08
    Zitat von 2002Andreas

    Du darfst das nur so in die Urlbar eintragen:

    Ach ja, ich wusste, dass ich etwas falsch mache. Habe das auch lange nicht mehr gemacht.

    Danke.


    Ich habe hier ein Werkzeugkasten-Symbol:

    Heißt bei mir werkzeugkasten.png.

  • Ein Icon ins base64 Format umwandeln

    • milupo
    • 25. Januar 2025 um 19:58
    Zitat von 2002Andreas

    Bei mir eben aber nicht

    Ich wollte den Code mal in ein Symbol umwandeln lassen, statt dessen öffnet sich eine Suchseite von Google. Liegt vielleicht am Mime-Typ svg+xml.

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

    • milupo
    • 25. Januar 2025 um 19:24
    Zitat von grisu2099

    Ich meinte das eher so, das wir automatisch dazu schreiben würden, wenn das Skript noch "Reparaturbedürftig" ist...

    War nur Spaß von mir.

    Du meinst in einem Thread, der schon etwas länger ist? Denn in der Regel eröffnet ein Nutzer einen Thread und schreibt, dass das Skript nicht mehr funktioniere. Der andere Thread, den Andreas ja nun geschlossen hat, betraf ja eigentlich einen Sonderfall. Die Inline-Eventhandler wurden abgeschafft und das gilt eigentlich erst ab Fx 136. Die Inline-Eventhandler sind aber eigentlich eine Altlast und schon lange nicht mehr notwendig, denn die Methode mit .addEventListener gibt es schon lange und kann deshalb jetzt schon auch auf den finalen Fx 134 angewandt werden. Normalerweise betrifft es dann Nutzer vom finalen Firefox erst acht Wochen später, wenn ein Nightly final wird. In dieser Zeit haben sonst die Helfer die Möglichkeit vorzuarbeiten, um dann gewappnet sein, wenn es für Nutzer der finalen Version ernst wird.

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

    • milupo
    • 25. Januar 2025 um 18:57
    Zitat von grisu2099

    wenn sie von den "alten Hasen" kommen)...

    Ja, ich als Hase sehe bei JavaScript oft sehr alt aus … :)

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • milupo
    • 25. Januar 2025 um 16:31
    Zitat von BrokenHeart

    Muss jetzt auch noch schnell meinen OT-Senf dazugeben. Danach ist aber Schluss mit dem rumgeheule!

    Nur noch das: Man sollte mal auch an die Helfer denken. Die Helfer müssen dann statt über einen Thread über z. B. zehn Threads die Kontrolle behalten, während der Nutzer, der nur eins der Skripte verwendet oder nur mit diesem einen ein Problem hat, sich nur diesen einen Thread ansehen muss.

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

    • milupo
    • 24. Januar 2025 um 22:05

    Ich nutze noch dieses:

    JavaScript
    //		RestartFirefoxButtonM.uc.js
    //		v. 0.3
    
    (function() {
    
        if (location != '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: 'Nowy start',
                        tooltiptext: 'Nowy start (přez prawe a srjedźne kliknjenje so pufrowak userChrome.js wuprózdni)',
                        style: 'list-style-image:   url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC)',
    										
                       			  
    				};
                    
                    for (var p in props)
                        toolbaritem.setAttribute(p, props[p]);
    				
    				 toolbaritem.addEventListener('click', event => {
    						if (event.button == 0) { 
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); 
                                  }
                                  if (event.button == 1 || event.button == 2) { 
                                      Services.appinfo.invalidateCachesOnRestart(); 
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);
                                  }							  
    					});
    				
                    return toolbaritem;
                }
            });
        } catch (e) {};
    
    })();
    Alles anzeigen

    Das ist wohl das gleiche, welches Andreas früher genutzt hat. Die beiden anderen Varianten für – das Hamburger-Menü und das Menü Datei – habe ich als eigene Skripte. Ich hoffe die sorbischen Texte für label: und tooltiptext: erschweren nicht das Verständnis meines Skriptes. :)

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • milupo
    • 24. Januar 2025 um 21:55
    Zitat von Horstmann

    Wer einen anderen User (mich) einen beitragslosen nutzlosen Meckerer nennt - und das hast du

    Das habe ich nicht. Auch noch so eine provozierende falsche Bemerkung. Was soll diese Aggressivität?

    Zitat von Horstmann

    Mit ignoranten Beleidigungen kann ich umgehen, bei billigen Ausreden ist Schluss.

    Was für billige Ausreden und ich hoffe, das mit den „ignoranten Beleidigungen“ ist nicht auf mich gemünzt. Ansonsten wäre das noch so eine haltlose Unterstellung. Du solltest lieber mal meinen Beitrag #530 noch einmal in Ruhe lesen. Dort habe ich ganz sachlich meine Meinung geschrieben. Wenn du dich dadurch auf den Schlips getreten fühlst, mach das mit dir aus und lass das nicht an mir aus. :cursing:

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • milupo
    • 24. Januar 2025 um 20:44
    Zitat von Horstmann

    Wenn du das dann alles für nutzlosen Schrott hälst, dann ist das halt deine Meinung, genauso wie meine Meine ist.

    Das habe ich nirgendwo behauptet, dass das, was du einbringst, nutzloser Schrott sei. Also bitte lass derartige Unterstellungen.

  • Skript für vertikale Toolbar funktioniert im heutigen Nightly nicht mehr richtig

    • milupo
    • 24. Januar 2025 um 20:37

    Bei mir ist die Schaltfläche da. Hier meine Version:

    JavaScript
    // 'Vertical Add-on Bar' script for Firefox by Aris
    //
    // no 'close' button
    // 'toggle' toolbar with 'Ctr + Alt + /' on Windows/Linux or 'Cmd + Alt + /' on macOS
    // optional toggle button hides the toolbar temporarily, it gets restored on every restart
    // 'Vertical Add-on Bar' entry is only visible in toolbars context menu when in customizing mode
    //
    // flexible spaces on toolbar work 'vertically'
    // toolbar can be on the left or on the right
    // toolbar is display horizontally in customizing mode
    
    // [!] Fix for WebExtensions with own windows by 黒仪大螃蟹 (for 1-N scripts)
    
    ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
    
    
    var AddonbarVertical = {
      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) {}
    	  
    	var addonbar_v_label = 'Vertical Add-on Bar'; // toolbar name
    	var button_label = 'Toggle vertical Add-on Bar'; // Toggle button name
    	var addonbar_v_togglebutton = true; // display toggle button for vertical toolbar (true) or not (false)
    	var addonbar_v_on_the_left = false; // display vertical toolbar on the left (true) or the right (false)
    	var style_addonbar_v = true; // apply default toolbar appearance/colors to vertical add-on bar
    	var addonbar_v_width = '30px'; // toolbar width
    	var compact_buttons = false; // compact button size (true) or default button size (false)
    
    	try {
    	 if(document.getElementById('toolbox_abv') == null && document.getElementById('addonbar_v') == null) {
    	  var toolbox_abv = document.createXULElement('toolbox');
    	  toolbox_abv.setAttribute('orient','horizontal');
    	  toolbox_abv.setAttribute('id','toolbox_abv');
    	  toolbox_abv.setAttribute('insertbefore','sidebar-box');
    	  
    	  var tb_addonbarv = document.createXULElement('toolbar');
    	  tb_addonbarv.setAttribute('id','addonbar_v');
    	  tb_addonbarv.setAttribute('customizable','true');
    	  tb_addonbarv.setAttribute('class','toolbar-primary chromeclass-toolbar browser-toolbar customization-target');
    	  tb_addonbarv.setAttribute('mode','icons');
    	  tb_addonbarv.setAttribute('iconsize','small');
    	  tb_addonbarv.setAttribute('toolboxid','navigator-toolbox');
    	  tb_addonbarv.setAttribute('orient','vertical');
    	  tb_addonbarv.setAttribute('flex','1');
    	  tb_addonbarv.setAttribute('context','toolbar-context-menu');
    	  tb_addonbarv.setAttribute('toolbarname', addonbar_v_label);
    	  tb_addonbarv.setAttribute('label', addonbar_v_label);
    	  tb_addonbarv.setAttribute('lockiconsize','true');
    	  tb_addonbarv.setAttribute('defaultset','spring');
    	  
    	  toolbox_abv.appendChild(tb_addonbarv);
    	  
    	  CustomizableUI.registerArea('addonbar_v', {legacy: true});
    
    	  setTimeout(function(){
    		CustomizableUI.registerArea('addonbar_v', {legacy: true});
    	  },2000);
    	  
    	  CustomizableUI.registerToolbarNode(tb_addonbarv);
    	  
    	  if(addonbar_v_on_the_left) {
    	    document.getElementById('browser').insertBefore(toolbox_abv,document.getElementById('browser').firstChild);
    	  }
    	  else {
    		document.getElementById('browser').appendChild(toolbox_abv);
    	  }
    	  
      	  var observer = new MutationObserver(function(mutations) {
    		mutations.forEach(function(mutation) {
    		  try {
    			if(document.querySelector('#browser').getAttribute('hidden') || document.querySelector('#main-window').getAttribute('customizing')) {
    			  document.querySelector('#addonbar_v').setAttribute('orient','horizontal');
    			  document.querySelector('#navigator-toolbox').appendChild(document.querySelector('#addonbar_v'));
    			}
    			else  {
    			  document.querySelector('#addonbar_v').setAttribute('orient','vertical');
    			  document.querySelector('#toolbox_abv').appendChild(document.querySelector('#addonbar_v'));
    
    			}
    		  } catch(e){}
    		});    
    	  });
    	
    	  observer.observe(document.querySelector('#main-window'), { attributes: true, attributeFilter: ['customizing'] });
    	  
    	  try {
    		Services.prefs.getDefaultBranch('browser.vaddonbar.').setBoolPref('enabled',true);
    		setToolbarVisibility(document.getElementById('addonbar_v'), Services.prefs.getBranch('browser.vaddonbar.').getBoolPref('enabled'));
    		setToolbarVisibility(document.getElementById('toolbox_abv'), Services.prefs.getBranch('browser.vaddonbar.').getBoolPref('enabled'));
    	  } catch(e) {}
    	  
    	  if(addonbar_v_togglebutton) {
    	  
    		CustomizableUI.createWidget({
    			id: 'togglebutton_addonbar_v', // button id
    			defaultArea: CustomizableUI.AREA_NAVBAR,
    			removable: true,
    			label: button_label, // button title
    			tooltiptext: 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 vAddonBar = win.document.getElementById('addonbar_v');
    				  setToolbarVisibility(vAddonBar, vAddonBar.collapsed);
    					  
    				  var vAddonBarBox = win.document.getElementById('toolbox_abv');
    				  setToolbarVisibility(vAddonBarBox, vAddonBarBox.collapsed);
    					  
    				  Services.prefs.getBranch('browser.vaddonbar.').setBoolPref('enabled',!vAddonBar.collapsed);
    				  
    				  if(!vAddonBar.collapsed)
    					win.document.querySelector('#togglebutton_addonbar_v').setAttribute('checked','true');
    				  else win.document.querySelector('#togglebutton_addonbar_v').removeAttribute('checked');
    				}
    			  }
    			},
    			onCreated: function(button) {
    			  if(Services.prefs.getBranch('browser.vaddonbar.').getBoolPref('enabled'))
    			    button.setAttribute('checked','true');
    			  return button;
    			}
    				
    		});
    	  }
    
    	  // Press 'Ctr + Alt + /' on Windows/Linux and 'Cmd + Alt + /' on macOS to toggle vertical add-on bar
    	  var key = document.createXULElement('key');
    	  key.id = 'key_toggleVAddonBar';
    	  key.setAttribute('key', '/');
    	  key.setAttribute('modifiers', 'accel,alt');
    	  key.setAttribute('oncommand',`
    		var windows = Services.wm.getEnumerator(null);
    		while (windows.hasMoreElements()) {
    		  var win = windows.getNext();
    		  var vAddonBar = win.document.getElementById('addonbar_v');
    		  setToolbarVisibility(vAddonBar, vAddonBar.collapsed);
    		  var vAddonBarBox = win.document.getElementById('toolbox_abv');
    		  setToolbarVisibility(vAddonBarBox, vAddonBarBox.collapsed);
    		  Services.prefs.getBranch('browser.vaddonbar.').setBoolPref('enabled',!vAddonBar.collapsed);
    		  if(!vAddonBar.collapsed)
    			win.document.querySelector('#togglebutton_addonbar_v').setAttribute('checked','true');
    		  else win.document.querySelector('#togglebutton_addonbar_v').removeAttribute('checked');
    		}
    	  `);
    	  document.getElementById('mainKeyset').appendChild(key);
    	  
    	 }
    	} catch(e) {}
    	
    	// style toolbar & toggle button
    	var addonbar_v_style = '';
    	var togglebutton_addonbar_v_style = '';
    	
    	if(style_addonbar_v) {
    	  var end_border =`
    		#addonbar_v {
    			border-inline-end: 1px solid var(--sidebar-border-color,rgba(0,0,0,0.1)) !important;
    		}
    	  `;
    		  
    	  if(!addonbar_v_on_the_left) {
    		end_border =`
    		  #addonbar_v {
    			border-inline-start: 1px solid var(--sidebar-border-color,rgba(0,0,0,0.1)) !important;
    		  }
    		`;
    	  }
    
    	  addonbar_v_style =`
    		#addonbar_v {
    		  appearance: none !important;
    		  background-color: var(--toolbar-bgcolor);
    		  background-image: var(--toolbar-bgimage);
    		  background-clip: padding-box;
    		  color: var(--toolbar-color, inherit);
    		}
    		:root[lwtheme] #addonbar_v {
    		  background: var(--lwt-accent-color) !important;
    		}
    		:root[lwtheme][lwtheme-image='true'] #addonbar_v {
    		  background: var(--lwt-header-image) !important;
    		  background-position: 0vw 50vh !important;
    		}
    		#main-window:not([customizing]) #toolbox_abv:not([collapsed='true']),
    		#main-window:not([customizing]) #addonbar_v:not([collapsed='true']) {
    		  min-width: `+addonbar_v_width+`;
    		  width: `+addonbar_v_width+`;
    		  max-width: `+addonbar_v_width+`;
    		}
    		#main-window[chromehidden='menubar toolbar location directories status extrachrome '] #toolbox_abv:not([collapsed='true']),
    		#main-window[chromehidden='menubar toolbar location directories status extrachrome '] #addonbar_v:not([collapsed='true']),
    		#main-window[sizemode='fullscreen'] #toolbox_abv:not([collapsed='true']),
    		#main-window[sizemode='fullscreen'] #addonbar_v:not([collapsed='true']) {
    		  min-width: 0px;
    		  width: 0px;
    		  max-width: 0px;
    		}
    		#main-window[customizing] #addonbar_v {
    		  outline: 1px dashed !important;
    		  outline-offset: -2px !important;
    		}
    		#addonbar_v toolbarbutton,
    		#addonbar_v toolbar .toolbarbutton-1 {
    		  padding: 0 !important;
    		}
    		#unified-extensions-button[hidden]{
    			visibility: visible !important;
    			display: flex !important;
    		}
    		#addonbar_v toolbaritem separator {
    			display: none !important;
    		}
    		#main-window:not([customizing]) #addonbar_v > toolbaritem {
    		  writing-mode: vertical-rl !important;
    		  text-orientation: mixed !important;
    		  transform: rotate(0deg) !important;
    		}
    		#main-window:not([customizing]) #addonbar_v > toolbaritem menupopup{
    		  max-height: 170px !important;
    		  max-width: 170px !important;
    		  transform: rotate(-90deg) !important;
    		}
    		#main-window:not([customizing]) #addonbar_v #search-container,
    		#main-window:not([customizing]) #addonbar_v #wrapper-search-container {
    		  flex: unset !important;
    		}
    		#main-window:not([customizing]) #addonbar_v #search-container {
    		  min-width: unset !important;
    		  width: unset !important;
    		  height: 100px !important;
    
    		  &[width] {
    			flex: unset !important;
    		  }
    		}
    		#main-window:not([customizing]) #addonbar_v #zoom-reset-button > .toolbarbutton-text {
    		  min-width: unset !important;
    		  min-height: unset !important;
    		}
    		#main-window:not([customizing]) #addonbar_v #zoom-reset-button:not([label]) {
    		  display: none !important;
    		}
    		#main-window:not([customizing]) #addonbar_v .toolbarbutton-combined-buttons-dropmarker > .toolbarbutton-icon {
    		  width: unset !important;
    		  height: 16px !important;
    		}
    		`+end_border+`
    	  `;
    	}
    	
    	var addonbar_right = '';
    	
    	if(!addonbar_v_on_the_left) {
    		addonbar_right =`
    		  #toolbox_abv{
    			order: 10 !important;
    		  }
    		`;
    	}
    	
    	if(addonbar_v_togglebutton) {
    	  togglebutton_addonbar_v_style =`
    		#togglebutton_addonbar_v .toolbarbutton-icon { \
    		  list-style-image: url('chrome://browser/skin/sidebars.svg');
    		  fill: yellow; 
    		}
    		/*#togglebutton_addonbar_v .toolbarbutton-icon {
    		  list-style-image: url('chrome://browser/skin/forward.svg');
    		  fill: red;
    		}
    		#togglebutton_addonbar_v[checked] .toolbarbutton-icon {
    		  fill: yellow;
    		}
    		#togglebutton_addonbar_v {
    		  background: url('chrome://browser/skin/back.svg') no-repeat;
    		  background-size: 35% !important;
    		  background-position: 10% 70% !important;
    		}
    		#togglebutton_addonbar_v[checked] {
    		  transform: rotate(180deg) !important;
    		  background: url('chrome://browser/skin/back.svg') no-repeat;
    		  background-position: 10% 30% !important;
    		}*/
    	  `;
    	}
    	
    	var compact_buttons_code = '';
    	
    	if(compact_buttons)
    	  compact_buttons_code = `
    		#addonbar_v toolbarbutton .toolbarbutton-icon {
    		  padding: 0 !important;
    		  width: 16px !important;
    		  height: 16px !important;
    		}
    		#addonbar_v .toolbarbutton-badge-stack {
    		  padding: 0 !important;
    		  margin: 0 !important;
    		  width: 16px !important;
    		  min-width: 16px !important;
    		  height: 16px !important;
    		  min-height: 16px !important;
    		}
    		#addonbar_v toolbarbutton .toolbarbutton-badge {
    		  margin-top: 0px !important;
    		  font-size: 8px !important;
    		}
    	  `;
    	  
    	var uri = Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(''+addonbar_v_style + togglebutton_addonbar_v_style + addonbar_right + compact_buttons_code), null, null);
    	  
    	var sss = Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService);
    	sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
    	
      }
    
    }
    
    /* initialization delay workaround */
    document.addEventListener('DOMContentLoaded', AddonbarVertical.init(), false);
    /* Use the below code instead of the one above this line, if issues occur */
    /*
    setTimeout(function(){
      AddonbarVertical.init();
    },2000);
    */
    Alles anzeigen
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • milupo
    • 24. Januar 2025 um 11:51
    Zitat von Horstmann

    Einem einzelnen User zu helfen ist zwar nett, aber einen etwas weiterreichenden Lösungsansatz und Links/Infos bereitzustellen ist noch wertvoller; während der Diskussion und v.a. auch für's Archiv bzw die Suche.

    Du theoretisierst. Erstens: Hier hat jeder das Recht, sein Problem gelöst zu bekommen. Ob als Einzelner oder als Gruppe. Was man machen kann ist, deren Beiträge auszulagern, sofern sie nichts mit dem Thema zu tun haben. Und zweitens: Du müsstest eigentlich wissen, dass JavaScript-Kenntnisse auch bei den Helfern dünn gesät sind und die Helfer sich also eine Lösung erst einmal erarbeiten müssen. Wenn du bessere Kenntnisse hast und dich berufener fühlst, dann bringe dich ein, bitte. Das ist besser, als hier nur Forderungen zu stellen. Wo warst du denn, als wir versucht haben, Nutzern beim Skript Firefox_ToolBarButtons.uc.js zu helfen?

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • milupo
    • 24. Januar 2025 um 11:32

    Es ging seit Beitrag #451 immer um das Skript Firefox_ToolBarButtons.uc.js, das ist der Beitrag als bei Boersenfeger scheinbar der Code für die Einstellungen im Skript nicht funktionierte

    Zitat von 2002Andreas

    Endor und milupo wusste es jedenfalls sofort.

    Nun ja, wir waren ja auf dem Laufenden. Da war es schon einfacher zu folgen.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • milupo
    • 23. Januar 2025 um 21:26
    Zitat von Endor

    Habt ihr eine Idee?

    Probiere mal:

    JavaScript
    toolbaritem.addEventListener('command', () => {
    					FullZoom.enlarge();
    				});

    bzw.

    JavaScript
    toolbaritem.addEventListener('command', () => {
    					FullZoom.reduce();
    				});

    Aber bei mir funktioniert es mit event => ebenfalls.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • milupo
    • 23. Januar 2025 um 20:51
    Zitat von Horstmann

    Leute, ein Chat Stil ohne klare Referenzen und mit Codeschnipseln ohne Zusammenhang, und hier noch nicht mal der ganzen Codezeile erwähnt, damit wird das wieder nur ein verzettelter Monsterthread von dem Keiner viel lernen kann

    Seit Beitrag #495 geht es um den Wunsch von mkpcxxl, about:config im jeweiligen aktuellen Fenster zu öffnen und nicht im Ursprungsfenster. Erst zum Schluss ging es um die Seiteninformationen. Beides im Skript Firefox_ToolBarButtons.uc.js.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • milupo
    • 23. Januar 2025 um 20:02

    Danke.

    So, bei mir funktioniert diese Änderung sowohl in Fx 134 als auch im Nighty. Das Nightly war etwas störrisch, weil ich about:config hier zweimal habe und dachte, dass der Code vom Sammelskript zum Symbol gehört, das ich in der Sammelskriptleiste habe. Aber ich hatte Symbol von Spezialskript und Sammelskript vertauscht. Als ich auf das Symbol in der normalen Symbolleiste klickte, funktionierte es. Na ja, ich werde wohl about:config im Sammelskript wieder deaktivieren.

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

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