awesome - 共通事項 - 組み込みメニュー - FreeBSD


 クラウディア


1. 概要
2. ダウンロード
3. 設定
4. 確認

1. 概要

 前ページの結果を「ArcoLinux」にも反映してみようという寸法です。  作成した「freedesktop」を「FreeBSD」に組み込んでみます。  2026年6月19日、「FreeBSD 15.1 RELEASE」に適用するにあたって、内容を大幅に更新します。

2. ダウンロード

 ダウンロードして取得できるようにしました。  「curl」とアイコンテーマで使う「papirus-icon-theme」をインストールしておきます。  「root」ユーザ権限で。

pkg install -y curl papirus-icon-theme
 ダウンロード。

mkdir -pv ~/.config/awesome/freedesktop
curl --insecure https://freebsd.sing.ne.jp/download/lua/5.3/freedesktop/desktop.lua --output ~/.config/awesome/freedesktop/desktop.lua
curl --insecure https://freebsd.sing.ne.jp/download/lua/5.3/freedesktop/init.lua    --output ~/.config/awesome/freedesktop/init.lua
curl --insecure https://freebsd.sing.ne.jp/download/lua/5.3/freedesktop/menu.lua    --output ~/.config/awesome/freedesktop/menu.lua

3. 設定

 コンフィグレーションファイルを編集して組み込みます。  ログインユーザで。  まず、「~/.config/awesome/rc.lua」が存在しない場合は。

mkdir -pv ~/.config/awesome
cp /usr/local/etc/xdg/awesome/rc.lua ~/.config/awesome/.
 それから。

vi ~/.config/awesome/rc.lua
 先頭部分で、「freedesktop」を読みこみます。

-- when client with a matching name is opened:
require("awful.hotkeys_popup.keys")
 の下に下記を記述。


local freedesktop = require("freedesktop")
 メニューのフォントも好みのものへ、変更して、幅を少し広くします。

-- Themes define colours, icons, font and wallpapers.
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
 の下に下記を記述。


beautiful.icon_theme           = "Papirus-Dark"
beautiful.menu_font            = "MigMix 1M Regular 10"
beautiful.menu_width           = 180
beautiful.menu_height          = 22
beautiful.font                 = "MigMix 1M Regular 10"
beautiful.notification_font    = "MigMix 1M Bold    14"
beautiful.hotkeys_font         = "MigMix 1M Regular 10"
beautiful.hotkeys_modifiers_fg = "#32CD32"
 次の箇所が本番、メニューの組み込みです。

-- {{{ Menu
-- Create a launcher widget and a main menu
myawesomemenu = {
   { "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
   { "manual", terminal .. " -e man awesome" },
   { "edit config", editor_cmd .. " " .. awesome.conffile },
   { "restart", awesome.restart },
   { "quit", function() awesome.quit() end },
}

mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                                    { "open terminal", terminal }
                                  }
                        })

mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
                                     menu = mymainmenu })

-- Menubar configuration
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
-- }}}
 を下記のように書き換えます。

-- {{{ Menu
-- Create a launcher widget and a main menu
local menu_gen = require("menubar.menu_gen")
menu_gen.all_categories.multimedia.name    = "マルチメディア"
menu_gen.all_categories.development.name   = "開発"
menu_gen.all_categories.education.name     = "教育"
menu_gen.all_categories.games.name         = "ゲーム"
menu_gen.all_categories.graphics.name      = "グラフィックス"
menu_gen.all_categories.office.name        = "オフィス"
menu_gen.all_categories.internet.name      = "ネットワーク"
menu_gen.all_categories.science.name       = "科学"
menu_gen.all_categories.settings.name      = "設定"
menu_gen.all_categories.tools.name         = "システムツール"
menu_gen.all_categories.utility.name       = "アクセサリ"

myawesomemenu = {
   { "キー定義", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end, menubar.utils.lookup_icon("preferences-desktop-keyboard-shortcuts") },
   { "マニュアル", terminal .. " -e man awesome", menubar.utils.lookup_icon("system-help") },
   { "定義編集", editor_cmd .. " " .. awesome.conffile,  menubar.utils.lookup_icon("accessories-text-editor") },
   { "awesome 再起動", awesome.restart, menubar.utils.lookup_icon("system-restart") },
   { "ログアウト", function() awesome.quit() end, menubar.utils.lookup_icon("system-log-out") },
}

myexitmenu = {
    { "ログアウト", function() awesome.quit() end, menubar.utils.lookup_icon("system-log-out") },
    { "再起動", "sudo /sbin/reboot", menubar.utils.lookup_icon("system-reboot") },
    { "シャットダウン", "sudo /sbin/poweroff", menubar.utils.lookup_icon("system-shutdown") }
}

mymainmenu = freedesktop.menu.build({
    icon_size = 32,
    before = { { "Awesome", myawesomemenu,  beautiful.awesome_icon },                   },
    after  = { { "終了",    myexitmenu, menubar.utils.lookup_icon("system-shutdown") }, }
})

mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
                                     menu = mymainmenu })

4. 確認

 前項まで終わったら、Ctrl+Win+R で、「awesome」をリスタートして、確認します。

 ほぼ、思い通りです(フォントは、もう1サイズ小さい方がいいかしら)。
 後は、インストールするアプリケーションが、うまく組み込まれるかを確認するのみです。
 末尾のページに記しましたが、結論は、「awesome」を再起動しないとメニューは更新されません。
 まぁ、正にこのメニューを使用して更新すればいいわけですが・・・。


audiobook.jp
AbemaTV 無料体験
ハイスピードプラン
Amazonギフトカード
5G CONNECT
アフィリエイトのアクセストレード
EMEET 1
U-NEXT
それがだいじWi-Fi
ベルリッツ
JETBOY
サウンドハウス
薬屋の独り言
【usus ウズウズ】
TikTok Shop 【リピート用プログラム】
損保との違い
EaseUS
葬送のフリーレン Prime Video
earthcar(アースカー)
ネットオークションの相場、統計、価格比較といえばオークファン
健康サポート特集