興味がない人には意味不明にだらだら長い文。(笑
興味がある人にはまとまりのないだらだら長い文。(笑
ごめんね、いつも通りです。(^^;


そこそこawesomeの改造できてきたので、偉そうにやり方を書いてみます。

~/.config/awesome/rc.lua
これの中身の話ね。



◆最初は時計表示を変更しよう
あれこれ改造していくとき、書式がおかしくて自分の設定がはじかれて基本状態になることも。
見た目が完全に一緒だと自分の改造がうまく通ったのか不明なときがあります。
なのでまず最初に時計表示を変更です。
mytextclock = awful.widget.textclock( { align = "right"},"%m/%d %H:%M",10)
最後の10は、10秒おきに表示更新の意味っぽい。
ネットで調べると0.5秒おきの設定の人もいますが、私はだいたいでいいです。(^^;
ともかく基本設定とは違う状態にしましょう。


◆タグに名前を付けて数を制限
仮想デスクトップ画面が最初は9つありますが多過ぎ。
とりあえず3つにしましょう。
tags = {
names = { "-work-", "-net-", "-tmp-" },
こんな感じでタグに名前を付けつつ、3つに制限。
実際には9つを超えてもawesomeは動作しますがショートカットが足りなくなります。
あとレイアウト変更ボタンも消える。デメリットはそれだけ。
画面数を誇りたいなら12でも作るがいいさ。(笑
まあ、私は一度にあれこれ出来ないので3つで十分です。


◆起動直後は仮想デスクトップの真ん中画面が良いんだ
スタートアップに。rc.luaの最後に書いておけば実行してくれます。
awful.tag.viewonly(tags[1][2])


◆メインバーの太さを変更
awesome本体にコマンドランチャーが含まれているんですけどね。
途中で補完してくれるdmenuのほうが楽なので、それを導入。
ですがawesomeのメインバーとdmenuの表示の太さがあってない!
xmonadなら幅がピッタリなのに、これはけしからんな。
dmenuでも設定出来るのかも知れないけど、awesomeのメインバーは
xmonadのそれよりも少し太め。
レイアウトを細かく変更するのも嫌なのでawesomeを細くしよう。
mywibox[s] = awful.wibox({ position = "top", height = "15", screen = s })
まんなかあたりのheight="15"を追加。
細くするとテーマフォントが12とかだと下が少し表示されなくなります。
まあいいか。
通知とテーマフォントを別々に出来ればいいんだけどなー。


◆キーバインドの変更
Alt+Ctrl+Delはawful.key({ "Mod1","Control" }, "Delete", という表記。
Fnキーはそれぞれのキーボードからの特殊な入力らしく、Fn+F4とかでは認識しない。
$ xev
これで実際に押してみて、"XF86~"と出てきた文字で設定すれば良いみたい。
awful.key({ "", }, "XF86Sleep", function () awful.util.spawn("gksu pm-suspend") end),
私のは上記のFn+F4でサスペンドなんですけど、XF86Sleepと書くことで認識されました。


◆バッテリーの通知がほしい
awesomeのサンプルがたくさんある場所にバッテリーウィジェットもたくさんありました。
でも面倒なので自分のパソコン内部を検索して見つかったものを追加。
xfce4-power-manager
です。(^^;
Lubuntuのときもたぶんコレね。
スタートアップに書いておけばいい感じ。


◆Wifiの通知もほしい
同上。(笑
nm-applet
便利なんだけどあれこれ追加するだけメモリ消費が大きくなるんだよね。
やっぱりawesomeのウィジェットにしたほうがいいのかなぁ。
/usr/share/awesome/lib/obvious
ここにあれこれあるから多彩な機能を追加できるっぽい。GPSとかもあるぞ。
でも例に書いてある場所が全部英語、よく分からないプログラム言語の話だから
なにがなんだかよく分かりません。(笑


◆ランチャーボタンを追加
Windowsのクイックランチャーみたいなやつを追加。
ぽちっと押せばFirefox等が起動ってね。
firefoxlauncher = widget({ type = "imagebox" })
firefoxlauncher.image = image("/usr/share/app-install/icons/firefox.png")
これを「mylauncher =」と定義している近くに書いて。
-- I added the followings.
↑この行の下あたりに
firefoxlauncher,
ってのを書く。あとは、
firefoxlauncher:buttons(awful.util.table.join(awful.button({ }, 1, function () run_or_raise("firefox",{ class = "Firefox" }) end)))
これを「clientbuttons = 」の近くに書く。
これでFirefoxのアイコンが出てきて、クリック1つで起動します。
function run_or_raiseを定義しているのでコレ。無いならawful.util.spawn("firefox")ね。

Run or raise
http://awesome.naquadah.org/wiki/Run_or_raise

firefoxlauncher = awful.widget.launcher({ image = image( "/usr/share/app-install/icons/firefox.png"),command = "firefox"})
これでもランチャーを定義出来るんだけど、commandかmenuしか記述できないみたい。
functionも実行できれば、上みたいな面倒な書き方をしなくて済むんだけどね。

awesomeはバージョンによって設定ファイルの書式がかなり変化するみたい。
別バージョンなら上記の書き方が出来るかもね。


◆閉じるボタンを追加
キーボードから手を離さずに操作するためのタイルウィンドウなんだけどね。
でもわざわざ閉じるボタンを表示するのも無駄な感じ。なので
mytextclock:buttons(awful.util.table.join(awful.button({ }, 1, function () client.focus:kill() end)))
これを
clientbuttons =
↑の近くに書いておきます。上のfirefoxランチャーと同じ。
直感的なものとズレますが時計部分をクリックすればフォーカスのあるウィンドウが閉じます。(^^;
メインバーを太さ15にするとアイコンが小さくてね。(笑


◆画面回転トグルのランチャーを登録する
上の閉じるボタンと同じ感じで「rotate」といった文字をクリックすると画面が回転。
回転そのものはシェルスクリプトを利用。詳しくは過去の記事にて。
http://blogs.yahoo.co.jp/pentacle_cat/66601251.html

widget定義の場所に
rotatetext = widget({ type = "textbox" })
rotatetext.text = 'rotate'

widet登録の場所に
rotatetext,

「clientbuttons =」の近くに
rotatetext:buttons(awful.util.table.join(awful.button({ }, 1, function () awful.util.spawn("/home/Linux/script/xrand_nr.sh") end)))

これでrotateの文字をクリックすると画面が横になったり縦になったり。


◆awesomeのメニューが細かすぎる
これはテーマの記述を変更します。
前は/usr/share内部のファイルを直接変更していましたが、homeディレクトリにコピーしました。(^^;
theme.luaの真ん中辺りの数値を変更します。大きさは好みで。
theme.menu_height = "32"
theme.menu_width = "180"
これでどどんと大きく表示されます。
これ、左上の「a」マークをクリックか壁紙を右クリックでも出るのですが、
画面の右側で右クリックしてもメニューは必ず右へ行こうとします。
ウゴウゴルーガのしかと。ぐいぐいぐいぐい。(謎
空いている方へ、場合によってはジグザグに表示される方が良いような。





これでなんとなく、なんとなくですが「タブレット端末」っぽくなります。(笑
馬鹿馬鹿しいぐらいに重いUnityがLinuxの良さの1つである軽快さを損なっています。
操作方法が当然違いますが、同等な環境を爆速で叶えてくれます。
ランチャーもキーバインドもrun_or_raiseで書けば、書き方は複雑になるけどもっと便利になる。
タイル型ウィンドウだからUnityよりも独特になるけど、タブレットとの相性も良いハズ。
タブレットを意識して画面回転トグル機能を持たせています。
Nexus7のジャイロはUbuntu化しちゃうと使えないらしいし。



Xmonadでも考えてみたのですが。
初期状態で仮想画面(タグ)の部分をクリックしても移動してくれない。設定次第だろうけど。
そして最大のデメリット。Haskellという言語をインストールしなければならない。
300MBの追加は大きいね。
パソコンならともかくタブレットの比較的小さなストレージを300MB余計に消費ってのはね。
なので私はXmonadではなくawesomeを選びます。
あと、Luaでさえ手一杯なのにHaskellまで手を出すのは面倒臭い。(笑


パソコンと違ってタブレットだとメモリが少ないので、使うソフトウェアの消費メモリ量は
少ないほうが絶対的に有利になります。
UbuntuのUnityのメモリ消費は多すぎ。重いし。使いにくいし。いいとこなし。
初期のUnityはもうちょっと軽かったような気がするんだけどなぁ。



この環境をNexus7+Ubuntuでやってみたいんですけどねー。
メモリ1GBだしメモリスロット無いしどうしたもんかなーって悩んでいる間に
新型Nexus7の噂が流れて今月発表のハズなんだけど。
まだ噂しか流れてないよー。どうなってんだよー。(笑
そしてその新型Nexus7にUbuntuは対応してくれるんかなー。

いま使っているパソコンがあちこち故障してきているから変えたいんだよう。
壊れてからじゃ遅いんだよう。
安全見てノートパソコンを買い換えて、新型Nexus7にUbuntu対応ってなると後悔する。
結局待っていてもUbuntuが対応してくれないかも知れないし~。
現行Nexus7でも使っているパソコンより処理能力は上なんですけどねー。