diff --git a/src/FbTk/Theme.cc b/src/FbTk/Theme.cc index 7f6e9dcc..e6a07d0d 100644 --- a/src/FbTk/Theme.cc +++ b/src/FbTk/Theme.cc @@ -135,8 +135,10 @@ bool ThemeManager::load(const std::string &filename, int screen_num) { theme_it = m_themelist.begin(); for (; theme_it != theme_it_end; ++theme_it) { // send reconfiguration signal to theme and listeners - (*theme_it)->reconfigTheme(); - (*theme_it)->reconfigSig().notify(); + if (screen_num < 0 || (*theme_it)->screenNum() == screen_num) { + (*theme_it)->reconfigTheme(); + (*theme_it)->reconfigSig().notify(); + } } return true; } diff --git a/src/Screen.cc b/src/Screen.cc index 106ba006..fae0aff6 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -368,7 +368,8 @@ BScreen::BScreen(FbTk::ResourceManager &rm, // So we lock root theme temporary so it doesn't uses RootTheme::reconfigTheme // This must be fixed in the future. m_root_theme->lock(true); - FbTk::ThemeManager::instance().load(fluxbox->getStyleFilename()); + FbTk::ThemeManager::instance().load(fluxbox->getStyleFilename(), + m_root_theme->screenNum()); m_root_theme->lock(false); m_root_theme->setLineAttributes(*resource.gc_line_width, *resource.gc_line_style,