Copyq 如何实现对所有tab下条目的全局搜索?

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