Post Page Advertisement [Top]

configpolybarxmonad

xmonadでもpolybarをおしゃれに使いこなす

githubリポジトリ「adi1090x/polybar-themes」で 公開されているpolybarのテーマを実際に試してみながら、xmobarでpolybarを使う時のコツを紹介します。 もし、polybar自体を使うのが初めてならば、先に「polybarとxmonadをおしゃれに連携させる」を参照してみて下さい。polybarの基本的な導入の仕方と、xmonadとの連携のコツを紹介しています。


一方、xmonadを最新版の0.17にアップグレードしている場合は「新しいxmonad 0.17 で、お洒落にpolybarする」を参考にしてください。




事前に必要なものの準備

まず、テーマ内のモジュールで呼び出される外部アプリがあるので、最低限以下の2つは事前にインストールしておきます。 archlinuxでは、本家若しくはaurにパッケージがあるので簡単にインストールできます。



テーマのインストール

ページの説明によれば、「リポジトリをクローンした上で、その中にあるsetup.shスクリプトを実行しましょう」となっています。 setup.shの内容は、主に次のようなモノで特に怪しげなことはしていませんが、 簡易なスクリプトなので、 ざっと目を通して、 自分の管理しているファイルが消えてしまうことが無いか等のチェックをすることをお勧めします。


まず、テーマとして必要なファイルが、~/.config/polybarディレクトリ以下にコピーされます。 次に、テーマで必要となるフォントが~/.local/share/fontsディレクトリ以下にコピーされます。


尚、このセットアップスクリプトは実行すると、「スタイルの選択」を求められます。 選択肢は、「Simple」か「Bitmap」の2択で、この選択によってテーマで使われるフォントが決定されます。 通常は「Simple」を選択すればよいです。


セットアップが完了したら、~/.config/polybarへ移動して、その中を確認してみましょう。 launch.shというファイルと、幾つかのディレクトリになっています。 各ディレクトリは、各テーマ毎の設定ファイルが入っています。 このテーマセットの使い方は、ここにあるlaunch.shに、 テーマ名を引数として渡して実行することで使います。 選択できるテーマ名は、引数--helpで確認できます


Don't panic!

launch.shをコンソールで実行した場合、バックグラウンドでpolybarが起動されるため、 Ctrl+Cを発行してもpolybarを終了することが出来ません。 そこでまず、polybarは、次のコマンドで終了出来るということを覚えておきましょう。


# polybarを終了するためのコマンドを暗記
$ killall polybar


上記のコマンドは、launch.shを発行したターミナル以外のターミナルからでもOKです。 これは、初めてpolybarを起動した時に、mpd関連のエラーが大量に出力されると、 プロンプトが戻っていてもその表示が流れてしまって入力ができず、また、Ctr+Cも効かなくなっているので、 初心者の人はパニックになる可能性があります。 しかし、上記の解決法(polybarの終了のさせ方)さえ知っていれば、何も怖いことはありません。


尚、mpdに関しては、polybarを使うと、どのテーマでもmpdモジュールが呼び出されている可能性が高いので、 入れていないといつもエラーが大量に出てしまいます。 エラーが出ている事自体は、害はないのですが、出力がうるさく他の情報が流れていったり、 コンソールが扱いづらくなるので、polybarのテーマの調整をする間は、mpdを使う予定がなかったり、 使い方がよくわからなかったりしても、取り合えずmpdをインストールし、サービスを起動しておくことをおすすめします。 (僕自身mpdの動かし方とか全くわからないので、archwikiとかみてみてください)


プレビュースクリプトの活用

このリポジトリが公開しているテーマは複数あり、実際に自分のパソコンで使うとなると、色々と迷うことになります。 webページ上には、各テーマのスクリーンショットも付いていますが、実はもっと便利なものが、このテーマ集には付属しています。 まずは、テーマの一つである「blocks」のディレクトリに入って下さい。 そこに、previes.shというスクリプトがあるので、それを実行します。


$ cd ~/.config/polybar/blocks
$ ./preview.sh


このプレビューで表示されるステータスバーは、launch.sh --blocksを使って呼び出すステータスバー自体のプレビューではありません。 このテーマで定義されているモジュールの全てがプレビューできるようになった見本のステータスバーなのです。


他のテーマについても、幾つか、プレビューの様子を紹介しておきます。 あなたも使いたくなるようなテーマがありそうですか?


「colorblocks」テーマ

透明な部分を上手に使って、分散したバーがデザインされています。


「cuts」テーマ

こちらは透過をクールに使って、洗練された感のあるデザインです。


「forest」テーマ

simpleだけど、オシャレ感のあるデザインです。


「hack」テーマ

simpleで機能性美があるデザインです。


テーマの設定を調整

通常、polybarの設定ファイルは、~/.config/polybar/configファイルに全てが書かれています。 しかし、ここのテーマではそのようなファイルはありませんので、どういうファイル構造になっているか確認しておきましょう。 まず、このテーマ集の起動は、~/.config/polybar/launch.shスクリプトで行います。 このスクリプトでは内部でpolybarコマンドを呼び出しますが、 設定ファイルは通常の~/.config/polybar/configファイルではなくて、 使いたいテーマのディレクトリの中にあるconfig.iniが読み込まれるように呼び出されます。


テーマディレクトリ内のファイルについて

このテーマ集で使われる設定ファイルは、 各テーマのディレクトリ毎に完結しています。 上記で述べたとおり、polybarは、config.iniを設定ファイルとして起動されますが、 config.iniに全ての設定が書かれているわけではなく、 config.iniから更に別の設定ファイルが呼び出されるような構造になっています。 つまり、大きくなったconfigを見やすいように幾つかのファイルに分けていると考えればOKです。 この分割された設定ファイルのそれぞれの内容ですが、 barの設定項目、即ち、モジュールの配置の定義等はconfig.iniの中にあり、 モジュール自体の定義はmodules.iniやbar.iniの中で定義されています。


設定ファイルの編集

お気に入りのテーマが決まったら、そのディレクトリに入り、preview.shを実行します。 プレビューで配置されるモジュールはそのディレクトリのpreview.iniファイルで定義されているので、 このファイルを見ることで、どのモジュールが何というモジュール名なのかを正確に確認することが出来ます。


では、そのディレクトリの.config.iniをエディタで開き、 配置してみたいモジュールを設定するために、modules-left等の行を実際に書き換えます。 書き換えが終わったら、保存して、そのディレクトリの中の./launch.shをそのまま実行します。


今見ているのが、テーマで呼び出される新しいモジュール配置の実物です。 ./launch.sh./preview.shは、 スクリプトの内部でpolybarを再起動してくれます。 ですから、修正したものを反映させたり、モジュールの見本をまた確認したくなったら、 それぞれのスクリプトをそのまま呼び出せばOKです。 自分の気に入った、モジュール配置になるまでこの作業を繰り返します。


xmonadとの連携について

polybarとxmonadをおしゃれに連携させる」で、紹介したとおり、 xmonadの出力する情報をここのpolybarでも受け取りましょう。 xmonad側の設定は、先で紹介したページの通りにxmonad.hsを準備します。


次に、[module/xmonad]の定義を、適用したいテーマディレクトリにあるmodule.iniファイルの先頭にでもコピペします。 そして、適用したテーマディレクトリのconfig.iniファイルのモジュール配置定義に、モジュールxmonadを配置すればOKです。


しかしながら、ここでのテーマを利用する場合もうひと工夫が必要になります。 実は、このテーマにデフォルトで登録されているフォントには日本語の文字セットが含まれていないので、 日本語の表示ができません。ですから、config.iniの該当部分に日本語を含むフォントを追加定義します。 次のように"font-3"の行を追加して定義します。


;; a part of config.ini
[bar/main]
...
font-0 = "Iosevka Nerd Font:size=10;4"
font-1 = "Iosevka Nerd Font:size=10;3"
font-2 = "feather:size=12;3"
font-3 = "IPAGothic:size=14:antialias=true;3"
...


次は、xmonad-logを利用するカスタムモジュールの定義です。 config.iniの先頭あたりに定義すればOKです。 また、出力で日本語が表示できるように、 上記の紹介ページの記述に加えて、 このモジュールが出力するフォントとして、 config.iniに追加定義した4番目のフォントを使うことを定義します。 (font-3は3ではなくて、4と指定することに注意)


;; a part of module.ini
[module/xmonad]
type = custom/script
exec = xmonad-log
tail = true
format-font = 4


.xprofileへ登録

テーマの調整が完成したら、後は、それを呼び出すように、.xprofile等に以下のコマンドを書き加えましょう。


# a part of .xprofile
...
# お気に入りのテーマを引数にして呼び出す
~/.config/polybar/launch.sh --forest
...


0 件のコメント:

コメントを投稿

Bottom Ad [Post Page]