herbstluftwm - 共通事項 - メニュー - jgmenu - antiX

クラウディア 
1. 概要
2. 準備
3. インストール
4. 起動設定
5. tint2 設定
6. jgmenu 設定
7. 一気に設定

1. 概要

 「antiX」には、「jgmenu」のパッケージが、リポジトリに存在しません。  「MX Linux」でなくなってしまったものを「github」から取得してインストールした経験を生かして、インストールできないものかやってみます。  本ページは、下記のサイトを参考にさせていただきました。  「Github」の本家をのぞくと、インストール時に必要なヘッダファイルを探すのに調べさせていただいたサイトです。
GitHub - johanmalm/jgmenu: An X11 menu」(本家・・・開発が停止しませんように)
「Linux Mint/Linux Mint で stdio.h がないエラーの対処方法 - Linuxと過ごす
 「antiX 23」では、「jgmenu」も「tint2」もリポジトリに加えられました。  楽になりそうです。

2. 準備

 「antiX 22」以前の作業です。  「git」をはじめ、「jgmenu」のインストールに必要なヘッダファイルや、合わせて使う、「tint2」「papirus-icon-theme」をまとめてインストールしておきます。  「root」ユーザ権限で。

apt install -y git libc6-dev libxml2-dev libx11-dev libxrandr-dev libcairo2-dev libpango1.0-dev librsvg2-dev libmenu-cache-dev tint2 papirus-icon-theme

3. インストール

 いよいよ、本体のインストールです。  「root」ユーザ権限で。  「antiX 22」まで。  必要なディレクトリを作成。

mkdir -pv $HOME/bin
mkdir -pv /tmp/jgmenu
 「github」からソースの取得と「make」。

cd /tmp/jgmenu
git clone https://github.com/johanmalm/jgmenu.git
cd jgmenu
./configure --prefix=$HOME --with-lx --with-pmenu
make
make install
 できあがったものをコピー。

cp jgmenu /usr/local/bin/.
cp jgmenu-apps /usr/local/bin/.
cp jgmenu-config /usr/local/bin/.
cp jgmenu-greeneye /usr/local/bin/.
cp jgmenu-i18n /usr/local/bin/.
cp jgmenu-ob /usr/local/bin/.
cp jgmenu-obtheme /usr/local/bin/.
cp jgmenu-socket /usr/local/bin/.
cp $HOME/bin/jgmenu_run /usr/local/bin/.
cp /tmp/jgmenu/jgmenu/data/jgmenu.desktop /usr/share/applications/.
cp /tmp/jgmenu/jgmenu/data/jgmenu.svg /usr/share/icons/.
 「jgmenu」のコンフィグレーションファイルを作成します。

cd ~/bin
./jgmenu_run init
cp ~/.config/jgmenu/jgmenurc /tmp/.
 ログインユーザで、上記のコンフィグレーションファイルをコピーします。

mkdir -pv ~/.config/jgmenu
cp /tmp/jgmenurc ~/.config/jgmenu/.
 「antiX 23」からは、「apt」でインストールできます。  「root」ユーザ権限で。

apt install -y jgmenu tint2

4. 自動起動

 ログインユーザで。

vi ~/.config/herbstluftwm/autostart
 間違えて、「dzen2」を起動しないように(行番号は、ずれているかもしれません)

# find the panel
panel=~/.config/herbstluftwm/panel.sh
[ -x "$panel" ] || panel=/etc/xdg/herbstluftwm/panel.sh
for monitor in $(hc list_monitors | cut -d: -f1) ; do
    # start it on each monitor
    "$panel" "$monitor" &
done
 の個所をコメントアウトします。  二重起動防止の関数をなければ定義。

#!/usr/bin/env bash

# this is a simple config for herbstluftwm
 1、3 行の間に下記を記述します。

run()
{
  if ! pgrep $1 ;
  then
    $@&
  fi
}
 末尾に下記の1行を加えます。

run "tint2"

5. tint2 設定

 ログインユーザで。

mkdir -pv ~/.config/tint2
cp /etc/xdg/tint2/tint2rc ~/.config/tint2/.
vi ~/.config/tint2/tint2rc

panel_position = bottom center horizontal
panel_layer = top
 72行目は、「bottom」を「top」へ変更して、デスクトップ上側へ表示します。  73行目は、「top」を「bottom」へ変更して、アプリケーションのウィンドウがパネルの上に表示されるようにします。

taskbar_name_active_background_id = 0
taskbar_name_font_color = #e3e3e3 100
 102行と103行の間あたりに、下記の行を追加して、フォントを設定します。

taskbar_name_font = MigMix 1M bold 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
 すべてコメントアウトし、下記の行を加えます。

launcher_item_app = jgmenu.desktop

6. jgmenu 設定

 末尾のように一気に設定する場合は、次項へ。  ログインユーザで。

vi ~/.config/jgmenu/jgmenurc
 「jgmenu」のコンフィグレーションファイルは、デフォルトはすべてコメントアウトされていますので、編集後の状態で掲載します。  表示位置をずらします。

 menu_margin_x = 10
 menu_margin_y = 30
 表示位置を下から上へ。

 menu_valign = top
 項目の幅を狭く。

 item_height = 22
 フォントを設定。

 font = MigMix 1M bold 10
 アイコンテーマは、設定しなくても、「Papirus」が設定されているように見えます。  メニューの選択時の背景にメリハリをつけます。

 color_sel_bg = #ffffff 40
 項目名が冗長なので、説明は省略。

 csv_name_format = %n
 終了メニューを追加します。  「root」ユーザ権限で。

visudo
 以下の1行を加えます。

ユーザ名 ALL=(ALL) NOPASSWD: /sbin/reboot, /sbin/poweroff
 ログインユーザで。

sh
cat << 'EOF' >>  ~/.config/jgmenu/append.csv
^sep()
ログアウト,kill `pgrep -a herbstluftwm`,system-log-out
再起動,sudo /sbin/reboot,system-reboot
シャットダウン,sudo /sbin/poweroff,system-shutdown
EOF
exit

7. 一気に設定

 前項の前項の「visudo」以外設定を一気に行う場合は。  ログインユーザで。

mkdir -pv ~/.config/jgmenu

sh
cat << 'EOF' >> ~/.config/jgmenu/jgmenurc
 menu_margin_x = 10
 menu_margin_y = 30
 menu_valign = top
 item_height = 22
 font = MigMix 1M bold 10
 color_sel_bg = #ffffff 40
 csv_name_format = %n
EOF

cat << 'EOF' >>  ~/.config/jgmenu/append.csv
^sep()
ログアウト,kill `pgrep -a herbstluftwm`,system-log-out
再起動,sudo /sbin/reboot,system-reboot
シャットダウン,sudo /sbin/poweroff,system-shutdown
EOF
exit
earthcar(アースカー)
JETBOY
神戸養蜂場