copyq 如何实现对所有tab下条目的全局搜索?
加个命令
[Command]
Name=Search All Tabs
Command="
copyq:
// Name for tab for storing matching items.
var search_tab_name = \"Search\"
// Returns true iff item at index matches regex.
function item_matches(item_index, re)
{
var item = getitem(j)
var note = str(item[mimeItemNotes])
var text = str(item[mimeText])
return text && (re.test(text) || re.test(note))
}
// Ask for search expression.
var match = dialog(\"Search\")
if (!match)
abort()
var re = new RegExp(match,'i') // 'i' case-insensitive
// Clear tab with results.
try {
removeTab(search_tab_name)
} catch (e) {}
// Search all tabs.
var tab_names = tab()
for (var i in tab_names) {
var tab_name = tab_names[i]
tab(tab_name)
var item_count = count()
// Search all items in tab.
for (var j = 0; j < item_count; ++j) {
// Add matching item to tab with results.
if (item_matches(j, re)) {
var item = getItem(j)
tab(search_tab_name)
setItem(j, item)
tab(tab_name)
}
}
}
show(search_tab_name)"
InMenu=true
Icon=
Shortcut=ctrl+shift+f