awesome wm の時計をカスタマイズ & メニューを最新に追従

時計をカスタマイズ

デスクトップの右上に時計が表示されますが，秒が表示されません．ここに秒も表示したいです． `awful.widget.textclock() で実現しているようなのでここのパラメーターを変更することで実現できました．

awesome API documentation

Parameters:

format The time format. Default is " %a %b %d, %H:%M ".

timeout How often update the time. Default is 60.

以下のように書き換えました．

-- {{{ Wibox

-- Create a textclock widget

-mytextclock = awful.widget.textclock()

+mytextclock = awful.widget.textclock("%a %b %d, %H:%M:%S", 1)

規定値は %a %b %d, %H:%M", 60 で前半の " で囲ってある部分は date の FORMAT のようなので man date を参照して :%S を末尾に追加，後半の 60 は更新時間(秒)のようなのでこのままでは60秒に1回しか更新されないので1秒単位で更新されるように 1 を指定しました．

メニューを最新に追従するようにする

左上の awesome のメニューの Debian ツリーに導入されたアプリケーションメニューがありますが，awesome 初回実行時にコピーされたものが参照されます．そのためそれ以降に導入，削除したものは反映されません．大元の設定は随時反映されるのでそちらを参照するようにします．

参照しているメニューファイル: ~/.config/awesome/debian/menu.lua

元メニューファイル: /etc/xdg/awesome/debian/menu.lua

自分のホーム以下のメニューは削除してしまってシンボリックリンクを貼ることにします．

% rm -rf ~/.config/awesome/debian

% ln -s /etc/xdg/awesome/debian ~/.config/awesome/debian

メニューのカスタマイズは以下のような感じで rc.lua 内で行うようにしました．数が増えるようならファイルを分けるといいかもしれません．

+fav_menu = {

+   { "Nautilus", "nautilus" },

+   { "Atom", "atom" },

+   { "Chromium privacy", "/home/mk/script/chromium-privacy.bash" },

+   { "mikutter", "mikutter" },

+   { "LibreOffice", "libreoffice" },

+}

+

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

{ "Debian", debian.menu.Debian_menu.Debian },

+                                    { "fav", fav_menu },

{ "open terminal", terminal }

}

})

全体の設定は以下の Gist を参照して下さい．

awesome configurarion file

これまでの awesome 関連のエントリは以下を参照してください．

awesome | matoken’s meme