Beiträge von Boersenfeger
-
-
Für ihn sicher eine Erlösung, fürs Volk sehr traurig! 😥
En god konge har gått bort, måtte den neste være akkurat slik.
-
-
-
-
Moin, ich nutze schon länger o.a. Script
JavaScript
Alles anzeigen// ==UserScript== // @name searchEngineIcon.uc.js // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description replace the magnifying glass with the search engine's icon // @include main // @compatibility Firefox 151 // @version 2026/04/19 00:00 Bug 1998985 - Convert XUL in SearchModeSwitcher to HTML // @version 2026/04/15 00:00 remove async function // @version 2026/01/23 00:00 Bug 2000685 - Replace the search service instance with a singleton // @version 2026/01/13 00:00 compatibility 149 from 148 // @author Alice0775 // @version 2025/12/20 00:00 new search widget // @version 2025/02/04 23:00 Bug 1880913 - Move BrowserSearch out of browser.js // @version 2024/03/01 00:00 Bug 1882577 - Make nsISearchEngine.getIconURL an async function // @version 2023/12/24 00:00 Bug 1870644 use engine.getIconURL() instead engine.iconURI.spec // @version 2023/02/08 10:00 remove -moz-image-region // @version 2021/01/21 12:00 indicate engine name // @version 2020/01/26 22:00 fix typo & simplify // @version 2020/01/26 20:00 fox after DOM fullscreen // @version 2019/11/22 00:00 workaround delayed initialize using gBrowserInit.delayedStartupFinished instead async Services.search.init() // @version 2019/11/14 00:00 Fix 72+ Bug 1591145 Remove Document.GetAnonymousElementByAttribute // @version 2019/06/24 11:00 Fix 68+ Bug 1518545 - Merge engine-current/ default notifications // @version 2019/05/24 11:00 Fix overflowed/underflowed // @version 2019/03/30 19:00 Fix 67.0a1 Bug 1492475 The search service init() method should simply return a Promise // @version 2019/03/20 00:00 Fix 67.0a1 // @version 2018/11/29 00:00 Fix 67.0a1 Bug 1524593 - nsISearchService (aka nsIBrowserSearchService, previously) refactor to be mostly an asynchronouse // @version 2018/11/29 00:00 Fix 65.0a1 Bug 1453264 // @version 2018/09/29 23:00 Fix 64.0a1 // @version 2018/09/24 23:00 Fix warning from nsIBrowserSearchService // @version 2018/07*20 23:00 Fix change option > search // @version 2017/11/17 02:00 Fx57 // @version 2015/09/08 02:00 Bug 827546 // ==/UserScript== var searchengineicon = { lazy: {}, init: function() { this.toggleImage("init"); window.addEventListener('aftercustomization', this, false); window.addEventListener('MozDOMFullscreen:Exited', this, false); Services.prefs.addObserver('browser.search.widget.inNavBar', this, false); Services.obs.addObserver(this, "browser-search-engine-modified"); window.addEventListener("resize", this, false); window.addEventListener('unload', this, false); }, uninit: function(){ window.removeEventListener('aftercustomization', this, false); window.removeEventListener('MozDOMFullscreen:Exited', this, false); Services.prefs.removeObserver('browser.search.widget.inNavBar', this); Services.obs.removeObserver(this, "browser-search-engine-modified"); window.removeEventListener("resize", this, false); window.removeEventListener('unload', this, false); }, toggleImage: async function(topic) { Services.console.logStringMessage("toggleImage "+topic); ChromeUtils.defineESModuleGetters(this.lazy, { SearchService: "moz-src:///toolkit/components/search/SearchService.sys.mjs", }); if (!this.lazy.SearchService.isInitialized) { await this.lazy.SearchService.init(); } if (Services.prefs.getBoolPref("browser.search.widget.new", false)) { var searchbar = window.document.getElementById("searchbar-new"); if (!searchbar) return; searchbar.searchModeSwitcher.updateSearchIcon(); } else { var searchbar = window.document.getElementById("searchbar"); if (!searchbar) return; let searchbutton = searchbar.querySelector(".searchbar-search-icon"); if (!searchbutton) return; Services.console.logStringMessage("toggleImage "+topic +" done"); let defaultEngine = await this.lazy.SearchService.getDefault(); var uri = await defaultEngine.getIconURL(); //var icon = PlacesUtils.getImageURLForResolution(window, uri); searchbutton.setAttribute("style", "list-style-image: url('"+ uri +"') !important;/* -moz-image-region: auto !important;*/ width: 16px !important; padding: 2px 0 !important;"); searchbar._textbox.setAttribute("placeholder", searchbar.currentEngine.name); } }, observe(aSubject, aTopic, aPrefstring) { if (aTopic == "browser-search-engine-modified") { //aSubject.QueryInterface(Components.interfaces.nsISearchEngine); switch (aPrefstring) { case "engine-current": case "engine-default": this.toggleImage(aPrefstring); // Not relevant break; } } if (aTopic == 'nsPref:changed') { // 設定が変更された時の処理 setTimeout(function(){searchengineicon.toggleImage(aTopic);}, 0); } }, _timer: null, handleEvent: function(event){ switch (event.type) { case "MozDOMFullscreen:Exited": setTimeout(() => {this.toggleImage(event.type);}, 1000); break; case "aftercustomization": this.toggleImage("aftercustomization"); break; case 'unload': this.uninit(); break; } } } // We should only start the redirection if the browser window has finished // starting up. Otherwise, we should wait until the startup is done. if (gBrowserInit.delayedStartupFinished) { searchengineicon.init(); } else { let delayedStartupFinished = (subject, topic) => { if (topic == "browser-delayed-startup-finished" && subject == window) { Services.obs.removeObserver(delayedStartupFinished, topic); searchengineicon.init(); } }; Services.obs.addObserver(delayedStartupFinished, "browser-delayed-startup-finished"); }Seit kurzem sieht das nun so aus:
Liegts an diesem Script? Wie kann es geändert werden?
Ich nutze noch ein weiteres Script, was da ggf. Einfluss nehmen könnte
JavaScript
Alles anzeigen// ==UserScript== // @name SearchEngineWheelScroll.uc.js // @include main // @async true // compatibility 149 // @version 2026/01/28 00:00 Bug 2003300 - Replace nsISearchService.CHANGE_REASON* with SearchService.CHANGE_REASON* // @version 2026/01/23 00:00 Bug 2000685 - Replace the search service instance with a singleton // @version 2025/12/20 00:00 new search widget // @version 2025/10/14 00:00 Bug 1977965 - Add a "Search Image" content context menu item for performing visual searches // @version 2025/07/31 00:00 Bug 1979338 - Use srcset for images on menuitems // @version 2025/07/09 00:00 Bug 1974698 - Remove setters for synchronous setting of the default (private) engines (use Services.search.setDefault instead setter of defaultEngine) // @version 2025/06/03 00:00 Bug 1882577 - Make nsISearchEngine.getIconURL an async function // @version 2024/03/01 00:00 Bug 1882577 - Make nsISearchEngine.getIconURL an async function // @version 2023/12/24 00:00 Bug 1870644 use engine.getIconURL() instead engine.iconURI.spec // @version 2023/10/10 00:00 Stop using xml-stylesheet processing instructions // @version 2023/07/17 00:00 use ES module imports // @version 2023/02/08 10:00 remove -moz-image-region // @version 2022/11/06 17:00 107 Bug 1793414 // @version 2020/06/13 11:00 Respect the focus // @version 2020/12/14 00:00 proton // @version 2020/12/14 00:00 Fix Firefox 85 Bug 1654217 - Make getEngineByAlias async // @version 2020/01/26 20:00 fox after DOM fullscreen // @version 2019/11/22 00:00 workaround delayed initialize using gBrowserInit.delayedStartupFinished instead async Services.search.init() // @version 2019/12/11 00:00 Fix Services.search initialize // @version 2019/11/14 00:00 Fix contextmenu // @version 2019/06/24 23:00 fix 69 wait for gBrowser initialized // @version 0.91 2019/5/26 Firefox67 // @version 0.9 2018/11/30 // ==/UserScript== /* Um ein Symbol auf der Suchschaltfläche anzuzeigen, ist die Verwendung von Alice0775s Script searchEngineIcon.uc.js die zuverlässigste Methode. Soll der Platzhalter im Suchfeld der Name der Suchmaschine sein, fügen Sie die folgende Zeile unterhalb der folgenden Zeile im selben Skript ein: `searchbutton.setAttribute("style", "list-style-image: url('"+ uri +"') !important; width: 16px !important; padding: 2px 0 !important;");` searchbar.textbox.setAttribute('placeholder', Services.search.defaultEngine.name); */ async function SearchEngineWheelScroll() { // Einstellung: true für (Ja), false für aus (Nein) const scrollDown = true // Zum nächsten Suchmaschinen-Element scrollen const menu_icon = true // Symbol im Kontextmenü anzeigen const dblclick_reset = true // Doppelklick um zur vorherigen Suchmaschine zurückzukehren const box_clear = true // Nach der Suche mit Doppelklick auf die Suchschaltfläche das Suchfeld leeren const top_engine = false // Die oberste Suchmaschine für die Direktsuche festlegen const select_engine = 'Google' // Suchmaschine per Stichwort auswählen, z. B. 'g' const sync = true // Suchbegriff aus dem Kontextmenü an die Suchleiste senden const hist = true // Suchbegriff aus dem Kontextmenü zum Suchverlauf hinzufügen const loop = false // Die Suchmaschinen in einer Schleife durchlaufen, ohne am Anfang oder Ende anzuhalten // Einstellungen Ende const box_reset = true // Suchmaschine nach der Suche in der Suchleiste zurücksetzen const menu_reset = true //Suchmaschine nach der Suche im Kontextmenü zurücksetzen window.addEventListener('aftercustomization', handleEvent, false); window.addEventListener('MozDOMFullscreen:Exited', handleEvent, false); const searchbar = Services.prefs.getBoolPref("browser.search.widget.new", false) ? document.getElementById('searchbar-new') : document.getElementById('searchbar'); if(!searchbar) return; const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { SearchService: "moz-src:///toolkit/components/search/SearchService.sys.mjs", FormHistory: "resource://gre/modules/FormHistory.sys.mjs", }); let searchbtn = searchbar.querySelector('hbox.searchbar-search-button'); let newSearchbtns = document.querySelectorAll(".searchmode-switcher"); const menu = document.getElementById('context-searchselect'); const SS = lazy.SearchService; menu.setAttribute("class", "menuitem-iconic"); menu.addEventListener('wheel', ChangeE, false); if(!!menu_reset) { //menu.addEventListener('click', CMenu_reset, false); menu.parentNode.addEventListener('popuphidden', CMenu_reset, false); } await lazy.SearchService.init(); if (!init()) return; CMenu(); Services.obs.addObserver(observe, "browser-search-engine-modified"); window.addEventListener('unload', function uninit() { Services.obs.removeObserver(observe, "browser-search-engine-modified"); window.removeEventListener('unload', uninit, false); }, false); function init() { let flg = false; for (let i = 0; i < newSearchbtns.length; i++) { newSearchbtns[i].addEventListener('wheel', async (e) => { const dir = (scrollDown ? 1 : -1) * Math.sign(e.deltaY); let searchMode = searchbar.searchMode; // Find the new index. const engines = await SS.getVisibleEngines(); let currentName; if (!searchMode) { currentName = SS.defaultEngine.name; } else { currentName = searchMode.engineName; } let newIndex = -1; let lastIndex = engines.length - 1; for (let i = lastIndex; i >= 0; --i) { if (engines[i].name == currentName) { // Check bounds to cycle through the list of engines continuously. if (dir < 0 && i == 0 && loop) { newIndex = lastIndex; } else if (dir > 0 && i == lastIndex && loop) { newIndex = 0; } else { newIndex = i + dir; } break; } } if (newIndex >= 0 && newIndex <= lastIndex) { if (engines[newIndex] == SS.defaultEngine) { searchbar.searchMode = null; } else { searchbar.searchMode = { engineName: engines[newIndex].name }; } } }, false); newSearchbtns[i].addEventListener('dblclick', ResetE, false); flg = true; } if(!searchbtn) return flg; Services.console.logStringMessage("SearchEngineWheelScroll init"); searchbtn.addEventListener('wheel', ChangeE, false); searchbtn.addEventListener('dblclick', ResetE, false); return true; } function CMenu_reset(e){ Services.console.logStringMessage(e.type); searchbar.value = sync? this.searchTerms : searchbar.value; if(!!hist) SyncHistory(); setTimeout(function(){ResetE()}, 0); } function handleEvent(event) { Services.console.logStringMessage("SearchEngineWheelScroll "+event.type); switch(event.type) { case "MozDOMFullscreen:Exited": setTimeout(() => {init();}, 1000); break; case "aftercustomization": init(); break; } } async function ResetE(){ //SS.defaultEngine = (!!top_engine || select_engine == '') ? (await SS.getVisibleEngines())[0] : await SS.getEngineByAlias(select_engine); await lazy.SearchService.setDefault( (!!top_engine || select_engine == '') ? (await SS.getVisibleEngines())[0] : await SS.getEngineByAlias(select_engine), lazy.SearchService.CHANGE_REASON_USER_SEARCHBAR ); if(box_clear) searchbar.value = ''; } var SSSURI = null; async function CMenu() { let selectedText = menu.searchTerms || window.getSelection().toString(); if (selectedText.length > 15) { let truncLength = 15; let truncChar = selectedText[15].charCodeAt(0); if (truncChar >= 0xDC00 && truncChar <= 0xDFFF) truncLength++; selectedText = selectedText.substr(0, truncLength) + '\u2026'; } var menuLabel = gNavigatorBundle.getFormattedString('contextMenuSearch', [SS.defaultEngine.name, selectedText]); menu.setAttribute('label', menuLabel); if(!menu_icon) return; let iconurl =' url('+ await SS.defaultEngine.getIconURL() + ')'; let style = `#context-searchselect .menu-icon{width:16px;height:16px;} #context-searchselect { --menuitem-icon: ${iconurl} !important;}`; var sss = Cc['@mozilla.org/content/style-sheet-service;1'] .getService(Ci.nsIStyleSheetService); if (SSSURI && sss.sheetRegistered(SSSURI, sss.USER_SHEET)) { sss.unregisterSheet(SSSURI, sss.USER_SHEET); } var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(style)); SSSURI = uri; if(!sss.sheetRegistered(uri, sss.USER_SHEET)) sss.loadAndRegisterSheet(uri, sss.USER_SHEET); /* let sspi = document.createProcessingInstruction( 'xml-stylesheet', 'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"' ); document.insertBefore(sspi, document.documentElement); sspi.getAttribute = function(name) { return document.documentElement.getAttribute(name); }; */ } function SyncHistory() { if (PrivateBrowsingUtils.isWindowPrivate(window)) return; const val = menu.searchTerms; lazy.FormHistory.update({ op: "bump", fieldname: "searchbar-history", value: val, source: menu.engine.name }); } async function ChangeE(e) { const dir = (scrollDown ? 1 : -1) * Math.sign(e.deltaY); // Find the new index. let engines = await SS.getVisibleEngines(); let currentName = SS.defaultEngine ? SS.defaultEngine.name : ""; let newIndex = -1; let lastIndex = engines.length - 1; for (let i = lastIndex; i >= 0; --i) { if (engines[i].name == currentName) { // Check bounds to cycle through the list of engines continuously. if (dir < 0 && i == 0 && loop) { newIndex = lastIndex; } else if (dir > 0 && i == lastIndex && loop) { newIndex = 0; } else { newIndex = i + dir; } break; } } if (newIndex >= 0 && newIndex <= lastIndex) { //SS.defaultEngine = engines[newIndex]; await lazy.SearchService.setDefault( engines[newIndex], lazy.SearchService.CHANGE_REASON_USER_SEARCHBAR ); document.getElementById('context-searchselect').engine = engines[newIndex]; } } function observe(aEngine, aTopic, aVerb) { if (aTopic == "browser-search-engine-modified") { //aEngine.QueryInterface(Components.interfaces.nsISearchEngine); if(aVerb == "engine-current" || aVerb == "engine-default") CMenu(); } } if(!box_reset) return; searchbar.cmd = searchbar.doSearch; searchbar.doSearch = function(aData, aWhere, aEngine, aParams, isOneOff = false) { if (false && aWhere == 'current') { aWhere = gBrowser.selectedTab.isEmpty? 'current': 'tab'; } this.cmd(aData, aWhere, aEngine, aParams, isOneOff); ResetE(); } } // We should only start the redirection if the browser window has finished // starting up. Otherwise, we should wait until the startup is done. if (gBrowserInit.delayedStartupFinished) { SearchEngineWheelScroll(); } else { let delayedStartupFinished = (subject, topic) => { if (topic == "browser-delayed-startup-finished" && subject == window) { Services.obs.removeObserver(delayedStartupFinished, topic); SearchEngineWheelScroll(); } }; Services.obs.addObserver(delayedStartupFinished, "browser-delayed-startup-finished"); } -
Hans Traxler, u.a. Gründer von der Satirezeitschrift Titanic und Entwickler von Kanzler Kohl als Birne, ist im Alter von 97 Jahren gestorben.

-
Schaut es euch an und sagt mir doch mal, ist das eine Tierchen der Firefox?
Ja, dem Vernehmen nach wurde aus dem kleinen roten Panda die Firefoxfigur entwickelt.
-
-
-
Jazzkantine
Review-Bilder "Am Anfang war das A" mit dem letzten TitelExterner Inhalt www.youtube.comInhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
-
-
-
Don Nelson, der Trainer, der Dirk Nowitzki nach Dallas holte und ihn zum Star machte, ist im Alter von 86 Jahren gestorben.
-
-
Vincent Pastore wurde gestern in seinem Haus von einem Nachbarn tot aufgefunden. Der 80 jährige Italo-amerikanische Schauspieler wurde unter anderem mit seinen Rollen in Good Fellas und weiteren Filmen bekannt. Den meisten dürfte er aber als Mafioso Salvatore „Big Pussy“ Bonpensiero in der erfolgreichen HBO-Fernsehserie Die Sopranos bekannt gewesen sein.
-
Aber eigentlich mache ich es genau so. Daß ich ellenlange, komplizierte Passwörter speicher. Aber eben nicht alle. Das heißt nicht daß der Rest unkompliziert ist o.ä. Aber eben einfacher und ich habe die hier in meinem Arbeitszimmer an der Wand auf einer Magnettafel auf Ausdrucken befestigt. Auch die gespeicherten
Ich bin kein Experte Aber meinem Verständnis nach ist es unsicherer Passwörter in Firefox zu speichern Die können doch bestimmt von Profis "ausgelesen" werden Oder?
Fett von mir!
Auf jeden Fall kann ein Einbrecher diese Passwörter wunderbar nutzen. Auch wenn er deine Wohnung wieder verlassen hat.
Ist dein Arbeitszimmer von außen einsehbar? Dann braucht man ggf. nicht mal in die Wohnung einbrechen. Es gibt verdammt gute Ferngläser....Wenn du auf eine Notation deiner Passwörter nicht verzichten möchtest, verwahre die Listen besser in einem Safe!
-
Immer wieder Disco
-
Sören Hentzschel Was soll man darunter verstehen? Wird die Funktionsweise von Scripts, wie wir sie kennen, abgeschafft, bzw. ist sie auf Dauer nur noch mit dem Config-Schalter möglich? Bleibt dieser erhalten? Fragen über Fragen....