-
Notifications
You must be signed in to change notification settings - Fork 281
Code snippets for custom keyboard shortcuts(ja)
lv7777 edited this page May 3, 2016
·
1 revision
Firefoxはこれまで非常にたくさんのキーボードショートカットを作成し、他のアドオンもまた自分自身のキーボードショートカットを提供しています。
私は他のアドオンと重複しないショートカットを見つけるのが難しいため、他のアドオンのためにAPIを提供することに決めました。他のスクリプトを使って動きを定義することのできるアドオン(例えばDorando keyconfigなど)を使い、キーボードショートカットをカスタマイズしてください。すいません。
関連項目:
- Wiki page collecting keyboard shortcuts · Issue #669
- Toggle hotkey · Issue #156
- Feature Request: Close Group Shortcut · Issue #274
- Keyboard Shortcuts for modifying tree · Issue #772
- Supporting PageUp, PageDown, Home, End keys in the tab list · Issue #836
- caicui's Vimperator plugin to operate tabs with TST
Firefoxはフォーカスをタブ間で移動させるための自分自身のショートカットを持っていますが、デフォルトでは無効化されています。そのため下記userChrome.cssを使い有効化する必要があります。(訳注:このcssを有効にするとtabキーによって選択することができます。)
.tabbrowser-tab {
-moz-user-focus: normal !important;
}
ちなみに、前のタブや後ろのタブを選ぶ Ctrl-PageUp
や Ctrl-PageDown
というショートカットがデフォルトで使用可能です。
if (gBrowser.treeStyleTab.tabbarShown) {
gBrowser.treeStyleTab.hideTabbar();
} else {
gBrowser.treeStyleTab.showTabbar();
}
gBrowser.treeStyleTab.removeTabSubtree(gBrowser.selectedTab);
TreeStyleTabService.getAncestorTabs(gBrowser.selectedTab).forEach(function(aTab) {
gBrowser.reloadTab(aTab);
});
var root = TreeStyleTabService.getRootTab(gBrowser.selectedTab);
var prev = TreeStyleTabService.getPreviousSiblingTab(root);
if (prev)
gBrowser.selectedTab = prev;
var root = TreeStyleTabService.getRootTab(gBrowser.selectedTab);
var next = TreeStyleTabService.getNextSiblingTab(root);
if (next)
gBrowser.selectedTab = next;
TreeStyleTabService.readyToOpenChildTab(gBrowser.selectedTab);
openUILinkIn(BROWSER_NEW_TAB_URL, "tab");
var parent = TreeStyleTabService.getParentTab(gBrowser.selectedTab);
if (parent)
TreeStyleTabService.readyToOpenChildTab(parent);
openUILinkIn(BROWSER_NEW_TAB_URL, "tab");
gBrowser.treeStyleTab.demoteCurrentTab();
gBrowser.treeStyleTab.promoteCurrentTab();
var tab = gBrowser.selectedTab, b = gBrowser.treeStyleTab.getTabBrowserFromChild(tab).treeStyleTab, next = b.getNextVisibleTab(tab);
if (next) {
var getTabLevel = (tab) => b.getAncestorTabs(tab).length;
var nextLevel = getTabLevel(next), tabLevel = getTabLevel(tab);
if (nextLevel >= tabLevel) {
if (nextLevel > tabLevel)
next = b.getNextSiblingTab(tab);
if (next) {
while (b.hasChildTabs(next))
next = b.getLastChildTab(next);
gBrowser.moveTabTo(tab, next._tPos);
}
}
}
var tab = gBrowser.selectedTab, b = gBrowser.treeStyleTab.getTabBrowserFromChild(tab).treeStyleTab, prev = b.getPreviousVisibleTab(tab);
if (prev) {
var getTabLevel = (tab) => b.getAncestorTabs(tab).length;
var prevLevel = getTabLevel(prev), tabLevel = getTabLevel(tab);
if (prevLevel >= tabLevel) {
if (prevLevel > tabLevel)
prev = b.getPreviousSiblingTab(tab);
gBrowser.moveTabTo(tab, prev._tPos);
var newLevel = getTabLevel(tab);
while (newLevel-- > tabLevel)
b.promoteTab(tab);
}
}