![有没有办法替换X11上当前选定的文本?](https://linux22.com/image/5671/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E6%9B%BF%E6%8D%A2X11%E4%B8%8A%E5%BD%93%E5%89%8D%E9%80%89%E5%AE%9A%E7%9A%84%E6%96%87%E6%9C%AC%EF%BC%9F.png)
我偶然发现xclip
它可以让您访问您在活动窗口中选择的文本。
我一直在想是否有办法改变这样的文本。我想到的工作流程如下
- 选择可编辑文本
- 按热键
- 热键运行一个脚本,在所有大写和小写之间切换选择
答案1
您可以为命令分配快捷方式,例如:
xclip -o -sel p | tr '[:lower:][:upper:]' '[:upper:][:lower:]' | xclip -i -sel c; xdotool key Shift+Insert
这假设Shift+Insert从剪贴板粘贴(如果不是这种情况,请替换Shift+Insert
为ctrl+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