Rofi - Arch Linux 中文维基

跳转到内容

# Rofi

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Rofi，最近一次同步于 2024-09-05，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

相关文章

- List of applications/Other#Application launchers

Rofi 是一个窗口切换器、运行对话框、ssh 启动器以及 dmenu 的替代品，是 simpleswitcher 的复制，经 Sean Pringle 编写并在随后由 Dave Davenport 扩展。

## 安装

安装 rofi包 软件包，rofi 需要在 Xorg 显示服务下使用。

主分支中对 Wayland 支持的合并已无限期停滞。若需 Wayland 支持，安装 wofi包 或 rofi-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-theme` 令 rofi 显示图标，命令如下所示：

    $ 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 的程序（如 pass 的 passmenu）将使用 rofi 而非 dmenu。`rofi` 在 dmenu 模式下的具体行为请参阅 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-symbolaAUR、noto-fonts-cjk包 和noto-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 用作计算器，用于自然语言输入、单位转换和货币转换。

分类：​

- 应用程序启动器

Rofi
添加话题