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

  • Entwicklung Firefox

    • milupo
    • 4. Mai 2025 um 12:41

    Ich habe gerade mal auf archive.mozilla.org nachgesehen. Da sind wirklich die letzten Builds vom 2.05.2025, sowohl die englischen als auch die lokalisierten. Und bis jetzt wurde mir auch kein neues Update angeboten.

  • Entwicklung Firefox

    • milupo
    • 4. Mai 2025 um 12:18

    Bei mir auch. Ich habe den Computer aber gerade erst eingeschalten. Nach ein paar Minuten meldet sich dann in der Regel ein neues Update an. Mal sehen. Immerhin waren es nicht drei Brückentage … :)

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

    • milupo
    • 3. Mai 2025 um 21:46
    Zitat von Horstmann

    meiner Erinnerung nach hat das noch nie gegriffen, kann mich aber täuschen.

    Weil es :open noch nie gegeben hat und auch jetzt noch nicht gibt.

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

    • milupo
    • 3. Mai 2025 um 21:42
    Zitat von Horstmann

    Leider frisst Firefox :open anscheinend nicht als Pseudoklasse, dann wär's etwas einfacher.

    Weil es open als Pseudoklasse nun mal in CSS nicht gibt. Und wenn Mozilla sie erfände, müsste sie dann :-moz-open heißen, da sie dann proprietär wäre.

  • Firefox 1:1 Backup auf neues Windows übertragen

    • milupo
    • 3. Mai 2025 um 19:03
    Zitat von Dharkness

    Das Profil ist doch nicht in Local, sondern in APPDATA\Roaming, oder?

    Die eigentlichen Profildateien sind in Roaming, in Local sind nur die Cache-Dateien.

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

    • milupo
    • 2. Mai 2025 um 21:25
    Zitat von Horstmann

    Deine Version(en) funktionieren bei mir nur das für bzw. in dem bei Programmstart geöffneten Fenster, also das erste "Original" Fenster.

    Ich bin froh, dass ich Skripte halbwegs anpassen kann. Und mein Eindruck ist, dass doch sehr wenige die Skripte über mehrere Fenster hinweg verwenden. Zur Zeit sind es zwei, drei Nutzer.

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

    • milupo
    • 2. Mai 2025 um 20:56

    Und für das zweite Skript probiere mal diese Version:

    JavaScript
    (function () {
    	if (location != AppConstants.BROWSER_CHROME_URL)
    		return;
    	let translate = function () {
    		let browserMM = gBrowser.selectedBrowser.messageManager;
    		browserMM.addMessageListener('getSelection', function listener(message) {
    			let t = (message.data !== '');
    			let e = (document.charset || document.characterSet);
    			if (t) {
    				openWebLinkIn('https://www.deepl.com/translator#en/de/' + encodeURIComponent(message.data), 'tab');
    			} else {
    				openWebLinkIn('https://www.deepl.com/translate?u=' + encodeURIComponent(gBrowser.currentURI.spec) + '&hl=de-DE&ie=' + e + '&sl=auto&tl=de-DE', 'tab');
    			};
    			browserMM.removeMessageListener('getSelection', listener, true);
    		});
    		browserMM.loadFrameScript('data:,sendAsyncMessage("getSelection", content.document.getSelection().toString())', true);
    	}
    	let menuitem = document.createXULElement('menuitem');
    	menuitem.id = 'context-deepltranslator';
    	menuitem.setAttribute('label', 'Übersetzen mit DeepL');
    	menuitem.setAttribute('tooltiptext', 'Mit DeeplTranslate übersetzen');
      // menuitem.setAttribute('oncommand', '(' + translate.toString() + ')()');
    	//	menuitem.classList.add('menuitem-iconic');
    	//	Wer kein Icon möchte kann die nächsten beiden Zeilen auskommentieren/löschen
    	//	menuitem.style.listStyleImage = 'url("https://www.deepl.com/favicon.ico")';
    	//	menuitem.style.listStyleImage = ' url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAACNwAAAjcB9wZEwgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGZSURBVDiNjZKxaxRBFMZ/b2ZHbWITUxkRC4PnBUW0k1gkoFlMYmIR8R+w0UZBFAvtLAMS0ipC0guCd0GOa23EJGTPkBRCSCNHKiEgMzvPwmjCuiv3lft97zff7BuhQraWTouJLwE0mmf518a7spwUPxwZvlmLms8B4wWrLZhHPvuwUg44N9afGPcc4T5gK4pFgSUv/jHrre8HgKHJE4nzHWBgn/sZdBuYqQB1Q+5rbLR2DUBy1J89GIbEmNmQNW8DqxWAgcS5IQBT5vqYP3H1Gw9AHyosAKECVA4QuKfIPMhHVKygV4OVU8ByT4BDsiI6rWpusdbYUdgpBpLSMeGTRLYx2o5q9kT0ja2P3xU401ODQJz1neYdVRkT9C1gyob/Ngg/3VbifJf9TVg1L2Q43UC1eo3eb8KfB7O7uRf7T782Yo8hXBG4DFwvaRgFFoP4GTqt7u/bFuTOp5dU9BUw8u/BOhqy5fZ//4HvNL6ErHlNkSmFb4e9YM1WMV+5xjxrvM+P99VBngI/qnK96UI66OrpEhcnThatXx/tiqJJdDA6AAAAAElFTkSuQmCC")';
    	let refItem = document.getElementById('context-inspect');
    	refItem.parentNode.insertBefore(menuitem, refItem);
    	document.getElementById('context-deepltranslator').addEventListener('click', event => {
        translate ();
      });
    })();
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • milupo
    • 2. Mai 2025 um 20:46

    Erst einmal zum Profilordner-Skript. Probiere mal diese Version:

    JavaScript
    (function() {
      if (location != 'chrome://browser/content/browser.xhtml') return;
        try {
                CustomizableUI.createWidget({
                id: 'Profilordner',
                type: 'custom',
                defaultArea: CustomizableUI.AREAS,
                onBuild: function(aDocument) {         
                   var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                   var props = {
                        id: 'Profilordner',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        removable: true,
                    // Name im AnpassungFenster
                        label: 'zum Aktuellen Profilordner',
                    // Name bei MausHover wenn in Symbolleiste
                       tooltiptext: 'zum Aktuellen Profilordner',    
                    //   style: 'list-style-image: url(file:///C:/Users/SonGoku/AppData/Roaming/Mozilla/Firefox/Profiles/zlmsqesg.default-release/chrome/icon/dateiname.png)',
                         style: 'list-style-image: url(file:///C:/Users/DBI/AppData/Roaming/Mozilla/Firefox/Profiles/zvjpsewu.DBI/chrome/icon/userProfil.ico)',
                        
                      //  oncommand: "Services.dirsvc.get('ProfD', Ci.nsIFile).launch();"
                   };            
                   for (var p in props)
                      toolbaritem.setAttribute(p, props[p]);
    toolbaritem.addEventListener('click', event => {
    					if (event.button == 0) { 
                                Services.dirsvc.get("ProfD", Ci.nsIFile).launch();
                                     }
    				});				  
                   return toolbaritem;
                }      
    });
    } catch(e) { };
    })();
    Alles anzeigen
  • Tab Schließen Javascript

    • milupo
    • 2. Mai 2025 um 18:03

    clio Gern geschehen.

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

    • milupo
    • 2. Mai 2025 um 14:53

    FuchsFan Meines Erachtens kannst du dir ein zusätzliches background-image sparen, denn mit content: kannst du das genauso ausdrücken. Eine Eigenschaft weniger und keine leere content-Eigenschaft.

  • Firefox v136.0a1 - Skript „copyURL“ funktioniert nicht mehr

    • milupo
    • 2. Mai 2025 um 14:48

    Gut, dann hat er ja die Wahl.

  • Firefox v136.0a1 - Skript „copyURL“ funktioniert nicht mehr

    • milupo
    • 2. Mai 2025 um 14:33

    Wenn sie noch funktioniert, sie ist immerhin 4 Jahre alt.

  • about:about Button

    • milupo
    • 2. Mai 2025 um 13:53
    Zitat von 2002Andreas

    Normalerweise brauchst du gar nichts weiter machen, außer das Icon in den Unterordner icons im chrome Ordner ablegen.

    geldhuegel Es sei denn, du willst dem Symbol einen anderen Namen als A.png geben. Dann musst du in Zeile 14 diesen Namen angeben.

  • Kleines Script tu es nicht mehr seit dem Update auf 138.0.1

    • milupo
    • 2. Mai 2025 um 13:39

    Probiere mal diese Version:

    JavaScript
    // Downloadbutton.uc.js
    
    (function() {
    
    if (location != 'chrome://browser/content/browser.xhtml') return;
    
    try {
    CustomizableUI.createWidget({
    id: 'Download-button',
    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: 'Download-button',
    class: 'toolbarbutton-1 chromeclass-toolbar-additional',
    removable: true,
    label: 'Download Fenster öffnen',
    accesskey: 'D',
    tooltiptext: 'Download Fenster öffnen',
    style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAC7klEQVR42mJgAIL3K2X+AwQQy9VMzf+cIooMAAHE8H6i2n+QKEAAsbCrSjJ8vST4HyCAQByG13Mc/n+/D5EBCCAWsMByBQa2bz/BkgABxAAz5f1aYbAKgAACo6+XJP///OQFFgAIIJbvd23//z/NyPD/NQPDg8uS/wECiIlT+TDjr5/sDK9ZrjMo6D5nBAgguLYPC13/f7nN+v/bQ7H/P77awM0DCCAWGOPLp58MfE80GFiE+RiYOCXhGgECiAlE3PZI/i8iL8bAchMocV2C4d/+fwyPj2qBTQEIIBR02S7+/4N1AigSAAHECPcLyB9/OBkY/rMxMLxkYRDMvwWWAwggJpgCDidZBlazzwzsVg8ZGAXU4SYABBDckYy/2BmYvgsyMLLxMPz+g7AFIIAQCr6zA+0B+oCLn+HHV0Q4AgQQ48MTUv8FvwszsLwUhHhLlIeBkQ+oT+IXw8Pa3wwAAcQkb/GM8f2fbwwMr4CO+8ABDBABBua3wgzP8qQY1BbsZQQIILAj5V3vMj6Tv8Dw8/VbBqZ/nxjuT2BiUFw/D+wLgABCQXeX8v+/5pyAEg4AAYSh6v0il/+cMeIM/9+/YGBgZmNgZOSGKOSTYvi25A6DYOw2FD0AAcSCbsCfX38Y/n+4x/D37R0GZiY2hn/sQN//+8LAzGgClGPCcBVAAGEa8O8/A9MnVoZ/77gZ/gH5zHwCDP//czAwcnID5T5jGAAQQCx3o0L/s/znBXP+/fvD8E/sGgPjJ14GxrdCDAxszMBwBQYrAz8DAx8TA7P8d4anaXH/mf8yMfz/y87w6/9zBoAAYoSlJrbiAwzi7wwY/r38CNSIcCqTFB+E/wvonu//GVj4+Rie855k+NtjzaCwfjYjQAChBMhNt5T/7IV7GaTf6jD8fAZx7h9xXgZ2RmYGVjFBsMYfzZYMqjvmwvUBBBBWBIqqW2t5/n+eo/X/6zKj//d38v4HuRKbWoAAwouOher8Pxmtg1cjQIABAFbt8Z32Ai5RAAAAAElFTkSuQmCC)'
    };
    for (var p in props)
    toolbaritem.setAttribute(p, props[p]);
    toolbaritem.addEventListener('click', event => {
                        if (event.button == 0) {
                            window.open('chrome://browser/content/downloads/contentAreaDownloadsView.xhtml', 'Downloads', 'chrome,resizable=yes,width=600,height=750,left=1220,top=100');
                        }
                    });
    return toolbaritem;
    }
    });
    CustomizableUI.registerToolbarNode(tb);
    } catch(e) { };
    
    })();
    Alles anzeigen
  • Firefox v136.0a1 - Skript „copyURL“ funktioniert nicht mehr

    • milupo
    • 2. Mai 2025 um 12:26

    Ah, danke.

    Zitat von Sören Hentzschel

    Und wenn das Türen sind, die man nicht öffnen muss, sollte man sie einfach geschlossen halten.

    Wie wahr.

  • browser.warnOnQuit Skript funktioniert im aktuellem Nightly nicht mehr

    • milupo
    • 2. Mai 2025 um 12:25

    Gern geschehen. Entschuldige bitte, aber ich habe das Skript dreimal überflogen und die beiden Zeilen sind mir doch durch die Lappen gegangen. :(

  • Firefox v136.0a1 - Skript „copyURL“ funktioniert nicht mehr

    • milupo
    • 2. Mai 2025 um 12:18
    Zitat von Sören Hentzschel

    Nur security.allow_unsafe_dangerous_privileged_evil_eval, nicht die anderen Optionen!

    Ah, danke. Wozu sind denn dann die beiden anderen Optionen?

  • Firefox v136.0a1 - Skript „copyURL“ funktioniert nicht mehr

    • milupo
    • 2. Mai 2025 um 12:10

    Das Skript verwendet in Zeile 12 noch die eval()-Funktion. Diese Funktion gilt schon seit vielen Jahren als unsicher. Gemäß der Content Security Policy von Mozilla funktioniert diese Funktion nicht mehr. Derzeit hat Mozilla eine Zwischenlösung zur Verfügung gestellt, die den Gebrauch dieser Funktion wieder gestattet.

    Gib in about:config „eval“ in das Suchfeld ein und du findest u. a. die Einstellung security.allow_unsafe_dangerous_privileged_evil_eval. Setze die Einstellung auf true. Dann solltest du das Skript wieder verwenden können.

    Die Zeile 12 mit der eval()-Funktion müsste umgeschrieben werden, da habe ich aber im Moment keinen blassen Schimmer, wie man das machen muss. Irgendwann werden die Einstellungen in about:config wegfallen, ich hoffe, dass sich bis dahin jemand gefunden hat, der die Zeile umschreiben konnte.

  • Tab Schließen Javascript

    • milupo
    • 2. Mai 2025 um 06:57

    Probiere mal diese Version:

    JavaScript
    //Author @aborix - Tab schließen + Kontextmenü auch in dem Einstellungsfenster
    //Erklärung von Sören https://www.camp-firefox.de/forum/thema/112673-userchrome-js-scripte-f%C3%BCr-den-fuchs-diskussion/?postID=1247653#post1247653
    //angepasst von @milupo Zeile 22 > 8.10.2024 ab Fx 132 > tabbrowser-tabbox statt appcontent
    
    (function() {
    
      if (!window.gBrowser)
        return;
    
      var contextMenu = document.getElementById('contentAreaContextMenu');
      var menuseparator = document.createXULElement('menuseparator');
      menuseparator.id = 'context-sep-closetab';
      contextMenu.append(menuseparator);
    
      var menuitem = document.createXULElement('menuitem');
      menuitem.id = 'context-closetab';
      menuitem.setAttribute('label', 'Tab schließen');
      //menuitem.setAttribute('oncommand', 'gBrowser.removeCurrentTab();');
      menuitem.addEventListener('click', () => {
                                  BrowserCommands.closeTabOrWindow();
                                   
      });
      contextMenu.append(menuitem);
    
      var appcontent = document.getElementById('tabbrowser-tabbox');
      appcontent.addEventListener('contextmenu', event => {
        setTimeout(() => {
          if (gContextMenu && !gContextMenu.shouldDisplay) {
            for (let string of 'back forward reload bookmarkpage'.split(' ')) {
              document.getElementById('context-' + string).removeAttribute('hidden');
            }
            document.getElementById('context-stop').setAttribute('hidden', 'true');
            const A = 'navigation sep-navigation savepage sep-paste selectall sep-viewsource viewsource viewinfo sep-bidi inspect-a11y inspect sep-closetab closetab'.split(' ');
            for (let node of contextMenu.childNodes) {
              if (A.includes(node.id.substring(8)))
                node.removeAttribute('hidden');
              else
                node.setAttribute('hidden', 'true');
            }
            contextMenu.openPopupAtScreen(event.screenX, event.screenY, true, event);
          }
        }, 50);
      });
    
    })();
    Alles anzeigen
  • browser.warnOnQuit Skript funktioniert im aktuellem Nightly nicht mehr

    • milupo
    • 1. Mai 2025 um 23:59

    Probiere mal:

    JavaScript
    // Angepasst durch aborix
    // ab Fx 133 wird in den Zeilen 57 und 58 pinnedTabCount statt _numPinnedTabs verwendet
    
    (function() {
    
      if (window.__SSi != 'window0')
        return;
    
      const lazy = {};
      ChromeUtils.defineESModuleGetters(lazy, {
        BrowserGlue: "resource:///modules/BrowserGlue.sys.mjs"
      });
    
      lazy.BrowserGlue.prototype._onQuitRequest =
      function BG__onQuitRequest(aCancelQuit, aQuitType) {
    
        // If user has already dismissed quit request, then do nothing
        if (aCancelQuit instanceof Ci.nsISupportsPRBool && aCancelQuit.data) {
          return;
        }
    
        // There are several cases where we won't show a dialog here:
        // 1. There is only 1 tab open in 1 window
        // 2. browser.warnOnQuit == false
        // 3. The browser is currently in Private Browsing mode
        // 4. The browser will be restarted.
        // 5. The user has automatic session restore enabled and
        //    browser.sessionstore.warnOnQuit is not set to true.
        // 6. The user doesn't have automatic session restore enabled
        //    and browser.tabs.warnOnClose is not set to true.
        //
        // Otherwise, we will show the "closing multiple tabs" dialog.
        //
        // aQuitType == "lastwindow" is overloaded. "lastwindow" is used to indicate
        // "the last window is closing but we're not quitting (a non-browser window is open)"
        // and also "we're quitting by closing the last window".
    
        if (aQuitType == "restart" || aQuitType == "os-restart") {
          return;
        }
    
        // browser.warnOnQuit is a hidden global boolean to override all quit prompts.
        if (!Services.prefs.getBoolPref("browser.warnOnQuit")) {
          return;
        }
    
        var windowcount = 0;
        var pagecount = 0;
        let pinnedcount = 0;
        for (let win of BrowserWindowTracker.orderedWindows) {
          if (win.closed) {
            continue;
          }
          windowcount++;
          let tabbrowser = win.gBrowser;
          if (tabbrowser) {
            pinnedcount += tabbrowser.pinnedTabCount; // bis Fx 132 wurde statt pinnedTabCount _numPinnedTabs verwendet
            pagecount += tabbrowser.visibleTabs.length - tabbrowser.pinnedTabCount; // bis Fx 132 wurde statt pinnedTabCount _numPinnedTabs verwendet
          }
        }
    
        // No windows open so no need for a warning.
        if (!windowcount) {
          return;
        }
    
        // browser.warnOnQuitShortcut is checked when quitting using the shortcut key.
        // The warning will appear even when only one window/tab is open. For other
        // methods of quitting, the warning only appears when there is more than one
        // window or tab open.
        let shouldWarnForShortcut =
          this._quitSource == "shortcut" &&
          Services.prefs.getBoolPref("browser.warnOnQuitShortcut");
        let shouldWarnForTabs =
          //pagecount >= 2 &&
          Services.prefs.getBoolPref("browser.tabs.warnOnClose");
        if (!shouldWarnForTabs && !shouldWarnForShortcut) {
          return;
        }
    
        if (!aQuitType) {
          aQuitType = "quit";
        }
    
        let win = BrowserWindowTracker.getTopWindow();
    
        // Our prompt for quitting is most important, so replace others.
        win.gDialogBox.replaceDialogIfOpen();
    
        let titleId = {
        id: "tabbrowser-confirm-close-tabs-title",
        args: { tabCount: pagecount },
       };
       let quitButtonLabelId = "tabbrowser-confirm-close-tabs-button";
       let closeTabButtonLabelId = "tabbrowser-confirm-close-tab-only-button";
       
       let showCloseCurrentTabOption = false;
        if (windowcount > 1) {
          // More than 1 window. Compose our own message based on whether
         // the shortcut warning is on or not.
         if (shouldWarnForShortcut) {
           showCloseCurrentTabOption = true;
           titleId = "tabbrowser-confirm-close-warn-shortcut-title";
           quitButtonLabelId =
            "tabbrowser-confirm-close-windows-warn-shortcut-button";
         } else {
           titleId = {
             id: "tabbrowser-confirm-close-windows-title",
             args: { windowCount: windowcount },
           };
           quitButtonLabelId = "tabbrowser-confirm-close-windows-button";
         }
    	        
        } else if (shouldWarnForShortcut) {
           if (win.gBrowser.visibleTabs.length > 1) {
           showCloseCurrentTabOption = true;
           titleId = "tabbrowser-confirm-close-warn-shortcut-title";
           quitButtonLabelId = "tabbrowser-confirm-close-tabs-with-key-button";
         } else {
           titleId = "tabbrowser-confirm-close-tabs-with-key-title";
           quitButtonLabelId = "tabbrowser-confirm-close-tabs-with-key-button";
         }
        }
    
        // The checkbox label is different depending on whether the shortcut
        // was used to quit or not.
        let checkboxLabelId;
        if (shouldWarnForShortcut) {
          const quitKeyElement = win.document.getElementById("key_quitApplication");
          const quitKey = ShortcutUtils.prettifyShortcut(quitKeyElement);
          checkboxLabelId = {
             id: "tabbrowser-ask-close-tabs-with-key-checkbox",
            args: { quitKey },
          };
        } else {
          checkboxLabelId = "tabbrowser-ask-close-tabs-checkbox";
        }
    
    const [title, quitButtonLabel, checkboxLabel] =
          win.gBrowser.tabLocalization.formatMessagesSync([
          titleId,      
    	  quitButtonLabelId,
          checkboxLabelId,
        ]);
    
     // Only format the "close current tab" message if needed
       let closeTabButtonLabel;
       if (showCloseCurrentTabOption) {
         [closeTabButtonLabel] = win.gBrowser.tabLocalization.formatMessagesSync([
           closeTabButtonLabelId,
         ]);
       }
    
        let warnOnClose = { value: true };
        let flags;
       if (showCloseCurrentTabOption) {
         // Adds buttons for quit (BUTTON_POS_0), cancel (BUTTON_POS_1), and close current tab (BUTTON_POS_2).
         // Also sets a flag to reorder dialog buttons so that cancel is reordered on Unix platforms.
         flags =
           (Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
             Services.prompt.BUTTON_TITLE_CANCEL * Services.prompt.BUTTON_POS_1 +
             Services.prompt.BUTTON_TITLE_IS_STRING *
               Services.prompt.BUTTON_POS_2) |
           Services.prompt.BUTTON_POS_1_IS_SECONDARY;
           Services.prompt.BUTTON_TITLE_CANCEL * Services.prompt.BUTTON_POS_1;
       } else {
    	   // Adds quit and cancel buttons
         flags =
           Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
           Services.prompt.BUTTON_TITLE_CANCEL * Services.prompt.BUTTON_POS_1;
       }
    
        // 1 Fenster mit höchstens 1 nicht angehefteter Tab
        if (windowcount == 1 && pagecount < 2 && this._quitSource != "shortcut") {
       title.value = "Fenster schließen?";
       quitButtonLabel.value = "Schließen";
      checkboxLabel.value = null;
       }
    
       
        let buttonPressed = Services.prompt.confirmEx(
          win,
          title.value,
          null,
          flags,
          quitButtonLabel.value,
          null,
          showCloseCurrentTabOption ? closeTabButtonLabel.value : null,
          checkboxLabel.value,
          warnOnClose
        );
    		
        // If the user has unticked the box, and has confirmed closing, stop showing
        // the warning.
        if (buttonPressed == 0 && !warnOnClose.value) {
          if (shouldWarnForShortcut) {
            Services.prefs.setBoolPref("browser.warnOnQuitShortcut", false);
          } else {
            Services.prefs.setBoolPref("browser.tabs.warnOnClose", false);
          }
        }
       // Close the current tab if user selected BUTTON_POS_2
       if (buttonPressed === 2) {
         win.gBrowser.removeTab(win.gBrowser.selectedTab);
       }
       
        this._quitSource = "unknown";
    
        aCancelQuit.data = buttonPressed != 0;
      }
    
    })();
    Alles anzeigen

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

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