Rofi Dmenu Mode
主題
相關文件
| 相關文件 |
|---|
| man rofi-dmenu |
| Rofi / Wiki / User scripts |
相關議題
範例
| 範例 |
|---|
| show-image |
實作案例
| 實作案例 |
|---|
| gh0stzk / RiceSelector |
| gh0stzk / WallSelect |
| adi1090x / rofi |
| christianholman / rofi_notes |
相關筆記
| Link | GitHub |
|---|---|
| Menu Applet 開發筆記 / 如何快速上手 | GitHub |
Dmenu Mode
撰寫「Rofi 擴充腳本」,除了另一篇介紹的「自訂 Rofi啟動模式」。
關於「自訂 Rofi啟動模式」的範例指令如下
rofi -show my-mode -modes "my-mode:my-script.sh"
然而「Rofi」也提供另一種「模式」,
就是本篇所要探討的「Dmenu Mode」,執行指令如下
rofi -dmenu
在這個「模式」,「rofi」會讀取「standard in」來當作「列表的資料」。
範例指令如下
echo -en "aaa\nbbb\nccc\n" | rofi -dmenu
就會在「rofi」顯示如下的列表
aaa
bbb
ccc
假如我們在「rofi」選擇了「bbb」,按下「Enter」,
則會在「Terminal」的「standard out」顯示
bbb
實作上可以改寫成如下,將選項的結果,紀錄到「
selected」這個變數,以利後續的操作。
selected=$(echo -en "aaa.txt\nbbb.txt\nccc.txt\n" | rofi -dmenu)
echo "Selected: ${selected}"
vim ${selected}
或是也可以搭配「xargs」來操作。
echo -en "aaa.txt\nbbb.txt\nccc.txt\n" | rofi -dmenu | xargs -o vim
ls | rofi -dmenu | xargs -o vim