aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--background_scripts/commands.coffee10
-rw-r--r--background_scripts/main.coffee6
2 files changed, 14 insertions, 2 deletions
diff --git a/background_scripts/commands.coffee b/background_scripts/commands.coffee
index e2211be1..628b7273 100644
--- a/background_scripts/commands.coffee
+++ b/background_scripts/commands.coffee
@@ -100,7 +100,7 @@ Commands =
["goBack", "goForward"]
tabManipulation:
["nextTab", "previousTab", "firstTab", "lastTab", "createTab", "duplicateTab", "removeTab",
- "restoreTab", "moveTabToNewWindow", "togglePinTab"]
+ "restoreTab", "moveTabToNewWindow", "togglePinTab", "moveTabLeft", "moveTabRight"]
misc:
["showHelp"]
@@ -111,7 +111,7 @@ Commands =
"scrollToLeft", "scrollToRight", "moveTabToNewWindow",
"goUp", "goToRoot", "focusInput", "LinkHints.activateModeWithQueue",
"LinkHints.activateModeToOpenIncognito", "goNext", "goPrevious", "Marks.activateCreateMode",
- "Marks.activateGotoMode"]
+ "Marks.activateGotoMode", "moveTabLeft", "moveTabRight"]
defaultKeyMappings =
"?": "showHelp"
@@ -164,6 +164,9 @@ defaultKeyMappings =
"g0": "firstTab"
"g$": "lastTab"
+ "Ml": "moveTabLeft"
+ "Mr": "moveTabRight"
+
"W": "moveTabToNewWindow"
"t": "createTab"
"yt": "duplicateTab"
@@ -250,6 +253,9 @@ commandDescriptions =
moveTabToNewWindow: ["Move tab to new window", { background: true }]
togglePinTab: ["Pin/unpin current tab", { background: true }]
+ moveTabLeft: ["Move tab to the left", { background: true }]
+ moveTabRight: ["Move tab to the right", { background: true }]
+
"Vomnibar.activate": ["Open URL, bookmark, or history entry"]
"Vomnibar.activateInNewTab": ["Open URL, bookmark, history entry, in a new tab"]
"Vomnibar.activateTabSelection": ["Search through your open tabs"]
diff --git a/background_scripts/main.coffee b/background_scripts/main.coffee
index b2b4669c..a15d8d0a 100644
--- a/background_scripts/main.coffee
+++ b/background_scripts/main.coffee
@@ -217,6 +217,10 @@ repeatFunction = (func, totalCount, currentCount, frameId) ->
-> repeatFunction(func, totalCount, currentCount + 1, frameId),
frameId)
+moveTab = (callback, direction) ->
+ chrome.tabs.getSelected(null, (tab) ->
+ chrome.tabs.move(tab.id, {index: tab.index + direction }, callback))
+
# Start action functions
# These are commands which are bound to keystroke which must be handled by the background page. They are
@@ -234,6 +238,8 @@ BackgroundCommands =
previousTab: (callback) -> selectTab(callback, "previous")
firstTab: (callback) -> selectTab(callback, "first")
lastTab: (callback) -> selectTab(callback, "last")
+ moveTabLeft: (callback) -> moveTab(callback, -1)
+ moveTabRight: (callback) -> moveTab(callback, 1)
removeTab: ->
chrome.tabs.getSelected(null, (tab) ->
chrome.tabs.remove(tab.id))