[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 94199] show desktop button : option to automatically re-show
From: "Aaron J.Seigo" <aseigo () kde ! org>
Date: 2004-12-01 5:11:46
Message-ID: 20041201051146.25604.qmail () ktown ! kde ! org
[Download RAW message or body]
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
http://bugs.kde.org/show_bug.cgi?id=94199
aseigo kde org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From aseigo kde org 2004-12-01 06:11 -------
CVS commit by aseigo:
if you have the desktop hidden, and a window gets shown, turn off desktop
hiding. this really does make more sense IMHO and requires neither a
revert to the old way nor a config option. hooray!
BUG:94199
M +20 -0 showdesktop.cpp 1.6
M +1 -0 showdesktop.h 1.4
--- kdebase/kicker/core/showdesktop.cpp #1.5:1.6
@ -45,4 +45,6 @ ShowDesktop::ShowDesktop()
connect( kWinModule, SIGNAL(currentDesktopChanged(int)),
SLOT(slotCurrentDesktopChanged(int)));
+ connect( kWinModule, SIGNAL(windowAdded(WId)),
+ SLOT(slotWindowAdded(WId)));
connect( kWinModule, SIGNAL(windowChanged(WId,unsigned int)),
SLOT(slotWindowChanged(WId,unsigned int)));
@ -54,4 +56,22 @ void ShowDesktop::slotCurrentDesktopChan
}
+void ShowDesktop::slotWindowAdded(WId w)
+{
+ if (!showingDesktop)
+ {
+ return;
+ }
+
+ NETWinInfo inf(qt_xdisplay(), w, qt_xrootwin(),
+ NET::XAWMState | NET::WMWindowType);
+ NET::WindowType windowType = inf.windowType(NET::AllTypesMask);
+
+ if ((windowType == NET::Normal || windowType == NET::Unknown) &&
+ inf.mappingState() == NET::Visible)
+ {
+ showDesktop(false);
+ }
+}
+
void ShowDesktop::slotWindowChanged(WId w, unsigned int dirty)
{
--- kdebase/kicker/core/showdesktop.h #1.3:1.4
@ -47,4 +47,5 @ signals:
private slots:
void slotCurrentDesktopChanged(int);
+ void slotWindowAdded(WId w);
void slotWindowChanged(WId w, unsigned int dirty);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic