クリップボードマネージャCopyQの日本語の情報を補完するものです。

×

スクリプティング

重要な方法でアイテムを処理する必要がある場合は、アプリケーションが提供するスクリプトインターフェイスを利用できます。これは、コマンドラインからcopyq eval SCRIPT あるいは copyq -e SCRIPTとしてアクセスできます。
このSCRIPTは、JavaScriptと同様のスクリプト言語で記述されたコマンドを含む文字列です(QtスクリプトはECMAScriptスクリプト言語で、現在ES5と同等です)。
全てのコマンドラインオプションは、スクリプトインターフェイスの機能として使用できます。コマンドcopyq help tabは、copyq eval 'print(help("tab"))'として記述できます。
(注:help("tab")関数呼出しの戻り値を出力するには、printが必要です)

アイテムの検索

copyq read Nを使用して各アイテムを出力できます。ここで、Nは0から「copyq size」(最初のタブのアイテム数)までのアイテム数です。copyq select Nを使用してアイテムをクリップボードに配置できます。これらのコマンドを使用すると、アイテムを検索して正しいものをコピーできます。例えば以下を含むファイルscript.jsのスクリプトで。
 var match = "MATCH-THIS";
 var i = 0;
 while (i < size() && str(read(i)).indexOf(match) === -1)
    ++i;
 select(i);
そして、cat script.js | copyq eval - を使用してそれをCopyQに渡します。 「MATCH-THIS」文字列を含む最初のアイテムをクリップボードに書き込みます。

タブの操作

デフォルトでは、コマンドと関数は最初のタブのアイテムで機能します。
read(0、1、2)を呼び出すと、最初のタブから最初の3つのアイテムが読み取られます。他のタブのアイテムにアクセスするには、現在のタブをtab( "TAB_NAME")(またはコマンドラインのcopyq tab TAB_NAME)で切り替える必要があります。ここで、TAB_NAMEはタブの名前です。
たとえば、前のスクリプトのようにアイテムを検索するには、すべてのタブで次のコマンドを実行する必要があります。
 var match = "MATCH-THIS";
 var tabs = tab();
 for (var i in tabs) {
    tab(tabs[i]);
    var j = 0;
    while (j < size() && str(read(j)).indexOf(match) === -1)
        ++j;
    if (j < size())
        print("Match in tab \"" + tabs[i] + "\" item number " + j + ".\n");
 }

スクリプト関数

上記のように、すべてのコマンドラインオプションもスクリプトで使用できます(例:show()、hide()、toggle()、copy()、paste())。
利用可能なスクリプト関数のリファレンスは、スクリプトAPIにあります。
その他のサポートされている関数はECMAScriptリファレンスにあります。

メンバーのみ編集できます