sway - 共通事項 - バー・メニュー - Manjaro


 クラウディア


1. 概要
2. インストール
3. バー設定
4. メニュー設定

1. 概要

 「Manjaro」では、デフォルトで「rofi」というメニューが設定してあります。  パネルの左上のスタートアイコンと思しきものをクリックすると中央に表示されます。

 他と同様、メニューは、「jgmenu」、アイコンは「papirus」を使用することにします。

2. インストール

 「root」ユーザ権限で。

yes | pacman -S jgmenu papirus-icon-theme

3. バー設定

 バーには「waybar」を使用しているようですが、ちょっと込み入っている。  「/etc/sway/config.d/96-waybar-config.conf」の。

    swaybar_command /usr/share/sway/scripts/waybar.sh
    position $waybar_position
 で起動を定義しているようなのですが、「swaybar_command」の定義がどこに組み込まれているかよくわかりませぬ。  「/usr/share/sway/scripts/waybar.sh」の中身は。

#!/bin/sh
# wrapper script for waybar with args, see https://github.com/swaywm/sway/issues/5724

USER_CONFIG_PATH=$HOME/.config/waybar/config.jsonc
USER_STYLE_PATH=$HOME/.config/waybar/style.css

if [ -f $USER_CONFIG_PATH ]; then
    USER_CONFIG=$USER_CONFIG_PATH
fi

if [ -f $USER_STYLE_PATH ]; then
    USER_STYLE=$USER_STYLE_PATH
fi

waybar -c ${USER_CONFIG:-"/usr/share/sway/templates/waybar/config.jsonc"} -s ${USER_STYLE:-"/usr/share/sway/templates/waybar/style.css"} &
 となっております。  その結果、ログイン後。

waybar -c /usr/share/sway/templates/waybar/config.jsonc -s /usr/share/sway/templates/waybar/style.css
 として起動されています。  自前の定義を有効にすれば、そちらを読んでくれるようです。

cp /usr/share/sway/templates/waybar/config.jsonc ~/.config/waybar/config.jsonc
cp /usr/share/sway/templates/waybar/style.css ~/.config/waybar/style.css
 「waybar」のフォントを変更します。

vi ~/.config/waybar/style.css

/* Reset all styles */
* {
    border: none;
    border-radius: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    font-family: "JetBrainsMono NF", "Roboto Mono", sans-serif;
}
 38行を下記へ変更します。

    font-family: "MigMix 1M", "JetBrainsMono NF", "Roboto Mono", sans-serif;
 「nwg-drawer」を「jgmenu」と置き換えます。

vi ~/.config/waybar/config.jsonc

    "custom/menu": {
        "format": "",
        "on-click": "swaymsg exec \\$menu",
        "tooltip": false
    },
 「$menu」で定義しているものが、「rofi」なんですが、この定義がどこにあるかは、も~しんどくて探すの諦めました。  191行目を下記へ書き換えます。

        "on-click": "swaymsg exec jgmenu_run",
 リロード(mod+Shift+c)では、変わらなかったので、ログインしなおして。  「jgmenu」が、有効になります。

4. メニュー設定

 ログインユーザで。  「jgmenu」のデザインをカスタマイズして、終了メニューを加えます。

mkdir -pv ~/.config/jgmenu

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

cat << 'EOF' >>  ~/.config/jgmenu/append.csv
^sep()
ログアウト,pkill sway,system-log-out
再起動,sudo /sbin/reboot,system-reboot
シャットダウン,sudo /sbin/poweroff,system-shutdown
EOF
exit
 「/sbin/reboot」「/sbin/poweroff」は、「visudo」でパスワードなしで、ログインユーザが実行できるようにしておく必要があります。  「jgmenu」を表示した状態で、「あ、やめた」ってなったとき、メニューを消すのに、ESC キーを押さないと消えないのが少し面倒かな。

TikTok Shop 【リピート用プログラム】
AbemaTV 無料体験