顯示具有 Firefox 標籤的文章。 顯示所有文章
顯示具有 Firefox 標籤的文章。 顯示所有文章

2009年5月2日 星期六

Feuerfuchs Portable now on Linux

我現在的主要工作平台轉移到 Ubuntu 了,
不過有時候,還是有 Firefox Portable 的需要,
可是我又不想要用 Wine 來模擬,
所以我寫了一個簡單的 BASH script ,
來代替 Feuerfuchs Portable Launcher。
(不過功能很陽春就是了)

目前只會視情況,
以 AllowMultiplyInstance 的形式開啟而已。

根據我的測試結果,
可以和 Windows 版的混用,
在 FAT32 上面可以跑。

2009年4月15日 星期三

Mozilla Firefox

最近,我改了一下我的 Mozilla Firefox 的使用習慣,
我把「當我要關閉多個分頁時警告我」這一個選項關掉了,
取而代之的是把「結束前清除隱私資料」、還有「清除前警告我」打開了。
然後,我把啟動時開啟,設成「還原前一個工作區段」。

不過,這樣有一個大缺點,
就是,清完隱私資料的時候,
首頁就會變成 blank 的了,
但是我又不想裝套件。

所以,
我自己修改了 nsSessionStore.js。
我總是很偑服可以看得懂 Firefox 的人,
一下是 C++ 一下是 Javascript 一下又是 XUL / XPCOM ...。

不管如何,
我還是寫出來了,
不過是 Dirty Hack,
首頁寫死是 www.google.com.tw。

http://rafb.net/p/YDDjn834.html

2008年10月11日 星期六

[好消息] NSIS 的 GetParameters 的錯誤好像已經修複了

今天早上收信的時候,看到一封 SourceForge 信來的通知。我就心想:大概是 Bug Report 變成 Closed 了吧!結果沒有錯,真得是我的中文路徑 Bug Report 已經被 Review 了。NSIS 的專案管理員 Kichik 已經把我的修正加到 NSIS Code Base。不過我還沒有去測試,有空再說好了。

2008年7月13日 星期日

Firefox Portable 視窗炸彈調查報告

Firefox Portable 的中文路徑怎麼又壞了?之前,還在想說不想管 Firefox Portable 的更新,把主力放到 Feuerfuchs Portable Wir 身上。不過前一陣子因為需要用 Firefox Portable,我懶得自己打包,所以我直接用 John T. Haller 前輩所打包的 Firefox Portable 3,結果很精彩地看到視窗炸彈,這下可好! OTZ

我本來還以為問題是新加入的程式碼所產生,不過看來看去,看不出所以然,我還有想過是不是二個 Launcher 的 Race Condition,不過似乎也不是。在看程式碼的途中陸陸續續找到一些小錯,不過都無傷大雅。

我迷失在一行又一行 Code 之間,毫無頭緒,也找不出 Solution。我一直在幽暗的 Source 裡面排徊,忖度著:這些程式碼之中一定有一些晦澀難以理解的錯誤。突然,有一道光照向我......,我似乎找到答案了。

接下來是一陣頭暈目眩。時光回到了二年前,這種感覺好熟悉。不,不可能,之前 Firefox Portable 的中文路徑不是早就修好了嗎?但是,擺在我眼前的事實讓我不得不接受。咳...,我發出了一聲長嘆。接下來又是一陣頭暈目眩,伴隨著一大堆髒話。

(消音)
!# $ %@ #$^$%&~ #~%$ #%^#@% #$^$%&$ #%^$#!@ $~@!$# @#%$#@^ @%#$@ %^$ #%$#@%^%^@#$% $@#% @#$ %@#$%@$#% @#%@#% $@# %@#$%@$ # %$@#% $

結果,我發現 Firefox Portable 3.0 的問題在於:GetParameters 函式又出事了,GetParameters 函式又被改成有問題的版本了(殘念)。不過我必需把責任釐清,這一次的問題出在 NSIS Team,和 John T. Haller 前輩無關,不過為了盡快修正,我已經發 Bug Report 和 Workaround 到 PortableApps。

問題是這樣的,不知道為什麼 NSIS 放在標準函式庫的 GetParameters 函式是有問題的版本,這個函式在處理 ASCII 字元的時候都可以處理得很好,不過處理中日韓表意字元的時候,就會出狀況。

而 John T. Haller 前輩依據 NSIS Manual 的建議,將原本自己寫得 GetParameters 改用標準函式庫中的版本,不過標準函式庫中的版本有問題,GetParameters 函式的回傳值根本就不對,所以 Firefox Portable 一直無法進入「授權頁、階段管理設定頁」,Firefox Portable 因而會一直自我執行(即視窗炸彈)。


我無言了!為何外國人寫得程式處理起中文常常會有問題呢?

2007年7月23日 星期一

[嘴泡] Feuerfuchs Portable 重寫版本的計畫

繼續潛水,繼續嘴泡 ing....

新的 Feuerfuchs Portable Launcher 的開發代號: Wir
(如果不是方案三勝出的話,才有這個計畫)

預計會有以下功能:
  • GUI-Toolkit: wxWidgetsFLTK
  • File-System-Library: wxWidgets 或 自己來
  • RDF-Parser
  • 中文路徑(Firefox 1.0.x 的支援未定、Mozilla Calendar 支援確定取消)
  • 增加一個 Feuerfuchs Portable 工具列
  • 提供強制關閉 firefox.exe 的功能(避免尚未關閉完全)
  • 可以使用「精靈」來配置 Feuerfuchs Portable
  • 使用 Binary Based 的設定檔規格(加快啟動速度)
  • FeuerfuchsPortable.ini 仍會向下相容
  • 提供「複製到硬碟」然後「打包、存回隨身碟」的功能
  • 提供資料安全刪除(未定)
  • 很有可能會用 UPX 壓縮
  • 多國語言支援
至於授權方面,
我很想用 BSD,
新的軟體的所有程式碼,
我會自己獨立創作,
不過因為我不是在 Cleanroom (我曾經改寫過 Firefox Portable Launcher)所以我不知道可不可以不用 GPL。(煩惱 ing...)

Regards,
__________h.s.

2007年5月18日 星期五

Open JDK Avaiable

Sun 把 Java VM 開放出來了。您可以在 OpenJDK 網站中找到所有開放出來的程式碼。

其中好像有和 Java Applet 有關的程式碼。
可是卻找不到和 Netspace Plug-in API 有關係的程式碼,
是我太笨了嗎?

還是是屬於「Sun 沒有權限開放的程式碼」?

(BTW, 那幾個和 Java Applet 有關的檔案,我也都看不懂,想要 Movable JavaVM with Firefox,看來還是需要高手出馬)

(ps. 看頂尖高手寫的程式碼,真得會有自卑感,咳!)


__________h.s.

2007年2月22日 星期四

Firefox Portable + JVM Movable 可行性分析

  • 聲明 1: 為何本文使用 JVM Movable 而非 Java Portable?因為 Java 本身是一個可移植 (Portable) 的語言,而不是指 SUN JRE(JVM)。
  • 聲明 2: Mozilla, Firefox 為 Mozilla Fund./Co. 的註冊商標;Firefox Portable, OpenOffice.org Portable, PortableApps 為 John T. Haller 的註冊商標;SUN, Java 為 SUN Co. 的註冊商標。謹此聲明。

在拜讀 某A 前輩的文章: OpenOffice.org Portable 非公式正體中文版: OO.o Portable 2.1 Pre-Release 的新功能 後,發現 JRE(JVM) 竟然是可攜帶的!驚喜之餘,聯想到了這篇文章: Portable Firefox問題 (請問可否不用在電腦安裝 java 而執行 java 元件呢?)。到底 Firefox Portable + JVM Movable 可不可行?

若是以前,我會回答很「官方」的答案: 不行。(參: Firefox Portable: Known Issues,因為要更動很多 registry) 。

當然,透過「暫時寫入、事後抹除」技巧,的確能模擬出 Sun JRE(JVM) 已經安裝過的狀態,但是: 風險過大,搞不好,可能影響到原有的 Sun JRE(JVM) ;而且,我們可能需要 admin 權限。然而對於許多 Firefox/Feuerfuchs Portable 使用者而言,是不可能有 admin 權限。

所以到目前為止 (2007/2/22),
「官方」的答案是: 不行。
但現在,我的答案好像不這麼肯定了。

那 OpenOffice.org Portable + JVM Movable 是怎麼做到的?在讀到該分消息,震驚之餘,我去下載了 OpenOffice.org Portable (Beta),閱讀其中程式碼,發現: 能這樣做,是因為
OpenOffice.org 設計「良好」,只要將 JRE(JVM) 放置的目錄提供給 OpenOffice.org,剩下的交給 OpenOffice.org 處理。

然而,Mozilla Firefox 卻不同!

Mozilla Firefox 使用的是 SUN JRE(JVM) 提供的 Java Plug-in。Mozilla Firefox 的工作僅止於找出 SUN Java Plug-in,剩下的,讓 SUN Java Plug-in 去弄。而 SUN Java Plug-in
似乎是利用 Registry 來尋找 JRE(JVM) 所放置的目錄。

這下問題,又回到原點了: Registry Hack!
有解決方法嗎?
目前,最有可能的方法是: 重新實做 Java Plug-in。
可能嗎?

很有可能,至少一開始,我是這樣認為的!

障礙列表:
  1. Mozilla Firefox 去找電腦中已經安裝的 Java Plug-in,造成衝突。
  2. 重新實做 Java Plug-in
其中第一點,很容易就可以克服: [MozillaZine: Plugin scanning]。只要把 plugin.scan.SunJRE 值設為 100000,如此一來 JRE(JVM) 至少要出到第 100000 版才有可能會產生衝突。然而第二點,就不是哪麼容易了。

先談談 Mozilla Firefox 的 JVM Framework。您可以在下面的列表找的相關資料:
  1. Open JVM Integration (Mozilla Project)
  2. OJI之介紹與實作 (.doc) by 陳正哲
再看看 SUN 對於 Open JVM Integration 的「看法」:
Since Netscape 7 has been widely adopted, we decided to stop building OJI plugin for Netscape 6.x in JDK release.
所以,顯然的,上面的兩篇有點舊,其使用的介面可能與 JVM 最新版本不太一樣。

再談談 SUN Java Plug-in 的相關資料:
  1. README: JDK Builds
  2. JDK 7 Documentation: Deployment: Java Plug-in
全都沒有講到和 Java Plug-in 怎麼和 JVM 運作(至少我都看不太出來)。
到目前為止,可以用的資料,好像只有「稍舊」的 OJI。

我又把腦筋動到 Java 的「開放原始碼」
而我從 OpenJDKMailing List Archive 中找到這一封信
信上說 Java Plug-in 的原始碼尚未於 OpenJDK 計畫中公佈,
但我也得知: 可以在 JDK 6 的原始碼中找到
Windows 版本的 Java Plug-in。
(但我不知道從何找起)
而這句話又讓我想起,README: JDK Builds 的一句話:
NOTE: The Java Plug-in product for Windows cannot be built from the Community Source Release.
看到之後,心就涼了一半。
只好期待 SUN 最後還是會把 Java Plug-in 加入到 OpenJDK 計畫中。

不過,除了 SUN 的 Java Plug-in 以外,我還看到了一個東西: gcjwebplugin。這個計畫目前已經被整並到 GNU Classpath 計畫。目標是製作一個 Java Plug-in。雖然我看不太懂程式碼,不過
好像和 JVM 的種類無關,也許可以從中取得靈感以及相關的介面。

如果有前輩,能重新實做 Java Plug-in 或者 SUN 釋出 Java Plug-in 再略加改寫 (改成以其他方式取得 JRE(JVM) 的位置) ,應該就可以達成 Firefox/Feuerfuchs Portable + JVM Movable。

__________h.s.

後記:
這個議題好像蠻常被提起,而我也蠻有興趣的 (雖然我不使用 Java Applet,而且目前沒有能力) ,所以略加紀錄。希望能供有興趣的前輩參考。

2007年2月15日 星期四

Feuerfuchs Addons Installer Class 完成

總算把所有程式碼完成了,而程式碼將在近期於 MozTW 討論版 公佈。

目前有的功能:
  • 讓想要打包 Firefox(R) PowerPack/LitePack/AddonsPack 的人,可以輕鬆的製作一個品質不錯的安裝程式
  • 不太好的多國語言支援
  • 內建 Firefox(R) 執行狀待偵測
  • 內建「個人設定檔」偵測
  • 內建「Firefox(R) 主程式」偵測
  • 含相依性處理設計
  • 可以任意群組部份附加元件
目前測試過的主程式為 Firefox(R) 2.0.0.1。
不果理論上 Firefox(R) 1.5 以上,甚至 ThunderBird(TM), Flock(TM) 都可能可以正常運作。

Regards,
__________h.s.

2007年2月13日 星期二

Feuerfuchs Addons Installer 預設的圖示

Feuerfuchs Addons Installer 預設的圖示,
延續 Feuerfuchs Portable 的圖示與風格,
使用了相當多互補色,
如下圖。





Regards,
__________h.s.