rofi

C/C++ 2025-08-15

请匹配文档和脚本与所用的rofi版本

  • 下一个版本
  • 1.7.9
  • 1.7.8
  • 1.7.7
  • 1.7.6
  • 1.7.5
  • 1.7.4
  • 1.7.3
  • 1.7.2
  • 1.7.1
  • 1.7.0

另请参阅本地安装的文档(manpages)。

rofi

窗口切换器,应用程序启动器和DMENU更换

VID-2021-10-29-165650.MP4

rofi最初是SimplesWitcher的克隆,由Sean Pringle撰写,这是一个基于SuperSwitcher的弹出窗口切换器。 SimplesWitcher奠定了基础,因此Sean Pringle值得该工具获得大部分信用。 rofi (重命名,因为它丢失了简单的属性)已使用额外的功能(例如应用程序启动器和SSH-Launcher)扩展,并且可以用作DMENU替代品,使其成为非常多功能的工具。得益于Lbonn的出色工作,后者在他的叉子中增加了Wayland的支持并维持了多年, rofi现在正式支持Wayland(自2025年以来)。

像DMENU一样, rofi将为用户提供可以选择一个或多个选项的文本列表。这可以运行一个应用程序,选择外部脚本提供的窗口或选项。

rofi不是什么?

rofi不是:

  • UI工具包。

  • 用于其他应用程序的库。

  • 可以支持所有可能的用例的应用程序。它试图足够通用,以便每个人都可以使用。

    • 可以使用脚本或插件添加特定功能,许多存在。
  • 只是DMENU的替代品。 DMENU功能是rofi的一个不错的“额外”功能,而不是其主要目的。

目录

  • 特征
  • 模式
  • 人页
  • 安装
  • Quickstart
    • 用法
    • 配置
    • 主题
  • 屏幕截图
  • Wiki
  • 讨论场所

特征

它的主要特征是:

  • 完全可配置的键盘导航

  • 输入过滤

    • 令牌化:以任何顺序键入任何单词
    • 案例不敏感(可切换)或智能案例
    • 支持模糊,正则和前缀 - 和球形匹配
  • 启用UTF-8

    • UTF-8感知字符串整理
    • 国际键盘支持(`e->è)
  • RTL语言支持

  • 开罗绘画和Pango字体渲染

  • 内置模式:

    • 窗口切换模式

      • EWMH兼容Wm
      • 为i3,bspwm解决
      • 遵循WLR家族的基于Wayland的WMS
    • 应用启动器

    • 桌面文件应用程序启动器

    • SSH启动器模式

    • 文件浏览器

    • 组合模式,允许将几种模式合并到一个列表中

  • 基于历史记录的订购 - 最后25个选择是根据使用(可选)在顶部排序的

  • Levenshtein距离或FZF类似匹配的排序(可选)

  • DMENU替换

    • 许多人增加了进步
  • 使用脚本和插件易于扩展

  • 高级主题

模式

rofi有几种实现常见用例的内置模式,可以通过脚本(从rofi或调用rofi )或插件扩展。

以下是不同模式的列表:

  • 运行:从$ Path的启动应用程序,可以选择在终端启动。

  • DRUN :基于桌面文件的启动应用程序。它试图符合XDG标准。

  • 窗口:在EWMH兼容窗口管理器上的Windows之间切换。

  • SSH :通过SSH连接到远程主机。

  • FileBrowser :用于打开文件的基本文件浏览器。

  • 密钥:列出内部键键。

  • 脚本:写(有限)使用简单脚本的自定义模式。

  • 组合:将多种模式组合成一种。

众所周知, rofi在Linux和BSD上工作。

Wayland支持

建造

请按照构建说明进行构建rofi 。

默认情况下,Wayland支持以及X11/XCB启用。

也可以在没有X11/XCB或Wayland的情况下建造rofi ,但应启用至少一个后端:

 meson build -Dxcb=disabled
meson build -Dwayland=disabled

用法

rofi应根据其运行的环境自动选择XCB或Wayland后端。

为了强制使用XCB后端(如果在构建过程中启用),则可以使用-x11选项:

 rofi -x11 ...

Wayland模式缺少功能

由于Wayland模式的不同架构和可用API,一些原始的rofi功能难以复制或不可能复制

  • -normal-window标志。尽管它也被认为是上游rofi中的玩具/弃用功能。并非不可能,但需要一些工作。
  • -monitor -n用于精细颗粒的监视器选择以显示rofi
  • 某些窗口位置参数部分工作, x-offsety-offset仅从屏幕边缘工作
  • 假透明度
  • Kwin上的窗口模式,该模式与WLR家族相比实现了不同的协议

Wayland DPI

在Wayland上,仅在显示第一个表面后才知道输出。这使得rofi窗口的尺寸非常困难(MM)非常困难,这对于rofi而言是一个独特的问题,因为实际的DPI是未知的。可以通过配置系统手动传递正确的DPI来解决这一问题。如果将dpi配置选项设置为0 ,并且仅连接一个监视器的rofi将使用唯一连接的监视器的DPI,或者您有多个显示器,并且指定了一个监视器名称,则将使用该监视器的DPI。

manpage

有关更多最新信息,请参阅Manpages。其他部分和链接可能已经过时的信息,因为它们的维护性相对较少,而不是manpages。因此,如果您遇到任何问题,请在提交新问题之前咨询Manpages,讨论和发行跟踪器。

  • 手页:
    • rofi
    • rofi -theme
    • rofi -debugging
    • rofi -script
    • rofi主机
    • rofi -thumbnails
    • rofi -keys
    • rofi -dmenu

安装

请参阅《安装指南》,以获取有关如何安装rofi的说明。

Quickstart

用法

本节仅简要概述各种选项。要获取完整的选项,请参见上面的manpages部分

运行rofi

要在特定模式下直接启动rofi ,请使用rofi -show <mode>指定模式。显示run对话框:

    rofi -show run

或从脚本中获取选项:

    ~ /my_script.sh | rofi -dmenu

指定有序的,逗号分隔的模式列表以启用。启用模式可以在运行时更改。默认键是Ctrl+Tab 。如果未指定模式,将启用所有配置的模式。仅显示runssh启动器:

    rofi -modes " run,ssh " -show run

组合模式的模式。有关语法至-combi-modes ,请参见-modes 。要获得一个合并视图, windowrunssh

 rofi -show combi -combi-modes " window,run,ssh " -modes combi

配置

生成默认配置文件

rofi rofi -dump-config > ~/.config/ rofi /config.rasi">
mkdir -p ~ /.config/ rofi
rofi -dump-config > ~ /.config/ rofi /config.rasi

这将在~/.config/ rofi /文件夹中创建一个名为config.rasi的文件。您可以修改此文件以设置配置设置并修改主题。 config.rasi是默认情况rofi文件。

请参阅《配置指南》以获取配置选项的摘要。手册中提供了更详细的选项。

主题

请参阅主题的详细说明。

最新的捆绑主题可以在这里找到。

屏幕截图

rezlooks:

亚瑟:

默认主题:

Wiki

❗Wiki目前未受欢迎,可能包含过时的数据

去维基。

内容

  • 用户脚本
  • 例子
  • DMENU规格
  • 模式规格
  • 常问问题。
  • 脚本模式
  • 创建问题
  • 创建拉力请求

讨论场所

GitHub讨论是讨论的首选位置。

  • Github讨论
  • irc(irc.libera.chat上的rofi )

随着时间的流逝,观星者

下载源码

通过命令行克隆项目:

git clone https://github.com/davatorium/rofi.git