重要な方法でアイテムを処理する必要がある場合は、アプリケーションが提供するスクリプトインターフェイスを利用できます。これは、コマンドラインからcopyq eval SCRIPT あるいは copyq -e SCRIPTとしてアクセスできます。
このSCRIPTは、JavaScriptと同様のスクリプト言語で記述されたコマンドを含む文字列です(QtスクリプトはECMAScriptスクリプト言語で、現在ES5と同等です)。
全てのコマンドラインオプションは、スクリプトインターフェイスの機能として使用できます。コマンドcopyq help tabは、copyq eval 'print(help("tab"))'として記述できます。
(注:help("tab")関数呼出しの戻り値を出力するには、printが必要です)
この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はタブの名前です。
たとえば、前のスクリプトのようにアイテムを検索するには、すべてのタブで次のコマンドを実行する必要があります。
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リファレンスにあります。
利用可能なスクリプト関数のリファレンスは、スクリプトAPIにあります。
その他のサポートされている関数はECMAScriptリファレンスにあります。
最新コメント