ASUS Laptop 上的 LED

我這台 ASUS 的 Laptop M24NE C5PDR 上面有四個 LED 燈,分別代表了 power,
battery, email, wireless ,在使用 windows driver 時會自動控制這幾個燈
號,很幸運的,從 Linux 下面也可以透過 asus_acpi 控制這幾個燈號,例如要
讓 email 燈亮,只要 echo 1 > /proc/acpi/asus/mled 就可以,所以我分
別設定了有新郵件時,讓 mled 亮,搜尋到 AP 時,讓 wled 亮,非常的方便
😉

底下是 wifi led 設定 script:

#!/bin/sh
#set -x
WIFI_STATE=off
TOGGLE=false
trap 'leave' INT QUIT TERM

leave()
{
    echo 0 > /proc/acpi/asus/wled
    echo "Wifi Led Monitor: off"
    exit 0
}
while true
do
    if [ `cat /proc/net/wireless |sed '1,2d'|awk '{print $4}'|bc` -gt 0 ]
    then
        if [ $WIFI_STATE = off ]
        then
            WIFI_STATE=on
            TOGGLE=true
        else
            TOGGLE=false
        fi
    elif [ $WIFI_STATE = on ]
    then
        WIFI_STATE=off
        TOGGLE=true
    fi

    if [ $TOGGLE = true ]
    then
        if [ $WIFI_STATE = on ]
        then
            echo 1 > /proc/acpi/asus/wled
        else
            echo 0 > /proc/acpi/asus/wled
        fi
    fi
    sleep 1
done

又見 IME

lukhnos 用 VBA 黑出了可以在有 VBA 軟體上用的 OV-POJ!! 一時性起,又去找
了些 IME 的資料,看看能不能有比較簡單的方法達成,翻了些文件與 code 以
後,雖然這些文件之前都看過了,但是經過每天睡夢中的消化,今天終於大致上
了解 IME 在做什麼,初步也可以釐清 freepy 、 skkime 等計畫做了什麼,那
些 code 可以參考,下一步就是找時間作實驗,看能不能把 free ime 往前推幾
步,如果能達成以下任一個目標都不錯…

  • ime chewing
  • ime OV
  • ime socket OV

sceenshot: http://www.flickr.com/photos/lukhnos/16119622/

久違了,粗體字

距離上次測試 freetype2-cvs 又過了幾天,今天在 Firefly 的討論區看到又有
新發展,點陣字部份的粗體支援也已經加進去了,而且都是預設 enable 的,表
示下次 freetype2 release 極有可能就有完整的粗體支援了 😀

剛剛興奮之餘,馬上抓了 source 來測試,編譯完之後,又是興奮的重新啟動 X
Window ,真是太棒了,馬上體驗到許多的粗體字,畫面很好看,在此謝謝 Chia
I Wu 與 Firefly 兩位前輩的努力,讓中文的顯示越來越趨近完美.. Clap!!

我用的系統是 Debian ,所以我是以包成 deb 的方式安裝,有興趣的人可以自
己從 cvs source 安裝,或是跟我拿已經包好的 deb 😉

太糟糕了

之前忙了一整天而弄不起來的 2.6.11 看來有希望了,為什麼呢?因為今天一早起來就看到 initrd-tools 的 upgrade ,Changelog 中提到之前的升級不但沒有修好問題反而產生新的 RC bug… 看了一下正是我碰到的問題,那為什麼我之前沒有發現呢?因為這個 bug report 在 BTS 上沒有標題 =_= !天阿… #310316: initrd-tools 等一下再來安裝一次 kernel 試試看… 真是太慘了…

升級失敗..

今天發現 ipw2200 更新到 1.0.4 版,Software Suspend2 也更新到 2.1.8.9
版,Kernel 也已經有 2.6.11… 想說乾脆來更新,結果沒想到這麼難搞。不知
道是不是 swsusp2 patch 的關係,開機以後 initrd 載入都沒有問題,但是要
從 initrd 切到真的 / 時,總會出現無法將 device name 轉為 node number
的錯誤,於是找不到 root 然後開機失敗,仔細追查,問題是出現在 initrd 中
init script 360 到 362 行…

總共重新編譯核心 五次 重新產生 initrd N 次… 累死了,放棄更新 swsusp2
直接把 ipw2200 編譯為 2.6.10 的模組,等下次閒閒沒事作且 2.6.12 出來以
後再來升級看看…

直接由 freetype 啟用模擬粗體

在 freetype-devel 上面看到,似乎有人開始對 freetype 裡面的模擬粗體
有興趣了,既然已經有 code 可以用,試試又何妨?

apt-get source freetype 下載了 freetype 的 code,找了半天不知道該改那
裡才可以 enable 這個功能,最後終於直接在 makefile rule 裡面修改,把
ftsynth.c 也編了進去,然後重編 xft;configure 的時候很清楚可以看到已經
偵測到 FT_GlyphSlot_Embolden 這個 API……

編好裝好之後歡天喜地的重新啟動 xwindow,然後瀏覽幾個有粗體的網頁,嘿,
的確有一些醜醜的粗體了 🙂 但是對內嵌點陣字似乎還沒有效果似的,所以只
有在啟用向量字型後才會看的出來有粗體

對了,Debian 裡面的 Fontconfig 已經先預設啟用 embolden 功能,所以只要
把 freetype、xft 準備好,什麼設定都不用改就可以看出效果 🙂

Patch