diff options
| author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-07 19:42:15 +0000 | 
|---|---|---|
| committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-07 19:42:15 +0000 | 
| commit | 9cc1e2c1aa2629d499e7555acd4906d6cc989cf9 (patch) | |
| tree | 2a737f47bb029688c2f5ebef76869903cf4b4eec /kwin/workspace.h | |
| parent | eaa51fec106463800192924168eaf9f03f188655 (diff) | |
| download | tdebase-9cc1e2c1.tar.gz tdebase-9cc1e2c1.zip | |
Merged in remaining kdebase bugfixes from the Chakra project
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1172677 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kwin/workspace.h')
| -rw-r--r-- | kwin/workspace.h | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/kwin/workspace.h b/kwin/workspace.h index d369497da..55043276e 100644 --- a/kwin/workspace.h +++ b/kwin/workspace.h @@ -231,6 +231,8 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin          void unclutterDesktop();          void doNotManage(TQString);          bool setCurrentDesktop( int new_desktop ); +        void updateOverlappingShadows(WId window); +        void setShadowed(WId window, bool shadowed);          void nextDesktop();          void previousDesktop();          void circulateDesktopApplications(); @@ -518,6 +520,7 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin          Client* active_client;          Client* last_active_client; +        Client* next_active_client; // will be active after active_client deactivates          Client* most_recently_raised; // used _only_ by raiseOrLowerClient()          Client* movingClient;          Client* pending_take_activity; @@ -704,7 +707,15 @@ inline bool Workspace::initializing() const  inline Client* Workspace::activeClient() const      { -    return active_client; +    // next_active_client is a kludge for drop shadows. If a window that is +    // activated is not also raised (i.e. when focus follows mouse), then the +    // newly activated window and its shadow won't cover visual artifacts that +    // might exist in the inactive window's shadow. We work around this by +    // (re)drawing the inactive window's shadow after the active window's shadow +    // is drawn, but to do that the inactive window needs to know which window +    // will become active next. next_active_client is a Client pointer for that +    // purpose. +    return next_active_client != NULL ? next_active_client : active_client;      }  inline Client* Workspace::mostRecentlyActivatedClient() const | 
