X11で現在選択されているテキストを置き換える方法はありますか?

X11で現在選択されているテキストを置き換える方法はありますか?

xclip偶然にアクティブウィンドウで選択したテキストにアクセスする機能が見つかりました。

このようにテキストを変更する方法があるかどうか疑問に思います。私が思いついたワークフローは次のとおりです。

  1. 編集可能なテキストの選択
  2. ショートカットキーを押す
  3. ショートカットはすべて大文字と小文字の間で選択を切り替えるスクリプトを実行します。

ベストアンサー1

次のようにコマンドにショートカットを割り当てることができます。

xclip -o -sel p | tr '[:lower:][:upper:]' '[:upper:][:lower:]' | xclip -i -sel c; xdotool key Shift+Insert

これはShift、+がInsertクリップボードから貼り付けられていると仮定します(そうでない場合は対応するものと置き換えますShift+Insertctrl+v。デフォルトの選択からテキストを送信し、trクリップボードの選択を変更されたテキストで上書きし、Shift+ Insert(またはCtrl+ V)キーを押すことをシミュレートします。
以前のクリップボードの選択は失われます。必要に応じて、一時バックアップとしてセカンダリ選択を使用できます。

xclip -o -sel c | xclip -i -sel s
xclip -o -sel p | tr '[:lower:][:upper:]' '[:upper:][:lower:]' | xclip -i -sel c; xdotool key ctrl+v
xclip -o -sel s | xclip -i -sel c

おすすめ記事