dmenu (简体中文)
dmenu是一个X下的快速、轻量级的软件启动器,它从stdin读取任意文本,并创建一个菜单,每一行都有一个菜单项。 然后,用户可以通过方向键或键入名称的一部分来选择一个项目,该行就会被输出到stdout。 dmenu_run是 dmenu 发行版附带的包装器,可将其用作应用程序启动器。
安装
安装 dmenu,或者是开发者版本的 dmenu-gitAUR。
拓展了 dmenu 的默认功能的不同补丁版本也是存在的。可以考虑从 AUR 安装下列之一的包:
- dmenu2AUR: 增加了变暗、修改透明度、下划线等功能的 dmenu 分支。
通过以下命令来运行 dmenu:
$ dmenu_run
设置
现在你可以将此命令关联到一个快捷键,很多窗口管理器和桌面环境都有设置工具可以做到,用 xbindkeys 也可以做到,想得到更详细的信息参见 Hotkeys 条目。
显示自定义项目
自定义项目可以通过用换行符(\n)来分隔并输入到 dmenu 来让它们显示出来,比如:
$ echo -e "第一个\n第二个\n第三个" | dmenu
手动添加项目
dmenu 会在你的 $PATH
路径下的目录里查找可执行文件并生成菜单项。如果要修改 $PATH
,参见 environment variables。
字体
dmenu 4.6 起 XFT 字体渲染默认启用(4.6 发行注记)。fontconfig的font.conf 语法 会被使用。
shell 别名支持
dmenu 不支持 shell 别名. 为了让 dmenu 能够识别别名, 安装 dmenu-recent-aliases(已从AUR移除) 包然后运行 dmenu_run_aliases
。 别名必须要在 ~/.bash_aliases
或者 ~/.zsh_aliases
文件里面来让 dmenu_run_aliases 识别出来。
延伸
$ pacman -Ql dmenu | grep bin dmenu /usr/bin/dmenu dmenu /usr/bin/dmenu_path dmenu /usr/bin/dmenu_run
可见/usr/bin/下有三个文件,其中dmenu_path和dmenu_run是两个shell脚本,真正的执行/显示部分都由dmenu完成,其中dmenu_path用于列出$PATH里的可执行文件,每个文件名一行,然后通过“|”传递给dmenu,具体语法可从dmenu_run里找到。 你也可以在终端里执行:
$ echo | dmenu
然后输入任意字串,这个字串就会被显示在终端里,这其实才是dmenu的核心功能。
由此配合其他工具可以完成其他任务,比如运行:
$ notify-send "`exec $(echo | dmenu)`"
你可以试着在运行后输入date,之后系统就会借助notify-send弹出日期提示。