took "THE DESKTOP" and kicker out of the tab chain

svn path=/trunk/kdebase/kwin/; revision=34140
This commit is contained in:
Matthias Ettrich 1999-11-17 17:25:26 +00:00
parent a8136ad767
commit b0b7769701
2 changed files with 11 additions and 3 deletions

View file

@ -133,6 +133,8 @@ public:
void move( const QPoint & p )
{ move( p.x(), p.y() ); }
virtual bool wantsTabFocus() const { return TRUE;} //### just for now
public slots:
@ -311,6 +313,8 @@ class NoBorderClient : public Client
public:
NoBorderClient( Workspace *ws, WId w, QWidget *parent=0, const char *name=0 );
~NoBorderClient();
bool wantsTabFocus() const { return FALSE;} //### just for now
};
#endif

View file

@ -169,7 +169,8 @@ void Workspace::init()
clients.append( c );
stacking_order.append( c );
}
focus_chain.append( c );
if ( c->wantsTabFocus() )
focus_chain.append( c );
c->manage( TRUE );
if ( c == desktop_client )
setDesktopClient( c );
@ -207,6 +208,7 @@ Workspace::~Workspace()
XDeleteProperty(qt_xdisplay(), qt_xrootwin(), atoms->kwm_running);
}
/*!
Handles workspace specific XEvents
*/
@ -274,7 +276,8 @@ bool Workspace::workspaceEvent( XEvent * e )
XReparentWindow( qt_xdisplay(), c->winId(), root, 0, 0 );
}
if ( c != desktop_client ) {
focus_chain.prepend( c );
if ( c->wantsTabFocus() )
focus_chain.prepend( c );
clients.append( c );
stacking_order.append( c );
}
@ -703,7 +706,8 @@ void Workspace::setActiveClient( Client* c )
active_client = c;
if ( active_client ) {
focus_chain.remove( c );
focus_chain.append( c );
if ( c->wantsTabFocus() )
focus_chain.append( c );
}
WId w = active_client? active_client->window() : 0;
XChangeProperty(qt_xdisplay(), qt_xrootwin(),