awesome WM の導入と設定

ウィンドウマネージャ(WM)なんて,Gnomeで何も問題を感じていなかったのですが,「タイル型WM」なる全く異なるコンセプトのWMがあると聞き,導入してみました.

今回導入したのは,awesome WM です.

awesome WMの特徴(主観)
  • タイル型WMのジャンルで,Xmonad というWMと双璧をなす人気らしい
  • 設定がLuaという,比較的簡単なプログラミング言語で,柔軟に設定可能
  • タイル型なだけあり,ウィンドウが重ならない.
  • キーボードショートカットを覚えると,本格的にマウス不要になる.
  • Gnomeでいうワークスペース的な機能を「tag」という形で自然に取り込んでいて,画面を論理的に切り替えられる



こんな感じにできます(スクリーンショット)


導入


パッケージをダウンロード
-
sudo apt-get install awesome




/etc/X11/Xsession.d/40x11-common_xsessionrc を以下のように編集
(このあたりはだいぶ環境依存のはずです.)
-
# This file is sourced by Xsession(5), not executed.

#Source user defined xsessionrc (locales and other environment variables)
# if [ -r "$USERXSESSIONRC" ]; then
# . "$USERXSESSIONRC"
# fi

source /home/sho/.xinitrc



~/.xinitrcを,以下のように作成・編集
-
#!/bin/sh

exec awesome




設定ファイルの作成
-
mkdir .config/awesome
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/




この時点で一旦ログアウトして,「セッション」をawesomeに指定し,ログインする.
以下,自分好みの設定



CPUやメモリの状態を表示させる
- Visiousをダウンロード,解凍し,~/.config/awesome/visious という名前のディレクトリに移す
- rc.luaの変更箇所(変更箇所の周りの記述で検索かけてください):
--
-- Load Debian menu entries
require("debian.menu")
-- For dynamic widgets
require("vicious")
--
-- Create a systray
mysystray = widget({ type = "systray" })

refreshdelay = 1
-- memwidget
-- text
memtext = widget({ type = "textbox" })
memtext.text = ' mem '
-- bar
membar = awful.widget.graph()
membar:set_width(50)
membar:set_height(17)
membar:set_background_color("#494B4F")
membar:set_border_color(nil)
membar:set_color("#004080")
membar:set_gradient_colors({ "#004080", "#006699", "#CCCCFF" })
vicious.register(membar, vicious.widgets.mem, "$1", refreshdelay)
-- // memwidget

-- cpuwidget
-- text
cputext = widget({ type = "textbox" })
cputext.text = ' cpu '
-- graph
cpugraph = awful.widget.graph()
cpugraph:set_width(50)
cpugraph:set_height(17)
cpugraph:set_background_color("#494B4F")
cpugraph:set_color("#004080")
cpugraph:set_gradient_colors({ "#004080", "#006699", "#CCCCFF" })
vicious.register(cpugraph, vicious.widgets.cpu, "$1", refreshdelay)
-- // cpuwidget


-- Create a wibox for each screen and add it
--
      mylayoutbox[s],
mytextclock,
s == 1 and mysystray or nil,
-- I added the followings.
membar.widget,
memtext,
cpugraph.widget,
cputext,

mytasklist[s],

[参考] http://samemiso.blogspot.com/2009/12/awesome-34cpumem.html



テーマ(beautiful)の設定
- http://awesome.naquadah.org/wiki/Beautiful_themes から,zhuravlik を拝借
--
sudo mkdir /usr/share/awesome/themes/zhuravlik
-- /usr/share/awesome/themes/zhuravlik/theme.lua を以下のように作成・編集
---