- 1. 概要
- 2. インストール
- 3. 起動
- 4. jgmenu 設定
1. 概要
「FreeBSD 13.1 RELEASE dwm 6.3」で、「jgmenu」を使用してみます。
2. インストール
「root」ユーザ権限で。
pkg install -y jgmenu papirus-icon-theme
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. jgmenu 設定
「jgmenu」をカスタマイズします。
ログインユーザで。
mkdir -pv ~/.config/jgmenu
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
上記は、下記の設定を行っています。
・表示位置をずらす
・表示位置を下から上へ
・項目の幅を狭く
・フォント設定
・アイコンテーマ設定
・選択行の背景にメリハリをつける
・項目名が冗長なので、説明を省略
・終了メニューを追加
「再起動」「シャットダウン」は、「sodu」のインストールと、「visudo」で下記の1行を追加することが必要です。
ユーザ名 ALL=(ALL) NOPASSWD: /sbin/reboot, /sbin/poweroff
|