dmenu
dmenu は X 向けの高速で軽量なダイナミックメニューです。標準入力から任意のテキストを読み込んで、1行ごとを1つのアイテムとしてメニューを作成します。ユーザーは矢印キーや名前の一部を入力してアイテムを選択することができ、標準出力に行が出力されます。dmenu_run は dmenu をアプリケーションランチャーとして使えるようにするラッパーです。
目次
インストール
公式リポジトリから dmenu パッケージをインストールしてください。git の開発ビルドを使いたい場合は、Arch User Repository から dmenu-gitAUR パッケージをインストールしてください。
dmenu にはデフォルトの機能を拡張した、様々な亜種も存在します。AUR から以下のパッケージがインストールできます:
- dmenu2AUR: 多数の便利なパッチが適用された dmenu のフォーク。明るさの調整や透過のカスタマイズ、下線などの機能が追加されています。
dmenu は次のコマンドで実行できます:
$ dmenu_run
設定
dmenu_run
コマンドにはキーストロークのコンビネーションを割り振ると良いでしょう。ウィンドウマネージャやデスクトップ環境の設定を使ったり、xbindkeys などのプログラムで設定できます。詳しくはホットキーの記事を見て下さい。また、dmenu を Prelink するのも有用です。
カスタムアイコンの表示
dmenu にカスタムアイテムをパイプで渡すことで表示できます。例えば:
$ echo -e "first\nsecond\nthird" | dmenu
手動でアイテムを追加
dmenu は $PATH
で定義されたディレクトリにある実行可能ファイルを検索します。$PATH
を変更する方法については次の記事を参照: 環境変数。
フォント
dmenu は (xorg-xfontsel に入っている) xfontsel ツールを使って X 論理フォント記述子を利用してフォントを表示できます。次の例は terminus-font を使って dmenu を実行します:
$ dmenu_run -fn "-xos4-terminus-medium-r-*-*-14-*"
XFT サポートのパッチが適用された dmenu を使用する場合も構文は同じです:
$ dmenu_run -fn 'Droid Sans Mono-9'
シェルのエイリアスのサポート
dmenu はシェルのエイリアスに対応していません。dmenu にエイリアスを認識させるには、AUR から dmenu-recent-aliasesAUR[リンク切れ: アーカイブ: aur-mirror] パッケージをインストールして dmenu_run_aliases
を実行してください。dmenu_run_aliases によって認識させるにはエイリアスを ~/.bash_aliases
か ~/.zsh_aliases
のどちらかに記述する必要があります。
トラブルシューティング
No locale support
dmenu_run を実行すると以下のエラーメッセージが表示される場合:
$ dmenu_run
no locale support
LANG
環境変数が正しく設定されていることを確認してください。詳しくは次のページを参照: ロケール#トラブルシューティング。
メニューエントリが表示されない
特定のメニューエントリが dmenu に表示されない場合、キャッシュが壊れている可能性があります。キャッシュを削除して dmenu を再起動してください:
$ rm ~/.dmenu_cache $ rm ~/.cache/dmenu_run
$XDG_CACHE_HOME
が設定されている場合、キャッシュファイルは一つしか存在しません。詳しくは /usr/bin/dmenu_run
の中を見て下さい。
環境変数
アプリケーションに必要な環境変数を/etc/environment
で定義して下さい。
参照
- dmenu – dmenu 公式ウェブサイト
- Dmenu Hacking thread – Arch Linux フォーラムの Dmenu ハックスレッド。スクリプトについては dmenu_scripts コレクション にまとめられています。