如何使用 Rofi 在 Xorg 会话中将样板文本片段插入浏览器窗口?

如何使用 Rofi 在 Xorg 会话中将样板文本片段插入浏览器窗口?

我一直在使用膨胀机如下所述这个答案在 Xorg 会话中将样板文本片段插入浏览器窗口和文字处理器文档。

最近,@vanadium 发表了一条评论这里表明 Rofi 也可以使用:

对于此类用户情况,我肯定会使用 rofi(或 dmenu)。它具有出色的快速搜索功能,可根据您输入的子字符串快速缩小范围。我使用它来插入自定义文本片段等。

我该如何使用 Rofi 来实现此目的?

答案1

要求:rofixclipxdotoolXorg 会话中

根据apt show rofi罗菲

窗口切换器、运行对话框和菜单替换

我在网上搜索了一下,发现了用户脚本. 其中一个列出的脚本,颜文字罗菲被描述为“一个简单的kaomoji选择器”。我拿了它的代码(我不完全理解)并修改了它:

#!/bin/bash

selection=$(rofi -i -width 1000 -theme solarized -dmenu $@ < /home/dkb/Documents/snippets.txt)
kaomoji=$(echo $selection)
echo -n "$kaomoji" | xclip -selection clipboard
sleep 0.1
xdotool key shift+Insert
  • Rofi 不支持自动换行,因此使用-width 1000或更多行有助于查看尽可能多的代码片段内容,因为每个代码片段只分配一行。超出宽度的任何内容都由...表示
  • 如果-theme未使用,则使用默认主题或上次使用的主题(rofi-theme-selector如所述)这里将会被使用。
  • 这些片段位于纯文本文件中,每行一个片段。(sort -u -o $HOME/Documents/snippets.txt $HOME/Documents/snippets.txt偶尔运行一次可以保持它们排序,尽管这并非必需。)
  • sleep 0.1xdotool key shift+Insert不是必需的。用户可以使用自己喜欢的方法粘贴剪贴板文本。

我将脚本保存为rofi-snippets.sh在 中$HOME/bin,使其可执行,并将其绑定到Ctrl+`作为键盘快捷键来启动它。

用户可以通过输入一个或几个字符来突出显示一个片段,然后按 来快速选择自己所需的片段Enter

以下动画演示了该脚本的实际运行:

动画展示了如何使用 Rofi 添加片段

相关内容