From 793f5f96924c356f5d00fd2ca26f0eee6d36bb81 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Fri, 1 Apr 2016 15:33:48 +0200 Subject: [PATCH] Disable zoom every time a display gets added or removed --- src/application-delegate.coffee | 17 ++++++++++++++--- src/atom-environment.coffee | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/application-delegate.coffee b/src/application-delegate.coffee index 8ac6ceb5e..aee02ee8e 100644 --- a/src/application-delegate.coffee +++ b/src/application-delegate.coffee @@ -1,5 +1,5 @@ _ = require 'underscore-plus' -{ipcRenderer, remote, shell, webFrame} = require 'electron' +{screen, ipcRenderer, remote, shell, webFrame} = require 'electron' ipcHelpers = require './ipc-helpers' {Disposable} = require 'event-kit' {getWindowLoadSettings, setWindowLoadSettings} = require './window-load-settings-helpers' @@ -241,8 +241,19 @@ class ApplicationDelegate openExternal: (url) -> shell.openExternal(url) - disablePinchToZoom: -> - webFrame.setZoomLevelLimits(1, 1) + disableZoom: -> + outerCallback = -> + webFrame.setZoomLevelLimits(1, 1) + + outerCallback() + # Set the limits every time a display is added or removed, otherwise the + # configuration gets reset to the default, which allows zooming the + # webframe. + screen.on('display-added', outerCallback) + screen.on('display-removed', outerCallback) + new Disposable -> + screen.removeListener('display-added', outerCallback) + screen.removeListener('display-removed', outerCallback) checkForUpdate: -> ipcRenderer.send('command', 'application:check-for-update') diff --git a/src/atom-environment.coffee b/src/atom-environment.coffee index 6ef46dc2a..ffff564ba 100644 --- a/src/atom-environment.coffee +++ b/src/atom-environment.coffee @@ -208,7 +208,7 @@ class AtomEnvironment extends Model @stylesElement = @styles.buildStylesElement() @document.head.appendChild(@stylesElement) - @applicationDelegate.disablePinchToZoom() + @disposables.add(@applicationDelegate.disableZoom()) @keymaps.subscribeToFileReadFailure() @keymaps.loadBundledKeymaps()