Clipmenu は、 dmenu (またはCM_LAUNCHER=rofi
を指定した rofi ) と xsel を使用する単純なクリップボード マネージャーです。
clipmenud
起動し、次にclipmenu
を実行して、クリップボードに置くものを選択します。 systemd ユーザーの場合、 clipmenud
というユーザー サービスがプロジェクトの一部としてパッケージ化されています。
systemd ユニットを使用し、それを自動的に実行するデスクトップ環境を使用していない場合は、 $DISPLAY
インポートして、 clipmenud
どの X サーバーを使用するかを認識する必要があります。たとえば、 ~/.xinitrc
では、clipmenud を起動する前にこれを実行します。
systemctl --user import-environment DISPLAY
ウィンドウ マネージャーにショートカットをバインドして、 clipmenu
起動するとよいでしょう。
Clipmenu に渡されたすべての引数は、透過的に dmenu にディスパッチされます。つまり、通常、引数を指定して dmenu を呼び出して色やその他のプロパティを設定する場合、次のようにまったく同じ方法で Clipmenu を呼び出して同じ効果を得ることができます。
clipmenu -i -fn Terminus:size=8 -nb '#002b36' -nf '#839496' -sb '#073642' -sf '#93a1a1'
Clipmenud が使用できる環境変数の完全なリストについては、 clipmenud --help
を参照してください。
clipmenud
の動作は、環境変数を通じてカスタマイズできます。わずか 300 行未満であるにもかかわらず、clipmenu には次のような多くの便利な機能があります。
clipctl disable
でクリップ収集を一時的に無効にし、 clipctl enable
で再度有効にする clipmenud --help
をチェックして、考えられるすべての環境変数とその動作を表示します。 systemd
を使用してclipmenud
管理する場合は、 systemctl --user edit clipmenud
使用してオーバーライド ファイルを生成することで、デフォルトをオーバーライドできます。
dmenu 準拠のアプリケーションはどれも動作しますが、動作することがわかっているCM_LAUNCHER
構成は次のとおりです。
dmenu
(デフォルト)fzf
rofi
rofi-script
、rofi のスクリプト モード用Arch や Nix を含むいくつかのディストリビューションでは、 clipmenu
と呼ばれる公式パッケージとして Clipmenu が提供されています。
ディストリビューションがパッケージを提供していない場合は、 make install
使用して手動でインストールできます (または、ディストリビューション用のパッケージを作成することをお勧めします)。別のランチャーを使用する予定がない限り、 xsel
とclipnotify
インストールする必要があります。また、 dmenu
もインストールする必要があります。
Clipmenud は 300 行未満、clipmenu は 100 行未満なので、かなり一目瞭然になると思います。ただし、最も基本的なレベルでは次のようになります。
clipmenud
Clipnotify を使用して新しいクリップボード イベントを待機します。clipmenud
クリップボードの内容への変更を検出すると、ファイル名としてハッシュを使用して、その内容をキャッシュ ディレクトリとインデックスに書き込みます。 clipmenu
インデックスを読み取り、利用可能なすべてのクリップを見つけます。dmenu
が実行され、ユーザーがクリップを選択できるようになります。