星期二, 1月 26, 2010

讓系統進入待命狀態的快速鍵

我不喜歡設定電腦幾分鐘不使用後,進入待命狀態達到節能的目的,因為常常不用電腦幾分鐘後電腦好不容易進入待命了,又要開始用電腦了。

為了節約能源並且兼顧使用方便性,我研究了一個方法透過鍵盤捷徑(快速鍵)讓我的 Ubuntu 9.10 的電腦可以很快的進入待命狀態(其它比較新的系統應該也適用請自行測試)。

1.首先找到進入待命狀態的指令是 /usr/sbin/pm-suspend,這是 /usr/lib/pm-utils/bin/pm-action 的符號連結。
2.因為 pm-suspend 只允許 root user 執行,所以執行 sudo visudo 在編輯器開啟的檔案中加入一行
your_user_name ALL=NOPASSWD: /usr/sbin/pm-suspend
3.滑鼠點選->選單->系統->偏好設定->鍵盤捷徑->加入,名稱:系統待命,指令:sudo pm-suspend,套用後設定一個喜歡的按鍵組合。

星期三, 1月 20, 2010

解決wvText轉出中文變成星號(*)問題

wvText是wvWare套件中的一個script程式,用來將MS Word檔案轉成普通文字檔。
執行wvText時會先呼叫wvhtml將MS Word檔案轉成html格式,再依優先順序呼叫
elinks、links、lynx、wv或Ware -x wvText.xml
去除html檔中的html標籤

如果電腦中沒有裝elinks,wvText就會改用links,而links如果不加-codepage參數,中文就會轉成星號(*)
而elinks不會有這個問題,而且依wvText的說明elinks轉出的格式也最完整。

所以如果wvText轉出的中文字如果都是星號(*)的話,裝上elinks應該可以解決。

星期三, 1月 13, 2010

Xataface 利用 Cookies 減少重覆填寫基本資料

修改或新增 應用程式目錄/tables/table_name/table_name.php
class tables_survey_y100 {

function beforeSave(&$record){ //存檔前先寫入cookie
$cookie_arr = array('depart'=>'填表單位', 'section'=>'填表科別', 'user_name'=>'填表人', 'tel'=>'聯絡分機');
foreach ($cookie_arr as $id => $value) {
setcookie($id,$record->strval($value),time()+60*60*24*30);
}
}

function block__after_new_record_form(){ //新增資料時讀入cookie值
echo "<script language='javascript'><!--"
$cookie_arr = array('depart'=>'填表單位', 'section'=>'填表科別', 'user_name'=>'填表人', 'tel'=>'聯絡分機');
foreach ($cookie_arr as $id => $value) {
echo "document.new_survey_y100_record_form.$value.value='".$_COOKIE[$id]."';";
}
echo "//--></script>"


ps:大於、小於符號請換成半型

xatafave自訂欄位寬度

xataface目前(1.2.2版)為止不能用調整參數的方式自訂清單檢視的欄位寬度,比較方便的替代方案是增加widget:label的字元來增加欄位寬度,但是中文因為每個字元都可以斷行的關係,並不能利用增加欄名的中文字元來增加欄位寬度。

改善這個問題可以設定 white-space: nowrap; 這個css參數強迫不要斷行。
通常我會希望全網站都套用這個設定,所以直接修改 xataface/plone.css
增加

thead {
white-space: nowrap;
}