After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 664484 - window thumbnail shadows in the overview
window thumbnail shadows in the overview
Status: RESOLVED OBSOLETE
Product: gnome-shell
Classification: Core
Component: overview
3.2.x
Other Linux
: Normal enhancement
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2011-11-21 16:49 UTC by Allan Day
Modified: 2021-07-05 14:43 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Allan Day 2011-11-21 16:49:40 UTC
We have shadows under windows in the normal view, we should have them in the overview too. It would be consistent with the presentation of windows as objects in space. It would also give the overview greater visual depth.
Comment 1 Jasper St. Pierre (not reading bugmail) 2012-06-06 21:30:59 UTC
Welp. I'll let Owen look into this one. We currently didn't do this for performance reasons. Drawing ten shadows at 60 frames per second isn't really the best way to get smooth animations, and we're not sure that downscaled shadows would look good either.
Comment 2 Owen Taylor 2012-10-19 15:03:16 UTC
The obvious thing to do on this bug would to make the windows in the overview clones of the entire window actor (which includes the shadow) rather than just of the texture holding the window contents.

This will have two problems:

 * It's not going to look right. Since different window actors are scaled
   by different amounts, the shadows for different windows will have
   different effective blur-amounts and offsets. So they'll look like they
   are different heights.

 * It's going to be slow when going into the overview. To make shadows 
   perform in the normal view, we count heavily on the visible region
   optimizations so that we only draw the small amount of the shadow
   peaking out from under the window. We turn these optimizations
   off as soon as we transform windows - like we do when entering the
   overview. So we'd be alpha-blending a gigantic big shadow under
   each window we draw for intermediate frames.

My suggestion for something that might work would be instead of using the exact shadow textures that mutter computes for each window, use a single MetaShadow that is created for a generic rectangle - this will allow us to draw a correct shadow for any sized rectangle - and the windows in the overview are closer to rectangles than their unscaled versions unless they are actually shaped clocks or something. (Omit shadows for shaped clocks...)

Since the shadows will scale down with the actors while fading in and become smaller and darker as the actors go into the final position, the effect will probably look like the windows are settling down onto the overview - which might look right or 

The simple thing to do is to keep using clones of the window texture and then add a MetaShadowActor that encapsulates a MetaShadow and draws with it, and then just stack them.

The alternate would be to pursue bug 678989 and have

    let w = new Meta.WindowActor({ meta_window: my_meta_window, 
                                   shadow_class: 'overview-shadow',
                                   rectangular_shadows: true,
                                   shadow_opacity: 0 });
    stage.add_actor(w);

And tween shadow opacity to 1 only over the end of the animation to the overview.

(The current patch in bug 678989 needs substantial work and there are quite a few open questions, but the idea of dropping the use of clones is doable.)
Comment 3 André Klapper 2020-11-15 07:18:08 UTC
That would make the highlighting frame around the selected window in the overview even harder to see
Comment 4 GNOME Infrastructure Team 2021-07-05 14:43:24 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of  gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new ticket at
  https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/

Thank you for your understanding and your help.