diff --git a/internal_packages/preferences/lib/tabs/workspace-section.cjsx b/internal_packages/preferences/lib/tabs/workspace-section.cjsx
index 730c8543f..77d5cda1b 100644
--- a/internal_packages/preferences/lib/tabs/workspace-section.cjsx
+++ b/internal_packages/preferences/lib/tabs/workspace-section.cjsx
@@ -154,6 +154,11 @@ class WorkspaceSection extends React.Component
keyPath="core.workspace.showUnreadForAllCategories"
config={@props.config} />
+
+
Layout
diff --git a/src/config-schema.coffee b/src/config-schema.coffee
index 8f719b9ef..9304dd0ca 100644
--- a/src/config-schema.coffee
+++ b/src/config-schema.coffee
@@ -22,6 +22,12 @@ module.exports =
type: 'boolean'
default: false
title: "Show unread counts for all folders / labels"
+ interfaceZoom:
+ title: "Override standard interface scaling"
+ type: 'number'
+ default: 1
+ enum: [0.6, 0.8, 1, 1.2, 1.4]
+ enumLabels: ['60%', '80%', '100%', '120%', '140%']
disabledPackages:
type: 'array'
default: []
diff --git a/src/flux/stores/workspace-store.coffee b/src/flux/stores/workspace-store.coffee
index f384a02b8..f92e95f10 100644
--- a/src/flux/stores/workspace-store.coffee
+++ b/src/flux/stores/workspace-store.coffee
@@ -44,6 +44,9 @@ class WorkspaceStore extends NylasStore
@popToRootSheet()
@trigger()
+ NylasEnv.config.observe 'core.workspace.interfaceZoom', (zoom) =>
+ require('electron').webFrame.setZoomFactor(zoom)
+
NylasEnv.commands.add 'body', @_navigationCommands()
_navigationCommands: ->