- area = QApplication::desktop()->geometry();

+    area = QRect( 0, 0, 0, 0 ); // bogus value so that updateClientArea does the right thing
This fixes the icons being put on the topleft corner on startup.
updateClientArea wasn't setting the values in NETWM because it didn't detect
a change (until kicker started).

svn path=/trunk/kdebase/kwin/; revision=82160
icc-effect-5.14.5
David Faure 2001-02-10 00:27:26 +00:00
parent f0efb406a4
commit f14bbd47a4
1 changed files with 7 additions and 5 deletions

View File

@ -40,7 +40,7 @@ const int XIconicState = IconicState;
#undef IconicState
#include <kwin.h>
#include <kapp.h>
#include <kdebug.h>
extern int kwin_screen_number;
@ -223,7 +223,7 @@ Workspace::Workspace( bool restore )
installed_colormap = default_colormap;
session.setAutoDelete( TRUE );
area = QApplication::desktop()->geometry();
area = QRect( 0, 0, 0, 0 ); // bogus value so that updateClientArea does the right thing
if ( restore )
loadSessionInfo();
@ -337,7 +337,7 @@ void Workspace::init()
connect(&focusEnsuranceTimer, SIGNAL(timeout()), this,
SLOT(focusEnsurance()));
XQueryTree(qt_xdisplay(), root, &root_return, &parent_return, &wins, &nwins);
for (i = 0; i < nwins; i++) {
XGetWindowAttributes(qt_xdisplay(), wins[i], &attr);
@ -424,12 +424,12 @@ bool Workspace::workspaceEvent( XEvent * e )
return TRUE;
}
if ( e->type == FocusIn )
focusEnsuranceTimer.stop();
else if ( e->type == FocusOut )
focusEnsuranceTimer.start(50);
Client * c = findClient( e->xany.window );
if ( c )
return c->windowEvent( e );
@ -3071,7 +3071,9 @@ void Workspace::updateClientArea()
r.size.width = area.width();
r.size.height = area.height();
for( int i = 1; i <= numberOfDesktops(); i++)
{
rootInfo->setWorkArea( i, r );
}
for ( ClientList::ConstIterator it = clients.begin(); it != clients.end(); ++it) {
if ( (*it)->isMaximized() )