From 1e740d95ab2a1676eefcaa85f4cff39ff459a3c2 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Tue, 27 Jan 2015 13:22:08 -0800 Subject: [PATCH] Load package stylesheets from theme manager --- src/atom.coffee | 10 ++++------ src/package-manager.coffee | 1 + src/package.coffee | 3 --- src/theme-manager.coffee | 9 ++++++++- src/theme-package.coffee | 1 + 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/atom.coffee b/src/atom.coffee index 7f30c826e..1c5f1d483 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -279,8 +279,6 @@ class Atom extends Model deprecate "The atom.syntax global is deprecated. Use atom.grammars instead." @grammars - @subscribe @packages.onDidActivateInitialPackages => @watchThemes() - Project = require './project' TextBuffer = require 'text-buffer' @deserializers.add(TextBuffer) @@ -580,7 +578,10 @@ class Atom extends Model @watchProjectPath() - @packages.activate() + @packages.activate().then => + maximize = dimensions?.maximized and process.platform isnt 'darwin' + @displayWindow({maximize}) + @keymaps.loadUserKeymap() @requireUserInitScript() unless safeMode @@ -589,9 +590,6 @@ class Atom extends Model @setAutoHideMenuBar(newValue) @setAutoHideMenuBar(true) if @config.get('core.autoHideMenuBar') - maximize = dimensions?.maximized and process.platform isnt 'darwin' - @displayWindow({maximize}) - unloadEditorWindow: -> return if not @project diff --git a/src/package-manager.coffee b/src/package-manager.coffee index 65c75bb92..79c2cc828 100644 --- a/src/package-manager.coffee +++ b/src/package-manager.coffee @@ -376,6 +376,7 @@ class PackageManager packages = @getLoadedPackagesForTypes(types) promises = promises.concat(activator.activatePackages(packages)) Q.all(promises).then => + @initialPackageActivationComplete = true @emit 'activated' @emitter.emit 'did-activate-initial-packages' diff --git a/src/package.coffee b/src/package.coffee index e7c72d66c..ef44f61e9 100644 --- a/src/package.coffee +++ b/src/package.coffee @@ -155,7 +155,6 @@ class Package activateNow: -> try @activateConfig() - @activateStylesheets() if @requireMainModule() @mainModule.activate?(atom.packages.getPackageState(@name) ? {}) @mainActivated = true @@ -369,8 +368,6 @@ class Package @settingsActivated = false reloadStylesheets: -> - oldSheets = _.clone(@stylesheets) - @loadStylesheets() @stylesheetDisposables?.dispose() @stylesheetDisposables = new CompositeDisposable @stylesheetsActivated = false diff --git a/src/theme-manager.coffee b/src/theme-manager.coffee index 748f87c35..d17777e20 100644 --- a/src/theme-manager.coffee +++ b/src/theme-manager.coffee @@ -305,7 +305,6 @@ class ThemeManager #{less} """ - less += "\n@#{name}: #{value};" for name, value of variables @lessCache.cssForFile(lessStylesheetPath, less) catch error if error.line? @@ -344,6 +343,10 @@ class ThemeManager @packageManager.deactivatePackage(pack.name) for pack in @getActiveThemes() null + reloadPackageStylesheets: -> + for pack in @packageManager.getActivePackages() + pack.reloadStylesheets() if pack.getType() isnt 'theme' + reloadThemes: (callback) -> @deactivateThemes() @@ -369,6 +372,10 @@ class ThemeManager @refreshLessCache() # Update cache again now that @getActiveThemes() is populated @loadUserStylesheet() @reloadBaseStylesheets() + if @packageManager.initialPackageActivationComplete + @reloadPackageStylesheets() + else + @packageManager.onDidActivateInitialPackages => @reloadPackageStylesheets() @initialLoadComplete = true @emit 'reloaded' @emitter.emit 'did-change-active-themes' diff --git a/src/theme-package.coffee b/src/theme-package.coffee index 78e3ef8ef..5aa879873 100644 --- a/src/theme-package.coffee +++ b/src/theme-package.coffee @@ -31,6 +31,7 @@ class ThemePackage extends Package @activationDeferred = Q.defer() @measure 'activateTime', => @activateNow() + @reloadStylesheets() @watchThemeConfig() @activationDeferred.promise