diff --git a/workspace.cpp b/workspace.cpp index d71b96bec6..1ce68399cc 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -2404,7 +2404,18 @@ void Workspace::setCurrentDesktop( int new_desktop ){ } } current_desktop = new_desktop; - KIPC::sendMessageAll(KIPC::BackgroundChanged, current_desktop); + + // code from bgsettings.cc to determine if notification is necessary + int screen_number = DefaultScreen(qt_xdisplay()); + QCString configname; + if (screen_number == 0) + configname = "kdesktoprc"; + else + configname.sprintf("kdesktop-screen-%drc", screen_number); + KConfig cfg(configname); + cfg.setGroup("Background Common"); + if (!cfg.readBoolEntry("CommonDesktop", true)) + KIPC::sendMessageAll(KIPC::BackgroundChanged, current_desktop); rootInfo->setCurrentDesktop( current_desktop );