diff options
| author | Stephen Blott | 2015-04-18 11:17:03 +0100 |
|---|---|---|
| committer | Stephen Blott | 2015-04-18 11:17:03 +0100 |
| commit | d0cce1e745b66079e88ab5a5392e7fee048b458e (patch) | |
| tree | 6c98dad12e24b38cef7d19e7afda8a10ef20dbea | |
| parent | 7e0af264d7c50f7fe50dc086bde1011330d3be9a (diff) | |
| download | vimium-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.coffee | 11 |
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: "" } |
