diff options
| author | Alexander Golubev <fatzer2@gmail.com> | 2026-03-23 11:18:23 +0300 |
|---|---|---|
| committer | Alexander Golubev <fatzer2@gmail.com> | 2026-03-23 13:14:34 +0300 |
| commit | 94620219ffaf0be7e15d73750137b0d45ed24685 (patch) | |
| tree | c4f33f67389e565ad1c72bccba02b5c200ee7601 /kcontrol/background/bgrender.cpp | |
| parent | 6715f2542ef39e3df7b0050aa483b4e4973ac693 (diff) | |
| download | tdebase-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.cpp | 7 |
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; |
