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

×

スクリプトコマンド

スクリプトコマンドは、既存の関数を上書きして新しい関数を作成できるコマンドの一種です(新しいコマンドライン引数を使用できます)。
コマンドは、スクリプト、および定義されたすべての変数と関数がスクリプトで使用可能になる前に実行されます。
アクションのタイプをスクリプトに設定することにより、コマンドダイアログでスクリプトコマンドを作成できます。

コマンドラインインターフェイスの拡張

次のスクリプトコマンドを追加することにより、他のスクリプトまたはコマンドライン(copyq hello)からhello()を使用できます。
 global.hello = function() {
    print('Hello, World!\n')
 }
スクリプトコマンドは、copy()やadd()などのすべての関数を含むグローバルスコープに一時的な変数を追加しないように、独自のスコープで実行されます。グローバルオブジェクトを使用すると、グローバルスコープを変更できます。
複数のコマンドで使用されるコードを新しいスクリプトコマンドに移動すると便利です。
また、別のアプリケーションまたはシェルスクリプトからcopyqを使用して簡素化することもできます。

オーバーライド機能

スクリプトコマンドから既存の関数をオーバーライドできます。
具体的には、onClipboardChangedとそれが呼び出す関数をオーバーライドして、新しいクリップボードコンテンツの処理をカスタマイズできます。

例:次のコマンドは、テキストクリップボードデータのみを保存し、フォーマットされたテキストを削除します。
 var saveData_ = saveData
 
 saveData = function() {
    if ( str(data(mimeText)) != "" ) {
        popup('Saving only text')
        removeData(mimeHtml)
        saveData_()
    } else {
        popup('Not saving non-textual data')
    }
 }
例:次のコマンドではpaste()をオーバーライドして、クリップボードを貼り付けるための外部ユーティリティを使用します。
 paste = function() {
    var x = execute(
        'xdotool',
        'keyup', 'alt', 'ctrl', 'shift', 'super', 'meta',
        'key', 'shift+Insert')
    if (!x)
        throw 'Failed to run xdotool'
    if (x.stderr)
        throw 'Failed to run xdotool: ' + str(x.stderr)
 }
例:クリップボードとX11選択の変更に関するカスタム通知を表示します。
 function clipboardNotification(owns, hidden) {
    var id = isClipboard() ? 'clipboard' : 'selection'
    var icon = isClipboard() ? '\uf0ea' : '\uf246'
    var owner = owns ? 'CopyQ' : str(data(mimeWindowTitle))
    var title = id + ' - ' + owner
    var message = hidden ? '<HIDDEN>' : data(mimeText).left(100)
    notification(
    '.id', id,
    '.title', title,
    '.message', message,
    '.icon', icon
    )
 }
 
 var onClipboardChanged_ = onClipboardChanged
 onClipboardChanged = function() {
     clipboardNotification(false, false)
     onClipboardChanged_()
 }
 
 var onOwnClipboardChanged_ = onOwnClipboardChanged
 onOwnClipboardChanged = function() {
    clipboardNotification(true, false)
    onOwnClipboardChanged_()
 }
 
 var onHiddenClipboardChanged_ = onHiddenClipboardChanged
 onHiddenClipboardChanged = function() {
    clipboardNotification(true, true)
    onHiddenClipboardChanged_()
 }

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