aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2015-04-18 11:17:03 +0100
committerStephen Blott2015-04-18 11:17:03 +0100
commitd0cce1e745b66079e88ab5a5392e7fee048b458e (patch)
tree6c98dad12e24b38cef7d19e7afda8a10ef20dbea
parent7e0af264d7c50f7fe50dc086bde1011330d3be9a (diff)
downloadvimium-d0cce1e745b66079e88ab5a5392e7fee048b458e.tar.bz2
Only return to viewport from visual mode.
When there is no find-mode match, return to the original viewport. This is a better UX in visual mode, because the text the user is searching for is often on within the viewport. (This is also more vim like. We could consider *always* working this way.)
-rw-r--r--content_scripts/vimium_frontend.coffee11
1 files changed, 5 insertions, 6 deletions
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index b2590edb..f549e06d 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -726,8 +726,9 @@ class FindMode extends Mode
constructor: (options = {}) ->
@historyIndex = -1
@partialQuery = ""
- @scrollX = window.scrollX
- @scrollY = window.scrollY
+ if options.returnToViewport
+ @scrollX = window.scrollX
+ @scrollY = window.scrollY
super
name: "find"
badge: "/"
@@ -735,6 +736,7 @@ class FindMode extends Mode
exitOnClick: true
keydown: (event) =>
+ window.scrollTo @scrollX, @scrollY if options.returnToViewport
if event.keyCode == keyCodes.backspace || event.keyCode == keyCodes.deleteKey
@exit() unless handleDeleteForFindMode()
@suppressEvent
@@ -761,8 +763,6 @@ class FindMode extends Mode
handlerStack.neverContinueBubbling =>
if event.keyCode > 31
keyChar = String.fromCharCode event.charCode
- # Primarily for visual mode. If there's no match, we return to the original viewport.
- window.scrollTo @scrollX, @scrollY if options.returnToViewport
handleKeyCharForFindMode keyChar if keyChar
keyup: (event) => @suppressEvent
@@ -994,8 +994,7 @@ findModeRestoreSelection = (range = findModeInitialRange) ->
selection.addRange range
# Enters find mode. Returns the new find-mode instance.
-# Experimental. Try "returnToViewport: true" for *all* find operations.
-window.enterFindMode = (options = { returnToViewport: true }) ->
+window.enterFindMode = (options = {}) ->
# Save the selection, so performFindInPlace can restore it.
findModeSaveSelection()
findModeQuery = { rawQuery: "" }