2009/2/9 Sebastian Kügler <se...@kde.org>: > Hey kwinners, > > Apparently, we've had complaints that the panel shown on the desktopgrid is > the same for all virtual desktops, even when configured to only show windows > from the current virtual desktops. As we have only one panel which is shown > for all virtual desktops and we just change that panel based on current > virtual desktops, it's not easy to solve. > > The attached patch hides this issue by simply fading out the panel when the > desktopgrid is activated and fades it back in when the you zoom into a > desktop. > > OK to commit?
(Posting at the top of the thread here as I can't find a good place to reply, hopefully nobody minds) I've switched sides. It has just occurred to me that I faced this exact same problem when I was designing my own workspace software/window manager and I had ultimately decided on hiding the panel as well. This is for the reason that was mentioned cross-thread somewhere: The panel is a workspace object, not an application object. The desktop grid effect currently displays a snapshot of each desktop side-by-side, hiding the panel in this situation just doesn't make sense but having it display correctly on all desktops is a technical impossibility. In my workspace I had designed the desktop grid to instead be just a zoomed out version of the application space and the panel actually changed states, instead of showing the task manager and all that it instead showed a list of commands to control the desktops (Rearranging them, changing "zone" status [Which I think is similar to Plasma activities], making windows appear in multiple places, etc.). If we applied this same logic to KWin's desktop grid it would mean that the current best course of action would be to hide the panel completely. Although I am now endorsing hiding the panels I am still against this patch in it's current implementation. Instead I believe it would be better to have the panel stay at the bottom of the screen and fade out there while the desktops zoom out. This actually makes it look like the panel is completely separate to the application windows. The new patch is attached.
diff --git a/effects/desktopgrid/desktopgrid.cpp b/effects/desktopgrid/desktopgrid.cpp index 491c4c1..dd875ac 100644 --- a/effects/desktopgrid/desktopgrid.cpp +++ b/effects/desktopgrid/desktopgrid.cpp @@ -217,7 +217,14 @@ void DesktopGridEffect::paintWindow( EffectWindow* w, int mask, QRegion region, // Don't change brightness of windows on all desktops as this causes flickering if( !w->isOnAllDesktops() || w->isDesktop() ) data.brightness *= 1.0 - ( 0.3 * ( 1.0 - hoverTimeline[paintingDesktop - 1].value() )); - + + if( w->isDock() ) + { + data.opacity = 1 - timeline.value(); + effects->paintWindow( w, mask, region, data ); + return; + } + for( int screen = 0; screen < effects->numScreens(); screen++ ) { // Assume desktop windows can never be on two screens at once (Plasma makes one window per screen)
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel