Summary: | Noise in KDE Konsole (2 Displays) | ||
---|---|---|---|
Product: | [I don't know] kde | Reporter: | psiplus |
Component: | dualhead | Assignee: | Stephan Kulow <coolo> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gmuelas, laurent, patrick.rutka |
Priority: | NOR | ||
Version: | 1.0.2 | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
psiplus
2002-03-19 19:27:26 UTC
On Tuesday 19 March 2002 20:27 psiplus@gmx.net wrote: > Package: konsole > Version: 1.0.2 (using KDE 2.2.2 ) > Severity: normal > Installed from: Debian testing/unstable Packages > Compiler: from Debian Binaries > OS: Linux > OS/Compiler notes: Not Specified > > I've two displays at my system... > One at the internal Graphic Card (SiS630) > And one at an old S3 Virge. > > The Primary Display is working at 1024x768@24bpp > The Secondary Display is working at 800x600@16bpp > > The Problem is that Konsole shows that noise in half-transparent mode... > > I made a Screenshot of the Problem: > http://www.netphoenix.at/upload/ss-mon-prob.png > > In the Background of Konsole should be a part of the background - darken. > But there is only this noise and sometimes i'm unable to read what the > apps in Konsole output. I can at least confirm that konsole is unable to get the background on the= =20 second screen Greetings Stephan *** Bug 55705 has been marked as a duplicate of this bug. *** Subject: / [POSSIBLY UNSAFE] CVS commit by coolo: ask the right kdesktop for the right wallpaper. CCMAIL: 39552-close@bugs.kde.org M +2 -2 kdebase/kcontrol/background/bgsettings.h 1.24 M +11 -9 kdebase/kdesktop/bgmanager.cc 1.80 M +19 -5 kdelibs/kdeui/krootpixmap.cpp 1.19 [POSSIBLY UNSAFE: printf] M +6 -2 kdelibs/kdeui/krootpixmap.h 1.15 --- kdelibs/kdeui/krootpixmap.cpp #1.18:1.19 @@ -171,11 +171,19 @@ void KRootPixmap::repaint(bool force) // KSharedPixmap will correctly generate a tile for us. - m_pPixmap->loadFromShared(QString("DESKTOP%1").arg(m_Desk), m_Rect); + m_pPixmap->loadFromShared(pixmapName(m_Desk), m_Rect); } bool KRootPixmap::isAvailable() const { - QString name = QString("DESKTOP%1").arg( currentDesktop() ); - return m_pPixmap->isAvailable(name); + return m_pPixmap->isAvailable(pixmapName(m_Desk)); +} + +QString KRootPixmap::pixmapName(int desk) { + QString pattern = QString("DESKTOP%1"); + int screen_number = DefaultScreen(qt_xdisplay()); + if (screen_number) { + pattern = QString("SCREEN%1-DESKTOP").arg(screen_number) + "%1"; + } + return pattern.arg( desk ); } @@ -190,5 +198,11 @@ void KRootPixmap::enableExports() QDataStream args( data, IO_WriteOnly ); args << 1; - client->send( "kdesktop", "KBackgroundIface", "setExport(int)", data ); + + QCString appname( "kdesktop" ); + int screen_number = DefaultScreen(qt_xdisplay()); + if ( screen_number ) + appname.sprintf("kdesktop-screen-%d", screen_number ); + + client->send( appname, "KBackgroundIface", "setExport(int)", data ); } --- kdelibs/kdeui/krootpixmap.h #1.14:1.15 @@ -151,4 +151,8 @@ public slots: void enableExports(); + /** + * Returns the name of the shared pixmap (only needed for low level access) + */ + static QString pixmapName(int desk); signals: /** --- kdebase/kdesktop/bgmanager.cc #1.79:1.80 @@ -10,4 +10,9 @@ */ +#include <config.h> +#include "bgrender.h" +#include "bgmanager.h" +#include "bgdefaults.h" + #include <assert.h> @@ -23,8 +28,5 @@ #include <kpopupmenu.h> #include <kwinmodule.h> - -#include "bgrender.h" -#include "bgmanager.h" -#include "bgdefaults.h" +#include <krootpixmap.h> #include <X11/X.h> @@ -326,5 +328,5 @@ void KBackgroundManager::exportBackgroun m_Cache[desk]->exp_from = pixmap; - m_pPixmapServer->add(QString("DESKTOP%1").arg(desk+1), + m_pPixmapServer->add(KRootPixmap::pixmapName(desk+1), m_Cache[pixmap]->pixmap); KIPC::sendMessageAll(KIPC::BackgroundChanged, desk+1); @@ -445,5 +447,5 @@ void KBackgroundManager::removeCache(int { if (m_bExport) - m_pPixmapServer->remove(QString("DESKTOP%1").arg(desk+1)); + m_pPixmapServer->remove(KRootPixmap::pixmapName(desk+1)); else delete m_Cache[desk]->pixmap; @@ -460,5 +462,5 @@ void KBackgroundManager::removeCache(int assert(m_bExport); m_Cache[i]->exp_from = -1; - m_pPixmapServer->remove(QString("DESKTOP%1").arg(i+1)); + m_pPixmapServer->remove(KRootPixmap::pixmapName(i+1)); } } --- kdebase/kcontrol/background/bgsettings.h #1.23:1.24 @@ -15,4 +15,5 @@ #include <qstringlist.h> +#include <qcolor.h> template <class QString, class T> class QMap; @@ -21,5 +22,4 @@ class KSimpleConfig; class KConfig; class QString; -class QColor; class QImage; *** Bug 55013 has been marked as a duplicate of this bug. *** *** Bug 62281 has been marked as a duplicate of this bug. *** |