「Polybar」の版間の差分
(マルチモニターを翻訳して追加) |
(→ウィンドウマネージャで実行: 情報を更新) |
||
52行目: | 52行目: | ||
=== ウィンドウマネージャで実行 === |
=== ウィンドウマネージャで実行 === |
||
+ | 起動ロジックを含む [[ヘルプ:読み方#実行可能属性の付与|実行可能ファイル]] を作成します (例:{{ic|$HOME/.config/polybar/launch.sh}}) |
||
− | {{ic|$HOME/.config/polybar/launch.sh}}などに実行ファイルを作成してください: |
||
{{bc| |
{{bc| |
||
59行目: | 59行目: | ||
# Terminate already running bar instances |
# Terminate already running bar instances |
||
killall -q polybar |
killall -q polybar |
||
+ | # If all your bars have ipc enabled, you can also use |
||
+ | # polybar-msg cmd quit |
||
+ | # Launch Polybar, using default config location ~/.config/polybar/config.ini |
||
− | # Wait until the processes have been shut down |
||
+ | polybar mybar 2>&1 {{!}} tee -a /tmp/polybar.log & disown |
||
− | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done |
||
− | |||
− | # Launch Polybar, using default config location ~/.config/polybar/config |
||
− | polybar & |
||
echo "Polybar launched..." |
echo "Polybar launched..." |
||
}} |
}} |
||
− | + | このスクリプトは、ウィンドウマネージャーを再起動すると Polybar も再起動されることを意味します。 |
|
− | {{bc| |
||
− | MONITOR=HDMI-A-1 polybar & |
||
− | }} |
||
− | 上記のコマンドでは指定したモニターにPolybarが表示されます (モニターは[[xrandr]]コマンドで確認できます)。Polybarの位置を指定するには: |
||
− | {{bc| |
||
− | polybar top & |
||
− | }} |
||
+ | 起動時にウィンドウマネージャーによってこのスクリプトを実行するには、[[自動起動# ウィンドウマネージャのスタートアップ時]] を参照してください。 |
||
− | ==== bspwm ==== |
||
− | |||
− | [[bspwm]]を使用する場合、以下を{{ic|bspwmrc}}に追加: |
||
− | {{bc| |
||
− | $HOME/.config/polybar/launch.sh |
||
− | }} |
||
− | |||
− | ==== i3 ==== |
||
− | |||
− | [[i3]]を使用する場合、以下を設定に追加: |
||
− | |||
− | {{bc| |
||
− | exec_always --no-startup-id $HOME/.config/polybar/launch.sh |
||
− | }} |
||
=== マルチモニター === |
=== マルチモニター === |
2023年12月4日 (月) 02:21時点における版
polybar はステータスバーを簡単に素早く作れるツールです。多数のモジュールを利用して、ワークスペース・日付・システムボリュームの表示など様々な機能を簡単にカスタマイズできるようになっています。Polybar は awesome や i3 などステータスバーが付属していないウィンドウマネージャで特に有用です。また、Polybar は Plasma などのデスクトップ環境でも使用できます。
インストール
polybar パッケージをインストールしてください。開発版は polybar-gitAUR です。
設定
デフォルトの設定例は/etc/polybar/config.ini
です。Polybarは、~/.config/polybar/config.ini
または/etc/xdg/polybar/config.ini
、/etc/polybar/config.ini
から最初に見つかったものに応じて設定ファイルをロードします。設定を編集したければ、/etc/polybar/config.ini
から~/.config/polybar/config.ini
にコピーして編集してください。
Polybarの実行
Polybarは以下のように起動できます:
Usage: polybar [OPTION]... BAR -h, --help Display this help and exit -v, --version Display build details and exit -l, --log=LEVEL Set the logging verbosity (default: WARNING) LEVEL is one of: error, warning, info, trace -q, --quiet Be quiet (will override -l) -c, --config=FILE Path to the configuration file -r, --reload Reload when the configuration has been modified -d, --dump=PARAM Print value of PARAM in bar section and exit -m, --list-monitors Print list of available monitors and exit -w, --print-wmname Print the generated WM_NAME and exit -s, --stdout Output data to stdout instead of drawing it to the X window -p, --png=FILE Save png snapshot to FILE after running for 3 seconds
ウィンドウマネージャの起動時にPolybarを実行したい場合は#ウィンドウマネージャで実行を見てください。
設定例
基本的なPolybarの設定は以下のようになります。
[bar/mybar] modules-right = date [module/date] type = internal/date date = %Y-%m-%d%
mybar
という名前のバーと、date
というモジュールを定義しています。
デフォルトでは、Polybarは/etc/polybar/config.ini
に多数の構成済みモジュールを含むサンプル構成もインストールします。
ウィンドウマネージャで実行
起動ロジックを含む 実行可能ファイル を作成します (例:$HOME/.config/polybar/launch.sh
)
#!/bin/bash # Terminate already running bar instances killall -q polybar # If all your bars have ipc enabled, you can also use # polybar-msg cmd quit # Launch Polybar, using default config location ~/.config/polybar/config.ini polybar mybar 2>&1 | tee -a /tmp/polybar.log & disown echo "Polybar launched..."
このスクリプトは、ウィンドウマネージャーを再起動すると Polybar も再起動されることを意味します。
起動時にウィンドウマネージャーによってこのスクリプトを実行するには、自動起動# ウィンドウマネージャのスタートアップ時 を参照してください。
マルチモニター
複数のモニターにバーを複製したい場合は、複数のバーを起動する必要があります。
起動スクリプトに次のような内容を追加します:
if type "xrandr"; then for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do MONITOR=$m polybar --reload example & done else polybar --reload example & fi
次に、環境からモニターを読み取るように Polybar を設定します:
config.ini
[bar/example] monitor = ${env:MONITOR:} [..]