diff options
Diffstat (limited to 'content_scripts/vimium_frontend.coffee')
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 27 | 
1 files changed, 19 insertions, 8 deletions
| diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index 21826944..6447092b 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -111,11 +111,13 @@ handlerStack.push  class NormalMode extends KeyHandlerMode    constructor: (options = {}) -> -    super extend options, +    defaults =        name: "normal" -      indicator: false # There is no mode indicator in normal mode. +      indicator: false # There is normally no mode indicator in normal mode.        commandHandler: @commandHandler.bind this +    super extend defaults, options +      chrome.storage.local.get "normalModeKeyStateMapping", (items) =>        @setKeyMapping items.normalModeKeyStateMapping @@ -123,10 +125,6 @@ class NormalMode extends KeyHandlerMode        if area == "local" and changes.normalModeKeyStateMapping?.newValue          @setKeyMapping changes.normalModeKeyStateMapping.newValue -    # Initialize components which normal mode depends upon. -    Scroller.init() -    FindModeHistory.init() -    commandHandler: ({command: registryEntry, count}) ->      count *= registryEntry.options.count ? 1      count = 1 if registryEntry.noRepeat @@ -150,6 +148,9 @@ installModes = ->    # Install the permanent modes. The permanently-installed insert mode tracks focus/blur events, and    # activates/deactivates itself accordingly.    normalMode = new NormalMode +  # Initialize components upon which normal mode depends. +  Scroller.init() +  FindModeHistory.init()    new InsertMode permanent: true    new GrabBackFocus if isEnabledForUrl    normalMode # Return the normalMode object (for the tests). @@ -383,8 +384,18 @@ extend window,    enterVisualLineMode: ->      new VisualLineMode userLaunchedMode: true -  passNextKey: (count) -> -    new PassNextKeyMode count +  passNextKey: (count, options) -> +    if options.registryEntry.options.normal +      enterNormalMode count +    else +      new PassNextKeyMode count + +  enterNormalMode: (count) -> +    new NormalMode +      indicator: "Normal mode (pass keys disabled)" +      exitOnEscape: true +      singleton: "enterNormalMode" +      count: count    focusInput: do ->      # Track the most recently focused input element. | 
