aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/background/actions/operation.js2
-rw-r--r--src/background/tabs.js15
-rw-r--r--src/shared/default-settings.js3
-rw-r--r--src/shared/operations.js1
4 files changed, 12 insertions, 9 deletions
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