- 1. 概要
- 2. インストール
- 3. 起動
- 4. jgmenurc 設定
- 5. 一気に設定
1. 概要
「FreeBSD 13.1 RELEASE dwm 6.3」で、「jgmenu」を使用してみます。
2. インストール
「root」ユーザ権限で。
pkg install -y jgmenu papirus-icon-theme
インストール直後に、ログインユーザで、「jgmenu」のコンフィグレーションファイルを作成しておきます。
(末尾に書いているように、一気に設定する場合は、これは行いません)
ログインユーザで。
jgmenu_run init
3. 起動
「dwm」で、バーにアイコンを表示させたり、クリックアクションを定義する方法がわからないので、デスクトップ上クリックで起動するようにします。
ログインユーザで「config.h」を編集します。
vi ~/config.h
コマンド定義。
static const char *termcmd[] = { "st", NULL };
の後ろあたりに、1行追加します。
static const char *jgmenu[] = { "jgmenu_run", NULL };
ボタン定義。
/* button definitions */
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
static Button buttons[] = {
/* click event mask button function argument */
{ ClkLtSymbol, 0, Button1, setlayout, {0} },
{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
{ ClkWinTitle, 0, Button2, zoom, {0} },
{ ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
{ ClkClientWin, MODKEY, Button1, movemouse, {0} },
{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
{ ClkTagBar, 0, Button1, view, {0} },
{ ClkTagBar, 0, Button3, toggleview, {0} },
{ ClkTagBar, MODKEY, Button1, tag, {0} },
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
};
113 と 114行の間に、下記の行を追加します。
{ ClkRootWin, 0, Button1, spawn, {.v = jgmenu } },
これで、コンパイル・リンクして、「dwm」を置き換えれば、デスクトップ上左クリックで、「jgmenu」が起動します。
4. jgmenurc 設定
「jgmenu」をカスタマイズします。
以下、「FreeBSD 12.3 RELEASE」での設定例です。
ログインユーザで。
vi ~/.config/jgmenu/jgmenurc
コンフィグレーションファイルは、デフォルトはすべてコメントアウトされていますので、変更後の情報のみ掲載します。
「y」座標をずらします。
menu_margin_y = 20
上部に表示します。
menu_valign = top
わたしの好みのフォントへ。
font = MigMix 1M bold 9
アイコンテーマ設定。
icon_theme = Papirus
操作中の項目をわかりやすくするように背景色を変更。
color_sel_bg = #ffffff 40
項目名が冗長なので、括弧内のコメントは、非表示へ。
csv_name_format = %n
終了メニューを追加します。
sh
cat << 'EOF' >> ~/.config/jgmenu/append.csv
^sep()
ログアウト,kill `pgrep -a dwm`, system-log-out
再起動,sudo /sbin/reboot,system-reboot
シャットダウン,sudo /sbin/poweroff,system-shutdown
EOF
exit
ログアウトの部分は、「pkill dwm」でうまくログアウトできなかったので、「IceWM」での例を参考に少しだけ、工夫しました。
「再起動」「シャットダウン」は、「sodu」のインストールと、「visudo」で下記の1行を追加することが必要です。
ユーザ名 ALL=(ALL) NOPASSWD: /sbin/reboot, /sbin/poweroff
5. 一気に設定
前項の設定を一気に行うには、下記のコマンドをコピペします。
mkdir -pv ~/.config/jgmenu
sh
cat << 'EOF' >> ~/.config/jgmenu/jgmenurc
menu_margin_y = 20
menu_valign = top
font = MigMix 1M bold 9
icon_theme = Papirus
color_sel_bg = #ffffff 40
csv_name_format = %n
EOF
cat << 'EOF' >> ~/.config/jgmenu/append.csv
^sep()
ログアウト,kill `pgrep -a dwm`, system-log-out
再起動,sudo /sbin/reboot,system-reboot
シャットダウン,sudo /sbin/poweroff,system-shutdown
EOF
exit
|