summaryrefslogtreecommitdiffstats
path: root/kcontrol/background/bgrender.cpp
diff options
context:
space:
mode:
authorAlexander Golubev <fatzer2@gmail.com>2026-03-23 11:18:23 +0300
committerAlexander Golubev <fatzer2@gmail.com>2026-03-23 13:14:34 +0300
commit94620219ffaf0be7e15d73750137b0d45ed24685 (patch)
treec4f33f67389e565ad1c72bccba02b5c200ee7601 /kcontrol/background/bgrender.cpp
parent6715f2542ef39e3df7b0050aa483b4e4973ac693 (diff)
downloadtdebase-Fat-Zer/fix/kdesktop-multihead.tar.gz
tdebase-Fat-Zer/fix/kdesktop-multihead.zip
kdesktop: better support for old-school multihead setupsFat-Zer/fix/kdesktop-multihead
This fixes several issues on "old-school multihead" X11 setups (with several screens per display i.e. when DISPLAY has form ":x.y" also known as "TDE_MULTIHEAD" or "Zaphode mode"). Also it slightly enhances functionality for more common xinerama setups. In particular: * fixed an issue where on primary screen wallpaper is getting rendered for both secondary and primary on certain kdesktop configurations. * fixed an issue on walpaper config dialog where previews for two monitors were displayed overlapped. * update preview in config dialog in case a monitor gets connected/disconnected. * some minor whitespace cleanup.
Diffstat (limited to 'kcontrol/background/bgrender.cpp')
-rw-r--r--kcontrol/background/bgrender.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/kcontrol/background/bgrender.cpp b/kcontrol/background/bgrender.cpp
index 522065711..650dc63a2 100644
--- a/kcontrol/background/bgrender.cpp
+++ b/kcontrol/background/bgrender.cpp
@@ -1206,7 +1206,12 @@ void KVirtualBGRenderer::initRenderers()
m_bCommonScreen = m_pConfig->readBoolEntry("CommonScreen", _defCommonScreen);
- m_numRenderers = m_bDrawBackgroundPerScreen ? TDEApplication::desktop()->numScreens() : 1;
+ if (m_bDrawBackgroundPerScreen && TDEApplication::desktop()->isVirtualDesktop()) {
+ m_numRenderers = TDEApplication::desktop()->numScreens();
+ } else {
+ m_numRenderers = 1;
+ }
+
if (m_numRenderers < 2) {
// Only one screen is currently available; deactivate per-screen rendering but do not overwrite multi-screen settings
m_bDrawBackgroundPerScreen = false;