2011年2月24日 星期四

Mock-up of Auto-Config of External Monitor on Linux

The following image is the UI for setting auto-config of external monitor. I had spent a few minutes on tracing the code of nvidia-setting and added a button on it. The dialog is displayed at the clicked of apply button. Once you click the Set Auto-Config button, the app saves the setting into file system and confirms the choice which equals ok button.

That's the start of this project. But I may be busy after March. Hope I can finish it before April.


2011年2月22日 星期二

Auto-config of External Monitor on Linux

It is so strange that Windows and Mac OS X both have the ability to auto config the external monitor on plugging in, but not in Linux. It should not be hard to implement it. And it is so convenient to have this kind of service.

In my environment, I use a Lenovo T410 notebook with NVidia display card. This card only supports the nvidia-settings to configure the external monitor instead of Screen Resolution. I don't know if Screen Resolution has the ability to auto config it, but I do know the nvidia driver doesn't support it.

The nvidia-settings coming with Ubuntu restricted driver has the good interface for configuring external monitor. After investigation, it is released with GPL license. So, it is possible to add addition button to dump the setting of the combination of LCD and external monitor and to auto config it while the same external monitor is plugged in.

The auto config service can use the code of "Apply" button and the restored screen settings to change the monitor settings while the same monitor is plugged in. The screen settings should use the name of LCD and the external monitor, ie LEN + Philips 47PFL5609D, as the key. Once a monitor with the same name is plugged in, the auto config should know it and auto apply the screen settings for them.

If I have free time, I can modify the nvidia-settings app to add the "Auto-Apply it" button and write the program to auto detect the change of external monitor.

2011年2月21日 星期一

HTC Tattoo WIFI 掃描找不到任何 AP 之解法

是的, 福克斯最近經常拿著 Tattoo 刷來刷去。一個不小心發生了 WIFI 沒辨使用的情況,它的特微是:

1. WIFI 打開,但找不到任何可以用的 AP。
2. WIFI 打開,即使之前有使用過的 AP 也會被當成沒看見。

當發生這個情況的時候,福克斯馬上開始 google,後來發現了這篇文章:

它裡面有教如何在不 root 的情況下修正回去,但是,福克斯的 Tattoo 早就已經 root 過了,所以無法測試它是不是真的可以在『不 root 的情況下』修正回去。

經過 google 過後,其實這個問題的主因是 WIFI 在設定的過程中,把一個暫存檔給改壞了(冏rz, 這種情況應該算 bug)。

所以只需要把這個壞掉的檔案給刪除,再讓它重建就可以了。

Tattoo 的檔案正確位置是在:/data/misc/wifi/wpa_supplicant.conf (與上述網址的檔案有些差異)。老實說,福克斯也很驚訝這原 po 可以在沒有 root 的情況下看到這個檔,因為在沒 root 的情況下,/data/ 資料夾底下的檔案應該是全看不到的才對。如果看得到的話,應該算是 bug。

另外,由於這個檔案會自動重新產生,所以將它刪掉之後,Android 會從 system 的資料夾中複製一個檔案過來。只是,它複製過來的檔案,並不會有先前的記錄,所以,之前連過的 AP、輸入過的密碼、找到可以不用密碼使用的 AP 都全會消息。但是,為了讓 WIFI 可以再度使用,這些應該不算什麼才對。

HTC Tattoo - Gingerbread ROM (Android 2.3) 現況,非刷機 (目前不建議刷)


==== 這篇已經過期了...目前,福克斯已經改為建議參考下列文章刷機 =====


近日在XDA上已經出現不少 Gingerbread 的 ROM,當然抱持著福克斯為人人、人人為福克斯的精神。福克斯當然非常勇敢地把手上的 tattoo 刷進這個 ROM。基本上,福克斯是以 Kalim 的 ROM 為主,它也是福克斯推薦的 CM 系列的 ROM。

這個版本的刷機流程跟之前的也有點不同,但最終的結果,福克斯還是建議:先不要刷進這個 ROM。以下是這個 ROM 目前有的問題跟優點:

問題:
1. GPS 無法使用(但已有解決方案)
2. 有些人的照相機依然無法使用
3. 有些人的 APN 會被清除(但可手動建回)
4. 有些人的 MMS 不能使用
5. 電池續航力不足

優點:
1. 運作速度比 Froyo 快
2. 動態桌布不會影響到主程式的速度
3. 福克斯的相機可以使用(不是每個人的都行)
4. 先前電話響鈴會有約 1 秒的時間差,現在已經正常了


從上面的比較看來,優點比缺點多很多。但是,因為福克斯要常開車載福克嫂外出,如果沒有 GPS 就麻煩大了,所以還是不推薦安裝這個版本的 ROM。不過說真的,這個版本目前是RC-0的版本,福克斯還是建議等它穩定一點再進行安裝(到時福克斯也會寫出安裝的文章)。

2010年11月29日 星期一

Set Print Quality of Excel

Recently, Fox spent a few hours on changing print quality of Excel app. After googling some docs, Fox found that the set_PrintQuality of PageSetup API has the capability to do so.

In some examples, they all says that the correct way to call this API is "set_PrintQuality(new object[]{200, 200}, Type.Missing)".

After some testing, Fox found the following way works:
Worksheet wsSheet = (Worksheet)wbExcel.Sheets[0]; 
PageSetup psPrinter = wsSheet.PageSetup; 
psPrinter.set_PrintQuality(objMissing, new int[] { 200, 200 });
The first argument should be missing and put the int array in the second argument.

2010年11月20日 星期六

HTC Tattoo 刷進 Android 2.2 Froyo - 第二發=> SPQRom CM6

SPQRom CM6 也是在 xda 上一個較穩定且多人使用的一個 ROM,大家可以在這個網址中找到原始作者(ivendor)的文章:http://forum.xda-developers.com/showthread.php?t=767049。所以,這篇就會以他的 ROM 為主,刷進另一個版本的 Froyo。在開始這一篇之前,還請大家先參考一下前一篇,關於刷進 fyodor ROM 的流程,因為許多流程都跟它是一樣的。


0. 下載檔案

a. ROM: 從上面的那個網址中可以找到下載的網址,它是:http://www.multiupload.com/Y7CFP5XWAV。它的大小跟 fyodor 的差不多。
b. GApps: 跟前一篇一樣,網址在:http://forum.xda-developers.com/showthread.php?t=796696
c. Market v2: 老實說它是幹嘛的,福克斯也不知道,只是在 ROM 的網址中有看到 ivendor 有放出來,所以就一起下載回來刷了:http://forum.xda-developers.com/showthread.php?t=767049


1. 備份及清除 data 及 cache

最近在看文章,有些人是說刷進 Froyo 的時候,並不需要執行 wipe data/factory res 及 wipe Dalvik-cache 的行為。可是,福克斯認為,由於我們大家都不是 Android ROM 運作的專家,所以還是 wipe 一下會比較好。 wipe 這些東西的目的是在於清除先前 rom 所設定的預設值,及 Android 為了加快應用程式執行速度而產生的 cache。所以,這些東西,如果要刷進不同版本(1.6 => 2.x) 的時候,清除一下會比較好。

因為這邊的動作跟前一篇的方式一樣,所以就用一樣的照片囉... :p


Wipe:

2. 刷進 Android 2.2 Froyo - SPQRom CM6

跟之前的方式一樣,只需要選擇 SPQRom-0.6.zip 按下確定就開始囉,這個動作大約會耗掉 1 分 30 秒的時間可以完成。



3. 加刷 GApp-tiny 及 Market v2

老實說,福克斯在第一次刷的時候,忘了這件事,所以,又再補刷一次。不過,大家可以在刷完 Froyo 的時候,就直接刷這兩個 zip (這算是應用程式的安裝,並不算是 ROM 的更改)。

這個動作比較重要的是:一定要先刷 GApp 再刷 Market v2。因為 GApp 中有原版的 Market 程式,而 Market v2 一定是用來修改 Market 的設定,讓大家的 Tattoo 可以看到之前看不到的應用程式。

4. 重新開機=>第一次進入 Froyo

重新開機約 1 分鐘的時候,可以看到下面這個開機畫面:


大約過了 2 分 12 秒 (含先前的一分鐘),就可以第一次進入 Froyo 了。前面的設定畫面福克斯就不再多說了,不福克斯這次並沒有遇到鬼擋牆的情況就是了。下面這個畫面就是進入 Froyo 的畫面。


5. 總結

跟 fyodor 的版本相比,福克斯看來它有下面這三個特點:
a. 許多客製化的畫面,看起來還不錯。



b. 多了 ADWLauncher 及 CyanogenMod 兩個選單,還滿好的,只不過它只有英文版的畫面,對一些英文不好的朋友可能會有些不方便囉。



下面是在改語言的時候發現已經被灌了日文跟谷歌的輸入法:

c. 當啟動 Live Wallpaper 的時候,感覺用起來比 fyodor 的版本還慢。這不知道是不是因為兩個 ROM 預先安裝的應用程式不同的關係。所以這部份,還請大家自己去感受一下囉。

來一張撥 YouTube 的畫面當作結束:

2010年11月15日 星期一

HTC Tattoo 刷進 Android 2.2 Froyo - fyodor ROM


刷 2.2 的文章又來了,沉漠了一段時間。福克斯真的很忙,忙到一整個不行。最近,福克斯又開始刷機器了。從 XDA 的大神們那邊,福克斯找到了一些 2.2 的 ROM。所以,最近有時間的話,會開始一系列刷進各種不同版本的文章。

首先,第一個要刷的是對岸的高手 fyodor 的版本,他也是第一個將 android 2.2 帶進 tattoo 的高手。所以,就以他的 ROM 當作開始....


0. 準備檔案

下載 ROM:http://forum.xda-developers.com/showthread.php?t=644616 (福克斯下載的是 0.7.2c的版本)

下載 gapp:http://forum.xda-developers.com/showthread.php?t=796696 (每個版本都行,但福克斯等下用的是 tiny 版)

1. 進入 recovery mode 進行備份


跟先前一樣,要按下 [Home] + [Power] 鍵進入 Recovery Mode。

接著從 [Back/Restore] 中進行 Nand 的備份。

2. 刷進 Android 2.2 Froyo

跟上次一樣,在刷進去之前,也要先 wipe 一下 data/cache等等...

接著,就進入刷機選單,福克斯之前先把 v0.7.2 的 rom 改成 update.zip,所以這邊先選擇 update.zip 檔(約1m 17s):

接著刷 gapps 檔(約10s):

3. 重新開機進入 Froyo

接著就是重新開機了。

大約等待約 1m 大家就可以看到紅眼的畫面了:

總共等了快 2 分鐘後就可以進入安裝畫面,老實說,福克斯也不知道為什麼會出現這個畫面,應該是 gapps tiny 版搞的鬼。因為之前福克斯有刷過沒有 gapps 的版本,不會出現這個畫面。

在福克斯選擇 [Setup Wizard] 後就出現傳統的 Google Account 的設定畫面了,相信大家應該知道怎麼操作,在此就不再多做介紹了:

在這次的安裝中,福克斯遇到鬼擋牆的事情,也就是這個 Google Account 設定畫面一直重複出現,後來遇到這個 Setup Wizard Crash 的大好良機,就讓福克斯逃離這個鬼擋牆的問題。不過,老實說,福克斯這個版本刷了三次,只有一次遇到這個情況,逃離後,也沒有對使用造成任何的影響。

接著就是進入 Froyo 了....真是爽啊....

看一頁版本畫面是一定要的啦:

4. Live Wallpaper

進到 Froyo 後,當然要啟動一下它的 Live Wallpaper 了。在啟動前,福克斯設定了一下 WIFI 進入 Android Market 下載了一個免費的 Live Wallpaper。


啟動後的畫面,真是一整個爽啊,大家看,那顆地球會自已轉哦,而且還能用手去讓它轉快一點(當然福克斯知道這是一張靜態的畫面啦,大家看不出來的囉)。

5. 總結

這個版本算是已經出來很久的版本,而且很穩定,經過 XDA 的大神們的測試,只有 Camera 及 FM 不能用,其它的功能都能用。

效能面來看的話,這版本的速度真是沒話說,一個字『快』(尤其是沒有安裝 gapps 的情況下,真是快到一整個不行)。不過,啟動 Live Wallpaper 後,它的速度就跟 Android 1.6 的差不多了。

Bluetooth 部份,照 XDA 的大神描述,它是可以使用的功能。可是福克斯試了一下傳檔的功能,它會出現經常性的斷線情況,所以無法正常傳檔。

打電話的部份,福克斯有跟福克嫂在她不知情的情況下通過電話,她也沒發現福克斯已經把手機昇級到 Android 2.2 了(穩定)。

下載 Android Market 上的應用程式部份,這也是順到一整個不行,而且它不會出現 Android 1.6 中福克斯遇到無法下載的問題。

3G 上網部份,由於福克斯沒有 3G 門號,所以也沒辦法測試。這邊還請大家自己試試看囉....

總結:如果大家不大需要 FM and Camera 的話,福克斯強烈建議大家刷進 android 2.2 試試,真的滿好的。