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

  • Häuschen-Icon weißer?

    • milupo
    • 13. Mai 2019 um 18:07
    Zitat von 2002Andreas


    Bin seit einiger Zeit am Icon basteln für die Nightly Version :wink:


    Du machst mich neugierig. :)

  • Häuschen-Icon weißer?

    • milupo
    • 13. Mai 2019 um 18:06
    Zitat von 2002Andreas


    Ich mache erstmal eine Pause.


    Tja, so ist das mit den Füchsen und Wölfen. ;)

  • Häuschen-Icon weißer?

    • milupo
    • 13. Mai 2019 um 17:58
    Zitat von Der Feuerfuchs


    Bin für sowas zu dumm und bin froh hier sowas zu finden :klasse:


    Frag mal wer noch. :D

  • Häuschen-Icon weißer?

    • milupo
    • 13. Mai 2019 um 17:56
    Zitat von 2002Andreas


    In Beitrag Nr. 2 ist doch klar ersichtlich, dass er von Der Feuerfuchs eingefügt wurde :-??


    Und Der Feuerfuchs hat im Beitrag #16 geschrieben, dass der Code nicht von ihm ist. Er hat ihn nur zur Verfügung gestellt. Er erhebt keinen Anspruch auf den Code.

  • Häuschen-Icon weißer?

    • milupo
    • 13. Mai 2019 um 17:42
    Zitat von 2002Andreas


    Steht doch da wer den Beitrag erstellt hat :-??


    Den Beitrag, ja, aber es geht um den Code. Der ist wahrscheinlich von dir. :)

  • Häuschen-Icon weißer?

    • milupo
    • 13. Mai 2019 um 15:32
    Zitat von grünerfuchs


    kann man das Häuschen-Icon weißer machen, also genau so weiß wie die anderen Menü-Namen. Früher war das Häuschen ganz weiß, jetzt ist es wohl eher grau oder so und das stört mich etwas.


    Im Standardtheme ist es schwarz. Und ich fürchte, so einfach weiß machen geht nicht. Ich habe jedenfalls nur eine Icon-Datei-Angabe gefunden, sprich man müsste die Grafik austauschen.

    Edit: Doch vielleicht, es ist eine svg-Datei.

  • bei YT oben Leiste ausblenden ?

    • milupo
    • 13. Mai 2019 um 15:17
    Zitat von StandingBill


    Vielleicht mache ich da was falsch.
    Den Code aus Beitrag 3 habe ich in die Datei "userContent.css" eingefügt, die sich im Ordner "chrome" des Profilordners befindet.


    Nein, das machst du nicht falsch. Youtube ist eine Website und CSS-Code für Websites gehört wirklich in die userContent.css

  • Konsole immer starten

    • milupo
    • 13. Mai 2019 um 14:56
    Zitat von KATERchen


    Den Inspector und die Konsole nutze ich, die anderen gar nicht. Wäre schon schön, wenn zumindest einer von beiden immer gleich im Vordergrund ist - dann habe ich immerhin eine 50:50 Chance :)


    Ich habe sogar schon etwas zusammengeschustert. Das Skript funktioniert fast. Die Konsole wird aufgerufen, aber ich habe Probleme mit dem Symbol in der Symbolleiste. Da wird zwar irgendwie eine Schaltfläche angelegt, das Symbol erscheint auch kurz (habe das Netzwerksymbol belassen), verschwindet aber sofort wieder.

    Code
    // Erstellt von milupo auf der Basis von folgendem Skript des Nutzers aborix. Vielen Dank an aborix.
    // https://www.camp-firefox.de/forum/viewtopic.php?p=1110338#p1110338
    
    
    (function() {
    
    
      if (!window.gBrowser)
        return;
    
    
      const pref = 'ucjs.openWebconsole';
    
    
      if (window.__SSi == 'window0') {
    
    
        if (!Services.prefs.prefHasUserValue(pref)) {
          Services.prefs.setBoolPref(pref, false);
        };
    
    
        CustomizableUI.createWidget({
          id: 'open-webconsole-button',
          type: 'custom',
          defaultArea: CustomizableUI.AREA_NAVBAR,
          onBuild: function(aDocument) {
            let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
            let attributes = {
              id: 'open-webconsole-button',
              class: 'toolbarbutton-1 chromeclass-toolbar-additional',
              label: 'Webkonsole',
              tooltiptext: 'Webkonsole',
              oncommand: 'Services.prefs.setBoolPref("ucjs.openWebconsole", \
                            !Services.prefs.getBoolPref("ucjs.openWebconsole"))',
              on: Services.prefs.getBoolPref(pref)
            };
            for (let a in attributes) {
              toolbaritem.setAttribute(a, attributes[a]);
            };
            return toolbaritem;
          }
        });
    
    
        let css = '\
          @-moz-document url("chrome://browser/content/browser.xul") { \
            #open-webconsole-button[on="true"] { \
              list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAACAklEQVR4AWMYmcBirgUjEPNCMTcQ88HY1LRE0HW5azMQX3db7nbLZZnLVedlzh+B+DEQ33Jc6pgPVMNFqSVsdovtlnqt8fp04suJ/yDsvsr9R+jm0H8gdunp0n+2C22/WUy3yAQqZyRkmB4eHAm06D3I0NVfVv9f9mXZf4/VHt+TDyT/A/FXfVn1v/h08Q+7hXbnDToMrPGZxcLGznYclyP+///PJCEqwXDp9yUGZlZmhj+//4DEGH79/cXwCQhBQFZGlv3mk5sKHFwc6xgZ8Xiq6WHTf3y4+0X3/4nvJ4Jx7+ve/66rXL9H7on8B+QjixPEDGln076nncGN86/m/2l53fIfhBufNf53XuX8PXhX8D9kseyL2b9AavFhBrtldhts5ttswoat5lvtt15k/T3rZtb/0mel/4seFf13XOn43W+n3z8QH4TjTsf9t5xv+cNynuUdIL6FC8NCUBAbVopXUrNcZPnAb7/fn5T7Kf+T7yb/t1tu991ju8e/1Iep/5PvJP93Wuv0w3Ku5XoRSxEVUWtRBVyYYBK3XGgZY7XY6p3DOoePDhsc3lkusPxptczqr+NGx3cOax0+AOWfqOWo2UEdx4gHEy4V9Nr09Az7DDOBuNCw1zDXZJrJdCBdZNBlkKAYp2gMVCYGxKwMVAIsQMwJxFxQzAelOYCYmWHEAQBYCXtUy+zB6gAAAABJRU5ErkJggg==) \
            } \
            #open-webconsole-button[on="false"] { \
              list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAACgElEQVR4AeWTb0gTYRzHn/1tLqRkriALwt4PRCAk6J2wqWCM3cl2hzungBJqCiHhKwmgsVcBYQRmgo4CiFNTp7OMKDMJ9irCpRKlW4BeOYZ3293u6ffYBscxsHrrFz5wPL/P737Pj9tM6MSE9/kMQGWR0//nHD+kapHj7gKfFzs6krFg8NOs339V7y2FQt2x9vavwHcgOc+y/dBr/9sh1rlAYOplV1cGJxKYEA+FpEmv9xaULVp3MRjk3/b1KcTZiERUuMzhU6+3B0qGci926fDDoJ9HQ5aXsRqL4eXOTnHO78clwLEhCGzBJ4aH88TD8TjeCIclGJZ46PFc07/XbLVa3yNNMMZGh9OJ5O1tZDaZkKIo5AxlJSkqiOI7SVEOwmtrTlB3oIBUWUY4m0UkF2pqTqW2ti5fsdmeGw26pfZHR7Ge7Pg4zk9NHXE4MYHjHCc+aW0dAP0sYAf+bMQw/MfBwTx4Wr8sZiGdlsiNtbFVVFiqHQ4TgiiFAkKqiopOHjjUumQjBTYquft7ezIEmnSJBQL8NE3PlOApauVFW5uYGhnBmUgEC+EwXmLZ8t8Iej90d+eJR9gYGsLTFCVBfRNIajG7o9Eb0FOFirlZX+9019Yu/UinL16qrjaRTTBsJOVya1Kh8EVW1d17q6vnQf1GzslGciaDFHjeTaVyKsYL99fXbxuNRgUdl1mKYudoWlhhmIPXDCPMUFRurLm5F0oO4AxQCRjmafrZAk2Lb1hWeMUwv6Bv505Dw/XixQ06yv/jHzQ2uh43NfUAA2MeTy/ncrmOfgiaTPt8dZMtLf3EeeR2cz11dfVwfA6woH+MGagA7EVMZRyLpm4rOicgvwHOip5P4wfdQAAAAABJRU5ErkJggg==) \
            } \
          }';
    
    
        let cssUri = Services.io.newURI('data:text/css,' + encodeURIComponent(css), null, null);
        let SSS = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
        SSS.loadAndRegisterSheet(cssUri, SSS.AGENT_SHEET);
    
    
      };
    
    
      let item;
    
    
      setTimeout(() => {
        item = document.getElementById('menuitem_webconsole');
        if (!item) {
          let { require } = Cu.import('resource://devtools/shared/Loader.jsm', {});
          require('devtools/client/framework/devtools-browser');
          item = document.getElementById('menuitem_webconsole');
        };
        if (Services.prefs.getBoolPref(pref)) {
          item.click();
        };
      }, 1000);
    
    
      function tabOpenWebconsole(event) {
        setTimeout(() => {
          if (gBrowser.selectedTab == event.target) {
            item.click();
          };
        }, 100);
      };
    
    
      if (Services.prefs.getBoolPref(pref)) {
        gBrowser.tabContainer.addEventListener('TabOpen', tabOpenWebconsole, true);
      };
    
    
      let prefChange = {
        observe: function() {
          document.getElementById('open-webconsole-button').setAttribute('on',
            Services.prefs.getBoolPref(pref));
          if (Services.prefs.getBoolPref(pref)) {
            gBrowser.tabContainer.addEventListener('TabOpen', tabOpenWebconsole, true);
          } else {
            gBrowser.tabContainer.removeEventListener('TabOpen', tabOpenWebconsole, true);
          };
        }
      };
    
    
      Services.prefs.addObserver(pref, prefChange, false);
    
    
      window.addEventListener('unload', function() {
        Services.prefs.removeObserver(pref, prefChange);
      });
    
    
    })();
    Alles anzeigen

    EDIT: Oha! Im Nightly funktioniert mein Werk! Da schau her. Wer hätte es geglaubt!

  • Konsole immer starten

    • milupo
    • 13. Mai 2019 um 13:12
    Zitat von KATERchen


    Das, welches Zitronella (und diesmal wirklich er :) ) in Beitrag #2 verlinkt hat.


    Aha, ja, das funktioniert bei mir auch. Welchen Reiter der Etnwicklungswerkzeuge verwendest du? Wirklich den Reiter Konsole? Zitronella benutzt die Netzwerkanalyse. Vielleicht lässt sich das Skript noch auf den Reiter Konsole umschreiben. Leider muss ich da passen.

    Zitat

    Jetzt also wieder auf UTF-8 und beide Statuszeilen-Scripte laufen.


    Ab Firefox 66 muss es UTF-8 ohne BOM sein.

    Zitat

    Warum jetzt beide??? Egal.


    Da verwendet wohl jemand etwas altes? ;)

  • Konsole immer starten

    • milupo
    • 13. Mai 2019 um 11:12
    Zitat von KATERchen


    Das Konsolenscript funktioniert doch. Nem Doofen wie mir muss man doch sagen, dass man das erst einschalten muss...
    Die Statusbar geht aber nach wie vor nicht.


    Ich glaube, du verwechselst hier etwas. Welches Konsolenskript? In diesem Thread hast du noch keins angegeben.

    Hier im Thread wurde bisher nur der Code für ein Statuszeilen-Skript gepostet, nämlich das von 2002Andreas in Beitrag #7. Eine veraltete Version, die nicht mehr in Fx 66 funktioniert, ist in Beitrag #15. Aber das Skript in Beitrag #7 sollte funktionieren. Du müsstest am unteren Rand des Firefox-Fensters eine leere Leiste sehen.

  • about:profiles 2 statt nur 1 Profil

    • milupo
    • 12. Mai 2019 um 23:24
    Zitat von bigpen


    Danke dir milupo! :)


    Gern geschehen. :)

  • Konsole immer starten

    • milupo
    • 12. Mai 2019 um 20:12
    Zitat von KATERchen


    da hat sich jetzt ein bisschen was getan. In meinem Haupt-Profil funktioniert die Statusleiste wieder - allerdings mit irgendeinem alten Script


    Das Skript aus Beitrag #15 sollte aber in einem aktuellen Firefox nicht mehr funktionieren, sondern nur das aus Beitrag #7 von 2002Andreas. Der Unterschied ist diese Zeile am Ende des Skripts:

    Code
    CustomizableUI.registerToolbarNode(tb);

    Diese Zeile fehlt bei deinem Skript. Welche Firefox-Version verwendest du?

  • Konsole immer starten

    • milupo
    • 12. Mai 2019 um 19:21

    KATERchen: Lies dir folgenden Beitrag noch einmal genau durch:

    https://www.camp-firefox.de/forum/viewtopic.php?f=16&t=122538

    Überprüfe nochmal, ob du die Dateien und den einen Ordner userChromeJS richtig auf Installationsverzeichnis und Profilverzeichnis verteilt hast und sie in den erforderlichen Ordnern hast.

  • Alte Suche mit Firefox 57

    • milupo
    • 12. Mai 2019 um 13:53
    Zitat von Boersenfeger


    Teste den Code aus 95


    Danke Boersenfeger. In einem andere Profil klapt es jetzt. Aber nicht allein mit dem Code aus Beitrag #95, denn der gestaltet das Suchfeld nicht. Damit klappt nur das automatische Leeren des Suchfelds.

  • about:profiles 2 statt nur 1 Profil

    • milupo
    • 12. Mai 2019 um 13:10

    Wird denn das Profil noch im Profilmanager gezeigt? Wahrscheinlich hast du das Profil falsch gelöscht. Mache das am besten immer über den Profilmanager. Du kannst dort auch die Profildateien löschen lassen. Dann sollten die zugehörigen Einträge in der profiles.ini und in about:profiles verschwunden sein. Möglicherweise bist du nur ins Profil gegangen und hast den Profilordner gelöscht. Das reicht nicht, denn der Profilordner ist ja noch an diversen Stellen registriert, zumindest eben in der profiles.ini und in about:profiles.

    Falls das Profil noch im Profilmanager angezeigt wird, versuche es dort zu löschen. Dateien werden sich dort wohl nicht mehr löschen lassen, wenn es den Profilordner nicht mehr gibt. Aber die Einträge in profiles.ini und about:profiles. Diese Vorgehensweise ist besser als manuell irgendwie herumzupfuschen.

  • Meldungen über Spam im Forum

    • milupo
    • 12. Mai 2019 um 11:41

    Dieser Beitrag ist ebenfalls Spam:

    https://www.camp-firefox.de/forum/viewtopic.php?f=16&t=127861

  • Meldungen über Spam im Forum

    • milupo
    • 11. Mai 2019 um 21:47

    Hier spammt mal wieder einer:

    https://www.camp-firefox.de/forum/viewtopi…112402#p1112402
    https://www.camp-firefox.de/forum/viewtopi…112403#p1112403

    Edit 2002Andreas...erledigt.

  • https-everywhere: falsche Status-Anzeige?

    • milupo
    • 11. Mai 2019 um 16:37

    Gern geschehen.

  • space_and_separator_restorer.uc.js funktioniert unter Win10 nicht mehr richtig

    • milupo
    • 11. Mai 2019 um 15:26
    Zitat von 2002Andreas


    Da ich pers. die Seperatoren sehr groß(hoch) finde, hier meine Anpassung.


    Hallo Andreas,

    danke. Das war eine gute Idee.

  • Alte Suche mit Firefox 57

    • milupo
    • 11. Mai 2019 um 14:44

    Ich muss das Thema auch nochmal anschneiden. Ich verwende Aris' Skript aus Beitrag #76. Das funktioniert bei mir im Nightly nicht. Ich habe den Thread nicht dauernd verfolgt, vielleicht steht da auch schon irgendwo die Lösung. Mir geht es dabei erst einmal nicht um das automatische Leeren des Suchfelds. Aber wenn das gleich mit funktioniert, umso besser...

    Skript:

    CSS
    // 'Alternative search bar' script for Firefox 60+ by Aris
    //
    // Based on 'search revert' script by '2002Andreas':
    // https://www.camp-firefox.de/forum/viewtopic.php?f=16&t=112673&start=2010#p1099758
    //
    // Feature: search glass is always visible at search bars end (like with old search)
    // Feature: search button shows current search engines icon (like with old search)
    // Feature: search buttons dropmarker is always visible (like with old search)
    //
    // Option: clear search input after search
    // Option: revert to first search engine in list after search
    // Option: old search engine selection popup ([!] FIREFOX 64+ only [!])
    // Option: hide 'add engines' '+' indicator
    // Option: hide 'oneoff' search engines (engines at popups bottom)
    // Option: hide placeholder text 'Search'
    // Option: swap the icons of search engine button and go button
    // Option: show search engine names instead of icons only
    // Option: select search engine by scrolling mouse wheel over search bars button
    // Option: hide popup when using 'CTRL or MOUSE WHEEL + UP&DOWN keys' to switch engine
    //
    // [!] Option 'old search engine selection popup': the menuitem to add new new search engine is not present!
    //     Use menuitem inside default popup instead.
    // [!] Default browser feature: if search bar is focused with 'CTRL + K' or 'CTRL + E', one can switch 
    //     through search engines with 'CTRL + UP&DOWN keys' and 'CTRL + MOUSE WHEELs UP&DOWN scrolling'! 
    // [!] Default browser feature: search engine can be changed inside default/modern popup by right-clicking
    //     search icon and selecting 'Set As Default Search Engine' menuitem
    
    
    
    
    // Configuration area - start
    var clear_searchbar_after_search = true; // clear input after search (true) or not (false)
    var revert_to_first_engine_after_search = true; // revert to first engine (true) or not (false)
    var old_search_engine_selection_popup_fx64 = true; // show old search engine selection popup (true) or not (false)
    var select_engine_by_scrolling_over_button = true; // select search engine by scrolling mouse wheel over search bars button (true) or not (false)
    var hide_oneoff_search_engines = false; // hide 'one off' search engines (true) or not (false)
    var hide_addengines_plus_indicator = true; // hide add engines '+' sign (true) or not (false)
    var hide_placeholder = true; // hide placeholder (true) or not (false)
    var switch_glass_and_engine_icon = true; // swap icons of search engine button and go button (true) or not (false)
    var show_search_engine_names = true; // show search engine names (true) or not (false)
    var show_search_engine_names_with_scrollbar = true; // show search engine names with scrollbars (true) or not (false)
    var show_search_engine_names_with_scrollbar_height = '170px'; // higher values show more search engines
    var searchsettingslabel = "Search Settings";
    var hide_popup_when_selecting_engine_with_hotkeys = true; // hide popup when using 'CTRL or MOUSE WHEEL + UP&DOWN keys' to switch engine (true) or not (false)
    // Configuration area - end
    
    
    
    
    // main code
    setTimeout(function(){
      try {
    	var searchbar = document.getElementById("searchbar");
    	var appversion = parseInt(Services.appinfo.version);
    
    
    	updateStyleSheet();
    
    	if(hide_placeholder)
    	  hideSearchbarsPlaceholder();
    
    
    	if(select_engine_by_scrolling_over_button)
    	  selectEngineByScrollingOverButton();
    
    
    	if(old_search_engine_selection_popup_fx64 && appversion >= 64)
    	  createOldSelectionPopup();
    
    
    	// select search engine by scrolling mouse wheel over search bars button
    	function selectEngineByScrollingOverButton() {
    	  searchbar.addEventListener("DOMMouseScroll", (event) => {
    		if (event.originalTarget.classList.contains("searchbar-search-button")) {
              searchbar.selectEngine(event, event.detail > 0);
    		}
    	  }, true);
    	};
    
    	// hide placeholder
    	function hideSearchbarsPlaceholder() {
    	  searchbar.getElementsByClassName('searchbar-textbox')[0].removeAttribute("placeholder");
    	};
    
    
    	// old search selection popup
    	function createOldSelectionPopup() {
    
    
    	  var engines = searchbar.engines;
    
    	  // set new search engine
    	  searchbar.setNewSearchEngine = function(index) {
    		searchbar.currentEngine = searchbar.engines[index];
    	  };
    
    
    	  // create search popup
    	  if(appversion <= 62) searchbuttonpopup = document.createElement("menupopup");
    		else searchbuttonpopup = document.createXULElement("menupopup");
    	  searchbuttonpopup.setAttribute("id", "searchbuttonpopup");
    	  searchbuttonpopup.setAttribute("width", searchbar.firstChild.nextSibling.getBoundingClientRect().width - 6 );
    	  searchbuttonpopup.setAttribute("position", "after_start");
    
    	  for (var i = 0; i <= engines.length - 1; ++i) {
    		if(appversion <= 62) menuitem = document.createElement("menuitem");
    		  else menuitem = document.createXULElement("menuitem");
    		var name = engines[i].name;
    		menuitem.setAttribute("label", name);
    		menuitem.setAttribute("class", "menuitem-iconic searchbar-engine-menuitem menuitem-with-favicon");		
    		if (engines[i] == searchbar.currentEngine)
    		  menuitem.setAttribute("selected", "true");
    		if (engines[i].iconURI)
    		  searchbar.setIcon(menuitem, engines[i].iconURI.spec);
    		menuitem.setAttribute("oncommand", "document.getElementById('searchbar').setNewSearchEngine("+i+")");
    
    		searchbuttonpopup.appendChild(menuitem);
    	  }
    
    
    	  if(appversion <= 62) menuseparator_om = document.createElement("menuseparator");
    		else menuseparator_om = document.createXULElement("menuseparator");
    	  searchbuttonpopup.appendChild(menuseparator_om);
    
    	  if(appversion <= 62) menuitem_om = document.createElement("menuitem");
    		else menuitem_om = document.createXULElement("menuitem");
    	  menuitem_om.setAttribute("label", searchsettingslabel);
    	  menuitem_om.setAttribute("class", "open-engine-manager");	
    	  menuitem_om.setAttribute("oncommand", "openPreferences('search');");
    	  searchbuttonpopup.appendChild(menuitem_om);
    
    	  document.getElementById("mainPopupSet").appendChild(searchbuttonpopup);
    
    	  /* adjust popup width*/
    	  setTimeout(function(){
    		document.getElementById('searchbuttonpopup').setAttribute("width", document.getElementById("searchbar").firstChild.nextSibling.getBoundingClientRect().width);
    	  },1000);
    
    	  var observer = new MutationObserver(function(mutations) {
    		mutations.forEach(function(mutation) {
    		 try {
    		  document.getElementById('searchbuttonpopup').setAttribute("width", document.getElementById("searchbar").firstChild.nextSibling.getBoundingClientRect().width );
    		 } catch(e){}
    		});    
    	  });
    
    	  try {
    		observer.observe(document.getElementById('search-container'), { attributes: true, attributeFilter: ['width'] });
    	  } catch(e){}
    
      	  var observer2 = new MutationObserver(function(mutations) {
    		mutations.forEach(function(mutation) {
    		 try {
    		  document.getElementById('searchbuttonpopup').setAttribute("width", document.getElementById("searchbar").firstChild.nextSibling.getBoundingClientRect().width );
    		 } catch(e){}
    		});    
    	  });
    
    	  try {
    		observer2.observe(document.getElementById('main-window'), { attributes: true, attributeFilter: ['sizemode'] });
    	  } catch(e){}
    
    	  // attach new popup to search bars search button
    	  document.getAnonymousElementByAttribute(searchbar.firstChild.nextSibling, "class", "searchbar-search-button").setAttribute("popup", "searchbuttonpopup");
    
    
    	  // hide default popup when clicking on search button
    	  searchbar.addEventListener("mousedown", (event) => {
    	   if (event.originalTarget.classList.contains("searchbar-search-button")) {
    		document.getElementById('PopupSearchAutoComplete').hidePopup();
    		document.getElementById("PopupSearchAutoComplete").style.visibility="collapse";
    
    		setTimeout(function() {
    		 document.getElementById("PopupSearchAutoComplete").style.visibility="visible";
    		 document.getElementById('PopupSearchAutoComplete').hidePopup();
    		}, 1000);
    
    	   }
    	  }, true);
    
    
    	};
    
    
    	// doSearch function taken from Firefox 60s internal 'searchbar.xml' file and added modifications
    	if(appversion < 63) searchbar.doSearch = function(aData, aWhere, aEngine) {
    
          var textBox = this._textbox;
    
          if (aData && !PrivateBrowsingUtils.isWindowPrivate(window)) {
             this.FormHistory.update(
               { op : "bump",
                 fieldname : textBox.getAttribute("autocompletesearchparam"),
                 value : aData },
               { handleError : function(aError) {
                   Components.utils.reportError("Saving search to form history failed: " + aError.message);
               }});
           }
    
    
           let engine = aEngine || this.currentEngine;
           var submission = engine.getSubmission(aData, null, "searchbar");
           let params = {
             postData: submission.postData,
             inBackground: aWhere == "tab-background"
           };
    
    
           openUILinkIn(submission.uri.spec,aWhere == "tab-background" ? "tab" : aWhere,params);
    
    
    	  if(clear_searchbar_after_search)
    		this.value = '';
    
    	  if(revert_to_first_engine_after_search) {
    		  this.currentEngine = this.engines ? this.engines[0] : this._engines[0];
    		  updateStyleSheet();
    	  }
    	};
    	// doSearch function taken from Firefox 64s internal 'searchbar.js' file and added modifications
    	if(appversion >= 63) searchbar.doSearch = function(aData, aWhere, aEngine, aParams, aOneOff) {
    	  let textBox = this._textbox;
    
    
    	  if (aData && !PrivateBrowsingUtils.isWindowPrivate(window) && this.FormHistory.enabled) {
    		this.FormHistory.update({
    			op: "bump",
    			fieldname: textBox.getAttribute("autocompletesearchparam"),
    			value: aData,
    		}, {
    			handleError(aError) {
    			  Cu.reportError("Saving search to form history failed: " + aError.message);
    			},
    		});
    	  }
    
    
    	  let engine = aEngine || this.currentEngine;
    	  let submission = engine.getSubmission(aData, null, "searchbar");
    	  let telemetrySearchDetails = this.telemetrySearchDetails;
    	  this.telemetrySearchDetails = null;
    	  if (telemetrySearchDetails && telemetrySearchDetails.index == -1) {
    		telemetrySearchDetails = null;
    	  }
    
    
    	  const details = {
    		isOneOff: aOneOff,
    		isSuggestion: (!aOneOff && telemetrySearchDetails),
    		selection: telemetrySearchDetails,
    	  };
    	  BrowserSearch.recordSearchInTelemetry(engine, "searchbar", details);
    
    
    	  let params = {
    		postData: submission.postData,
    	  };
    	  if (aParams) {
    		for (let key in aParams) {
    		  params[key] = aParams[key];
    		}
    	  }
    	  openTrustedLinkIn(submission.uri.spec, aWhere, params);
    
    
    		if(clear_searchbar_after_search)
    			this.value = '';
    
    		if(revert_to_first_engine_after_search) {
    			this.currentEngine = this.engines ? this.engines[0] : this._engines[0];
    			updateStyleSheet();
    		}
    	};
    
    
    	// setIcon function taken from browsers internal 'searchbar.js' file and added modifications
    	searchbar.setIcon = function(element, uri) {
    	  element.setAttribute("src", uri);
    	  updateStyleSheet();
    	};
    
    	// override selectEngine function and remove automatic popup opening
    	if(hide_popup_when_selecting_engine_with_hotkeys) searchbar.selectEngine = function(aEvent, isNextEngine) {
          // Find the new index
          let newIndex = this.engines.indexOf(this.currentEngine);
          newIndex += isNextEngine ? 1 : -1;
    
    
          if (newIndex >= 0 && newIndex < this.engines.length) {
            this.currentEngine = this.engines[newIndex];
          }
    
    
          aEvent.preventDefault();
          aEvent.stopPropagation();
    
    
    	};
    
    
    	// main style sheet
    	function updateStyleSheet() {
    	  var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
    
    
    	  var hide_oneoff_search_engines_code = '';
    	  var show_search_engine_names_code = '';
    	  var show_search_engine_names_with_scrollbar_code = '';
    	  var hide_addengines_plus_indicator_code = '';
    	  var switch_glass_and_engine_icon_code = '';
    
    	  if(hide_oneoff_search_engines)
    		hide_oneoff_search_engines_code=' \
    		  #PopupSearchAutoComplete .search-panel-header, \
    		  #PopupSearchAutoComplete .search-one-offs { \
    			display: none !important; \
    		  } \
    		';
    
    
    	  if(hide_addengines_plus_indicator)
    	   hide_addengines_plus_indicator_code=' \
    	     .searchbar-search-button[addengines=true]::after { \
    		   visibility: hidden !important; \
    		 } \
    	   ';
    
    
    	  if(show_search_engine_names && !hide_oneoff_search_engines && appversion < 66)
    	   show_search_engine_names_code=' \
    		#PopupSearchAutoComplete .search-panel-tree:not([collapsed="true"]) { \
    		  display: block !important; \
    		  width: 100% !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree:not([collapsed="true"]) > * { \
    		  width: 100%; \
    		} \
    		#PopupSearchAutoComplete .search-panel-one-offs .searchbar-engine-one-off-item { \
    		  -moz-appearance:none !important; \
    		  min-width: 0 !important; \
    		  width: 100% !important; \
    		  border: unset !important; \
    		  height: 22px !important; \
    		  background-image: unset !important; \
    		  -moz-padding-start: 3px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-one-offs .searchbar-engine-one-off-item:not([tooltiptext]) { \
    		  display: none !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-one-offs .searchbar-engine-one-off-item .button-box { \
    		  position: absolute !important; \
    		  -moz-padding-start: 4px !important; \
    		  margin-top: 3px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-one-offs .searchbar-engine-one-off-item::after { \
    		  -moz-appearance: none !important; \
    		  display: inline !important; \
    		  content: attr(tooltiptext) !important; \
    		  position: relative !important; \
    		  top: -9px !important; \
    		  -moz-padding-start: 25px !important; \
    		  min-width: 0 !important; \
    		  width: 100% !important; \
    		  white-space: nowrap !important; \
    		} \
    		';
    
    	  if(show_search_engine_names && !hide_oneoff_search_engines && appversion >= 66)
    	   show_search_engine_names_code=' \
    		#PopupSearchAutoComplete .search-panel-tree:not([collapsed="true"]) { \
    		  display: block !important; \
    		  width: 100% !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree:not([collapsed="true"]) > * { \
    		  width: 100%; \
    		} \
    		#PopupSearchAutoComplete .search-panel-one-offs .searchbar-engine-one-off-item { \
    		  -moz-appearance:none !important; \
    		  min-width: 0 !important; \
    		  width: 100% !important; \
    		  border: unset !important; \
    		  height: 22px !important; \
    		  background-image: unset !important; \
    		  -moz-padding-start: 3px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-one-offs .searchbar-engine-one-off-item:not([tooltiptext]) { \
    		  display: none !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-one-offs .searchbar-engine-one-off-item .button-box { \
    		  position: absolute !important; \
    		  -moz-padding-start: 4px !important; \
    		  margin-top: 3px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-one-offs .searchbar-engine-one-off-item::after { \
    		  -moz-appearance: none !important; \
    		  display: inline !important; \
    		  content: attr(tooltiptext) !important; \
    		  position: relative !important; \
    		  top: -9px !important; \
    		  -moz-padding-start: 25px !important; \
    		  min-width: 0 !important; \
    		  width: 100% !important; \
    		  white-space: nowrap !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="21"] { \
    		  min-height: 21px !important; \
    		  height: 21px !important; \
    		  max-height: 21px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="42"] { \
    		  min-height: 42px !important; \
    		  height: 42px !important; \
    		  max-height: 42px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="63"] { \
    		  min-height: 63px !important; \
    		  height: 63px !important; \
    		  max-height: 63px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="84"] { \
    		  min-height: 84px !important; \
    		  height: 84px !important; \
    		  max-height: 84px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="105"] { \
    		  min-height: 105px !important; \
    		  height: 105px !important; \
    		  max-height: 105px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="126"] { \
    		  min-height: 126px !important; \
    		  height: 126px !important; \
    		  max-height: 126px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="147"] { \
    		  min-height: 147px !important; \
    		  height: 147px !important; \
    		  max-height: 147px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="168"] { \
    		  min-height: 168px !important; \
    		  height: 168px !important; \
    		  max-height: 168px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="189"] { \
    		  min-height: 189px !important; \
    		  height: 189px !important; \
    		  max-height: 189px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree[height="210"] { \
    		  min-height: 210px !important; \
    		  height: 210px !important; \
    		  max-height: 210px !important; \
    		} \
    		#PopupSearchAutoComplete .search-panel-tree scrollbar { \
    		  display: none !important; \
    		  visibility: collapse !important; \
    		  opacity: 0 !important; \
    		} \
    		';
    
    
    	  if(show_search_engine_names_with_scrollbar && !hide_oneoff_search_engines && show_search_engine_names)
    	   show_search_engine_names_with_scrollbar_code=' \
    		#PopupSearchAutoComplete .search-one-offs { \
    		  height: '+show_search_engine_names_with_scrollbar_height+' !important; \
    		  max-height: '+show_search_engine_names_with_scrollbar_height+' !important; \
    		  overflow-y: scroll !important; \
    		  overflow-x: hidden !important; \
    		} \
    		\
    		';
    
    	  if(switch_glass_and_engine_icon)
    	   switch_glass_and_engine_icon_code=' \
    		.search-go-button { \
    		  list-style-image: url('+document.getElementById("searchbar").currentEngine.iconURI.spec+') !important; \
    		  transform: scaleX(1) !important; \
    		} \
    		.searchbar-search-button .searchbar-search-icon { \
    		  list-style-image: url(chrome://browser/skin/search-glass.svg) !important; \
    		  -moz-context-properties: fill, fill-opacity !important; \
    		  fill-opacity: 1.0 !important; \
    		  fill: #3683ba !important; \
    		} \
    		.searchbar-search-button:hover .searchbar-search-icon { \
    		  fill: #1d518c !important; \
    		} \
    		.searchbar-search-button:active .searchbar-search-icon { \
    		  fill: #00095d !important; \
    		} \
    		\
    		';
    
    
    	  var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(' \
    		\
    		#searchbuttonpopup {\
    		  -moz-margin-start: -1px; \
    		} \
    		.searchbar-search-button .searchbar-search-icon { \
    		  list-style-image: url('+document.getElementById("searchbar").currentEngine.iconURI.spec+') !important; \
    		} \
    		.search-go-button { \
    		  list-style-image: url(chrome://browser/skin/search-glass.svg) !important; \
    		  -moz-context-properties: fill, fill-opacity !important; \
    		  fill-opacity: 1.0 !important; \
    		  fill: #3683ba !important; \
    		  transform: scaleX(-1) !important; \
    		  background: unset !important; \
    		  margin-inline-end: 4px !important; \
    		} \
    		.search-go-button:hover { \
    		  fill: #1d518c !important; \
    		} \
    		.search-go-button:active { \
    		  fill: #00095d !important; \
    		} \
    		.search-go-button[hidden="true"] { \
    		  display: block !important; \
    		} \
    		.searchbar-search-button[addengines=true] > .searchbar-search-icon-overlay, \
    		.searchbar-search-button:not([addengines=true]) > .searchbar-search-icon-overlay { \
    		  list-style-image: url(chrome://global/skin/icons/arrow-dropdown-12.svg) !important; \
    		  -moz-context-properties: fill !important; \
    		  margin-inline-start: -6px !important; \
    		  margin-inline-end: 2px !important; \
    		  width: 11px !important; \
    		  height: 11px !important; \
    		} \
    		.searchbar-search-button[addengines=true] > .searchbar-search-icon-overlay { \
    		  margin-top: 0px !important; \
    		} \
    		.searchbar-search-button[addengines=true]::after { \
    		  content: " " !important; \
    		  background: url(chrome://browser/skin/search-indicator-badge-add.svg) center no-repeat !important; \
    		  display: block !important; \
    		  visibility: visible !important; \
    		  width: 11px !important; \
    		  height: 11px !important; \
    		  -moz-margin-start: 18px !important; \
    		  margin-top: -11px !important; \
    		  position: absolute !important; \
    		} \
    		.searchbar-search-button[addengines=true] > .searchbar-search-icon-overlay { \
    		  visibility: visible !important; \
    		} \
    		'+hide_addengines_plus_indicator_code+' \
    		'+hide_oneoff_search_engines_code+' \
    		'+show_search_engine_names_code+' \
    		'+show_search_engine_names_with_scrollbar_code+' \
    		'+switch_glass_and_engine_icon_code+' \
    		\
    	  '), null, null);
    
    
    	  // remove old style sheet
    	  if (sss.sheetRegistered(uri,sss.AGENT_SHEET)) {
    		sss.unregisterSheet(uri,sss.AGENT_SHEET);
    	  }
    
    
    	  sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
    
    
    	};
    
    
      } catch(e) {}
    
    
    },1000);
    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