1. 概要
「tint2」と「jgmenu」を使用します。
以下、「FreeBSD 13.0 RELEASE」「xmonad 0.15_8」での設定です。
2. インストール
あわせて、アイコンテーマをインストールしておきます。
「root」ユーザ権限で。
pkg install -y jgmenu papirus-icon-theme tint2
「jgmenu」のコンフィグレーションファイルを作成しておきます。
一気に作成する場合は、この手順はスキップします。
ログインユーザで。
jgmenu_run init
3. tint2 設定
自動起動のスクリプトを作成しているものとして、ログインユーザで。
sh
cat << 'EOF' >> ~/.xmonad/scripts/autostart.sh
run "tint2"
EOF
exit
「tint2」のコンフィグレーションファイルは、一度起動しないと作成されませんので、一度ログインしなおしていましたが、システム用のものをコピーしてカスタマイズすることにします。
mkdir -pv ~/.config/tint2
cp /usr/local/etc/xdg/tint2/tint2rc ~/.config/tint2
vi ~/.config/tint2/tint2rc
panel_position = bottom center horizontal
panel_layer = top
パネルを上部へ表示するので、「panel_position」の「bottom」を「top」へ書き換えます。
アプリケーションウィンドウをパネルの上へ表示したいので、「panel_layer」の「top」を「bottom」へ書き換えます。
panel_position = top center horizontal
panel_layer = bottom
taskbar_name_active_background_id = 0
taskbar_name_font_color = #e3e3e3 100
間に下記の行を追加して、フォントを設定します。
taskbar_name_font = MigMix 1M 10
launcher_item_app = tint2conf.desktop
launcher_item_app = firefox.desktop
launcher_item_app = iceweasel.desktop
launcher_item_app = chromium-browser.desktop
launcher_item_app = google-chrome.desktop
151~155行をコメントアウトして、下記の行を追加します。
launcher_item_app = jgmenu.desktop
ログインしなおして、反映させます。
4. jgmenu 設定
ログインユーザで(一気に作成する場合は、この項の末尾をお読みください)。
vi ~/.config/jgmenu/jgmenurc
変更後の状態のみ記述します。
表示位置をずらします。
menu_margin_x = 5
menu_margin_y = 31
表示位置を下から上へ。
menu_valign = top
項目の幅を狭くします。
item_height = 22
フォントを設定。
font = MigMix 1M bold 9
アイコンテーマを設定。
icon_theme = Papirus
選択行の背景にメリハリをつけます。
color_sel_bg = #ffffff 40
項目名が冗長なので、説明は省略。
csv_name_format = %n
上記が面倒くさい場合は、下記をコピーしてペーストすれば一発で作成できます。
mkdir -pv ~/.config/jgmenu
sh
cat << 'EOF' >> ~/.config/jgmenu/jgmenurc
menu_margin_x = 5
menu_margin_y = 31
menu_valign = top
item_height = 22
font = MigMix 1M bold 9
icon_theme = Papirus
color_sel_bg = #ffffff 40
csv_name_format = %n
EOF
exit
終了メニューの追加。
sh
cat << 'EOF' >> ~/.config/jgmenu/append.csv
^sep()
ログアウト,kill `pgrep -a xmonad`,system-log-out
再起動,sudo /sbin/reboot,system-reboot
シャットダウン,sudo /sbin/poweroff,system-shutdown
EOF
exit
再起動とシャットダウンを有効化するには、「root」ユーザ権限で
visudo
して、下記の行を加えます。
ログインユーザ名 ALL=(ALL) NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
5. 問題点
実は、この設定、問題点が2つありまして・・・。
1つ目は、「tint2」が表示されるまでに、えらく時間がかかってしまうこと。
2つ目は、「tint2」しか表示されていない状態で、プログラムの終了キー(ここでカスタマイズしているのは mod+q)を押すと「tint2」が終了してしまうこと。
間違えて終了させちゃうと、その都度、「xmonad」再起動(ここでカスタマイズしているのは mod+Shift+q)せにゃならんのです。
「xmobar」に「jgmenu」を組み込めりゃいいんだけどな。