Rofi

出自 Arch Linux 中文维基

Rofi 是一個窗口切換器、運行對話框、ssh 啟動器以及 dmenu 的替代品,是 simpleswitcher 的複製,經 Sean Pringle 編寫並在隨後由 Dave Davenport 擴展。

安裝[編輯 | 編輯原始碼]

安裝 rofi 軟體包,rofi 需要在 Xorg 顯示服務下使用。

主分支中對 Wayland 支持的合併已無限期停滯。若需 Wayland 支持,安裝 wofirofi-wayland 作為替代。注意,這些軟體包需要一個支持 Layer Shell 協議的 Wayland 混成器。包括了基於 wlroots 的混成器,如 Sway,以及一些基於 Mir 的混成器(但如 Gnome 的混成器 mutter 不包括在內)。

更多關於 rofi 的信息和用法,請參閱 rofi(1) 手冊頁。

配置[編輯 | 編輯原始碼]

設置配置選項有如下方式:

  • 本地配置。通常依賴於 XDG,位於 ~/.config/rofi/config.rasi 內。
  • 命令行選項:
$ rofi -combi-modi window,drun,ssh -theme solarized -font "hack 10" -show combi

也可在配置文件中列出:

configuration {
 modi: "window,drun,ssh,combi";
 font: "hack 10";
 combi-modi: "window,drun,ssh";
 }
@theme "solarized"

運行 rofi -dump-config 以獲取 config.rasi 可用選項的完整列表。也可執行 rofi -dump-config > ~/.config/rofi/config.rasi 將輸出直接寫入配置文件。

注意: i3 用戶需注意,i3 配置文件中的逗號會引起一些問題。要設置綁定按鍵啟動 rofi,要麼使用配置文件,要麼將逗號替換為 #,例如:rofi -combi-modi window#drun#ssh

圖標[編輯 | 編輯原始碼]

可以讓圖標與其對應條目一同顯示。假設已安裝 papirus-icon-theme,並使用 -show-icons 與定義圖標主題的選項 -icon-themerofi 顯示圖標,命令如下所示:

$ rofi -combi-modi window,drun,ssh -theme solarized -font "hack 10" -show combi -icon-theme "Papirus" -show-icons

自定義主題[編輯 | 編輯原始碼]

使用如下命令預覽並為 rofi 應用主題:

$ rofi-theme-selector

rofi-theme(5) 手冊頁包含了大量使用一種類似 CSS 的自定義語言為 rofi 設置主題的介紹。該頁面還包含了 rofi 所使用的布局系統的額外信息,如 rofi 主題所使用的準確語法和絕大多數的主題屬性。Rofi 的主題系統很簡單(默認的 dmenu 主題為 30 行左右的 CSS)但足夠靈活,可創建出多種可交互、類似小部件的組件和菜單,如 rofi-advanced

社區主題[編輯 | 編輯原始碼]

/usr/share/rofi/themes 目錄下存放著一些 Rofi 自帶的官方主題,更多用戶主題可於 rofi 主題倉庫中找到。

如下所示,使用命令行加載一個官方主題,或是一個下載的 .rasi 格式的用戶主題(應置於 ~/.config/rofi/example.rasi 內):

$ rofi options -theme example

也可寫在 configuration { } 代碼塊外部:

@theme "example"

提示與技巧[編輯 | 編輯原始碼]

Rofi 用作 dmenu 的替代品[編輯 | 編輯原始碼]

被以 dmenu 的形式調用時(通過符號連結),rofi 類似於 dmenu。通過腳本調用 dmenu 的程序(如 passpassmenu)將使用 rofi 而非 dmenurofidmenu 模式下的具體行為請參閱 rofi-dmenu(5)

若要使 rofi 貼近 dmenu 的外觀,將 rofi 軟體包默認的 /usr/share/rofi/themes/dmenu.rasi 文件複製到 rofi 的配置文件目錄下(通常是 ~/.config/rofi)並將 @theme dmenu 添加至 config.rasi 的末尾或將 -theme dmenu 選項附加至命令行命令以啟用該主題。

在 rofi 中執行 shell 命令[編輯 | 編輯原始碼]

若要在 rofi 中直接運行 shell 命令或用戶腳本並查看輸出內容,需確保:

定義 -run-shell-command '{terminal} -e SHELL -ic "{cmd} && read",其中的 SHELL 是用戶所使用的 shell(例如 bash、zsh)。之後可在輸入框中輸入命令並按下 Shift+Enter 執行。若無後續按鍵操作,終端將保持開啟狀態。

以下是一個包含 i3 所推薦的轉義序列的使用示例:

bindsym $mod+d exec --no-startup-id rofi -show drun -run-shell-command '{terminal} -e zsh -ic "{cmd} && read"'

集成 Unicode 選擇功能[編輯 | 編輯原始碼]

安裝 rofimoji 以令 rofi 集成 Unicode emoji 與字符選擇器的功能。參見項目說明以了解使用方式配置

Emoji 選擇菜單[編輯 | 編輯原始碼]

安裝 rofi-emoji 以令 rofi 集成 emoji 選擇器的功能。參見項目說明以了解使用方式

若遇 emoji 相關渲染問題(例如,渲染為方塊),應考慮安裝 ttf-symbolaAURnoto-fonts-cjknoto-fonts-emoji

Rofi 用作電源管理菜單[編輯 | 編輯原始碼]

Rofi 可與 systemd 一同用於電源管理。安裝 rofi-power-menuAUR。該 AUR 軟體包默認會將 rofi-power-menu 腳本的路徑添加至 $PATH,因此只需按如下方式使用:

$ rofi -show p -modi p:rofi-power-menu

若不打算使用 AUR 軟體包而是將其手動複製到系統中,則需要為 rofi 指定可執行文件 rofi-power-menu 的路徑。例如,假設可執行文件位於 $HOME/.rofi-power-menu

$ rofi -show p -modi p:$HOME/.rofi-power-menu

也可將可執行文件置於 PATH 中,使用時僅需要傳遞該文件的名稱即可。

若要顯示默認的符號,需要安裝 ttf-nerd-fonts-symbols

更多信息請參見項目倉庫中的 README 文件。

Rofi 用作剪切板管理器[編輯 | 編輯原始碼]

Rofi 可與 Greenclip英語Greenclip 集成並用作 X11 的剪切板管理器。安裝 rofi-greenclipAUR 軟體包。

Rofi 用作計算器[編輯 | 編輯原始碼]

使用 rofi-calc 軟體包可將 rofi 用作計算器,用於自然語言輸入、單位轉換和貨幣轉換。