MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2020-10-28, 02:31

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 26 篇文章 ]  前往頁數 12  下一頁
發表人 內容
文章發表於 : 2010-07-31, 23:17 
離線

註冊時間: 2010-05-21, 03:08
文章: 29
下載地址:
http://cid-2e6c8f3d9767a9d7.skydrive.li ... ic/pcmanfx
pcmanfx-0.1.8_r40+_final_r2.xpi

這個r40+是從pcmanfx r40 修改而來的非官方套件,
原版官網:http://code.google.com/p/pcmanfx/
官方版最近開始更新了,詳情請看官網這個討論串

這個非官方套件加了太多雜七雜八的功能,
(有些是標準終端機的功能)。
程式碼已經變得太複雜混亂難以維護,
之後應該不會再更新了,
請大家支持官方版。


R2附註:
後來這個套件有另外的修改版
事實上這個final 版套件還有一些問題尚未解決,
先前版本部分的UTF8編碼功能因為一些問題而暫時關閉,
這個R2版把我做得到的相關配套做出來並完全開放,
(像是實驗性的加入自動登入功能)
這裡也順便修掉一些容易改的小錯誤。
(主要是相容性的問題)
希望這個版本可以避免修改版在不知道的情形下繼續沿用之前的錯誤,
另外測試實驗性功能的部分,
之後官方版偏好設定實作完成後,
那些功能就會以官方版為基礎來添加。

0624更新:
因為這個套件沒有放在AMO 上面不會自動更新相容性,
所以目前將相容性設到9.* ,
如果FX 7-9沒有大改的話就可以直接用不需要更新。
另外這邊整合了在其他project 實作的螢幕緩衝區以及一些控制碼,
(這部分是ANSI編輯器的必要組件-跨頁圖以及插入模式)
ANSI編輯器的其他部分短時間內沒有實作的打算。



今年初火狐升級 3.6之後 tonberry 和pcmanx plugin 都不能用了,
(2011/03 註: 這兩個plugin都確定不會再更新了)
當時用 javascript 寫的擴充套件功能都不是很完整,
而pcmanfx 官方版也有一陣子沒有更新,
所以當時就開始試著做控制碼處理以及錯誤修正。

一開始這個套件是寫給自己用的,
另外也是希望我寫的修正能夠幫助官方版或是其他套件的開發,
所以找個空間放上我寫的修正,
並沒有一直維持這個套件的打算。
事實上許多功能都是測試性支援,
這只能算是一個實驗性的套件。

0815版本:
感謝BBSFOX的作者ettoolong 幫忙整合滑鼠瀏覽以及滑鼠手勢的功能,
另外在此徵求擅長美工的人幫忙製作專門給滑鼠瀏覽用的滑鼠指標圖示,
因為這邊的滑鼠瀏覽模組和BBSFOX一樣所以這個圖示也可以用在BBSFOX中。


關於R2的修正:
這邊最主要是把UTF8編碼功能的相關配套做出來並拿掉一些限制功能的程式碼,

之前是限定UTF8編碼不能隨時切換而且偵測到非UTF8編碼就自動改成big5,
也就是不能以UTF8編碼瀏覽PTT 。
UTF8編碼最主要的問題有兩個:
  • 雙色字支援
  • 全寬半寬文字認定
第一個是因為傳統的big5是由兩個Byte組成,
中間可以放入ANSI色碼(如*[0;37;40m)就形成雙色字,
但是UTF8的長度是可變的,
雙色三色等都有可能出現情況就變得很複雜。
第二個是Unicode 全寬字半寬字每個版本Unicode 都有變化,
甚至還有寬度是標為模糊(程式和字型自由決定)
實際實作時必須程式和字型配合才不會出問題。
這邊預設使用Vim7.2的全寬半寬判斷標準,
只能保證游標顯示在Vim7.2不會跑掉,
但是字型可能會變得很奇怪。

PTT 有支援UTF8模式,
只要在帳號後面加一個"," 登入後就會以UTF8編碼顯示。

(若改加"." 就會以gb2312編碼顯示)
2011/04/17 PTT定期更新後已取消
不過這套件在UTF8模式下沒有辦法正常處理雙色字,
(因為我看不出PTT 是怎麼處理的)
所以會把ANSI色碼當作正常文字而使文字超出畫面,
這邊建議開啟取消文字超出畫面自動換行的選項以降低畫面亂掉的程度。

2011/04/17 PTT定期更新後已將雙色字處理掉,
目前版本(110505)也已經能處理被ANSI色碼中斷的UTF8字元

另外PTT 只要不是標準ASCII 的字全部當作全寬字,
這個版本開始將更改全寬半寬認定的設定和上面說的選項綁在一起,
只要選取這個選項在UTF8模式下瀏覽PTT 就不會因為文字寬度出現問題。

大部分CJK 字型符號的寬度都接近全寬字,
這可能是為了相容傳統的ANSI顯示。
PTT 的全寬字認定基本上是配合這些字型而不是Unicode 標準,

目前版本(110505)提供一個編碼選項(UTF-8_PTT )使用PTT 的全寬字認定。
最後的問題是在登入前的畫面永遠以big5顯示,
這邊藉由從pcmanx-gtk2 移植了自動登入的功能暫時避免畫面亂碼的問題。

另外自動登入的功能支援輸入不可見字元(像是Enter 和方向鍵等),
這邊使用了和防閒置字串和彩色貼上的ESC 取代字串一樣的解析程式碼,
"^" 後面加上大寫字母即等效於Ctrl+ 該字元。(實際上是Caret notation
(^C = Ctrl + C 輸入ANSI色碼,後方字母有分大小寫)
不過"^^"就改成輸入一個"^" (表情符號可能會用到)
畢竟一般防閒置字串和自動登入字串只會用到ESC (^[)
而彩色貼上的ESC 取代字串一般只會多用到^U、^C、和^H而已,
所以這個套件不支援^^以及^?這兩個Caret notation並不會影響正常BBS 使用。

之前的版本連續^ 的處理有誤這個R2版本已修正。

到目前為止這個套件發展狀況:
此外這個套件的特點就是顯示的品質,
延續原來官方版優異的顯示功能,
這個套件除了新增了拉寬文字以及自動改變行數列數這兩個模式外,
還支援選取區反白,
並引用了pcmanx 0.36 以後對ANSI圖的修正,
不只是linux 下加強了顯示效果,
也消除了大部分Win7/vista下因字型邊緣平滑功能造成的ANSI圖破圖,
也就是pcman 錯誤回報網頁上編號#37640的項目。
http://of.openfoundry.org/projects/744/rt
(目前的kkman, pcman combo, tonberry2.3.12預設狀態下都會破圖)
另外還能自訂行數列數來觀看完整的跨頁ANSI圖。
(需要BBS 站台支援,PTT 支援更改行數列數,kkcity支援更改列數)
至於反鋸齒可能要看火狐 4.0正式版或是作業系統會不會支援了,
這邊應該不會自己做。
(因為自己做的話會讓效能大幅降低)
其他更詳細的內容請見下載網址內的說明文件。

我在做錯誤修正以及實作新功能時部分程式碼並不是寫的很漂亮,
像是一些官方版的程式碼應該要整個重寫以新增功能的部分,
只硬加了一些奇怪的語法而沒有重寫等等,
如果有人想要接手的話我會幫忙處理這部分。
我想這個套件最大的爭議應該在彩色複製貼上的部分,
現在新版的linux 應該都是用unicode 處理文字,
傳統的雙色字格式在這個環境之下無法使用,
所以我在處理系統剪貼簿時設計了一個相容於unicode 格式,
(和BBS 站台的互動還是一般的格式)
理論上不管經過幾次ansi <-> unicode轉換都不會出問題,
這樣就能保證在新舊版linux 以及其他作業系統的相容性。
事實上即使只考慮Windows 這個作業系統,
經過瀏覽器這個unicode 環境還要維持ANSI雙色字還是很困難,
目前我還沒看到有哪個火狐套件能完美處理雙色字。
(這也可能是因為我孤陋寡聞不知道而已)
雖然這個功能和pcman combo 相比就只是在系統剪貼簿裡面的東西不一樣而已,
但是這就造成了和PHJCI 之類的ANSI圖繪圖軟體不相容的情形,
這個問題可以讓套件直接讀寫 .ansi檔(pcman combo 的存檔格式)來解決,
已於0815版本實作。

另外在下載整篇文章的部分,
這個功能其實不大適合在客戶端實作,
pcman/pcmanx的下載文章功能在PTT 預設的模式會掉行,
所以使用者必須先關掉雙行的文章標頭分隔線。
這邊的實作是採用掉行偵測的方式,
不管有沒有關掉那個功能都能正常工作,
但是這不但使程式碼增加好幾倍的長度,
而且當網路不順時可能會隨機發生下載下來的文章多了很多重複的部分,
(某次修正前的情況,不過我也不能確定現在的版本不會這樣)
目前下載的速度之所以會設的這麼慢也是為了降低這個問題發生的可能性。
0815版本再做了一些修正,不過也不能保證完全沒有問題,
畢竟這個功能比較適合做在伺服器端。


已知問題:
  1. 到4.0b2 code freeze 為止官方的windows x64版火狐每次程式開始時就會產生重繪錯誤,
    目前的火狐版本(4.0b13 pre)已修正
  2. 文字超級拖放不支援反白、改變字型、拉寬文字
  3. 狀態列顯示連線時間功能與其它套件衝突
  4. BBS 分頁拖出成新視窗時分頁圖示(顯示連線狀態)可能會跑掉

0815測試版的變更紀錄:
新增滑鼠瀏覽以及滑鼠手勢支援(感謝BBSFOX作者的幫忙)
註:0815版本僅修正和原有功能衝突的部分如更動行數列數等,
  滑鼠功能本身和之前BBSFOX作者釋出的檔案相比並沒有功能修正或增強

支援讀寫PCMan Novus 及其相容軟體的ANSI彩色檔案
修正下載文章時是否已讀入新行的判斷條件(網路有嚴重延遲時)
修正連線時間計時器在同時有多個連線時顯示的時間會閃爍
修正使用utf8編碼時unicode 半寬字元造成自動換行計算長度時判斷錯誤

0820測試版的變更紀錄:
更新firegestures軌跡顯示方式
firegestures腳本產生頁面多語化
即時更換前背景色
未選取文字時停用複製及彩色複製
選取區存在時另存檔案儲存選取區彩色文字
修正linux 下另存檔案多出新行
修正linux 滑鼠滾輪上下一頁失效
修正選取區文字和文字變動後取消選取隨機失敗
修正未裝firegestures時啟用繪製滑鼠軌跡失敗
修正某些視窗大小之下底部出現預設底色
修正以新視窗開啟時瞬間視窗長寬為零導致重繪錯誤
修正滑鼠瀏覽判斷行數列數失敗

0821測試版的變更紀錄:
使用firegestures本身的偏好選項決定滑鼠軌跡是否顯示以及是否逾時
firegestures腳本產生頁面支援輸入自訂字串(參考BBSFOX)
修正英文版本firegestures腳本產生頁面的翻譯錯誤
修正在BBS 頁面HOME的手勢失效

0824測試版的變更紀錄:
部分支援中文鍵結
FireGestures腳本產生頁面XUL 化
小幅修改選項頁面(行數列數防呆)
修正部分FireGestures自訂字串送出錯誤命令
部分修正以新視窗開啟時分頁圖示跑掉

0829測試版修正失敗,廢棄

0830測試版的變更紀錄:
調整滑鼠瀏覽顯示區塊光棒的部分減少不必要的動作
修正改變視窗大小後字型大小可能沒有改變(改變大小和重繪螢幕同時發生時)
修正主頁面(xul) 在錯誤主控台產生的的警告
修正輸入Backspace 鍵後游標右方區域可能殘留之前的區塊

0831測試版的變更紀錄:
新增滑鼠瀏覽模式下長按滑鼠左鍵就送出Enter的功能
修正自動調整長寬比模式下視窗大小改變後圈選區域錯誤(將視窗大小縮到極小再拉大)
修正自動調整行數列數模式下行數列數可能變成零的錯誤

Final 版的變更紀錄:
更改套件ID以避免自動更新功能和官方版本衝突
修正某個控制碼(CSI L: insert line)的實作錯誤

Final R2版的變更紀錄:
相容火狐4.0 正式版
支援自動登入
修正Linux 下右鍵選單無法開啟
取消斷線時的警告視窗
斷線後關閉分頁不再提示
修正防閒置字串和彩色貼上取代字串中連續^ 的處理
取消一些設定UTF8編碼時的限制(部分支援PTT 的UTF8瀏覽)

0624
相容新版本FireFox
修正PTT UTF8瀏覽的穩定性問題
修正更改行數列數時游標位置的處理
新增插入模式等控制碼(整合自其他Project )
支援螢幕緩衝區(整合自其他Project )


如果有關於我上面寫的內容或是程式碼寫作等方面的意見歡迎提出來討論,
當然也歡迎程式功能錯誤或是功能新增的建議,
雖然時間上技術上未必能夠滿足各位。
最後請不要把這個套件的問題回報到官方版的網站上,畢竟這是非官方版,
謝謝。


最後由 u881831 於 2011-06-25, 01:39 編輯,總共編輯了 16 次。

回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-TW; rv:1.9.1.11) Gecko/20100701 Firefox/3.5.11 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-18, 16:39 
離線
[MozTW 版主群]

註冊時間: 2009-07-06, 18:15
文章: 418
不知道有沒有空檢查一個效能問題:
在BBSFox中,termbuf.js 裡面:
代碼:
    notify: function(timer) {
    ...
      if(this.changed) // content changed
      {
         if(this.useMouseBrowsing){           
           this.SetPageState();
          this.resetMousePos();           
        }
        this.updateCharAttr();
        if(this.view) {
          this.view.update();
        }
        this.changed=false;
    ...
    },


在pcmanfx-0.1.8_r40+ _alpha中,termbuf.js 裡面:
代碼:
    onTimeout: function() {
    ...
        if(this.useMouseBrowsing){  //當畫面有變更時,重新檢查 Page的型態
            this.SetPageState();       
            this.resetMousePos();     
        }                                       

        if(this.changed) { // content changed
            this.updateCharAttr();
            if(this.view) {
                if(!this.keepSel && this.view.selection) {
                    this.view.selection=null;
                    this.view.updateSelection();
                } else this.view.update();
            }
            this.setSelection();
            this.changed=false;
            this.downPostChanged=true;
        }
    ...
    },

在移植滑鼠瀏覽時,我把if(this.useMouseBrowsing){..}
放到 if(this.changed) {...} 裡面,有畫面變更才處理,就是和BBSFox一樣的結構,但這樣會造成page type判斷錯誤(有一定的機率在進去讀文章時,狀態卻還停留在文章列表,導致讀文的時候綠色光棒出現)
把它往外提一層,每次進onTimeout都作,就沒問題。
不知道是為什麼造成這個差異。

SetPageState()裡面有用到 this.cur_x 和 this.cur_y
所以應該還是放在外面比較合理,但是這樣BBSFox現在的寫法應該就會誤判,但是卻沒沒發生過。


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-18, 19:34 
離線
[MozTW 版主群]

註冊時間: 2009-07-06, 18:15
文章: 418
回報一個狀況,我在某電腦遇過一個問題,就是圈選的反白整個跑掉。
抓兩張圖作個參考,
(圖1) 狀況:圈選的反白看起來是一層半透明的圖層。
(圖2) 狀況:我設定頁選的是標楷體,圈選反白所產生的部份看起來卻變回了細明體。

用乾淨別台的電腦裝過,就沒問題。產生這個問題的電腦曾裝過不少套件,
當發現這個問題後就試著把其他套件都移掉,問題還是在。

裝回2010年5月25日左右抓的版本,問題就沒有了,再裝回最新版,問題又重現。

所以2010年5月左右到現在這版中間圈選的方式有何特別修改呢?
因目前沒有其他的歷史版本,所以不知道是從哪一版開始有這個問題,
不過也就只有這台電腦發生(您可能難以重現),所以也可能不是很重要就是了。
如果有需要追查這個問題,我可以在這台電腦測。


附加檔案:
檔案註釋: 圖2
pic2.png [19.84 KiB]
被下載 231 次
檔案註釋: 圖1
pic1.png [100.9 KiB]
被下載 230 次
回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-18, 20:14 
離線

註冊時間: 2010-05-21, 03:08
文章: 29
恕刪部分引言

ettoolong 寫:
不知道有沒有空檢查一個效能問題:
在BBSFox中,termbuf.js 裡面:
代碼:
    notify: function(timer) {
    ...
      if(this.changed) // content changed
      {
         if(this.useMouseBrowsing){           
           this.SetPageState();
          this.resetMousePos();           
        }
        this.updateCharAttr();
    ...


在pcmanfx-0.1.8_r40+ _alpha中,termbuf.js 裡面:
代碼:
    onTimeout: function() {
    ...
        if(this.useMouseBrowsing){  //當畫面有變更時,重新檢查 Page的型態
            this.SetPageState();       
            this.resetMousePos();     
        }                                       

        if(this.changed) { // content changed
    ...
    },

在移植滑鼠瀏覽時,我把if(this.useMouseBrowsing){..}
放到 if(this.changed) {...} 裡面,有畫面變更才處理,就是和BBSFox一樣的結構,但這樣會造成page type判斷錯誤(有一定的機率在進去讀文章時,狀態卻還停留在文章列表,導致讀文的時候綠色光棒出現)
把它往外提一層,每次進onTimeout都作,就沒問題。
不知道是為什麼造成這個差異。

SetPageState()裡面有用到 this.cur_x 和 this.cur_y
所以應該還是放在外面比較合理,但是這樣BBSFox現在的寫法應該就會誤判,但是卻沒沒發生過。

因為我在實作文字閃爍、游標閃爍、選取區反白時為了避免同時執行onTimeout 畫面亂掉,
就直接在那個地方複製部分onTimeout 的程式碼過去,
所以原來的寫法就可能會出問題,
也許直接呼叫onTimeout 可能比較好維護雖然速度可能會慢一點,
我之後會再評估看看。 [0820已改正]
另外BBS換頁絕大部分文字和游標都會變動,所以就BBSFOX來說放哪邊都可以,
這邊的情況只要放外面就能正常工作(就程式結構而言還是很奇怪就是)


最後由 u881831 於 2010-08-21, 01:31 編輯,總共編輯了 1 次。

回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8
 個人資料  
引用回覆  
文章發表於 : 2010-08-18, 20:31 
離線

註冊時間: 2010-05-21, 03:08
文章: 29
ettoolong 寫:
回報一個狀況,我在某電腦遇過一個問題,就是圈選的反白整個跑掉。
抓兩張圖作個參考,
(圖1) 狀況:圈選的反白看起來是一層半透明的圖層。
(圖2) 狀況:我設定頁選的是標楷體,圈選反白所產生的部份看起來卻變回了細明體。

用乾淨別台的電腦裝過,就沒問題。產生這個問題的電腦曾裝過不少套件,
當發現這個問題後就試著把其他套件都移掉,問題還是在。

裝回2010年5月25日左右抓的版本,問題就沒有了,再裝回最新版,問題又重現。

所以2010年5月左右到現在這版中間圈選的方式有何特別修改呢?
因目前沒有其他的歷史版本,所以不知道是從哪一版開始有這個問題,
不過也就只有這台電腦發生(您可能難以重現),所以也可能不是很重要就是了。
如果有需要追查這個問題,我可以在這台電腦測。

這應該是開啟了使用文字超級拖放的情形吧,
事實上這個功能是從官方版的雙擊選取文字的模組改進而來的,
就是直接生HTML的DIV 出來,
因為選取區就直接是HTML元件所以可以用火狐內建的功能作文字拖放,
但是這樣就會遇到現在的BBSFOX一樣的問題,
選取區無法以文字的相反色反白,
文字無法拉寬,(因為這個模組一行就一個DIV 所以就直接錯位)
字型無法分開中英文,(可能我之後就統一用中文字型)
另外unicode 半寬字元也會造成錯位,(因為這個模組的關係很難處理)
還有在Linux 下問題會變得更嚴重。
我之後會再考慮看看要不要把這個模組整個換掉。


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8
 個人資料  
引用回覆  
文章發表於 : 2010-08-18, 20:36 
離線
[MozTW 版主群]

註冊時間: 2009-07-06, 18:15
文章: 418
u881831 寫:
這應該是開啟了使用文字超級拖放的情形吧,

啊...沒錯...真的是這個設定造成的問題。 <囧>
關掉就OK了。


回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-19, 08:40 
離線
[MozTW 版主群]

註冊時間: 2009-07-06, 18:15
文章: 418
(1)打開[狀態列顯示連線時間]功能,當正在畫滑鼠手勢時,手勢文字和狀態列時間會互相覆蓋。(也許不是很重要是因為手勢通常是一下子就畫完了)

(2)在前背景模式用[白底黑字]時,調整視窗大小時,某些特定的大小下,在最尾行的下方會留有一塊黑色區塊(如附圖)。

(3)在[白底黑字]和[黑底白字]兩種模式間切換後套用,都沒有全畫面的清除重繪,之後都會有局部殘留,直到該區塊被重新顯示過別的文字才正常(所以色碼對調不是在termview中動態處理,而是在termbuf中?效能考量?因為這也不是會一直去切來切去的功能就是了)。

(4)把BBS的Tab拖出來變成分離出的新視窗時,繪圖好像會因此不能動作(還有此時Tab的icon也會變回預設icon而不是連線狀態的燈號,此icon問題BBSFox一樣也有),有時候變一片黑,拖回原視窗有時候可以正常,在[白底黑字]分離視窗,通常會變成一個黑黑的小框在白色的底上面。(在3.6.8下測的,beta版還沒測)

(5)我在整合滑鼠手勢的地方似乎有地方沒處理好,導致在移掉FireGestures套件後,造成無法反白圈選文字。 |||Orz (錯誤主控台有error訊息)

(6)滑鼠右鍵選單的複制和彩色複制不知道要不要在[完全無圈選區]的情況下作disable。


附加檔案:
pic3.png [45 KiB]
被下載 225 次
回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-19, 23:36 
離線

註冊時間: 2010-05-21, 03:08
文章: 29
ettoolong 寫:
(1)打開[狀態列顯示連線時間]功能,當正在畫滑鼠手勢時,手勢文字和狀態列時間會互相覆蓋。(也許不是很重要是因為手勢通常是一下子就畫完了)

(2)在前背景模式用[白底黑字]時,調整視窗大小時,某些特定的大小下,在最尾行的下方會留有一塊黑色區塊(如附圖)。

(3)在[白底黑字]和[黑底白字]兩種模式間切換後套用,都沒有全畫面的清除重繪,之後都會有局部殘留,直到該區塊被重新顯示過別的文字才正常(所以色碼對調不是在termview中動態處理,而是在termbuf中?效能考量?因為這也不是會一直去切來切去的功能就是了)。

(4)把BBS的Tab拖出來變成分離出的新視窗時,繪圖好像會因此不能動作(還有此時Tab的icon也會變回預設icon而不是連線狀態的燈號,此icon問題BBSFox一樣也有),有時候變一片黑,拖回原視窗有時候可以正常,在[白底黑字]分離視窗,通常會變成一個黑黑的小框在白色的底上面。(在3.6.8下測的,beta版還沒測)

(5)我在整合滑鼠手勢的地方似乎有地方沒處理好,導致在移掉FireGestures套件後,造成無法反白圈選文字。 |||Orz (錯誤主控台有error訊息)

(6) 滑鼠右鍵選單的複制和彩色複制不知道要不要在[完全無圈選區]的情況下作disable。

(1) 的話其實連線時間放在狀態列下會有問題,
我印象中有些附加元件會在右下角放圖示,
也許可以在那裡切一個小區域來顯示時間?
不知道有沒有功能相近的附加元件可以參考?

(2) 之前忘了把canvas的底色設成白色,
所以canvas高度除以24後的餘數部份就變成預設的黑色了,
之後的版本會改掉。
[0820修正 最後直接切掉多的部分]

(3) 的部份是因為有些區域是被直接指定為黑色有些只是重設後才變黑色,
前者不應該在更換前背景顏色中被更換。
目前的程式在連線中沒有辦法分別,
而且我找的到有這功能的程式都要重新啟動才生效。
其實只要在每個termchar作記號應該就能解決了,
之後我會試著做看看。 [0820修正]

(4) 已確認,還在除錯中。
[0820修正 拖出的過程中有超過一次的resize,其中一次視窗大小為零程式就掛了]
圖示問題尚未解決

(5) 是讀取偏好設定時出錯嗎?之後版本會修正。 [0820修正]

(6) 應該不是很困難,之後的版本會試試看。 [0820新增]


最後由 u881831 於 2010-08-21, 01:43 編輯,總共編輯了 1 次。

回頂端
Mozilla/5.0 (X11; U; Linux x86_64; zh-TW; rv:1.9.2.8) Gecko/20100723 SUSE/3.6.8-1.3 Firefox/3.6.8
 個人資料  
引用回覆  
文章發表於 : 2010-08-20, 00:48 
離線
[MozTW 版主群]

註冊時間: 2009-07-06, 18:15
文章: 418
u881831 寫:
(1) 的話其實連線時間放在狀態列下會有問題,
我印象中有些附加元件會在右下角放圖示,
也許可以在那裡切一個小區域來顯示時間?
不知道有沒有功能相近的附加元件可以參考?


這個
https://addons.mozilla.org/en-US/firefox/addon/58606/
和這個
http://forum.moztw.org/viewtopic.php?f=58&t=27704
看看有沒有幫助,它右下有顯示放大比率,不過它是一個按鈕就是了。


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-20, 15:38 
離線
[MozTW 版主群]

註冊時間: 2009-07-06, 18:15
文章: 418
發現一個bug(如附圖),在滑鼠瀏覽列表頁面的地方,
要去選列表最下面的項目時,都會變成是End的游標,
因此無法選到最後的一篇文。
估計是修改可變行數列數的支援後,有地方計算錯了。
我有裝回一開始我整合的版本(固定80x24),就沒有問題。

麻煩再查一下,謝謝。


附加檔案:
檔案註釋: 滑鼠瀏覽列表頁面問題
pic4.png [94.25 KiB]
被下載 223 次
回頂端
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-20, 20:23 
離線

註冊時間: 2010-05-21, 03:08
文章: 29
ettoolong 寫:
發現一個bug(如附圖),在滑鼠瀏覽列表頁面的地方,
要去選列表最下面的項目時,都會變成是End的游標,
因此無法選到最後的一篇文。
估計是修改可變行數列數的支援後,有地方計算錯了。
我有裝回一開始我整合的版本(固定80x24),就沒有問題。

麻煩再查一下,謝謝。

這邊的確是因為偵測行數列數出了問題。
因為客戶端這邊設的行數列數伺服器端未必能夠完全符合,
所以這邊就偵測畫面來決定伺服器的行數列數,
剛好那個畫面最下面一行是空的所以就判斷成23行,
然後就造成這個結果,
印象中大部分的BBS 伺服器都不支援小於80*24 所以就直接先設限好了,
不過我不確定巴哈有沒有支援改變行數列數,
大於24行的情形會不會又發生同樣的情況,
之後我會再確認。 [巴哈不支援更改行數列數,0820應該算解決了]
晚點我先放出這陣子的積存更新請先測試那個版本吧。

已放出,
目前有考慮作的:
1.修正拖出成新視窗時圖示跑掉,
就是跑掉後再指定一次圖示,
目前還沒想到要怎樣做比較好,
每次resize做的話效能不佳。
2.狀態列以獨立區塊顯示連線時間,
弄出區塊已經沒問題了,
還在想怎樣讓這個區塊和主程式溝通比較好,
3.這個論壇的超連結辨識看起來做得不錯,(支援中文網址)
而且應該也使用了一些時間算是穩定了,
看能不能找出來整合進去。

還有剛發現0820以前的版本(包含0820版本)Firegestures手勢的Home失效,之後會修正。 [0821已修正]


最後由 u881831 於 2010-08-21, 21:41 編輯,總共編輯了 1 次。

回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-TW; rv:1.9.2.3) Gecko/20100405 Namoroka/3.6.3
 個人資料  
引用回覆  
文章發表於 : 2010-08-21, 07:38 
離線
[MozTW 版主群]

註冊時間: 2009-07-06, 18:15
文章: 418
部份引用
u881831 寫:
目前有考慮作的:
1.修正拖出成新視窗時圖示跑掉,
就是跑掉後再指定一次圖示,
目前還沒想到要怎樣做比較好,
每次resize做的話效能不佳。

可能要找看看分離和合併視窗的event,目前試過tabopen和tabmove,都不行。
u881831 寫:
2.狀態列以獨立區塊顯示連線時間,
弄出區塊已經沒問題了,
還在想怎樣讓這個區塊和主程式溝通比較好,

我有類似的問題,頁面裡面存取不到overlay層的東西,
在整合firegesture時有想過用類似
if('FireGestures' in window)去測試有沒有裝 FireGestures,不過好像不行。
另外其實可以把現在設定裡面的[繪製滑鼠手勢軌跡]拿掉,直接讀FireGestures裡面的設定。
可以讓這邊直接連動。
FireGestures裡還有一個叫作[手勢逾時]的設定,可能也需要讀出來和BBS部份連動。
當初整合只是先加入手勢腳本到BBS頁面的event傳遞,設定只讀出線條粗細、顏色,
要完美整合可能就要再把[繪製滑鼠手勢軌跡]和[手勢逾時]這兩部份連動。

u881831 寫:
還有剛發現0820以前的版本(包含0820版本)Firegestures手勢的Home失效,之後會修正。

咦!!!? 'Browser:Home' 這一個?
是說設定後在http頁面作了手勢回不到首頁?但是我剛裝後設定一次是正常。
有看出啥問題嗎?對http頁面的手勢都是轉呼叫FireGestures內建的處理,
除非copy貼上時貼錯東西。


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-21, 22:03 
離線

註冊時間: 2010-05-21, 03:08
文章: 29
恕刪部分引言

ettoolong 寫:
u881831 寫:
2.狀態列以獨立區塊顯示連線時間,
弄出區塊已經沒問題了,
還在想怎樣讓這個區塊和主程式溝通比較好,

我有類似的問題,頁面裡面存取不到overlay層的東西,
在整合firegesture時有想過用類似
if('FireGestures' in window)去測試有沒有裝 FireGestures,不過好像不行。

其實MDC 上有從側邊列存取現在分頁的方法,
http://mdn.beonex.com/en/Code_snippets/Tabbed_browser
我想大概也可以從狀態列存取BBS 連線主程式,
不過考慮到同時有多個連線的情形,
可能還是從主程式存取狀態列比較方便,
而且也比較不會出錯。

ettoolong 寫:
另外其實可以把現在設定裡面的[繪製滑鼠手勢軌跡]拿掉,直接讀FireGestures裡面的設定。
可以讓這邊直接連動。
FireGestures裡還有一個叫作[手勢逾時]的設定,可能也需要讀出來和BBS部份連動。
當初整合只是先加入手勢腳本到BBS頁面的event傳遞,設定只讀出線條粗細、顏色,
要完美整合可能就要再把[繪製滑鼠手勢軌跡]和[手勢逾時]這兩部份連動。

0821版本已整合,謝謝建議。

ettoolong 寫:
u881831 寫:
還有剛發現0820以前的版本(包含0820版本)Firegestures手勢的Home失效,之後會修正。

咦!!!? 'Browser:Home' 這一個?
是說設定後在http頁面作了手勢回不到首頁?但是我剛裝後設定一次是正常。
有看出啥問題嗎?對http頁面的手勢都是轉呼叫FireGestures內建的處理,
除非copy貼上時貼錯東西。


在網頁上沒有問題,只是在BBS 頁面上沒有反應,
原因是在checkFireGestureKey函式中
this.conn.send漏打成this.send。
另外在產生FireGestures腳本頁面是不是漏了於側邊欄顯示書籤這一項?


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-TW; rv:1.9.1.11) Gecko/20100701 Firefox/3.5.11 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-21, 23:14 
離線
[MozTW 版主群]

註冊時間: 2009-07-06, 18:15
文章: 418
u881831 寫:
ettoolong 寫:
u881831 寫:
還有剛發現0820以前的版本(包含0820版本)Firegestures手勢的Home失效,之後會修正。

咦!!!? 'Browser:Home' 這一個?
是說設定後在http頁面作了手勢回不到首頁?但是我剛裝後設定一次是正常。
有看出啥問題嗎?對http頁面的手勢都是轉呼叫FireGestures內建的處理,
除非copy貼上時貼錯東西。


在網頁上沒有問題,只是在BBS 頁面上沒有反應,
原因是在checkFireGestureKey函式中
this.conn.send漏打成this.send。

XDDDD 我想成http的那個首頁...
剛剛確認了一下...是我之前整合的時候手誤了,沒有改到。 Orz

u881831 寫:
另外在產生FireGestures腳本頁面是不是漏了於側邊欄顯示書籤這一項?

真的漏掉了...請補上紅色那行。
<option value='FireGestures:ErrorConsole' id='errorconsole'></option>
<option value='FireGestures:BookmarksSidebar' id='bookmarkssidebar'></option>
<option value='FireGestures:HistorySidebar' id='historysidebar'></option>

剛看了一下...新版已經補過了。


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
文章發表於 : 2010-08-23, 03:13 
離線
[MozTW 版主群]

註冊時間: 2009-07-06, 18:15
文章: 418
u881831 寫:
1.修正拖出成新視窗時圖示跑掉,
就是跑掉後再指定一次圖示,
目前還沒想到要怎樣做比較好,
每次resize做的話效能不佳。

事件會產生,但重置圖示就是失敗 Orz
代碼:
var tabEventTest = {
  handleEvent: function(event) {
    switch(event.type) {
      case 'load':
        this.init();
        break;
      case 'unload':
        this.uninit();
        break;
    }
  },

  init: function() {
       //gBrowser.setAttribute('ondragend','tabEventTest.DoSomeThing(event);'+gBrowser.getAttribute('ondragend') );
      gBrowser.mTabContainer.addEventListener("dragend", function(event) { alert('end drag'); }, true);
      gBrowser.tabContainer.addEventListener("TabMove", function(event) { alert('move tab'); }, false);
    window.addEventListener('unload', this, false);
  },

  uninit: function() {
    window.removeEventListener('unload', this, false);
  }
}
window.addEventListener('load', tabEventTest, false); 


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-TW; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729)
 個人資料  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 26 篇文章 ]  前往頁數 12  下一頁

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 17 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群