「Dmenu」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→環境変数: add === Current window loses focus === (from english)) |
(他言語へのリンクを追加) |
||
(3人の利用者による、間の9版が非表示) | |||
2行目: | 2行目: | ||
[[Category:アプリケーションランチャー]] |
[[Category:アプリケーションランチャー]] |
||
[[Category:Suckless]] |
[[Category:Suckless]] |
||
− | [[da:Dmenu]] |
||
[[en:Dmenu]] |
[[en:Dmenu]] |
||
[[es:Dmenu]] |
[[es:Dmenu]] |
||
− | [[ |
+ | [[pt:Dmenu]] |
+ | [[ru:Dmenu]] |
||
+ | [[uk:Dmenu]] |
||
[[zh-hans:Dmenu]] |
[[zh-hans:Dmenu]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
15行目: | 16行目: | ||
== インストール == |
== インストール == |
||
− | + | {{Pkg|dmenu}} パッケージを [[インストール]] してください。開発バージョンの場合は {{AUR|dmenu-git}} を [[インストール]] します。 |
|
− | dmenu にはデフォルトの機能を拡張した、様々な亜種も存在します。[[AUR]] から |
+ | dmenu にはデフォルトの機能を拡張した、様々な亜種も存在します。[[AUR]] からパッケージをインストールできます |
+ | {{AUR|dmenu2}} 多数の便利なパッチが適用された dmenu のフォーク。明るさの調整や透過のカスタマイズ、下線などの機能が追加されています。 |
||
− | |||
− | * {{AUR|dmenu2}}: 多数の便利なパッチが適用された dmenu のフォーク。明るさの調整や透過のカスタマイズ、下線などの機能が追加されています。 |
||
''dmenu'' は次のコマンドで実行できます: |
''dmenu'' は次のコマンドで実行できます: |
||
27行目: | 27行目: | ||
== 設定 == |
== 設定 == |
||
− | {{Ic|dmenu_run}} コマンドにはキーストロークのコンビネーションを割り振ると良いでしょう。ウィンドウマネージャやデスクトップ環境の設定を使ったり、{{Pkg|xbindkeys}} などのプログラムで設定できます。詳しくは[[ホットキー]]の記事を見て下さい |
+ | {{Ic|dmenu_run}} コマンドにはキーストロークのコンビネーションを割り振ると良いでしょう。ウィンドウマネージャやデスクトップ環境の設定を使ったり、{{Pkg|xbindkeys}} などのプログラムで設定できます。詳しくは[[ホットキー]]の記事を見て下さい。 |
=== カスタムアイコンの表示 === |
=== カスタムアイコンの表示 === |
||
+ | |||
''dmenu'' にカスタムアイテムをパイプで渡すことで表示できます。例えば: |
''dmenu'' にカスタムアイテムをパイプで渡すことで表示できます。例えば: |
||
35行目: | 36行目: | ||
=== 手動でアイテムを追加 === |
=== 手動でアイテムを追加 === |
||
+ | |||
− | ''dmenu'' は {{ic|$PATH}} で定義されたディレクトリにある実行可能ファイルを検索します。{{ic|$PATH}} を変更する方法については次の記事を参照: [[環境変数]]。 |
||
+ | ''dmenu'' は {{ic|$PATH}} で定義されたディレクトリにある実行可能ファイルを検索します。{{ic|$PATH}} を変更する方法については次の記事を参照: [[環境変数]] |
||
=== フォント === |
=== フォント === |
||
− | ''dmenu'' は ({{Pkg|xorg-xfontsel}} に入っている) ''xfontsel'' ツールを使って [[XLFD|X 論理フォント記述子]]を利用してフォントを表示できます。次の例は {{Pkg|terminus-font}} を使って dmenu を実行します: |
||
+ | ''dmenu'' は、[[フォント#インストールした全てのフォントを一覧する|XFT]] を使用してフォントを表示できます。この例では、{{Pkg|ttf-droid}} を使用して dmenu を実行します: |
||
− | $ dmenu_run -fn "-xos4-terminus-medium-r-*-*-14-*" |
||
− | |||
− | XFT サポートのパッチが適用された ''dmenu'' を使用する場合も構文は同じです: |
||
$ dmenu_run -fn 'Droid Sans Mono-9' |
$ dmenu_run -fn 'Droid Sans Mono-9' |
||
=== シェルのエイリアスのサポート === |
=== シェルのエイリアスのサポート === |
||
+ | |||
− | ''dmenu'' は[[Bash#エイリアス|シェルのエイリアス]]に対応していません。''dmenu'' にエイリアスを認識させるには、[[AUR]] から {{AUR|dmenu-recent-aliases}}{{Broken package link|{{aur-mirror|dmenu-recent-aliases}}}} パッケージを[[インストール]]して {{ic|dmenu_run_aliases}} を実行してください。''dmenu_run_aliases'' によって認識させるにはエイリアスを {{ic|~/.bash_aliases}} か {{ic|~/.zsh_aliases}} のどちらかに記述する必要があります。 |
||
+ | ''dmenu'' は[[Bash#エイリアス|シェルのエイリアス]]に対応していません。''dmenu'' にエイリアスを認識させるには、[[AUR]] から {{AUR|dmenu-recent-aliases-git}} パッケージを[[インストール]]して {{ic|dmenu-recent-aliases}} を実行してください。''dmenu_run_aliases'' によって認識させるにはエイリアスを {{ic|~/.bash_aliases}} に記述する必要があります。 |
||
+ | |||
+ | === 履歴のサポート === |
||
+ | |||
+ | 最近使用した順にコマンドを並べ替えるには、 [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 |
||
+ | |||
+ | === 現在のターミナルへ埋め込む === |
||
+ | |||
+ | Dmenu は、{{ic|-w id}} オプションを使用して任意のウィンドウ内に埋め込むことができます。 |
||
+ | |||
+ | 現在アクティブなウィンドウ (たとえば、実行されているターミナルなど) 内に埋め込むには、{{Pkg|xdo}} を使用してその ID を取得します。 |
||
+ | |||
+ | $ echo hello | dmenu -w $(xdo id) |
||
== トラブルシューティング == |
== トラブルシューティング == |
||
71行目: | 93行目: | ||
アプリケーションに必要な環境変数を {{ic|/etc/environment}} で定義して下さい。 |
アプリケーションに必要な環境変数を {{ic|/etc/environment}} で定義して下さい。 |
||
− | |||
− | === Current window loses focus === |
||
− | |||
− | A [https://git.suckless.org/dmenu/commit/db6093f6ec1bb884f7540f2512935b5254750b30.html bug] in dmenu 4.9 causes the current window to lose focus when dmenu is opened and to not regain focus when it is closed. It can also happen that a newly launched program is does not gain focus. You can fix this by downgrading to dmenu 4.8. See [https://github.com/i3/i3/issues/3528 this] ticket for a discussion. |
||
== 参照 == |
== 参照 == |
2023年12月15日 (金) 07:25時点における最新版
dmenu は X 向けの高速で軽量なダイナミックメニューです。標準入力から任意のテキストを読み込んで、1行ごとを1つのアイテムとしてメニューを作成します。ユーザーは矢印キーや名前の一部を入力してアイテムを選択することができ、標準出力に行が出力されます。dmenu_run は dmenu をアプリケーションランチャーとして使えるようにするラッパーです。
目次
インストール
dmenu パッケージを インストール してください。開発バージョンの場合は dmenu-gitAUR を インストール します。
dmenu にはデフォルトの機能を拡張した、様々な亜種も存在します。AUR からパッケージをインストールできます dmenu2AUR 多数の便利なパッチが適用された dmenu のフォーク。明るさの調整や透過のカスタマイズ、下線などの機能が追加されています。
dmenu は次のコマンドで実行できます:
$ dmenu_run
設定
dmenu_run
コマンドにはキーストロークのコンビネーションを割り振ると良いでしょう。ウィンドウマネージャやデスクトップ環境の設定を使ったり、xbindkeys などのプログラムで設定できます。詳しくはホットキーの記事を見て下さい。
カスタムアイコンの表示
dmenu にカスタムアイテムをパイプで渡すことで表示できます。例えば:
$ echo -e "first\nsecond\nthird" | dmenu
手動でアイテムを追加
dmenu は $PATH
で定義されたディレクトリにある実行可能ファイルを検索します。$PATH
を変更する方法については次の記事を参照: 環境変数
フォント
dmenu は、XFT を使用してフォントを表示できます。この例では、ttf-droid を使用して dmenu を実行します:
$ 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
を使用します。
ヒントとテクニック
スクリプト内 (例:ショートカットから起動) では、ユーザー入力の取得が必要になる場合があります。これには、EOF を渡すことで dmenu を使用できます。選択フィールドは空になり、dmenu はユーザー入力を受け取ることができます。
/dev/null
を読み取ると EOF が返されるため、次のコマンドで簡単に実行できます。
$ dmenu < /dev/null
現在のターミナルへ埋め込む
Dmenu は、-w id
オプションを使用して任意のウィンドウ内に埋め込むことができます。
現在アクティブなウィンドウ (たとえば、実行されているターミナルなど) 内に埋め込むには、xdo を使用してその ID を取得します。
$ echo hello | dmenu -w $(xdo id)
トラブルシューティング
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 コレクション にまとめられています。