2006-11-25

自行定義組合按鍵

軟體一裝多,常常會有一個現象,一些組合鍵常會沖到,或是有些 menu 下的選項根本沒有組合鍵可用,這有時會造成使用上的不方便。

目前在 GNOME 下的軟體有些在軟體內可自行定義,那麼那些沒這種功能的怎麼辦呢?

舉個例子,在 GNOME 下常用的文字編輯器 -> gedit,內定就無法更改或設定組合鍵。

其實這個問題可使用 gnome-ui-properties 這個設定工具來解決,這個程式其實就是位於 menu -> System -> Preferences 中的 Menus & Toolbars 這個選項。

以下是這個程式執行時的抓圖,將 " Editable menu accelerators " 這個項目打勾。



再來以 gedit 為例,看看如何設定或重設按鍵的方法,假設我們想設的組合鍵是 ctrl+shift+I,參考以下圖型。



以下這張圖看出沒,這個組合鍵已經設定成功,可以使用了。




在實際應用時,請注意以下情況:

1. 注意不萬和其它的組合鍵沖到,包括該軟體及系統使用的組合鍵。
2. 如想取消該組合鍵怎麼做呢?參考第二張圖表按 del 鍵即可取消。
3. 建議最好在設定完後將 gnome-ui-properties 的該項功能取消掉,以免他人或自己誤按,導致一些奇怪的按鍵組合,取消該功能,並不會將你設定的組合按鍵取消,這點可放心。

[一]談談 gedit 的 plugin

常寫程式的人,有一個容易上手的編輯器是很重要的,而每個人都有不同的看法及喜歡的文書編輯器。

說句丟臉的事,很多人覺得好用的 vi(m),我一直用的很不習慣,雖然這幾年來試了許多次,也下定決心了幾次,想好好將它學好,但它一直打擊著我的自尊,讓我一直懷疑我的 IQ。直到現在,我也只在文字模式下使用這個 vim,來做一些簡單的設定檔編輯。

後來也就想通了,其實有些事情是講究結果的,只要將想完成的工作做好了,我想沒有人會去 care 你是使用什麼工具的。

也想到一個問題,很多人都建議進入 GNU/LINUX 的世界要從文字介面開始,對此我持不同看法,有心人自會去追尋更深一層的境界,但對一般只想入門或是很單純的 end-user 來說呢?

使用電腦的目的是什麼呢?快速、有效的完成你想做的工作,而且基於最短的學習曲線,完成自己可接受的工作效率。

我想不是每個人都想要成為一個電腦玩家,而只是想單純的當個電腦使用者。

離題了,速回..

話說這幾天一直在試 gedit,為啥,一來這是 gnome 內附的文書編輯器,二來試著試著也玩出了一些小小的心得。

有人會說某某軟體的功能比這個 gedit 強,沒錯,但青菜蘿蔔各有所好,這不在討論之內。

言歸正傳...

在 gedit 中有很多不錯的擴充功能,以後會陸續 po 出來。

gedit 內我們可借由 plugin 來擴充其功能,除了一些內建的之外,不妨使用 synaptic 安裝一下 gedit-plugins 這個套件,在其中有一些不錯的 plugins。

像下圖是我目前使用的一些 plugins,當然你的情況一定和我的不一樣,我還裝了、試了網路上的一些 plugins。



在使用時,最好一個一個慢慢試,看看你的 menu 中多了那些功能出來,另外就是如果從網路上抓回的 plugin,請放在個人目錄下的 .gnome2/gedit/plugins/ 這個目錄下,剛開始時,你絕對看不到這個目錄,請自行建立一下。而且記得,裝完這些抓回來的 plugin 時,記得重新啟動一下 gedit 並到上圖中去 active 它。

以下舉個例子,在一般的文書編輯器,一些如刪行、刪字、刪至行尾..的功能都沒有,這樣效率真的很差,在以下 gedit 的官方網址中有一些不錯的 plugins。

http://live.gnome.org/Gedit/Plugins

假如我想抓以下圖中的 Advanced editing 這個 plugin,來加強我的編輯效率。

http://live.gnome.org/Gedit/AdvancedEditingPlugin



請將抓的檔案放在 home/.gnome2/gedit/plugins/ 這個目錄下,並記得重新啟動 gedit,以讓它抓到這些 plugin。

然後在 gedit 的 menu -> Edit -> Preferences 中的 plugins 這個 tag 中是否多了這個 "Advance Editing" 這個東東,記得將它打勾,也就是將它 active。



在你的 gedit 的 Edit menu 中是否多了這些項目。



一般 plugin 都是使用 c 或是 python 寫的,大部份都是使用 python 開發的,在上述的網站上有一些參考資料,有興趣的朋友可參考一下。

2006-11-24

用英文來打中文字

gcin 是個人非常喜歡的中文輸入法,今天突發奇想是否可用英文來打中文字串呢?

我想大家對於英文或多或少都認識一些,例如印表機這個字,其英文為 printer,那麼是否在倉頡下用 "printer" 呢?甚至打出更多的相關字?

於是試了一下,首先在個人的家目錄下的 .gcin 在網路上找了 gcin 的 cj.cin 這個檔案,加入以下:

###
# 超過五劃之字串
###
printer 列表機
printer 印表機
printer 列印設備

ps: 以上的 # 代表註解

然後使用 gcin2tab cj 這個指令將 cj.cin 轉為 cj.gtab,見下圖,由於有超過五碼的情況,所以會有以下的情形:



下圖是使用 gcin 打倉頡 printer 時的抓圖。



會有這個想法,來自用英文打中文方便多了,我想應該可大輻度的增加輸入的速度,同時又不用記一些奇奇怪怪的編碼方式,更可用來學習英文,真可謂是一舉數得。

另外,gcin 最多可到幾碼呢?我的實際經驗是 10 碼,如超過 10 碼以上,無法將 .cin 編成 .gtab,不信你可試試,不過 10 碼一般來說已夠用了。

好用的 mail notifier -> checkgmail

如果你也是使用 gmail,有沒有一個好用的 checker 或者 notifier 呢?當有信件進來時會主動提醒你呢?

在 UBUNTU 的 package 中使用 "mail checker" 或是 "mail notifier" 來查詢,可以發現約 4-5 個相關軟體,不過我覺得這個 checkgmail 最好用。

1. 能在 systray 中顯示
2. 能夠不打開 gmail 的網址就能自動做一些基本的維護,例如刪除信件、標示為己讀..等等功能
3. 以不同的顏色顯示狀況,如有信件進來時以紅色顯示,連不上主機時以另一種顏色表示
4. 可自由設定檢查的時間區隔

你可以使用 synaptic 來安裝,安裝完畢後,直接執行(按 alt-f2 再輸入 checkgmail),在你的 systray 中就會有以下的圖示了。將滑鼠移到這個圖示上會顯示你的信件狀況,如按左鍵打開瀏覽器進入到 gmail 的畫面,按右鍵則會出現一個下拉式選項。



下面這張圖是當我們按右鍵時選 preference 時設定的畫面,滿簡單的,自行試試。



以下這張圖則是當有信件進來時,圖示變成紅色,我們把滑鼠移到圖示(不要按任何滑鼠鍵)出現的畫面,看到沒,即使我們不進入 gmail 網站,也可以做一些信件維護工作。



有沒有能一開機或登入時就自動打開這個程式的方法呢?只要執行 menu -> System -> Preferences -> Sessions 這個程式,然後選 Startup Programs 這個 tag(標簽),將 checkgmail 加入(如下圖),下次開機或重新登入時就會自然啟動了。




如果你是 gmail 的使用者,建議裝一下這個程式,滿好用的。

2006-11-18

在 nautilus 中加入顯示檔案說明的功能

在 GNU/LINUX 中有個指令 file 可用來說明檔案的相關資訊,不過這是個 command line 下的指令,如果在我們使用 nautilus 時也能有這個功能,那就很帥了。

其實在 ~/.gnome2/nautilus-scripts/ 這個目錄下,我們可加入一些自己寫的 script 程式,以本例來說,寫一個 File type 的 script 程式,並放在 ~/.gnome2/nautilus-scripts/ 目錄下, 那麼當你在使用 nautilus 按右鍵時,會出現以下的畫面,看到沒,彈出的視窗多了一個 Scripts 這個項目,在此項目內有我們所寫的 File type 這個用來加強 nautilus 的 script 程式。



下面這張圖是程式碼,寫完後請將此程式放在 ~/.gnome2/nautilus-scripts/ 這個目錄下,並將其設定為可執行。



這個程式是使用 php-cli 來寫的,並加上內含 file 及 zenity 程式,說明如下

1. array_shift($argv);

$argv 是參數,當我們選取檔案時,會自動加到這個一維陣列中,不過因為第一個參數是程式本身,所以必須使用 array_shift() 來去掉。

2. $tmp_filename = `file -b "$filename"`;

這是結合 php 和使用外部指令的寫法,當在 php 內要使用外在指令時,需加上 ` ...... ` , 這個符號位於 esc 鍵的下面。

為何要用 "$filename" 這樣的方式,而不用 $filename 呢,主要是有些檔案內有空格。

3. `zenity --info --title="$filename" --text="$tmp_filename"`;

這是使用 zenity 這個指令,來借用其 gtk 的 gui 功能,這個指令很好用,在 UBUNTU 中也有安裝,可使用 zenity --help 來了解其用法,或是在 gnome 的 help (按 f1)中,用 "zenity" 這個字串來 search,裏面有圖文並茂的說明,相信看了後很快就了解其用法了。

以下這張圖就是執行時的畫面。注意到沒,我選了三個檔案,這是最後一個檔案 fuji 顯示的 file 資訊,雖然沒有附加檔名,但一樣可抓出這是個 png 格式的檔案。



最後,為何要用 php 來寫呢?用 sh 來寫可能效率會比較好,但說實話,前一陣子,試了不下十幾種語言,搞得腦筋有點給它亂掉, php 可做到的,就用 php 來寫吧!

2006-11-17

在 UBUNTU 上建立 php-gtk2 的環境

php 這個語言除了可拿來寫網頁外,其實也還有 cli(command line interface)及 cgi 的模式,只要我們安裝了相關的 package 後, 都可以很方便的使用這些東東。

php-cli 是什麼呢?相信大家可能了解 python、ruby、lisp … 這些語言,而 php-cli 就是類似的工具,它可以讓你很方便的利用 php-cli 來寫一些類似用 python、ruby‥的描述語言程式。

它有什麼好處呢?想想是否可拿來寫一些 shell 程式來幫助日常電腦方面的管理。

現在 "簡單就是美",發揮一個語言的最大效益 ,不但具有效率性,我想也可省掉很多重覆學習的時間,而這對程式人員來說是很重要的。

在 UBUNTU 6.10 版中,建議使用 php5 這個新功能 php(其實也不算新啦),而不要使用 php4,所以請你先安裝以下的東東。

為了要方便編譯及使用 php-gtk2,建議再安裝以下的 2-3 項(其實不安裝根本無法編譯 >_< ,所以一定要裝啦)。

① php5-cli
② libglib2.0-dev
③ libgtk2.0-dev

安裝完以上套件後,你的 php5-cli 基本上就具有執行 gtk2 的能力了,不過在 ubuntu 中並沒有 php-gtk2 的套件,我們必須自行下載、編譯及安裝

● 先到以下網址抓相關檔案

http://gtk.php.net/do_download.php?download_file=php-gtk-2.0.0alpha.tar.gz

將之解壓縮後進入該目錄建行編譯的工作。

# cd php-gtk-2.0.0alpha

# ./buildconf

以下之所以要設定 prefix=/usr,是想將產生的 php_gtk2.so 放在 php5-cli 內定的 /usr/lib/php5/20051025/ 這個目錄之下,如果沒這樣設,會安裝在目前目前下的 modules 下。

# ./configure prefix=/usr

# make

# sudo make install

這樣就編譯、安裝完成了。

● 修改 /etc/php5/cli/php.ini

由於我們不是使用 apt-get(或是新立得)安裝的,所以可能 php 會找不到 php_gtk2.so 這個檔案,所以最好在 php.ini 最後加入以下這兩行。

extension=php_gtk2.so
extension_dir=/usr/lib/php5/20051025


----

經過以上步驟,你的 php-cli 就可以拿來寫一個 gtk2 的 gui 程式了,這實在有點給它帥。雖然說目前 php-gtk2 還是 alpha 版本,但我想相較不久前只有 for windows 的版本的情況下,情況已好很多了。

要在那學習 php-gtk 的程式設計呢?

第一當然是 http://gtk.php.net/ 這個官方網站,另在對岸的 http://www.phpgtk.net/view_article.php?id=1 這個網址中,也有一些入門的教學,值得大家看一下。

試著跑幾個例子,你真的會覺得使用 php-cli 來寫 gtk2 的 gui 程式不是件難事。

2006-11-16

夠了,台灣的記者‥

我一向很少看電視新聞的,一來是自己聽力問題,看那些記者口沬橫飛,一付捨我其誰的怪樣,實在有些給它受不了;二來也是台灣的新聞或是記者的水準真的讓人不敢領教。

我想記者也應該是高知識程度者,但為何老是在做那些鳥事呢?是心中無來由的正義感使然?還是上面給的收視壓力呢?

我想君子有所為有所不為,別忘了記者是件神聖的工作,不要妄自菲薄,自我貶損。

一些記者鬧的笑話真的是 "磬竹難書",讓人啼笑皆非,像前幾天看到一個新聞,一家女主人過世了兩週,其不幸智障的小孩在家也守在身邊兩個星期,本是件讓人不忍的事,知道那位採訪記者如何訪問的嗎?居然問相關人員:兩個禮拜了,那不是很臭。

真是給她打敗!一點同情心都沒有,如果當事人(死者)是那位記者,作何想法,真不知這些記者的悲憫之心何在?是否被狗啃了(狗啊,原諒我拿你來當例子)!

又這一陣子,搞得灰頭土臉的台灣之子陳水扁及辜家,在陳水扁出席某個場合時,居然有白目記者問是否會幫助辜家脫離困境(辜家兩位少爺的官司),真的是夠了。

再看一下下列網址的影片吧,當然記者之間很有默契的,一些敏感的畫面我們很難看的到。

http://blochy.com/lancetw/blog/archives/2006/08/15/125/

也難怪,在網路上有人說記者->妓者(我想有些貶低妓者身份,畢竟人家賺的是苦肉錢),或是另一種文化流氓,不是沒道理的。

看到影片中那些記者的樣子,真的很想 "問候" 他們一下。

加速你的 OpenOffice

OpenOffice 眾多人認為的一個缺點就是開啟的速度太慢了。在 2.0.4 的版本上,似乎有點改善,是否還有更好的方式呢?

其實在 2.0.4 的版本中有一項功能可加速你的 OpenOffice 開啟速度,請參考下圖:首先開啟 menu -> Tools -> Options 中的 OpenOffice.org 的 Memory 設定,將 Enable systray quickstarter 打勾(checked),然後你再開啟相關檔案看看,速度是否變快了。



設定這項後,在你的系統匣中,是否多了一個 OpenOffice 的圖示呢?



將滑鼠移到這個圖示後,按下滑鼠鍵(左右鍵皆可),是否有一些不錯的功能呢?多少對日常操作上有些幫助。



我想在 ms 的 office 上早就有這個功能了。OpenOffice 2.0.4 之前的版本有無這個功能我不清楚,但我查了 OpenOffice 的 help 檔案,並無相關的說明。

2006-11-13

在 firefox 上使用搜尋的技巧

搜尋資料在目前電腦應用上是一個重要的工作,在以下的這個網址,你可以看到很方便的使用鍵盤來快速的搜尋資料。

http://linuxtoy.org/archives/firefox_search_tricks.html

那麼如果想用滑鼠呢?

其實也是很方便的,首先先用滑鼠選擇你想要的搜尋引擎(如 google),然後在網頁上做一個想找的 "字串" mark(選取區),再將這個反白的 mark 用滑鼠左鍵拖到搜尋的視窗即可。

這種方式會在目前的網頁開啟搜尋的結果,如果想重開另一個 tag(標簽),在拖放時加上 alt 這個按鍵即可。

請參考下圖:

2006-11-07

轉換 sqlite 2.x.x 到 3.x.x 檔案格式

由於最近重灌系統,其中的 sqlite 對於 php5 的支援也提升到 sqlite 3.x.x 的版本,所以想將本站的版本也轉換到 sqlite3 的版本。

但是 2.x.x 和 3.x.x 的檔案格式是不相容的,這中間要如何轉換呢?

在 sqlite 的官方網站可找到相關的資料,只要:

$ sqlite OLD-DATABASE . dump | sqlite3 NEW-DATABASE

其中,OLD-DATABASE 代表原先 2.x.x 的檔案,NEW-DATABASE 是所想產生的 sqlite3 格式的資料庫名稱。

其實這個網站使用一年多的時間了,一直都是使用 sqlite 來架的,沒發生任何問題。而個人喜歡它的一個主要原因就是它沒有像 mysql 般的主從架構,而只有一個檔案,這樣是不是精簡很多。

像最近也想學一些新的語言,相中了 ruby 或是 python,在分別使用各一個多星期後,最後還是決定使用 python(原因日後再談)。目前 python 也有很多的 web framework(用來架設網頁的工具,可簡化時間及精力),像是 Django、TurboGears .. 等也都支援 sqlite,這也代表著 sqlite 受到很多軟體開發者的重視。

有個想法,很多主流的東東,可能並不真的適合自己,找出最 match 自己的,而不迷失在潮流中,是一件非常最要的事。

畢竟自己的路是自己要走的,而且要對自己負責。

2006-11-04

IE7 和 Firefox 的一些比較

這一陣子,ie 和 firefox 都分別有了最新版本,於是就有個連想,它們之間的比較如何,是否有一個較客觀、公正的測試。

今天在以下這個網址看到了這方面的資料,不妨參考一下:

http://taiwan.cnet.com/cnetlife/digilife/0,2000079913,20111207-1,00.htm

2006-11-01

search 多個檔案中符合某字串的工具 -> Sagasu

寫程式的人在維護程式時,可能有個痛苦。就是往往在幾十或是幾百個程式中,找到想修改的地方,同時最好能方便開啟該程式,如果能跳到想修改之處,那就太幸福了。

以前我都是使用 grep 來做這項工作的,但像上而言,有些功能無法做到。

有沒有這樣的程式呢?試試 Sagasu。

這個字在日文的意思是 "to search",個人覺得它有幾個方便之處:

請參考附圖。

1. 可設定多個 search tab,能讓你在不同的 tab 中 search 不同的東東
2. 在找到目的後,能經由指定的編輯器打開,最好能自動 jump 到該處



關於第二項,要強調的是,我們可透過在編輯器指令後加上 +%n 及 %f 來達成這個目的,%f之意就是檔案,+%n就是行。不過並不是所有的 editor 都支援 +%n 這個參數的,像 leafpad、geany 都無效,會忽略這個參數,而 gnome 的 gedit 則可正常使用這個參數。

這個程式使用起來很簡單,我們可透過 synaptic 來安裝 Sagasu。安裝完後在 menu -> 應用程式 -> 附屬應用程式 中就有這個項目了,如下圖。



下張圖則是,找到符合的資料後,用所指定的 editor -> gedit 開啟該檔的畫面,個人覺得這是個不錯的程式,大家不妨試試。

兩則有關 "網路 video" 方面的消息

昨天在網路上閒逛時,無意間看到兩則有關 "網路 video" 方面的訊息。

一是有關 ubuntu 方面的,這個網站看起來還滿新的,內容主要是一些有關 ubuntu 方面的教學 video,你可以線上看(解析度較低),也可將相關檔案 dl 回來研究。

內容多是針對新手所做的,不過也略具參考價值,當然你也可以免費參加會員後,將自己的影片 ul 上去。

以下是網址:

http://ubuntuclips.org/

另一則則是有關 google 方面的。如同 "阿甘正傳" 內的一句話 "人生就如巧克力,你永遠不知道下一個會是怎樣的味道",同樣的使用 google,常會發現一些奇奇怪怪的東東,像現在要介紹的 google video。

如果你是 google mail 的使用者,連帶地連同一些其它 google 的產品般,你也可以免費使用這項產品。

附上網址及抓張圖:

http://video.google.com/