atom/settings-view

Config not loaded for inactive themes

braver opened this issue · 3 comments

This seems to be new, not sure. Originally reported in my UI theme: braver/isotope-ui#9.

Config is only available for the currently selected themes. While all installed themes have a "settings" button, settings will not show up for themes that are not selected.

After switching to a theme that has settings, the settings only show up after a reload.

If you previously used a theme with settings, in the settings view for that theme only the settings that deviate from the defaults show up.

Steps to reproduce:

  • Install isotope-ui.
  • Click the settings button for isotope-ui.
  • You will not see any settings.
  • Set the ui theme to isotope-ui.
  • Click the settings button for isotope-ui.
  • You will not see any settings.
  • Reload atom.
  • Settings are now available for isotope-ui.
  • Check the box for "Background gradient".
  • Install graphite-ui
  • Click the settings button for graphite-ui.
  • You will not see any settings.
  • Set the ui theme to graphite-ui.
  • Click the settings button for graphite-ui.
  • You will not see any settings.
  • Reload atom.
  • Settings are now available for graphite-ui.
  • Click the settings button for isotope-ui.
  • Only the setting for "Background Gradient" is visible.

There are 2 important problems:

  • If you install a new theme you can't tweak settings until you reload (and it's impossible to communicate that requirement effectively).
  • Displaying only non-default settings for a theme that is not active is messy and confusing.

I was able to partly solve problem # 1 by making the coffee that enables the config run on atom.themes.onDidChangeActiveThemes. This enables the config directly after a theme is selected. It does not however solve the issue for newly installed themes.

Was this resolved in #371?

Seems like it 👍