D-Bus を使用しないデーモンレス通知。ミニマルかつ軽量。

コードは 200 行未満
バックグラウンドでは実行されず、通知を表示して終了するだけです
Xlib と Xft 以外の外部依存関係はありません
config.hまたは Xresources を通じて構成可能 (このパッチを使用)
アクションのサポート
パッチによる拡張が可能
使用法
パッチ
通知を閉じる
アクション
改行
複数の通知
通知が表示されない
インストール
パッケージ
依存関係
建てる
構成
貢献する
利用可能なパッチのリスト
新しいパッチを作成するには、変更を加えたプル リクエストを開く必要があります。ダウンロード可能な diff ファイルを取得するには、プル リクエスト URL に.diffを追加します。タイトルの前にpatch:を付けて、それにpatchラベルを適用することを忘れないでください。インスピレーションを得るためには、私の Xresources パッチを見てください。ありがとう。
注: このパッチ適用方法は、dylan の sowm から大きく影響を受けています。
通知を閉じるには、 DISMISS_BUTTON (config.h で設定、デフォルトはマウスの左ボタン) で通知をクリックするか、 SIGUSR1シグナルを送信します。
$ pkill -SIGUSR1 ハーブ
拒否された通知は終了コード 2 を返します。
アクションは、通知が受け入れられたときに実行されるシェルコードの一部です。通知を受け入れることは通知を閉じることと同じですが、 ACTION_BUTTON (デフォルトはマウスの右ボタン) またはSIGUSR2シグナルのいずれかを使用する必要があります。受け入れられた通知は常に終了コード 0 を返します。アクションを指定するには、次の手順を実行します。
$ herbe "通知本文" && echo "これはアクションです"
&&以降はすべてアクションであり、通知が受け入れられた後に実行されます。
すべてのコマンドライン引数はデフォルトで別の行に出力されます。例:
$ herbe 「1行目」「2行目」「3行目」 ...
bashでnなどを使用することもできます。
$ herbe $'ファーストリネンセカンドリネンサードライン'
しかし、デフォルトでは、 herbe n文字通りに出力します。
$ herbe "ファーストリネンまだ最初のライン"
他のプログラムの出力は正しく出力されますが、必ずエスケープしてください (すべての単語が別の行にならないように)。
$ herbe "$(ps axch -o cmd:15,%cpu --sort=-%cpu | head)"
通知はキューに入れられ、作成順 (先入れ先出し) で次々に表示されます。それらは重複せず、それぞれがその期間全体にわたって表示されます。
おそらく、実行中の通知が強制終了 (SIGKILL またはキャッチされなかったシグナル) され、セマフォのロックが解除されなかった可能性があります。まず、スタックしているherbeインスタンスをすべて強制終了します。
$ pkill -SIGKILL ハーベ
次に、引数なしでherbe呼び出します。
$ハーブ
通知は期待どおりに表示されるはずです。
以下の信号を除いて、 herbeに信号を送信しないでください。
# pkill -SIGTERM herbe と同じで、実行中のすべての herbe プロセスを終了します$ pkill herbe $ pkill -SIGUSR1 ハーブ $ pkill -SIGUSR2 ハーブ
そして、あなたは大丈夫なはずです。 herbeと対話するために実際に必要なのはこれだけです。
OpenBSD パッチ
FreeBSD パッチ
ムエヴォイドによるウェイランドポート
herbe-git AUR パッケージのみが私によって保守されています。
X11 (Xlib)
Xft
パッケージの名前は、使用するディストリビューションによって異なります。たとえば、Void Linux を使用する場合は、次の依存関係をインストールする必要があります。
sudo xbps-install Base-devel libX11-devel libXft-devel
git clone https://github.com/dudik/herbecd ハーベ sudo メイクインストール
make install結果のバイナリが/usr/local/binにコピーされるため、root 権限が必要です。これにより、 herbe世界中からアクセスできるようになります。
また、 make clean使用してビルド フォルダーからバイナリを削除したり、 sudo make uninstall使用してバイナリを/usr/local/binから削除したり、単にmake使用してバイナリをローカルでビルドしたりすることもできます。
herbe はコンパイル時にconfig.hを編集して構成されます。すべてのオプションは一目瞭然です。高さはフォント サイズとテキスト パディングによって決まるため、 heightオプションはありません。
Xresources パッチ
バグを報告したい場合、または機能リクエストがある場合は、お気軽に問題を開いてください。
qutebrowser は、 content.notifications.presenter設定を介して、herbe を介した Web 通知の表示をサポートします。