星期一, 11月 22, 2010

awesome 變成 reparenting WM 了

半年前嘗試將 awesome 變成 compositing WM, 搞了很久也才能正確畫出各個視窗. 最近重新 pick up 這個計畫, 結果一 git pull 打算開始做的時候才發現 awesome 變成 reparenting wm 了。

所謂的 reparenting 就是在每個 top-level client(window) 的外面加一個 frame window 當作它的 parent, 這個 frame window 則用來畫 border, title bar 等由 wm 控制的元件。原本 awesome 是直接更改 client 的 border 屬性讓  X 自己畫 border, 現在就是變成兩層, 直接設定 frame window 的 border.

這樣一改讓很多原本需要直接做在 client 上的事情現在需要改在 frame window 上.... 看來又要花點時間研究了.

星期一, 11月 15, 2010

awesome wm & naughty & rounded corner

awesome 的 naughty 接收了 dbus desktop notification 然後作成一個個 wibox 顯示在螢幕上, naughty 有預設的設定可以讓使用者在 rc.lua 裡面直接改變顏色的變數。不過最近我看到 awful.wibox 裡面有個 function: awful.wibox.rounded_corners 可以讓 wibox 有圓角,試了一下,可以讓 naughty 顯示的 notification 不再是方方正正:
這張是 radius = 10 的圓角, 比較明顯, 通常這種大小的視窗用 5~8 應該比較適合.


改過的 naughty.lua 在這裡可以下載, 在 rc.lua 裡面可以加上這個設定來控制圓角的弧度:

naughty.config.presets.normal.rounded_corners = 5
或是在使用 naughty.notify 時指定:
naughty.notify({title = "awesome is", text = "AWESOME!!", rounded_corners = 5})
不過還是要說... USE AT YOUR OWN RISK

星期六, 11月 13, 2010

Awesome WM & irssi

換用 awesome 一段時間了, naughty 真的還不錯, 整合了desktop notification (基本上就是從 DBus 把訊息 handler 接過來),今天把之前寫的 irssi pingnote script 改寫了一下, 用 naughty 來顯示。


因為用了 awesome-client, 所以 rc.lua 裡面要有 require("awful.naughty")


irssi plugin:
https://gist.github.com/675259


存成 pingnote.pl 以後, 放在 ~/.irssi/scripts 或是 ~/.irssi/scripts/autorun
以後有人 ping 你看起來會像這樣 (右上角) :


還蠻融入 awesome 本身的 theme, 看起來蠻統一還不錯 (自賣自誇..XD)