有没有办法替换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

相关内容