aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/mode.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'content_scripts/mode.coffee')
-rw-r--r--content_scripts/mode.coffee6
1 files changed, 6 insertions, 0 deletions
diff --git a/content_scripts/mode.coffee b/content_scripts/mode.coffee
index e80df69c..8178a140 100644
--- a/content_scripts/mode.coffee
+++ b/content_scripts/mode.coffee
@@ -160,6 +160,12 @@ class Mode
handler: "setBadge"
badge: badge.badge
+ # Activate a mode, but first remove any keyboard-event handlers which may be in its options. This allows us
+ # to re-activate (or clone) a previously-active mode.
+ @cloneMode: (mode, options) ->
+ delete options[type] for type in [ "keydown", "keypress", "keyup" ]
+ new mode options
+
# Debugging routines.
logModes: ->
if @debug