und für Firefox 151 Nightly auch:
userChrome.js/151/searchEngineIcon.uc.js at master · alice0775/userChrome.js
Contribute to alice0775/userChrome.js development by creating an account on GitHub.
github.com
Mfg.
Endor
und für Firefox 151 Nightly auch:
Mfg.
Endor
Es gibt eine neue Version vom Script: searchEngineIcon.uc.js für Firefox 149:
Mfg.
Endor
Hallo Büssen.
Alles alles Gute zum Geburtstag.
Viel Gesundheit, Glück und Wohlergehen wünsche ich Dir
von ganzem Herzen. Bleib Gesund.
Mfg.
Endor
Hallo zusammen.
Das Script GoogleImageSearch.uc.js funktioniert nicht mehr.
Es liegt wahrscheinlich unten an den oncommand und onclick Einträgen.
imagesearch.setAttribute("oncommand", "googleImageSearch.onSearch(event);");
imagesearch.setAttribute("onclick", "googleImageSearch.onSearch(event);");
Mir fehlt die Zeit und das Können um das zu ändern.
Könnte vielleicht jemand von euch sich das mal anschauen.
// ==UserScript==
// @name googleImageSearch.uc.js
// @namespace googleImageSearch@zbinlin
// @description Google-Bildersuche
// @include chrome://browser/content/browser.xhtml
// @author zbinlin
// @versionsinfo Anpassung für Firefox 52+ von aborix
// @homepage http://www.czcp.co.cc
// @version 0.0.2.3
// @compatibility firefox 4.0 - 52.0+
// ==/UserScript==
var googleImageSearch = {
init: function () {
var cacm = document.getElementById("contentAreaContextMenu");
if (!cacm) return;
var sendimage = document.getElementById("context-sendimage");
var imagesearch = document.createXULElement("menuitem");
imagesearch.setAttribute("id", "context-googleImageSearch");
imagesearch.setAttribute("label", "Google-Bildersuche");
imagesearch.setAttribute("accesskey", "B");
imagesearch.setAttribute("oncommand", "googleImageSearch.onSearch(event);");
imagesearch.setAttribute("onclick", "googleImageSearch.onSearch(event);");
cacm.insertBefore(imagesearch, sendimage);
cacm.addEventListener("popupshowing", function () {
// bei Canvas deaktivieren
imagesearch.hidden = gContextMenu.onCanvas || !gContextMenu.onImage;
}, false);
},
onSearch: function (e) {
if (!gContextMenu)
return;
var imageURL = gContextMenu.mediaURL;
var url = "https://www.google.com/searchbyimage?image_url=";
var where = (e.type == "click" && e.button == 1) ? "tabshifted" : "tab";
url += encodeURIComponent(imageURL);
openWebLinkIn(url, where);
closeMenus(e.target);
}
}
if (window.location == "chrome://browser/content/browser.xhtml") {
googleImageSearch.init();
}
Alles anzeigen
Mfg.
Endor
Nur zur Info der Autor hat das Script aktualisiert:
oder
Mfg.
Endor
Ich installierte Version 8.9.3 x64.
Hier meine:
<?xml version="1.0" encoding="UTF-8" ?>
<NotepadPlus>
<ProjectPanels>
<ProjectPanel id="0" workSpaceFile="" />
<ProjectPanel id="1" workSpaceFile="" />
<ProjectPanel id="2" workSpaceFile="" />
</ProjectPanels>
<ColumnEditor choice="number">
<text content="" />
<number initial="-1" increase="-1" repeat="-1" formatChoice="dec" leadingChoice="none" />
</ColumnEditor>
<GUIConfigs>
<GUIConfig name="ToolBar" visible="yes" fluentColor="0" fluentCustomColor="11773092" fluentMono="no">standard</GUIConfig>
<GUIConfig name="StatusBar">show</GUIConfig>
<GUIConfig name="TabBar" dragAndDrop="yes" drawTopBar="yes" drawInactiveTab="yes" reduce="yes" closeButton="yes" pinButton="yes" showOnlyPinnedButton="no" buttonsOninactiveTabs="no" doubleClick2Close="no" vertical="no" multiLine="yes" hide="no" quitOnEmpty="no" iconSetNumber="0" tabCompactLabelLen="0" />
<GUIConfig name="ScintillaViewsSplitter">vertical</GUIConfig>
<GUIConfig name="UserDefineDlg" position="undocked">hide</GUIConfig>
<GUIConfig name="TabSetting" replaceBySpace="no" size="4" backspaceUnindent="no" />
<GUIConfig name="AppPosition" x="136" y="1" width="2339" height="1259" isMaximized="no" />
<GUIConfig name="FindWindowPosition" left="587" top="447" right="1221" bottom="806" isLessModeOn="no" />
<GUIConfig name="FinderConfig" wrappedLines="no" purgeBeforeEverySearch="no" showOnlyOneEntryPerFoundLine="yes" />
<GUIConfig name="noUpdate" intervalDays="15" nextUpdateDate="20260409" autoUpdateMode="1">no</GUIConfig>
<GUIConfig name="Auto-detection">yes</GUIConfig>
<GUIConfig name="CheckHistoryFiles">no</GUIConfig>
<GUIConfig name="TrayIcon">0</GUIConfig>
<GUIConfig name="MaintainIndent">1</GUIConfig>
<GUIConfig name="TagsMatchHighLight" TagAttrHighLight="yes" HighLightNonHtmlZone="no">yes</GUIConfig>
<GUIConfig name="RememberLastSession">yes</GUIConfig>
<GUIConfig name="KeepSessionAbsentFileEntries">no</GUIConfig>
<GUIConfig name="DetectEncoding">yes</GUIConfig>
<GUIConfig name="SaveAllConfirm">yes</GUIConfig>
<GUIConfig name="NewDocDefaultSettings" format="0" encoding="4" lang="20" codepage="-1" openAnsiAsUTF8="yes" addNewDocumentOnStartup="no" useContentAsTabName="no" />
<GUIConfig name="langsExcluded" gr0="0" gr1="0" gr2="0" gr3="0" gr4="0" gr5="0" gr6="0" gr7="0" gr8="0" gr9="0" gr10="0" gr11="0" gr12="0" langMenuCompact="yes" />
<GUIConfig name="Print" lineNumber="yes" printOption="3" headerLeft="" headerMiddle="" headerRight="" footerLeft="" footerMiddle="" footerRight="" headerFontName="" headerFontStyle="0" headerFontSize="0" footerFontName="" footerFontStyle="0" footerFontSize="0" margeLeft="0" margeRight="0" margeTop="0" margeBottom="0" />
<GUIConfig name="Backup" action="1" useCustumDir="yes" dir="F:\Adaten\Downloads\Notepad++" isSnapshotMode="yes" snapshotBackupTiming="7000" />
<GUIConfig name="TaskList">yes</GUIConfig>
<GUIConfig name="MRU">yes</GUIConfig>
<GUIConfig name="URL">1</GUIConfig>
<GUIConfig name="uriCustomizedSchemes">svn:// cvs:// git:// imap:// irc:// irc6:// ircs:// ldap:// ldaps:// news: telnet:// gopher:// ssh:// sftp:// smb:// skype: snmp:// spotify: steam:// sms: slack:// chrome:// bitcoin:</GUIConfig>
<GUIConfig name="globalOverride" fg="no" bg="no" font="no" fontSize="no" bold="no" italic="no" underline="no" />
<GUIConfig name="auto-completion" autoCAction="3" triggerFromNbChar="1" autoCIgnoreNumbers="yes" insertSelectedItemUseENTER="yes" insertSelectedItemUseTAB="yes" autoCBrief="no" funcParams="yes" />
<GUIConfig name="auto-insert" parentheses="no" brackets="no" curlyBrackets="no" quotes="no" doubleQuotes="no" htmlXmlTag="no" />
<GUIConfig name="sessionExt"></GUIConfig>
<GUIConfig name="workspaceExt"></GUIConfig>
<GUIConfig name="MenuBar">show</GUIConfig>
<GUIConfig name="Caret" width="1" blinkRate="600" />
<GUIConfig name="openSaveDir" value="0" defaultDirPath="" lastUsedDirPath="" />
<GUIConfig name="titleBar" short="no" />
<GUIConfig name="insertDateTime" customizedFormat="yyyy-MM-dd HH:mm:ss" reverseDefaultOrder="no" />
<GUIConfig name="wordCharList" useDefault="yes" charsAdded="" />
<GUIConfig name="delimiterSelection" leftmostDelimiter="40" rightmostDelimiter="41" delimiterSelectionOnEntireDocument="no" />
<GUIConfig name="largeFileRestriction" fileSizeMB="200" isEnabled="yes" allowAutoCompletion="no" allowBraceMatch="no" allowSmartHilite="no" allowClickableLink="no" deactivateWordWrap="yes" suppress2GBWarning="no" />
<GUIConfig name="multiInst" setting="0" clipboardHistory="no" documentList="no" characterPanel="no" folderAsWorkspace="no" projectPanels="no" documentMap="no" fuctionList="no" pluginPanels="no" />
<GUIConfig name="MISC" fileSwitcherWithoutExtColumn="no" fileSwitcherExtWidth="50" fileSwitcherWithoutPathColumn="yes" fileSwitcherPathWidth="50" fileSwitcherNoGroups="no" backSlashIsEscapeCharacterForSql="yes" writeTechnologyEngine="0" isFolderDroppedOpenFiles="no" docPeekOnTab="no" docPeekOnMap="no" sortFunctionList="no" saveDlgExtFilterToAllTypes="no" muteSounds="no" enableFoldCmdToggable="no" hideMenuRightShortcuts="no" />
<GUIConfig name="Searching" monospacedFontFindDlg="no" fillFindFieldWithSelected="yes" fillFindFieldSelectCaret="yes" findDlgAlwaysVisible="no" confirmReplaceInAllOpenDocs="yes" replaceStopsWithoutFindingNext="no" inSelectionAutocheckThreshold="1024" fillFindWhatThreshold="1024" fillDirFieldFromActiveDoc="no" />
<GUIConfig name="searchEngine" searchEngineChoice="2" searchEngineCustom="" />
<GUIConfig name="MarkAll" matchCase="no" wholeWordOnly="yes" />
<GUIConfig name="SmartHighLight" matchCase="no" wholeWordOnly="yes" useFindSettings="no" onAnotherView="no">yes</GUIConfig>
<GUIConfig name="DarkMode" enable="no" colorTone="0" customColorTop="2105376" customColorMenuHotTrack="4210752" customColorActive="4210752" customColorMain="2105376" customColorError="176" customColorText="14737632" customColorDarkText="12632256" customColorDisabledText="8421504" customColorLinkText="65535" customColorEdge="6579300" customColorHotEdge="10197915" customColorDisabledEdge="4737096" enableWindowsMode="no" darkThemeName="DarkModeDefault.xml" darkToolBarIconSet="0" darkTbFluentColor="0" darkTbFluentCustomColor="0" darkTbFluentMono="no" darkTabIconSet="2" darkTabUseTheme="no" lightThemeName="" lightToolBarIconSet="4" lightTbFluentColor="0" lightTbFluentCustomColor="11773092" lightTbFluentMono="no" lightTabIconSet="0" lightTabUseTheme="yes" />
<GUIConfig name="ScintillaPrimaryView" lineNumberMargin="show" lineNumberDynamicWidth="yes" bookMarkMargin="show" indentGuideLine="show" folderMarkStyle="box" isChangeHistoryEnabled="1" lineWrapMethod="aligned" currentLineIndicator="1" currentLineFrameWidth="1" virtualSpace="no" scrollBeyondLastLine="no" rightClickKeepsSelection="no" selectedTextForegroundSingleColor="no" disableAdvancedScrolling="no" wrapSymbolShow="hide" Wrap="yes" borderEdge="yes" isEdgeBgMode="no" edgeMultiColumnPos="" zoom="4" zoom2="4" whiteSpaceShow="hide" eolShow="hide" eolMode="1" npcShow="hide" npcMode="1" npcCustomColor="no" npcIncludeCcUniEOL="no" npcNoInputC0="yes" ccShow="yes" borderWidth="2" smoothFont="no" paddingLeft="0" paddingRight="0" distractionFreeDivPart="4" lineCopyCutWithoutSelection="yes" multiSelection="yes" columnSel2MultiEdit="yes" />
<GUIConfig name="DockingManager" leftWidth="200" rightWidth="200" topHeight="200" bottomHeight="200">
<FloatingWindow cont="4" x="142" y="191" width="644" height="461" />
<PluginDlg pluginName="ComparePlugin.dll" id="11" curr="1" prev="-1" isVisible="no" />
<PluginDlg pluginName="Notepad++::InternalFunction" id="0" curr="3" prev="-1" isVisible="no" />
<PluginDlg pluginName="NPPJSONViewer.dll" id="0" curr="0" prev="-1" isVisible="no" />
<PluginDlg pluginName="Notepad++::InternalFunction" id="42051" curr="1" prev="-1" isVisible="no" />
<PluginDlg pluginName="NppConverter.dll" id="3" curr="4" prev="0" isVisible="no" />
<ActiveTabs cont="0" activeTab="-1" />
<ActiveTabs cont="1" activeTab="-1" />
<ActiveTabs cont="2" activeTab="-1" />
<ActiveTabs cont="3" activeTab="-1" />
</GUIConfig>
</GUIConfigs>
</NotepadPlus>
Alles anzeigen
Die Datei ist hier unter AppData/Roaming/Notepad++
zu finden.
Ja auch ich habe dieses Problem schon immer.
Gibt es unter Plugins in Notepadd++ dazu eventuell Einstellungen?
Zu dem was ich verwende gibt es einige.
Es gibt noch ein Plugin, das verwende ich aber nicht,
das kann man direkt aus den Notepad++ Plugin-Verwaltung Fenster
installieren. Ob das besser funktioniert keine Ahnung:
BracketsCheck
Mfg.
Endor
Leider nein.
Muss aber erst mal das Plugin aktualisieren.
Melde mich.
Edit: Auch mit der neuesten Version 2.0.3
das selbe. Es wird immer die falsche angezeigt.
Mfg.
Endor
Hallo 2002Andreas
Ich verwende ein Plugin in Notepad++
readme:
Release:
Vielleicht testest Du das mal.
Mfg.
Endor
Teste bitte mal:
Hallo 2002Andreas.
Habe mich mal bedient.![]()
Funktioniert hier besten.
Vielen Dank!
Mfg.
Endor
Die Meldung besagt, dass browser.formfill.enable nicht auf
Ist hier auf true.
Verwende auch noch dieses Script, keine Ahnung was es genau macht:
// ==UserScript==
// @name show_SearchBar_Histrory_Dropmarker.uc.js
// @namespace http://space.geocities.yahoo.co.jp/gl/alice0775
// @description Show Searchbar Histrory Dropmarker
// @include main
// @compatibility Firefox 149
// @version 2026/01/27 00:00 revert value after history dropdown is shown
// @version 2026/01/23 00:00 Bug 2000685 - Replace the search service instance with a singleton
// @version 2026/01/20 0:00 revert some FormHistory change
// @version 2026/01/13 00:00 compatibility 149 from 148
// @version 2026/01/07 Bug 2008041 - Make XUL disabled / checked attributes html-style boolean attributes.
// @version 2025/12/20 00:00 new search widget
// @version 2025/06/07 00:00 add margin
// @version 2025/02/04 23:00 Bug 1880913 - Move BrowserSearch out of browser.js
// @version 2023/11/22 18:00 remove appearance for dropmarker icon
// @version 2023/02/26 21:00 wip dropmarker icon
// @version 2022/10/18 10:00 fix Bug 1790616
// @version 2021/07/22 -moz-context-properties seems do not work in 91+
// @version 2021/07/08 fix drop-down svg
// @version 2021/04/26 Bug 1620467 - Support standard 'appearance' CSS property unprefixed
// @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/07/13 01:00 Fix 68 Bug 1556561 - Remove children usage from autocomplete binding
// @version 2019/06/10 01:00 Fix 67.0a1 Bug 1492475 The search service init() method should simply return a Promise
// @version 2019/05/24 11:00 Fix overflowed/underflowed
// @version 2018-09-16 fix button click
// @version 2018-07-21 add button toggle popup when click
// @version 2018-07-21 add button style open state
// @version 1.0
// @original https://u6.getuploader.com/script/download/1670
// ==/UserScript==
var showSearchBarHistroryDropmarker = {
init2: function(topic) {
Services.console.logStringMessage("showSearchBarHistroryDropmarker "+topic);
const kNSXUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
this.oldmaxRows = Services.prefs.getIntPref("browser.urlbar.maxRichResults", 10);
this.oldmaxResults = Services.prefs.getIntPref("browser.urlbar.recentsearches.maxResults", 5);
let bar, ref;
if (Services.prefs.getBoolPref("browser.search.widget.new", false)) {
bar = document.getElementById("searchbar-new");
if (!bar) return;
ref = bar.querySelector("#searchbar-new .urlbar-go-button");
} else {
bar = document.getElementById("searchbar");
if (!bar) return;
ref = bar.querySelector(".search-go-container");
}
if (ref.parentNode.querySelector(".searchBar-history-dropmarker"))
return;
Services.console.logStringMessage("showSearchBarHistroryDropmarker "+topic +" done");
let btn = document.createElementNS(kNSXUL, "dropmarker");
btn.setAttribute("anonid", "historydropmarker");
btn.setAttribute("class", "searchBar-history-dropmarker chromeclass-toolbar-additional");
btn.setAttribute("tooltiptext", "Show history");
btn.setAttribute("inherits", "open,parentfocused=focused,usertyping");
btn.setAttribute("ordinal", "99");
btn.setAttribute("type", "checkbox");
btn.setAttribute("autoCheck", "false");
if (Services.prefs.getBoolPref("browser.search.widget.new", false)) {
this.btn = ref.parentNode.appendChild(btn);
} else {
this.btn = ref.parentNode.insertBefore(btn, ref);
}
btn.addEventListener("click", this, false);
btn.addEventListener("mousedown", this, false);
},
init: async function() {
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
SearchService: "moz-src:///toolkit/components/search/SearchService.sys.mjs",
});
if (!lazy.SearchService.isInitialized) {
await lazy.SearchService.init();
}
delete lazy;
window.addEventListener("unload", this, false);
window.addEventListener('aftercustomization', this, false);
window.addEventListener('MozDOMFullscreen:Exited', this, false);
Services.prefs.addObserver('browser.search.widget.inNavBar', this, false);
window.addEventListener("resize", this, false);
if (Services.prefs.getBoolPref("browser.search.widget.new", false)) {
let view = document.getElementById("searchbar-new").view;
this.popup = document.getElementById("searchbar-new").querySelector(".urlbarView");
document.getElementById("searchbar-new").inputField.addEventListener("keydown", (e) => {
let keyCode = e.keyCode;
if ( view.isOpen &&
(keyCode == KeyboardEvent.DOM_VK_UP ||
keyCode == KeyboardEvent.DOM_VK_DOWN ||
keyCode == KeyboardEvent.DOM_VK_PAGE_UP ||
keyCode == KeyboardEvent.DOM_VK_PAGE_DOWN)) {
//let popup_rect = this.popup.getBoundingClientRect();
let selected = view.selectedElement
if (!selected) return;
//let selected_rect = selected.getBoundingClientRect();
//if (selected_rect.top < popup_rect.top) {
selected.scrollIntoView({behavior: "instant", block: "nearest"});
//} else if ( popup_rect.bottom < selected_rect.bottom) {
//selected.scrollIntoView(false);
//}
}
});
} else {
this.popup = document.getElementById("PopupSearchAutoComplete");
this.popup.addEventListener("popupshown", this, false);
this.popup.addEventListener("popuphidden", this, false);
}
this.init2("init");
let style = `
.search-go-container {
/* -moz-box-ordinal-group:500; */ /* V-> */
}
.searchBar-history-dropmarker {
/*appearance: none;*/
list-style-image: url('chrome://devtools/skin/images/arrow-dropdown-12.svg');
opacity: 0.6;
margin: 0 0 0 0;
padding: 9px 10px 9px 10px;
}
:root[uidensity="compact"] .searchBar-history-dropmarker {
padding: 6px 10px 6px 10px;
}
:root[uidensity="touch"] .searchBar-history-dropmarker {
padding: 10px 10px 10px 10px;
}
.searchBar-history-dropmarker:active,
.searchBar-history-dropmarker[checked] {
background-color: var(--toolbarbutton-active-background);
opacity: 1;
}
.searchBar-history-dropmarker:hover {
background-color: var(--urlbar-box-hover-bgcolor);
opacity: 1;
}
toolbar[brighttext] .searchBar-history-dropmarker {
list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="rgb(251, 251, 254)" fill-opacity="1.0" d="M6 9a1 1 0 0 1-.707-.293l-3-3a1 1 0 0 1 1.414-1.414L6 6.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-3 3A1 1 0 0 1 6 9z"/></svg>');
/*seems does not work on 91+
-moz-context-properties: fill, fill-opacity;
fill: currentColor;
fill-opacity: var(--toolbarbutton-icon-fill-opacity);
*/
}
/*Bug 1936648*/
*|input::-moz-search-clear-button {
background-size:14px !important;
opacity:0.6 !important;
padding-inline: 1px !important;
}
*|input::-moz-search-clear-button:hover {
opacity:1 !important;
background-color: transparent !important;
}
*|input::-moz-reveal {
background-size:14px !important;
opacity:0.6 !important;
padding-inline: 1px !important;
}
.urlbarView {
overflow-y: auto !important;
max-height: 40ch !important;
}
`.replace(/\s+/g, " ");
let sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
let uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(style));
if(!sss.sheetRegistered(uri, sss.AGENT_SHEET))
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
},
uninit: function() {
window.removeEventListener("unload", this, false);
window.removeEventListener('aftercustomization', this, false);
window.removeEventListener('MozDOMFullscreen:Exited', this, false);
Services.prefs.removeObserver('browser.search.widget.inNavBar', this);
window.removeEventListener("resize", this, false);
},
showHistory: async function(event) {
event.stopPropagation();
let bar;
if (Services.prefs.getBoolPref("browser.search.widget.new", false)) {
bar = document.getElementById("searchbar-new");
if (bar.hasAttribute("open")) {
bar.view.close();
return;
}
Services.prefs.setIntPref("browser.urlbar.recentsearches.maxResults", 1000);
Services.prefs.setIntPref("browser.urlbar.maxRichResults", 1000);
let v = '';
if(bar.value)
v = bar.value;
bar.value = ""; /*just form history, not suggestion*/
bar._on_mousedown(
{
type: "mousedown",
button: 0,
currentTarget: bar,
composedTarget: bar._inputContainer
});
bar.value = v;
setTimeout(() => {
Services.prefs.setIntPref("browser.urlbar.recentsearches.maxResults", this.oldmaxResults);
Services.prefs.setIntPref("browser.urlbar.maxRichResults", this.oldmaxRows);
}, 250);
} else {
let bar = document.getElementById("searchbar");
if (event.target.hasAttribute("checked")) {
bar._textbox.closePopup();
return;
}
let v = '';
if(bar._textbox.value)
v = bar._textbox.value;
bar._textbox.value = '';
bar._textbox.showHistoryPopup();
bar._textbox.value = v;
}
},
popupshown: function(event) {
this.btn.toggleAttribute("checked", true);
},
popuphidden: function(event) {
setTimeout(function(){this.btn.removeAttribute("checked");}.bind(this), 0);
},
observe(aSubject, aTopic, aPrefstring) {
if (aTopic == 'nsPref:changed') {
// 設定が変更された時の処理
setTimeout(function(){showSearchBarHistroryDropmarker.init2(aTopic);}, 0);
}
},
_timer: null,
handleEvent: function(event) {
switch(event.type) {
case "MozDOMFullscreen:Exited":
setTimeout(() => {this.init2(event.type);}, 1000);
break;
case "aftercustomization":
this.init2(event.type);
break;
case "mousedown":
if (event.button == 0)
this.showHistory(event);
break;
case "click":
if (event.button == 0) {
//event.stopPropagation();
//event.preventDefault();
}
break;
case "popupshown":
this.popupshown(event);
break;
case "popuphidden":
this.popuphidden(event);
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) {
showSearchBarHistroryDropmarker.init();
} else {
let delayedStartupFinished = (subject, topic) => {
if (topic == "browser-delayed-startup-finished" &&
subject == window) {
Services.obs.removeObserver(delayedStartupFinished, topic);
showSearchBarHistroryDropmarker.init();
}
};
Services.obs.addObserver(delayedStartupFinished,
"browser-delayed-startup-finished");
}
Alles anzeigen
Mfg.
Endor
Komisch bei mir funktioniert es einwandfrei.
Habe ganz rechts den Pfeil, da drauf klicken dann kommt die Liste.
Im Script Zeilen 37 und 38 beachten, Zeile 37 Anzahl Zeien im Popup , Zeile 38
da kann man die Mindestanzahl der angezeigten Einträge einstellen.
Habe hier mal 100 statt 5 eingegeben nun habe ich 100 Einträge in der Liste.
Mfg.
Endor
Bin mir nicht sicher aber das müsste passen:
Es fügt oben in der Suchliste einen Pfeil nach unten ein und bei klick drauf
wird die Suchchronik angezeigt.
// ==UserScript==
// @name show_SearchBar_Histrory_Dropmarker.uc.js
// @namespace http://space.geocities.yahoo.co.jp/gl/alice0775
// @description Show Searchbar Histrory Dropmarker
// @include main
// @compatibility Firefox 149
// @version 2026/01/27 00:00 revert value after history dropdown is shown
// @version 2026/01/23 00:00 Bug 2000685 - Replace the search service instance with a singleton
// @version 2026/01/20 0:00 revert some FormHistory change
// @version 2026/01/13 00:00 compatibility 149 from 148
// @version 2026/01/07 Bug 2008041 - Make XUL disabled / checked attributes html-style boolean attributes.
// @version 2025/12/20 00:00 new search widget
// @version 2025/06/07 00:00 add margin
// @version 2025/02/04 23:00 Bug 1880913 - Move BrowserSearch out of browser.js
// @version 2023/11/22 18:00 remove appearance for dropmarker icon
// @version 2023/02/26 21:00 wip dropmarker icon
// @version 2022/10/18 10:00 fix Bug 1790616
// @version 2021/07/22 -moz-context-properties seems do not work in 91+
// @version 2021/07/08 fix drop-down svg
// @version 2021/04/26 Bug 1620467 - Support standard 'appearance' CSS property unprefixed
// @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/07/13 01:00 Fix 68 Bug 1556561 - Remove children usage from autocomplete binding
// @version 2019/06/10 01:00 Fix 67.0a1 Bug 1492475 The search service init() method should simply return a Promise
// @version 2019/05/24 11:00 Fix overflowed/underflowed
// @version 2018-09-16 fix button click
// @version 2018-07-21 add button toggle popup when click
// @version 2018-07-21 add button style open state
// @version 1.0
// @original https://u6.getuploader.com/script/download/1670
// ==/UserScript==
var showSearchBarHistroryDropmarker = {
init2: function(topic) {
Services.console.logStringMessage("showSearchBarHistroryDropmarker "+topic);
const kNSXUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
this.oldmaxRows = Services.prefs.getIntPref("browser.urlbar.maxRichResults", 10);
this.oldmaxResults = Services.prefs.getIntPref("browser.urlbar.recentsearches.maxResults", 5);
let bar, ref;
if (Services.prefs.getBoolPref("browser.search.widget.new", false)) {
bar = document.getElementById("searchbar-new");
if (!bar) return;
ref = bar.querySelector("#searchbar-new .urlbar-go-button");
} else {
bar = document.getElementById("searchbar");
if (!bar) return;
ref = bar.querySelector(".search-go-container");
}
if (ref.parentNode.querySelector(".searchBar-history-dropmarker"))
return;
Services.console.logStringMessage("showSearchBarHistroryDropmarker "+topic +" done");
let btn = document.createElementNS(kNSXUL, "dropmarker");
btn.setAttribute("anonid", "historydropmarker");
btn.setAttribute("class", "searchBar-history-dropmarker chromeclass-toolbar-additional");
btn.setAttribute("tooltiptext", "Show history");
btn.setAttribute("inherits", "open,parentfocused=focused,usertyping");
btn.setAttribute("ordinal", "99");
btn.setAttribute("type", "checkbox");
btn.setAttribute("autoCheck", "false");
if (Services.prefs.getBoolPref("browser.search.widget.new", false)) {
this.btn = ref.parentNode.appendChild(btn);
} else {
this.btn = ref.parentNode.insertBefore(btn, ref);
}
btn.addEventListener("click", this, false);
btn.addEventListener("mousedown", this, false);
},
init: async function() {
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
SearchService: "moz-src:///toolkit/components/search/SearchService.sys.mjs",
});
if (!lazy.SearchService.isInitialized) {
await lazy.SearchService.init();
}
delete lazy;
window.addEventListener("unload", this, false);
window.addEventListener('aftercustomization', this, false);
window.addEventListener('MozDOMFullscreen:Exited', this, false);
Services.prefs.addObserver('browser.search.widget.inNavBar', this, false);
window.addEventListener("resize", this, false);
if (Services.prefs.getBoolPref("browser.search.widget.new", false)) {
let view = document.getElementById("searchbar-new").view;
this.popup = document.getElementById("searchbar-new").querySelector(".urlbarView");
document.getElementById("searchbar-new").inputField.addEventListener("keydown", (e) => {
let keyCode = e.keyCode;
if ( view.isOpen &&
(keyCode == KeyboardEvent.DOM_VK_UP ||
keyCode == KeyboardEvent.DOM_VK_DOWN ||
keyCode == KeyboardEvent.DOM_VK_PAGE_UP ||
keyCode == KeyboardEvent.DOM_VK_PAGE_DOWN)) {
//let popup_rect = this.popup.getBoundingClientRect();
let selected = view.selectedElement
if (!selected) return;
//let selected_rect = selected.getBoundingClientRect();
//if (selected_rect.top < popup_rect.top) {
selected.scrollIntoView({behavior: "instant", block: "nearest"});
//} else if ( popup_rect.bottom < selected_rect.bottom) {
//selected.scrollIntoView(false);
//}
}
});
} else {
this.popup = document.getElementById("PopupSearchAutoComplete");
this.popup.addEventListener("popupshown", this, false);
this.popup.addEventListener("popuphidden", this, false);
}
this.init2("init");
let style = `
.search-go-container {
/* -moz-box-ordinal-group:500; */ /* V-> */
}
.searchBar-history-dropmarker {
/*appearance: none;*/
list-style-image: url('chrome://devtools/skin/images/arrow-dropdown-12.svg');
opacity: 0.6;
margin: 0 0 0 0;
padding: 9px 10px 9px 10px;
}
:root[uidensity="compact"] .searchBar-history-dropmarker {
padding: 6px 10px 6px 10px;
}
:root[uidensity="touch"] .searchBar-history-dropmarker {
padding: 10px 10px 10px 10px;
}
.searchBar-history-dropmarker:active,
.searchBar-history-dropmarker[checked] {
background-color: var(--toolbarbutton-active-background);
opacity: 1;
}
.searchBar-history-dropmarker:hover {
background-color: var(--urlbar-box-hover-bgcolor);
opacity: 1;
}
toolbar[brighttext] .searchBar-history-dropmarker {
list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="rgb(251, 251, 254)" fill-opacity="1.0" d="M6 9a1 1 0 0 1-.707-.293l-3-3a1 1 0 0 1 1.414-1.414L6 6.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-3 3A1 1 0 0 1 6 9z"/></svg>');
/*seems does not work on 91+
-moz-context-properties: fill, fill-opacity;
fill: currentColor;
fill-opacity: var(--toolbarbutton-icon-fill-opacity);
*/
}
/*Bug 1936648*/
*|input::-moz-search-clear-button {
background-size:14px !important;
opacity:0.6 !important;
padding-inline: 1px !important;
}
*|input::-moz-search-clear-button:hover {
opacity:1 !important;
background-color: transparent !important;
}
*|input::-moz-reveal {
background-size:14px !important;
opacity:0.6 !important;
padding-inline: 1px !important;
}
.urlbarView {
overflow-y: auto !important;
max-height: 40ch !important;
}
`.replace(/\s+/g, " ");
let sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
let uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(style));
if(!sss.sheetRegistered(uri, sss.AGENT_SHEET))
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
},
uninit: function() {
window.removeEventListener("unload", this, false);
window.removeEventListener('aftercustomization', this, false);
window.removeEventListener('MozDOMFullscreen:Exited', this, false);
Services.prefs.removeObserver('browser.search.widget.inNavBar', this);
window.removeEventListener("resize", this, false);
},
showHistory: async function(event) {
event.stopPropagation();
let bar;
if (Services.prefs.getBoolPref("browser.search.widget.new", false)) {
bar = document.getElementById("searchbar-new");
if (bar.hasAttribute("open")) {
bar.view.close();
return;
}
Services.prefs.setIntPref("browser.urlbar.recentsearches.maxResults", 1000);
Services.prefs.setIntPref("browser.urlbar.maxRichResults", 1000);
let v = '';
if(bar.value)
v = bar.value;
bar.value = ""; /*just form history, not suggestion*/
bar._on_mousedown(
{
type: "mousedown",
button: 0,
currentTarget: bar,
composedTarget: bar._inputContainer
});
bar.value = v;
setTimeout(() => {
Services.prefs.setIntPref("browser.urlbar.recentsearches.maxResults", this.oldmaxResults);
Services.prefs.setIntPref("browser.urlbar.maxRichResults", this.oldmaxRows);
}, 250);
} else {
let bar = document.getElementById("searchbar");
if (event.target.hasAttribute("checked")) {
bar._textbox.closePopup();
return;
}
let v = '';
if(bar._textbox.value)
v = bar._textbox.value;
bar._textbox.value = '';
bar._textbox.showHistoryPopup();
bar._textbox.value = v;
}
},
popupshown: function(event) {
this.btn.toggleAttribute("checked", true);
},
popuphidden: function(event) {
setTimeout(function(){this.btn.removeAttribute("checked");}.bind(this), 0);
},
observe(aSubject, aTopic, aPrefstring) {
if (aTopic == 'nsPref:changed') {
// 設定が変更された時の処理
setTimeout(function(){showSearchBarHistroryDropmarker.init2(aTopic);}, 0);
}
},
_timer: null,
handleEvent: function(event) {
switch(event.type) {
case "MozDOMFullscreen:Exited":
setTimeout(() => {this.init2(event.type);}, 1000);
break;
case "aftercustomization":
this.init2(event.type);
break;
case "mousedown":
if (event.button == 0)
this.showHistory(event);
break;
case "click":
if (event.button == 0) {
//event.stopPropagation();
//event.preventDefault();
}
break;
case "popupshown":
this.popupshown(event);
break;
case "popuphidden":
this.popuphidden(event);
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) {
showSearchBarHistroryDropmarker.init();
} else {
let delayedStartupFinished = (subject, topic) => {
if (topic == "browser-delayed-startup-finished" &&
subject == window) {
Services.obs.removeObserver(delayedStartupFinished, topic);
showSearchBarHistroryDropmarker.init();
}
};
Services.obs.addObserver(delayedStartupFinished,
"browser-delayed-startup-finished");
}
Alles anzeigen
Quelle: https://github.com/alice0775/user…ropmarker.uc.js
Mfg.
Endor