From dbe730367ab7e417679a5da81081b9db704f2483 Mon Sep 17 00:00:00 2001 From: Simon Lydell Date: Tue, 1 Oct 2013 19:00:39 +0200 Subject: [PATCH] Fix insert mode should grey button per tab --- extension/packages/events.coffee | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/extension/packages/events.coffee b/extension/packages/events.coffee index 6f7989c..7e21d15 100644 --- a/extension/packages/events.coffee +++ b/extension/packages/events.coffee @@ -73,6 +73,10 @@ removeVimFromTab = (tab, gBrowser) -> return unless browser = gBrowser.getBrowserForTab(tab) vimBucket.forget(browser.contentWindow) +updateButton = (vim) -> + return unless rootWindow = utils.getRootWindow(vim.window) + updateToolbarButton(rootWindow, {blacklisted: vim.blacklisted, insertMode: vim.mode == 'insert'}) + # The following listeners are installed on every top level Chrome window windowsListeners = keydown: keyListener @@ -97,8 +101,7 @@ windowsListeners = TabSelect: (event) -> return unless window = event.originalTarget?.linkedBrowser?.contentDocument?.defaultView return unless vim = vimBucket.get(window) - return unless rootWindow = utils.getRootWindow(window) - updateToolbarButton(rootWindow, {blacklisted: vim.blacklisted}) + updateButton(vim) # This listener works on individual tabs within Chrome Window tabsListener = @@ -112,9 +115,8 @@ tabsListener = if vim.mode == 'hints' vim.enterNormalMode() - return unless rootWindow = utils.getRootWindow(vim.window) vim.blacklisted = utils.isBlacklisted(location.spec) - updateToolbarButton(rootWindow, {blacklisted: vim.blacklisted}) + updateButton(vim) addEventListeners = (window) -> for name, listener of windowsListeners -- 2.39.3