google code-beautifer

星期六, 4月 08, 2006

Skippy -- 快速視窗切換應用程式



前言



新的Mac OS X 中的 Expose' 功能可以讓使用者在同時開啟很多視窗時,可以很容易的找
到所需要的特定視窗。那在Linux下呢? Skippy 就可以提供類似的功能。

這有何重要性呢?為了提高工作效率,有一些電腦使用者往往在電腦桌面上同時開了一
大堆視窗,然後在裡面切來切去。像我自己一開機就會開8個視窗: Gaim(即時通
訊), Skype(網路電話), Gnome-terminal(遠端電腦控制), Evolution(行事曆),
Firefox(瀏覽器), Thunderbird(電子郵件), Emacs(文字編輯), Krusader(檔案
管理)。每一個視窗就算沒有佔了一個全螢幕也會佔了半個螢幕, 就算我已經用上
了兩個1280x1024解析度的LCD螢幕,而且在我的桌面管理程式(Metacity)的工
作列上裝了虛擬螢幕,但不論何時切換到虛擬螢幕下的某個工作區工作,仍然往
往還是會得讓某些視窗重疊。假如又要開其他佔空間的應用程式如Gimp(影像
處理) 或 Openoffice (辦公套件),重疊情況就更嚴重。要是得用按鍵慢慢切到
埋藏在最底下的視窗不是件很愉快的事。這時候像Expose'這樣的功
能就十分有用。按一個快速鍵就會讓所有的視窗縮小並排在一起,不管之前有多
少視窗重疊,一下子就一目瞭然,再用老鼠點一下就可以選取要的視窗。不需要
先用[Ctrl][Alt]加方向鍵在不同工作
區切換後,再用[Alt][tab]在那個工作區裡眾多的視窗一個個輪流切換。

安裝Skippy



Skippy支援大多數的視窗管理程式。安裝也很容易,
以Mandriva Linux為例,在 contrib 裡有人包好了RPM,目前分別是
skippy-0.5.0-3mdk 或 skippy-xd-0.5.0-2mdk,取一個下載就可以了。
其他的Linux發行版如Debian, Gentoo 應該也有包好的程式。找不到包好的程式
的話可以到Skippy 的網站 http://thegraveyard.org/skippy.php直接下載原始
碼。

skippy-xd 會額外用到 XRender, XComposite, XDamage 及 XFixes extensions。
而目前在Mandriva 2006下,nVidia 官方驅動程式對這些支援不好,所以我選擇
裝skippy而放棄了速度比較快的skippy-xd。

安裝RPM後,先把示範的設置檔複製到使用者家目錄下,
cp /usr/share/doc/skippy-0.5.0/skippyrc-default ~/.skippyrc
再按個別需要用編輯器去修改設置檔,裡面最重要的參數就是起動的快速鍵,
預設是 F11鍵,要更動的話,要去找下面這一行改

[general]
keysym = F11

基本上不更動預設值就可以愉快使用了。

使用



要是有意每次開機就啟用Skippy,最好是寫好Deamon 形式的設置檔放到
/etc/rc.d/init.d/下。要是偶一為之,其實可以隨便開個終端機,先執行
skippy,然後隨時用快速鍵啟動就可以了。


以在Mandriva Linux 2006 上的Gnome 桌面為例(視窗管理程式是Metacity)
,此時桌面上開了許多視窗重疊在一起,參見下圖:

圖一: overlap

一但按下 [F11] 鍵後,所有的視窗都縮到適當的大小,而且互不重疊了,參見下圖:
圖二: Skippy
為了對照方便,我選擇了
[xinerama]
showAll = false
這個選項,所以看到只有當時游標所在的左邊螢幕才會縮排。

這時可以用老鼠點一下就可以選取要跳過去工作的視窗,不管之前是藏在哪裡。
假如視窗縮圖太小造成辦識不易,移動老鼠到個別視窗縮圖上時,skippy 也會
自動顯示該視窗的名字以供辨識。
要放棄視窗預覽模式的話,按[ESC]會取消而回到沒按[F11]前的狀態。


不過在nVidia 自己的 Twinview雙螢幕模式上工作偶爾顯示會有些不正常,
為了用nVidia官方驅動程式上的3D加速功能。我並沒有用x.org自己出的nVidia驅動程
式來測在 xinerama 雙螢幕模式下是否有同樣的問題。看起來好像在某些情況下,
縮圖不會按照程式最新的內容顯示來呈現縮圖,FireFox 的分頁顯示也會照成問
題。大家也可以看到Xmms的播放清單及等化器也沒在縮圖中顯示。執行多重gnome
終端機就也會造成沒辦法正確顯示自己的縮圖。

趨勢延伸閱讀



Linux下類似的東西還有 Expocity。Expocity是基於metacity 的hack,在速度
上比Skippy 快一些,不過限制很多,必須先刪除 metacity 後才能安裝
Expocity。只為了新增一個功能要拿掉整個桌面管理程式,實在不方便。
而且Expocity 好像是原作者偶一為之的作品,2004年元月後就沒再更新。
Metacity 都已配合Gnome更新到 2.14。所以我最後還是選擇了Skippy。

目前 Skippy 目前還在開發的階段,而且需要太多的運算,效能並不是太好,以
我在Mandriva 2006下測試的例子。Nvidia 4200Ti雙螢幕卡既便用了Nvidia官方
7000系列的驅動程式,還是會有些延遲的現象,特別是在第一次縮圖時,再來使
用就還好。而我朋友的低階G4 powerbook 跑Mac OS X用Expose'就可以有很順暢的效果。
不過純就在Linux桌面環境下比較,還是會比傳統的視窗切換方式有效率。

在Linux上真正要作到如Mac OS X 中的 Expose' 順暢的效果,要等x.org下一代
(第7版)的X視窗伺服器廣範為各大Linux發行版納入。屆時會把Novell所推出的Xgl(X over OpenGL)的一
些相關成果放進去,其中包含前面提到skippy-xd所需要的一些X視窗加速功能,這些
圖形的縮放及透明重疊顯示,需要充份利用顯示卡的硬體加速功能才能大幅提升
效率。不過不用急,自由軟體的發展很快,這一天很快就到了(搞不好會比微軟一
直生不出來的Windows Vista 還要快...)。記得Metycity的發展程式其實已經有包含
composite/render 的實驗功能,不過已往X視窗伺服器對這些新功能的支援不太穩定,
所以到使用者手上包好的套件檔案往往都把實驗功能拿掉了。一但x.org第7版X
視窗伺服器穩定下來,其他相關的桌面或視窗管理程式很快的就會配合上來。

Novell 才發表新版的Suse Linux 下的compiz視窗管理程式就實作了類似expose'的功
能,好像稱為desktop organization ,對xgl有興趣的可以參考這裡的多媒體示
範: http://www.novell.com/linux/xglrelease/
但從示範影片看來速度似乎沒expose'快,不過東西才剛發表,要正式出來後一對一測試才比較有意義。

相對於 Suse Linux 的GLX要揚棄舊版X視窗伺服器的架構出發,Fedora/nVidia 從儘
量向下舊版的角度切入,提出另一套加速的方案。 Fedora 提出了 AIGLX (Accelerated Indirect GL X)
可以參考 http://fedoraproject.org/wiki/RenderingProject/aiglx
nVidia則在這裡
http://developer.nvidia.com/object/xdevconf_2006_presentations.html
發表用現有(6.9版)X視窗伺服器來達成 Composited X 桌面

兩者到底最後會不會有其一能像 X.org 大幅吃下XFree86 的版圖,那就只有靜觀後續的發展,
不過可以確定用加速X視窗伺服器來提高桌面使用環境的工作效率是未來的趨勢,

沒有試過這方面的朋友,不妨試試Skippy來看看未來桌面環境的趨勢 。

今天在要發佈這篇文章時,發現nVidia剛發表了新的 8756版,其中包含了許多
與此文相關的支援,待過一陣子再來更進一步探討X視窗新的發展

其他參考資料




  • 對Expose原由有興趣的可參考 Apple 網站,或維基百科的說明
    http://zh.wikipedia.org/wiki/Expos%C3%A9_(Mac_OS_X)
  • 對expocity有興趣的除了參觀官方網站
    http://www.pycage.de/software_expocity.html外,可以參考Yuren’s Info Area的這一篇
    http://yurenju.info/?p=112#comments
    上面還有Expocity 的示範影片(472K)
  • gnome開發者Seth Nickell發表的Next-Generation Rendering For the Free Desktop
    http://www.gnome.org/~seth/blog/xrendering

對於媒體對自由軟體網路網路安全的平衡報導

最近在中國時報看到unroot入侵台灣Linux的報導
http://news.chinatimes.com/Chinatimes/newslist/newslist-content/0,3546,110501+112006040600035,00.html
我個人因為拿不到新聞單位的數據作驗證,只能保持高度的懷疑。但在我看到網友chihchun在
http://people.debian.org.tw/~chihchun/2006/04/07/the-un-root-crew/
發表的短文後,近一步去看一堆 *.this.com.tw 跟 *.hom.com.tw
根本是就只有是極少數的電腦作出的虛擬主機,重複計算才會那麼多。
我覺得聯合報跟中國時報的報導很有問題,在我親眼看到他們拿出具體的實證前,我不敢說他們一定錯。但最少有必要要求媒體作平衡報導。

網友lotus在
http://moto.debian.org.tw/viewtopic.php?t=8744
詢問要不要發動回應,我覺得這個想法很好

我認為一個進步的社會,媒體與政府都要接受真正民眾的監督。我希望調查局/中國時報在拿出具體證據來反駁網友chihchun的評論前,至少中國時報要能平衡報導,不然只證明跟中時自己不齒的其他小報沒什麼兩樣,或是調查局故意誤導民眾,以圖利特定廠商。那接下去我們就要問,這是不是跟ETC...種種弊案般,有人收了誰好處了嗎?

為了避免網友chihchun的原文
http://people.debian.org.tw/~chihchun/2006/04/07/the-un-root-crew/
因不明情況被封殺或被一時的人潮灌爆,我放了一份備份在我國外的Blog裡,必要時會放出來。
假如你也覺得媒體跟政府應該對自由軟體網路的安全網路安全作平衡報導,請你連署聲援,請調查局/中國時報拿出更具體的證據。不要拿些死無對證的說法來呼弄台灣的民眾


本文我在自由軟體技術交流網也留了一份備份
http://freesf.tnc.edu.tw/modules/news/article.php?storyid=2420

下面是我4月八日給中時編輯部的郵件:
我是台灣幾個自由軟體計劃網站的管理員義工

最近在中國時報看到unroot入侵台灣Linux的報導
http://news.chinatimes.com/Chinatimes/newslist/newslist-content/0,3546,110501+112006040600035,00.html
我個人因為拿不到新聞單位的數據作驗證,只能保持高度的懷疑。但在我看到網友chihchun在
http://people.debian.org.tw/~chihchun/2006/04/07/the-un-root-crew/
發表的短文後,近一步去看一堆 *.this.com.tw 跟 *.hom.com.tw
根本是就只有是極少數的電腦作出的虛擬主機,重複計算才會那麼多。
我覺得聯合報跟中國時報的報導很有問題,在我親眼看到他們拿出具體的實證前,我不敢說他們一定錯。但最少有必要要求媒體作平衡報導。

其餘詳見我的Blog
http://shelandy.blogspot.com/2006/04/blog-post.html#links

我已經在幾個自由軟體的網站上呼籲網友散播實際行動的消息。我希望中時能儘快良性回應
不然會對貴報的名聲有很大的影響


2006/4/10 後記:
今天中時電子報 客服中心,回函如後,那我們就靜觀其變

Hello shelandy : 謝謝您的來信更謝謝您寶貴的意見 關於您的意見反映我們會轉送中國時報編輯部轉交相關同仁參考 editorplan@mail.chinatimes.com.tw 也謝謝您對中時報系的支持與鼓勵祝您 平安快樂 ChinaTimes.com 中時電子報 客服中心 敬上 日期:2006/4/10 PM

星期一, 4月 03, 2006

新酷音輸入法Win32

新酷音輸入法Win32版



新酷音是延續著名的酷音輸入法的發展計
畫,他是一種能自動選字的智慧型注音輸入法,所以對電腦初學者非常重要。新酷音輸入法原始碼是開放的,所以任何人都可以把他的功能自行作進一步的改良。新酷音的官網在http://chewing.csie.net/index.html

新酷音輸入法在各大Linux 發行版都有包好的下載套件,甚至在微軟視窗下也有,目前Win32版(微軟視窗平台)主要的開發者是 PCMan (洪任諭), Seamxr和 Andy Horng 。

微軟有很多枉顧客戶需求的惡名昭彰的動作,譬如說早些年對支援Big5 Plus 字碼的承諾,到後來也是不了了之,與其繼續被奴役,不如一步步幫助大家逃脫出來,新酷音輸入法win32版有著這一方面的指標性的意義。因為大部分的使用者都被微軟視窗的封閉架構所卡死了,可是對一般使用者而言,
要從這個壟斷的架構一下子轉換到Linux 的使用平台,並不是易如反掌的,所以,在微軟視窗上發展開放原始碼的注音輸入法,有其普及性的意義。以後我們要揚棄Big5 大五碼轉到CCCII 或CNS 11643中文全字集環境,或加上一些其他商業輸入法有用的功能如編打編唸...,也可以由擴充這個輸入法來逐一達成。

新酷音win32版安裝的問題



我從 Win32-chewing 0.2.5c 起到0.26a,每次安裝他都說
"...請確定你有系統管理員權限,以及舊版不在執行中,..."
無法正常安裝成功,要求我移除舊版程式。但往往照作就算重新開機也是無法解決問題。
參見圖一



這通常都是因為由於 windows 本身設計的缺陷所照成的:輸入法只要有啟動過,即使已經沒有程式在用,一樣不會卸載,檔案只要還在使用中,系統就是不允許刪除。因此造成安裝新版新酷音輸入法時,出現在c:\windows\system32\Chewing.ime 寫入錯誤。此為XP/9X上的例子,
Windows 2000 是在c:\winnt\....下, 查看檔案名,參見圖二



避免問題的技巧在於安裝時之前,先不要啟動輸入法,最簡單的方式,就是重開機完還沒執行其他程式造成啟動新酷音前輸入法前,就安裝新版。要是因為不可預知的因素,造成檔案沒有正確刪掉,在重開機後而還沒移除或安裝前先動手確定檔案Chewing.ime已經拿掉了,或把它改成程其他名稱如1Chewing.ime

雖然還是有人回報在0.27b版遇到同樣問題,
http://freesf.tnc.edu.tw/modules/news/article.php?storyid=2381
但我在0.27b版下,按照上面我所說的方式來測試,這樣就能順利解決安裝問題了。所以這個小技巧應該是有效的。

目前核心已改成unicodeUTF-8 編碼,詞庫編輯的問題應該不是問題了

嘉義縣教育網路中心有一篇使用介紹,可以看一看
http://enc.cyc.edu.tw/modules/news/article.php?storyid=38

打造屬於自己的新酷音



新酷音官方首頁上的討論群組 http://chewing.csie.net/mailinglists.html 指到之前酷音的網站 http://chewing.good-man.org,我在Houston 一直都 time out 進不去

不過目前「新酷音」至少在自由軟體鑄造廠的
http://rt.openfoundry.org/Foundry/Project/index.html?Queue=271> 下登記了專案,似乎可以用tracker:
http://rt.openfoundry.org/Foundry/Project/Tracker/?Queue=271
來回報問題

或是到自由軟體技術交流往下的這個舊討論回應
http://freesf.tnc.edu.tw/modules/news/article.php?storyid=2375&com_id=8289&com_rootid=8253&com_mode=flat&com_order=0#comment8289

另外,可以加入 irc.freenode.net 的 #im-dev 頻道,與此輸入法相關的開發者都在這個IRC頻道上。不過或許由於美國與臺灣的時差,我還沒有成功的與任何開發者在IRC上交談過。

Win32-chewing 的原始碼要到 http://chewing.csie.net/download.html,參考
「下載Subversion版本」此一項目。Tarball 下載裡的 Win32 版只有編譯好的執行檔。

我還不確定編譯方式的資料到哪裡找。

如果要為新酷音加上新功能的話,未來也需要 commit程式碼的權限。可以考慮加入新酷音開發者的行列。

新酷音的後續發展



新酷音的功能或除錯的部份目前會由 Seamxr 帶領。而PCMan 的主要目標是打算重整程式內部的介面,計畫名稱是: EasyIME - framework for developing Win32 IME,希望能做出一組新的架構讓它可以容易被重複使用。目前的草案在:
http://openvanilla.org/wiki/zh/index.php?title=Win32_IME_Framework_%E8%8D%89%E6%A1%88
這樣不但可以方便將來想創作輸入法的人,同時可以有機會接上另一個知名的輸入法專案開放香草輸入法 OpenVanilla,該輸入法內含三十幾種中文輸入法,目前支援Mac, Linux, 還有 Windows 三種平台。

不過新酷音的win32 版的進展比較快,對於仍然需要用微軟視窗系統的使用者而言,新酷音是一個不可忽視的選擇