dmenu

出自 Arch Linux 中文维基

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 發行註記)。fontconfigfont.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_pathdmenu_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運行後的效果圖