「Dmenu」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎トラブルシューティング: 解決された問題の項目を削除)
(ヒントとテクニックを翻訳して追加)
48行目: 48行目:
   
 
最近使用した順にコマンドを並べ替えるには、 [https://tools.suckless.org/dmenu/scripts/dmenu_run_with_command_history dmenu_run_history] を {{ic|$PATH}} にダウンロードし、{{ic|dmenu_run}} の代わりに {{ic|dmenu_run_history}} を使用します。
 
最近使用した順にコマンドを並べ替えるには、 [https://tools.suckless.org/dmenu/scripts/dmenu_run_with_command_history dmenu_run_history] を {{ic|$PATH}} にダウンロードし、{{ic|dmenu_run}} の代わりに {{ic|dmenu_run_history}} を使用します。
  +
  +
== ヒントとテクニック ==
  +
  +
=== dmenu を使用して入力を取得する ===
  +
  +
スクリプト内 (例:ショートカットから起動) では、ユーザー入力の取得が必要になる場合があります。これには、EOF を渡すことで dmenu を使用できます。選択フィールドは空になり、dmenu はユーザー入力を受け取ることができます。
  +
  +
{{ic|/dev/null}} を読み取ると EOF が返されるため、次のコマンドで簡単に実行できます。
  +
  +
$ dmenu < /dev/null
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==

2023年1月8日 (日) 21:07時点における版

関連記事

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 にカスタムアイテムをパイプで渡すことで表示できます。例えば:

$ echo -e "first\nsecond\nthird" | dmenu

手動でアイテムを追加

dmenu$PATH で定義されたディレクトリにある実行可能ファイルを検索します。$PATH を変更する方法については次の記事を参照: 環境変数

フォント

フォントを設定するには -fn オプションを指定します。dmenu 4.6 以降では fontconfig が使われるため、fonts.conf(5) にあるフォント名の表記方法と同一の構文が使えます。たとえば David Sans Mono を使うときは:

$ dmenu_run -fn 'Droid Sans Mono-9'

シェルのエイリアスのサポート

dmenuシェルのエイリアスに対応していません。dmenu にエイリアスを認識させるには、AUR から dmenu-recent-aliases-gitAUR パッケージをインストールして dmenu-recent-aliases を実行してください。dmenu_run_aliases によって認識させるにはエイリアスを ~/.bash_aliases に記述する必要があります。

履歴のサポート

最近使用した順にコマンドを並べ替えるには、 dmenu_run_history$PATH にダウンロードし、dmenu_run の代わりに dmenu_run_history を使用します。

ヒントとテクニック

dmenu を使用して入力を取得する

スクリプト内 (例:ショートカットから起動) では、ユーザー入力の取得が必要になる場合があります。これには、EOF を渡すことで dmenu を使用できます。選択フィールドは空になり、dmenu はユーザー入力を受け取ることができます。

/dev/null を読み取ると EOF が返されるため、次のコマンドで簡単に実行できます。

$ dmenu < /dev/null

トラブルシューティング

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 で定義して下さい。

参照