keyconfig でフィードの URL 移動とフォルダ移動

昨日の続き

あと、フィード単位の移動とサイト訪問がキーボードショートカットからできないけど、keyconfigを使ってどうにかなるだろう。

hogehoge - Thunderbird2 + GmailUI でフィードリーダー

keyconfigという拡張機能でキーボードショートカットを追加した。

URL 移動

フィードリーダとして使ったとき、ヘッダ表示部に張られるページへのリンクをブラウザで訪問するためのキーボードショートカット。

Key
o
var urlBox = document.getAnonymousElementByAttribute( document.getElementById('expandedcontent-baseBox'), 'anonid', 'headerValue' );
messenger.launchExternalURL( urlBox.value );

フォルダ移動

Thunderbirdの左ペインにあるフォルダの開閉・上下移動するキーボードショートカット。

collapseFolder
Descriptionon
開いているフォルダを閉じる
Key
Shift + H
var tree = document.getElementById('folderTree');
if ( tree ) {
  if (!tree.changeOpenState(tree.currentIndex, false)) {
    var parentIndex = tree.view.getParentIndex(tree.currentIndex);
    if (parentIndex >= 0) {
      tree.view.selection.select(parentIndex);
      tree.treeBoxObject.ensureRowIsVisible(parentIndex);
    }
  }
}
expandFolder
Description
閉じているフォルダを開く
Key
Shift + L
var tree = document.getElementById('folderTree');
if ( tree ) {
  var row = tree.currentIndex;
  if (row >= 0 && !tree.changeOpenState(row, true)) {
    var view = tree.view;
    if (row + 1 < view.rowCount &&
        view.getParentIndex(row + 1) == row) {
      tree.view.selection.timedSelect(row + 1, tree._selectDelay);
      tree.treeBoxObject.ensureRowIsVisible(row + 1);
    }
  }
}
folderDown
Description
一つ下へ移動
Key
Shfit + j
var tree = document.getElementById('folderTree');
if ( tree ) {
  var c = tree.currentIndex;
  try {
    if ( c + 1 == tree.view.rowCount ) return;
  } catch (e) {}
  tree.view.selection.timedSelect( c+1, tree._selectDelay );
}
folderUp
Description
一つ上へ移動
Key
Shift + k
var tree = document.getElementById('folderTree');
if ( tree ) {
  var c = tree.currentIndex;
  if ( c == -1 || c == 0 ) return;
  tree.view.selection.timedSelect( c -1, tree._selectDelay);
}