implement d/u command
This commit is contained in:
parent
36680ed8fe
commit
dc860d32f5
5 changed files with 37 additions and 2 deletions
|
@ -26,6 +26,12 @@ const keyDownHandle = (request, sender, sendResponse) => {
|
|||
|
||||
const doBackgroundAction = (sender, action) => {
|
||||
switch(action[0]) {
|
||||
case actions.TABS_CLOSE:
|
||||
tabs.closeTab(sender.tab.id);
|
||||
break;
|
||||
case actions.TABS_REOPEN:
|
||||
tabs.reopenTab();
|
||||
break;
|
||||
case actions.TABS_PREV:
|
||||
tabs.selectPrevTab(sender.tab.index, actions[1] || 1);
|
||||
break;
|
||||
|
|
|
@ -9,6 +9,8 @@ const DEFAULT_KEYMAP = [
|
|||
{ keys: [{ code: KeyboardEvent.DOM_VK_J }], action: [ actions.SCROLL_DOWN, 1 ]},
|
||||
{ keys: [{ code: KeyboardEvent.DOM_VK_G }, { code: KeyboardEvent.DOM_VK_G }], action: [ actions.SCROLL_TOP ]},
|
||||
{ keys: [{ code: KeyboardEvent.DOM_VK_G, shift: true }], action: [ actions.SCROLL_BOTTOM ]},
|
||||
{ keys: [{ code: KeyboardEvent.DOM_VK_D }], action: [ actions.TABS_CLOSE ]},
|
||||
{ keys: [{ code: KeyboardEvent.DOM_VK_U }], action: [ actions.TABS_REOPEN]},
|
||||
{ keys: [{ code: KeyboardEvent.DOM_VK_H }], action: [ actions.TABS_PREV, 1 ]},
|
||||
{ keys: [{ code: KeyboardEvent.DOM_VK_L }], action: [ actions.TABS_NEXT, 1 ]},
|
||||
]
|
||||
|
|
|
@ -1,3 +1,23 @@
|
|||
const closeTab = (id) => {
|
||||
browser.tabs.remove(id);
|
||||
};
|
||||
|
||||
const reopenTab = () => {
|
||||
browser.sessions.getRecentlyClosed({
|
||||
maxResults: 1
|
||||
}).then((sessions) => {
|
||||
if (sessions.length === 0) {
|
||||
return;
|
||||
}
|
||||
let session = sessions[0];
|
||||
if (session.tab) {
|
||||
browser.sessions.restore(session.tab.sessionId);
|
||||
} else {
|
||||
browser.sessions.restore(session.window.sessionId);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const selectPrevTab = (current, count) => {
|
||||
chrome.tabs.query({ currentWindow: true }, (tabs) => {
|
||||
if (tabs.length < 2) {
|
||||
|
@ -20,4 +40,4 @@ const selectNextTab = (current, count) => {
|
|||
});
|
||||
};
|
||||
|
||||
export { selectNextTab, selectPrevTab };
|
||||
export { closeTab, reopenTab, selectNextTab, selectPrevTab };
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
export const CMD_OPEN = 'cmd.open';
|
||||
export const CMD_TABS_OPEN = 'cmd.tabs.open';
|
||||
export const TABS_CLOSE = 'tabs.close';
|
||||
export const TABS_REOPEN = 'tabs.reopen';
|
||||
export const TABS_PREV = 'tabs.prev';
|
||||
export const TABS_NEXT = 'tabs.next';
|
||||
export const SCROLL_UP = 'scroll.up';
|
||||
|
@ -8,6 +10,8 @@ export const SCROLL_TOP = 'scroll.top';
|
|||
export const SCROLL_BOTTOM = 'scroll.bottom';
|
||||
|
||||
const BACKGROUND_ACTION_SET = new Set([
|
||||
TABS_CLOSE,
|
||||
TABS_REOPEN,
|
||||
TABS_PREV,
|
||||
TABS_NEXT
|
||||
]);
|
||||
|
|
Reference in a new issue