dmenu - Arch Linux 中文维基

跳至內容

# dmenu

出自 Arch Linux 中文维基

dmenu是一個X下的快速、輕量級的軟體啟動器，它從stdin讀取任意文本，並創建一個菜單，每一行都有一個菜單項。 然後，用戶可以通過方向鍵或鍵入名稱的一部分來選擇一個項目，該行就會被輸出到stdout。 dmenu_run是 dmenu 發行版附帶的包裝器，可將其用作應用程式啟動器。

## 安裝

安裝 dmenu包，或者是開發者版本的 dmenu-gitAUR。

通過以下命令來運行 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彈出日期提示。

## 其他資源

- dmenu - dmenu官方網站
- Yeganesh - dmenu的一個前段處理器，可以按照使用頻率進行排序
- LinuxTOY - dmenu運行後的效果圖

分類：​

- 應用程式啟動器
- Suckless

dmenu
新增話題