請幫我修改

33 views
Skip to first unread message

Hemiola SUN

unread,
May 22, 2011, 11:18:15 PM5/22/11
to pcmanfx
很抱歉我不會用專案的程式碼修改機制,所以此在將個人建議的修改方案張貼於此,
如果大家同意,請幫我修改上去。

一、將 pcman.js 裏的 updateTabIcon 函式中,
var browserIndex = rw.gBrowser.getBrowserIndexForDocument(document);
這行後面加上:

if (browserIndex > -1) {
let tab = rw.gBrowser.mTabContainer.childNodes[browserIndex];
tab.image = icon;
switch (aStatus) {
case 'connect':
tab.setAttribute("protected", "true");
tab.setAttribute("locked", "true");
break;
case 'disconnect':
tab.removeAttribute("protected");
tab.removeAttribute("locked");
break;
}
}
用處是如果使用者另安裝有 tab mix plus 等分頁套件,則可以幫助鎖定保護連線分頁,
以免不小心按到書籤或網址列時連線就中斷了。

二、在 termbuf.js 檔中,TermBuf 的 uriRegEx 修改如下:

TermBuf.prototype={
// From: http://snippets.dzone.com/posts/show/452
//uriRegEx: /(ftp|http|https|telnet):\/\/(\w+:{0,1}\w*@)?(\S+)(:
[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ig,
// Modified by Hemiola
uriRegEx : /(ftp|http|https|telnet):\/\/(\w+:{0,1}\w*@)?([\w\.]+)(:
[0-9]+)?([\w#!;:.,\(?+=&%@!~\-\/])*/ig,


它可以比較正確地判斷網址,如 ppt.cc 的縮網址會用到「(」之類的符號,
不過如果是中文網址就會無法判斷。

此外也需要有人到 https://addons.mozilla.org/zh-TW/firefox/addon/pcman-bbs-extension/
官網上修改相容版本,不然現在用 4.0.x 的人都沒辦法安裝。

謝謝。

u881831

unread,
May 23, 2011, 8:34:13 AM5/23/11
to pcmanfx

我之前有在trunk 修改過這個部分,
因為\S+ 把後面不管中英文全部吃掉了,
當時我就只把這部分改成[\w#!:.?+=&%@!\-\/\$'*\,;|~(]+
這樣就能把中文排除掉。

我是參考這邊選擇符號
http://svn.openfoundry.org/pcman/trunk/Lite/BBSHyperLink.cpp (搜尋 const
char URL_safe[])
http://code.google.com/p/pcmanx-gtk2/source/browse/trunk/src/core/termdata.cpp#838
這邊的判斷方式轉成正規表示式大概是:(去掉目前不支援的scheme)
/(ftp|http|https|telnet):\/\/([\w!\$&'()*+,\-.\/:;=?@|~%#]+)/ig

Hemiola的寫法比較正確,
應該也能對應到幾乎所有的網址,
如果之後有要對網址做一些進階的處理也比較方便,
一些符合規範但是罕見的符號有沒有支援的必要?

>
> 此外也需要有人到https://addons.mozilla.org/zh-TW/firefox/addon/pcman-bbs-extension/
> 官網上修改相容版本,不然現在用 4.0.x 的人都沒辦法安裝。

抱歉目前trunk 這邊的log 有些亂,
之後我會把沒用的branch砍掉。
從0.2.4.1 到目前trunk 的修正有:

r80

Setting scrolling range closes the connection
Incorrect positioning of the TAB char
Exclude DBCS chars for detecting hyperlink
Incorrect position of the input proxy with non-zero offsetTop
Residues of incorrect DBCS chars on the screen
Some warning from Mozilla's validation and the error console

some control sequences didn't work properly
(tab, insertLine, insert)

some residue of cursor after resizing

fix for issue 34(抱歉這項忘記寫進log 裡了)

r75 (by sst.dreams)

Compatibility: 4.0b6pre -> 4.0b7pre

r87

"Select All" doesn't select the last char at last line
"Copy" failed when the last char at each line is the end of the
selection

以上是決定用trunk 出新版還是只改0.2.4.1 相容性的一個參考。

>
> 謝謝。

SUN Chun-Yen

unread,
May 23, 2011, 11:01:01 PM5/23/11
to pcm...@googlegroups.com
直接修改版本號的好處是可以馬上用,上傳 trunk 的話要等審查,現在都要等個一個禮拜十天之類的。

所以我的建議是兩邊都做,一方面先改官網上現行版本的相容版本號,一方面上傳 trunk 等審查。trunk 的話麻煩請加入我的修改。

謝謝大家。

--
孫俊彥 SUN Chun-Yen

scy....@gmail.com

u881831

unread,
Jun 22, 2011, 6:24:49 AM6/22/11
to pcmanfx
我將這些修改整合進去而且相容性改到Firefox 6 (Aurora)
https://docs.google.com/leaf?id=0B-K9h3GKW2VGNDZkZjNkMmYtMWYyMC00NmQ5LWE0ZGMtOWIxMzYwZTQwMGFh&sort=name&layout=list&num=50
請試一下鎖定保護連線分頁的功能是否正常,
如果還有要修改的請直接將改過的xpi 直接蓋過那個網址的檔案,
或是把修改過的js檔案(或是diff檔)寄給我也可以。
如果OK的話我再commit上去。


On 5月24日, 上午11時01分, SUN Chun-Yen <scy.h...@gmail.com> wrote:
> 直接修改版本號的好處是可以馬上用,上傳 trunk 的話要等審查,現在都要等個一個禮拜十天之類的。
>
> 所以我的建議是兩邊都做,一方面先改官網上現行版本的相容版本號,一方面上傳 trunk 等審查。trunk 的話麻煩請加入我的修改。
>
> 謝謝大家。
>

> >http://code.google.com/p/pcmanx-gtk2/source/browse/trunk/src/core/ter...

> scy.h...@gmail.com

SUN Chun-Yen

unread,
Jun 22, 2011, 6:49:33 AM6/22/11
to pcm...@googlegroups.com
謝謝你的修改檔,我測試後都正常的,就麻煩請送到官網吧!

各位加油!

--
孫俊彥 SUN Chun-Yen

scy....@gmail.com

WM

unread,
Jul 21, 2011, 1:45:07 AM7/21/11
to pcmanfx, SUN Chun-Yen
請問有人可以幫忙改Addon站上的相容性嗎...Firefox 6.0都已經進到Beta快出了...

On 6月22日, 下午6時49分, SUN Chun-Yen <scy....@gmail.com> wrote:
> 謝謝你的修改檔,我測試後都正常的,就麻煩請送到官網吧!
>
> 各位加油!
>
> 在 2011年6月22日下午6:24,u881831 <u88...@hotmail.com> 寫道:
>
>
>
>
>
>
>
>
>
> > 我將這些修改整合進去而且相容性改到Firefox 6 (Aurora)

> >https://docs.google.com/leaf?id=0B-K9h3GKW2VGNDZkZjNkMmYtMWYyMC00NmQ5...

SUN Chun-Yen

unread,
Jul 29, 2011, 9:24:16 PM7/29/11
to WM, pcmanfx
addon 官網上的作者只列 pcman,看來只有他有權限更改。不過 pcman 似乎忙於工作,就只能等他了。

PCMan

unread,
Jul 29, 2011, 9:51:07 PM7/29/11
to pcm...@googlegroups.com, WM
大家有帳號嗎?出個聲我來把人加進去。
不只忙於工作啊,我最近在準備考內科專科的執照...
快死掉了 = =

2011/7/30 SUN Chun-Yen <scy....@gmail.com>:

SUN Chun-Yen

unread,
Jul 31, 2011, 6:15:39 AM7/31/11
to pcm...@googlegroups.com
我在官網的 email 是 hemio...@free.fr
謝謝。

Hsiao-Ting Yu

unread,
Jul 31, 2011, 8:45:41 AM7/31/11
to pcm...@googlegroups.com
我是 littlebtc / ybite,我在 AMO 上電子郵件是 sst.d...@gmail.com

謝謝 Q_Q

SUN Chun-Yen

unread,
Jul 31, 2011, 11:13:48 PM7/31/11
to pcm...@googlegroups.com
我發現因為有些東西沒有清乾淨,導致斷線後會一直送出 error。

麻煩請幫我修改如下:

一、termview.js檔中:
onkeypress 函式

var conn = this.conn;
後面加上:
// added by Hemiola SUN
if ( !conn.ins )
return;

二、 pcman.xul 檔:
function finalize() {
//pcman.close();
pcman.view.blinkTimeout.cancel();
pcman=null;
}

謝謝。

--
孫俊彥 SUN Chun-Yen

scy....@gmail.com

u881831

unread,
Aug 1, 2011, 6:51:42 AM8/1/11
to pcmanfx

On 8月1日, 上午11時13分, SUN Chun-Yen <scy.h...@gmail.com> wrote:
> 我發現因為有些東西沒有清乾淨,導致斷線後會一直送出 error。
>
> 麻煩請幫我修改如下:
>
> 一、termview.js檔中:
> onkeypress 函式
> 在
> var conn = this.conn;
> 後面加上:
> // added by Hemiola SUN
> if ( !conn.ins )
> return;

可以請問一下這段修改的目的是?
我這邊的錯誤主控台沒有看到任何相關的訊息,
不知道是不是其他的地方會出錯?
如果是要防止斷線後的輸入的話,
這部分只能停止直接的鍵盤輸入,
透過輸入法的輸入和貼上的文字還是不受影響,
如果要完全停止輸入的話我想可以把這段程式碼寫在
conn.js 的send函式裡面。

>
> 二、 pcman.xul 檔:
> function finalize() {
> //pcman.close();
> pcman.view.blinkTimeout.cancel();
> pcman=null;
>
> }

我想pcman.close 這段程式碼是用來處理直接關閉連線中分頁的情況,
我不大清楚使用了分頁管理套件後的情況,
不過我想還是有一些人沒有使用分頁管理套件而且會直接關分頁,
也許在conn.js 的close 函式放一段像上面的判斷式會比較好?

另外我想和XUL 介面本身比較不相關的程式碼放在.js 檔案可能會比較好,
像是放在pcman.js裡面的close 函式裡,
這個函式也只有在這邊會被呼叫。

>
> 謝謝。
>
> --
> 孫俊彥 SUN Chun-Yen
>

> scy.h...@gmail.com

SUN Chun-Yen

unread,
Aug 1, 2011, 10:07:17 AM8/1/11
to pcm...@googlegroups.com
請見以下回覆。

在 2011年8月1日下午6:51,u881831 <u88...@hotmail.com> 寫道:
>
>
> On 8月1日, 上午11時13分, SUN Chun-Yen <scy.h...@gmail.com> wrote:
>> 我發現因為有些東西沒有清乾淨,導致斷線後會一直送出 error。
>>
>> 麻煩請幫我修改如下:
>>
>> 一、termview.js檔中:
>> onkeypress 函式
>> 在
>> var conn = this.conn;
>> 後面加上:
>> // added by Hemiola SUN
>> if ( !conn.ins )
>> return;
>
> 可以請問一下這段修改的目的是?
> 我這邊的錯誤主控台沒有看到任何相關的訊息,
> 不知道是不是其他的地方會出錯?
> 如果是要防止斷線後的輸入的話,
> 這部分只能停止直接的鍵盤輸入,
> 透過輸入法的輸入和貼上的文字還是不受影響,
> 如果要完全停止輸入的話我想可以把這段程式碼寫在
> conn.js 的send函式裡面。

同意。

>
>>
>> 二、 pcman.xul 檔:
>> function finalize() {
>> //pcman.close();
>> pcman.view.blinkTimeout.cancel();
>> pcman=null;
>>
>> }
>
> 我想pcman.close 這段程式碼是用來處理直接關閉連線中分頁的情況,
> 我不大清楚使用了分頁管理套件後的情況,
> 不過我想還是有一些人沒有使用分頁管理套件而且會直接關分頁,
> 也許在conn.js 的close 函式放一段像上面的判斷式會比較好?
>

也可以,同意。

> 另外我想和XUL 介面本身比較不相關的程式碼放在.js 檔案可能會比較好,
> 像是放在pcman.js裡面的close 函式裡,
> 這個函式也只有在這邊會被呼叫。
>

所以你的意思是將
pcman.view.blinkTimeout.cancel();
放到 pcman.js 裡的 close()?
我同意。

就麻煩請 u881831 幫我修改。


另外我發現 copy selection
常常會實際複製的內容與螢幕顯示的選取範圍不符,接下來有空我想看看這個部分有什麼問題。如果各位前輩有時間的話也可以一起幫忙。

PCMan

unread,
Aug 1, 2011, 9:33:34 PM8/1/11
to pcm...@googlegroups.com
我剛剛把大夥都加入到amo了,如果還不能用,請跟我講。Thanks

2011/8/1 SUN Chun-Yen <scy....@gmail.com>:

Hsiao-Ting Yu

unread,
Aug 1, 2011, 11:11:02 PM8/1/11
to pcm...@googlegroups.com
我這裡可以用了,感謝!
剛剛測過 Nightly,一切使用正常,所以剛把 AMO 上的相容性直接一口氣調高到 8.0a1。

SUN Chun-Yen

unread,
Aug 4, 2011, 10:32:33 AM8/4/11
to pcm...@googlegroups.com
不好意思,我能否提議加回這段 code?

原因是我習慣使用鍵盤,因此在斷線後很直覺地想要按 ctrl-w 關分頁,或是 ctrl-b 開書籤,但 onkeypress 把 ctrl
功能都關掉了。我希望能夠重新加回去,這樣斷線後等於是將 ctrl 的控制還給 firefox,也比較合理。


在 2011年8月1日下午6:51,u881831 <u88...@hotmail.com> 寫道:
>
>

> On 8月1日, 上午11時13分, SUN Chun-Yen <scy.h...@gmail.com> wrote:
>> 一、termview.js檔中:
>> onkeypress 函式
>> 在
>> var conn = this.conn;
>> 後面加上:
>> // added by Hemiola SUN
>> if ( !conn.ins )
>> return;
>

Ett Chung

unread,
Aug 5, 2011, 11:48:30 PM8/5/11
to pcm...@googlegroups.com


Hsiao-Ting Yu <sst.d...@gmail.com> 於 2011年8月2日上午11:11 寫道:
我這裡可以用了,感謝!
剛剛測過 Nightly,一切使用正常,所以剛把 AMO 上的相容性直接一口氣調高到 8.0a1。

直接調高相容性似乎造成了災情,因為 bindings.xml 這個檔的部份還沒修正,造成跟某些套件混裝時衝突。
(除了 HyperTranslate 以外,像是skipscreen也會,以前試過有很多都會衝)
不過FX4之後套件基本上是被FX停用的,所以衝突的問題暫時沒有發作,但是到AMO調高後似乎會自動啟用,
PTT browser 版最近一篇 "[-Fx-] Firefox 5.0 分頁開啟問題" 講的症狀和那個套件衝突的症狀是一致的,
看來bindings.xml問題解決後應該儘速更新,以免更多人中招。

--
Ett Chung

SUN Chun-Yen

unread,
Aug 6, 2011, 2:53:01 AM8/6/11
to pcm...@googlegroups.com
我建議先把站台設定的部分關掉,然後先釋出修正 bindings.xml 的版本。

--
孫俊彥 SUN Chun-Yen

scy....@gmail.com

u881831

unread,
Aug 9, 2011, 9:50:21 AM8/9/11
to pcmanfx
新版本0.2.5 發布:

這個版本的更新主要是修正之前版本的問題,
偏好設定等新功能將於之後的版本完成。

更新摘要:
支援自動重連以及防閒置
超連結排除中文
修正與其他套件衝突的問題
修正某些填字方塊未能填滿區域的問題
修正一些搜尋文字的問題
修正一些控制碼及滑鼠選取文字等小問題

AMO 那邊可能需要一些時間審核,
目前可以先在官網的下載頁下載。

----

因為這是我第一次出新版,請在官網或AMO 比較有經驗的各位幫忙看一下我有沒有弄錯。
也請有看到這邊的各位幫忙宣傳一下新版本。


On 8月6日, 下午2時53分, SUN Chun-Yen <scy.h...@gmail.com> wrote:
> 我建議先把站台設定的部分關掉,然後先釋出修正 bindings.xml 的版本。
>

> 在 2011年8月6日上午11:48,Ett Chung <ettool...@gmail.com> 寫道:


>
>
>
>
>
>
>
>
>
>
>
> > Hsiao-Ting Yu <sst.dre...@gmail.com> 於 2011年8月2日上午11:11 寫道:
>
> >> 我這裡可以用了,感謝!
> >> 剛剛測過 Nightly,一切使用正常,所以剛把 AMO 上的相容性直接一口氣調高到 8.0a1。
>
> > 直接調高相容性似乎造成了災情,因為 bindings.xml 這個檔的部份還沒修正,造成跟某些套件混裝時衝突。
> > (除了 HyperTranslate 以外,像是skipscreen也會,以前試過有很多都會衝)
> > 不過FX4之後套件基本上是被FX停用的,所以衝突的問題暫時沒有發作,但是到AMO調高後似乎會自動啟用,
> > PTT browser 版最近一篇 "[-Fx-] Firefox 5.0 分頁開啟問題" 講的症狀和那個套件衝突的症狀是一致的,
> > 看來bindings.xml問題解決後應該儘速更新,以免更多人中招。
>
> > --
> > Ett Chung
>
> --
> 孫俊彥 SUN Chun-Yen
>

> scy.h...@gmail.com

SUN Chun-Yen

unread,
Aug 9, 2011, 10:39:20 AM8/9/11
to pcm...@googlegroups.com
謝謝。我把更新摘要的中文及英文分別處理好了,也加上審核者意見。排第 14x 我看是有得等了。

--
孫俊彥 SUN Chun-Yen

scy....@gmail.com

u881831

unread,
Aug 18, 2011, 6:31:25 AM8/18/11
to pcmanfx
今天終於排到了,
AMO 上面已經是0.2.5 的版本。

關於Reviewer的意見,
第一個就是AMO 自動驗證的警告,
我已經修掉了。
關於第二個問題:
Trying to open a telnet connection to a nonexistent host yields a
black page which consumes quite a lot of CPU time but produces no
error.
我想這應該是自動重連的功能造成的,
因為這功能的設定界面已經完成了,
所以目前最簡單的workaround就是把預設值改成不使用自動重連。
比較好的方法應該是判斷socket的錯誤訊息,
不過我不知道要怎麼弄。
關於這部份請問一下各位有什麼想法?


On 8月9日, 下午10時39分, SUN Chun-Yen <scy.h...@gmail.com> wrote:
> 謝謝。我把更新摘要的中文及英文分別處理好了,也加上審核者意見。排第 14x 我看是有得等了。
>

> scy.h...@gmail.com

Reply all
Reply to author
Forward
0 new messages