沒穿方服

封存

顯示╱隱藏內文

「什麼動作配什麼手勢」應該是有原則的,例如「上一頁」的手勢是左,那「下一頁」想必是右,因為兩個動作互相對稱,手勢自然也要對稱,才容易習慣——此類簡單的考量,可以避免亂設 → 難適應的痛苦。

  • 上一頁 ← (L)
  • 下一頁 → (R)

    動作本身有方向性,很好決定。這例子跟瀏覽器的上一頁/下一頁圖示方向一致。

  • 遞增網址裡頭的數字 ← → (LR)
  • 遞減網址裡頭的數字 → ← (RL)

    同樣是在網址列進退,不過出發前先往反方向墊一下。可能不合理但指令容易接受。

  • Rewind (Go to First Page of History) ← → ← (LRL)
  • Fast Forward (Go to Last Page of History) → ← → (RLR)

    動作是上一頁/下一頁的加強版,手勢也是畫出上一頁/下一頁後用往返方向加速。

  • 捲動到頁首 ↑ (U)
  • 捲動到頁尾 ↓ (D)

    也是動作有方向性。

  • 回到上一層 → ↑ (RU)

    (有點心虛)跟 Windows 的上移圖示方向一致。

  • 上一個分頁 ↓ ← (DL)
  • 下一個分頁 ↓ → (DR)
  • Focus Last Tab ↓ ← → (DLR)
  • Focus First Tab ↓ → ← (DRL)

    因為我把分頁標籤列擺在瀏覽器底端,所以 ↓ (D) 開始就是要選擇分頁。
    算是以動作發生在視窗的「位置」為依據。

  • 關閉分頁 ↑ ↓ (UD)

    模仿日常生活中的關閉動作,例如關箱子,就是手拿起來,然後蓋下去。

    連續動作:上 連續動作:下

  • 復原已關閉分頁 ↓ ↑ (DU)

    這是關閉分頁的對稱,自然也類似開箱子的動作。

  • Open Link in New Tab (Next to the Current Tab) ↑ → ↓ (URD)

    取其位置,因為分頁標籤在正下方,所以我把鏈結抓起來,在目前分頁的右邊放下。

  • 關閉視窗 → ↑ ↓ (RUD)

    因為關視窗的叉叉按鈕在右邊,所以先往右,然後做關閉動作。

  • Enlarge Image Size ← ↑ (LU)
  • Reduce Image Size ← ↓ (LD)
  • Reset Image Size ← ↑ ↓ (LUD)

    圖片縮放動作都是由 ← (L) 開始,倒沒有好理由,只是剛好左還沒用到。

  • 檢視頁面資訊↑ → (UR)
  • 附加元件↑ ← (UL)

    兩項都是另開視窗的動作,往上是因為指令在視窗頂端的工具列裡,往左/右則與新視窗開啟後的位置有關。

  • [彈出視窗] 最近關閉的分頁 ↓ → ↑ (DRU)
  • 顯示 cookie ← ↓ → (LDR)
  • 同文堂 轉繁體 → ← ↓ (RLD)

    取動作的英文首字,DRU 是 Undo closed tab、LDR 是 Cookie、RLD 是 Traditional。

  • [彈出視窗] 以選取的搜尋引擎搜尋文字 → ↓ (RD)

    好的方向都用光了……只好採用 FireGestures 的預設值。

  • MODI(某 bookmarklet) ↑ ↓ ↑ (UDU)

    這只是個習慣。以前 All-in-One Gestures 只能設兩個開書籤的手勢,不好決定怎麼設,結果沿用至今。

  • [Popup] Resize Window ↑ → ↑ (URU)

    錯誤示範,手勢一多似乎就只能亂設。

  • 縮放 - 放大 (滾輪手勢)右鍵 + 向上滾動
  • 縮放 - 縮小 (滾輪手勢)右鍵 + 向下滾動
  • 重新載入 (搖擺手勢)按住右鍵不放再按左鍵
  • 切換 Grab and Drag (搖擺手勢)按住左鍵不放再按右鍵
  • 複製所有劃過的連結網址 (按鍵手勢)按住 Ctrl 鍵並劃過連結
  • 於分頁中開啟所有劃過的連結 (按鍵手勢)按住 Shift 鍵並劃過連結

    六個特殊手勢就靠各人聯想,這東西確實大幅減輕手勢複雜的負擔。


以上就是我自認為親切的列表。如果想列出自己的設定,可以參考上一篇文章:bookmarklet - 匯出 FireGestures 手勢對應設定

這支 bookmarklet 只是寫好玩的,在 Firefox 的 Chrome URL 執行,就可以在電腦裡存一個文字檔,真是方便(所以最好別讓來路不明的 bookmarklet 做這種事)。

使用步驟:

  1. 將 bookmarklet 加進書籤 → 匯出 FireGestures 手勢對應
  2. 在網址列輸入 chrome://firegestures/content/prefs.xul 進入 FireGestures 選項。
  3. 點選剛剛加入的書籤,就會出現對話框詢問選項:

    設定輸出選項

  4. 選擇要把文字檔存到哪裡。

    另存新檔(畫面剪裁過)

  5. 完成後檔案就存好了。

    完成訊息

  6. 把文字檔拖曳進 Firefox,看看結果。

    完成畫面(其實是文字檔)

疑難排解:

只有在 FireGestures 1.1.5 測試,日後作者隨便改點東西我可能就爆了,所以有疑難也不會排解啦。


原始碼拆解:

var FGTreeDumper = {

dump: function(){
  
  var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
  var charset = "UTF-8";
  var os = Cc["@mozilla.org/intl/converter-output-stream;1"].createInstance(Ci.nsIConverterOutputStream);
  var fos = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);

  fp.init(window, null, fp.modeSave);
  fp.defaultExtension='txt';
  fp.defaultString='FireGesturesTreeDump';
  fp.appendFilters(fp.filterText);
  
  /*
   *  1: 忽略未使用項目
   *  2: 忽略 type 欄位
   *  4: 忽略 flag 欄位
   *  8: 忽略「命令」欄位
  */
  var option = prompt('- 忽略未使用的項目,請選 1\n- 忽略 type 資料,請選 2\n- 忽略 flag 資料(例:firefox3)請選 4\n- 忽略「命令」資料,請選 8\n- 綜合選項,請將各選項數字相加,例如 15\n\n請選擇,或不輸入以使用預設選項:');

  if (fp.show() != fp.returnCancel) {
    if (fp.file.exists()) fp.file.remove(true);
    fos.init(fp.file, 0x02 | 0x08 | 0x20, 0666, 0);
    var data = '';
    var mappings = gMappingsArray;
    mappings.forEach(function(item){
      if( ! ((option==1||option==3||option==5||option==7||option==9||option==11||option==15) && item[kDirectionCol]=='') ) {
        var cell = [];
        item.forEach(function(col,idx){
          if(   ! ((option==2||option==3||option==6||option==7||option==10||option==11||option==14||option==15) && idx==kTypeCol)
             && ! ((option==4||option==5||option==6||option==7||option==12||option==13||option==14||option==15) && idx==kFlagsCol)
             && ! ((option==8||option==9||option==10||option==11||option==12||option==13||option==14||option==15) && idx==kCommandCol)
            ) {
            cell.push(col);
          }
        });
        data += cell.join('\t') + '\n';
      }
    });
    os.init(fos, charset, 0, 0x0000);
    os.writeString(data);
    os.close();
    fos.close();
    alert('已完成。');
  }
}

};

FGTreeDumper.dump();
客服小姐會幫你把申請書搞定

這個月帳單又偷渡啥女子天團(唯一理由)、音樂才子的廢紙,損害我精神健康(主要理由)還協助毒痺大眾文化品味(備援理由);想起我早已決定擺脫這個品牌,卻竟姑息至此,真是難堪。

於是今天 19 日去辦了移轉,23 日生效……了卻一樁心事,好簡單啊。