Bug 39552 - Noise in KDE Konsole (2 Displays)
Summary: Noise in KDE Konsole (2 Displays)
Status: RESOLVED FIXED
Alias: None
Product: kde
Classification: I don't know
Component: dualhead (show other bugs)
Version: 1.0.2
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: Stephan Kulow
URL:
Keywords:
: 55013 55705 62281 64722 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-03-19 19:33 UTC by psiplus
Modified: 2003-09-22 13:10 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description psiplus 2002-03-19 19:27:26 UTC
(*** This bug was imported into bugs.kde.org ***)

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.

(Submitted via bugs.kde.org)
Comment 1 Stephan Kulow 2002-03-20 09:53:30 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
Comment 2 Stephan Kulow 2003-03-23 18:32:11 UTC
*** Bug 55705 has been marked as a duplicate of this bug. ***
Comment 3 Stephan Kulow 2003-05-19 10:02:54 UTC
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;
 


Comment 4 Stephan Kulow 2003-05-19 10:27:52 UTC
*** Bug 55013 has been marked as a duplicate of this bug. ***
Comment 5 Stephan Kulow 2003-08-07 16:03:11 UTC
*** Bug 62281 has been marked as a duplicate of this bug. ***
Comment 6 Stephan Kulow 2003-09-22 13:10:51 UTC
*** Bug 64722 has been marked as a duplicate of this bug. ***