aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrmr19932017-08-15 22:24:30 +0100
committermrmr19932017-11-18 12:40:47 +0000
commitec95cc2573526355c336f0f11b45ee608470a78b (patch)
tree8dcabf6b97d61505374b6d88050d0555bff9954e
parent9c1e90b32e5df1d4e3e6f9af006561184d8d81e5 (diff)
downloadvimium-ec95cc2573526355c336f0f11b45ee608470a78b.tar.bz2
FF: Show HUD (transparently) when pasting, manage focus changes better
-rw-r--r--content_scripts/hud.coffee11
-rw-r--r--pages/hud.coffee1
2 files changed, 11 insertions, 1 deletions
diff --git a/content_scripts/hud.coffee b/content_scripts/hud.coffee
index d4c38447..42a960da 100644
--- a/content_scripts/hud.coffee
+++ b/content_scripts/hud.coffee
@@ -97,11 +97,20 @@ HUD =
pasteFromClipboard: (@pasteListener) ->
DomUtils.documentComplete =>
@init()
- @hudUI?.postMessage {name: "pasteFromClipboard"}
+ # Show the HUD frame, so Firefox will actually perform the paste.
+ @hudUI.toggleIframeElementClasses "vimiumUIComponentHidden", "vimiumUIComponentVisible"
+ @tween.fade 0, 0
+ @hudUI.postMessage {name: "pasteFromClipboard"}
pasteResponse: ({data}) ->
+ # Hide the HUD frame again.
+ @hudUI.toggleIframeElementClasses "vimiumUIComponentVisible", "vimiumUIComponentHidden"
+ @unfocusIfFocused()
@pasteListener data
+ unfocusIfFocused: ->
+ document.activeElement.blur() if document.activeElement == @hudUI?.iframeElement
+
class Tween
opacity: 0
intervalId: -1
diff --git a/pages/hud.coffee b/pages/hud.coffee
index f894a66c..99aaa2ac 100644
--- a/pages/hud.coffee
+++ b/pages/hud.coffee
@@ -100,6 +100,7 @@ handlers =
Clipboard.copy data
focusedElement?.focus()
window.parent.focus()
+ UIComponentServer.postMessage {name: "unfocusIfFocused", data}
pasteFromClipboard: ->
focusedElement = document.activeElement