diff --git a/src/background/actions/operation.js b/src/background/actions/operation.js index 074157b..a5094c0 100644 --- a/src/background/actions/operation.js +++ b/src/background/actions/operation.js @@ -22,6 +22,8 @@ const exec = (operation, tab) => { return tabs.selectNextTab(tab.index, operation.count); case operations.TAB_FIRST: return tabs.selectFirstTab(); + case operations.TAB_LAST: + return tabs.selectLastTab(); case operations.TAB_RELOAD: return tabs.reload(tab, operation.cache); case operations.ZOOM_IN: diff --git a/src/background/tabs.js b/src/background/tabs.js index 0567e68..020c826 100644 --- a/src/background/tabs.js +++ b/src/background/tabs.js @@ -86,13 +86,12 @@ const selectFirstTab = () => { }); }; -// const selectLastTab = (current, count) => { -// return browser.tabs.query({ currentWindow: true }).then((tabs) => { -// let select = tabs.length; -// let id = tabs[select].id; -// return browser.tabs.update(id, { active: true }); -// }); -// }; +const selectLastTab = () => { + return browser.tabs.query({ currentWindow: true }).then((tabs) => { + let id = tabs[tabs.length - 1].id; + return browser.tabs.update(id, { active: true }); + }); +}; const reload = (current, cache) => { return browser.tabs.reload( @@ -103,5 +102,5 @@ const reload = (current, cache) => { export { closeTab, reopenTab, selectAt, selectByKeyword, getCompletions, - selectPrevTab, selectNextTab, selectFirstTab, reload + selectPrevTab, selectNextTab, selectFirstTab, selectLastTab, reload }; diff --git a/src/shared/default-settings.js b/src/shared/default-settings.js index a929643..49eee37 100644 --- a/src/shared/default-settings.js +++ b/src/shared/default-settings.js @@ -28,7 +28,8 @@ export default { "u": { "type": "tabs.reopen" }, "K": { "type": "tabs.prev", "count": 1 }, "J": { "type": "tabs.next", "count": 1 }, - "g0": { "type": "tabs.first"}, + "g0": { "type": "tabs.first" }, + "g$": { "type": "tabs.last" }, "r": { "type": "tabs.reload", "cache": false }, "R": { "type": "tabs.reload", "cache": true }, "zi": { "type": "zoom.in" }, diff --git a/src/shared/operations.js b/src/shared/operations.js index 6f4908a..1519e90 100644 --- a/src/shared/operations.js +++ b/src/shared/operations.js @@ -37,6 +37,7 @@ export default { TAB_PREV: 'tabs.prev', TAB_NEXT: 'tabs.next', TAB_FIRST: 'tabs.first', + TAB_LAST: 'tabs.last', TAB_RELOAD: 'tabs.reload', // Zooms