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 587781 - change Dash background, draw a glow around running apps
change Dash background, draw a glow around running apps
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2009-07-04 21:13 UTC by Colin Walters
Modified: 2009-07-24 21:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
AppWell: If an application is running, activate an existing window (4.26 KB, patch)
2009-07-04 21:14 UTC, Colin Walters
reviewed Details | Review
Remove the Dash shadow (1.99 KB, patch)
2009-07-04 21:40 UTC, Colin Walters
none Details | Review
Add ShellDrawingArea and ShellStack (10.96 KB, patch)
2009-07-04 21:40 UTC, Colin Walters
reviewed Details | Review
Draw a glow around running applications (5.92 KB, patch)
2009-07-04 21:40 UTC, Colin Walters
none Details | Review
Switch Dash to a mostly-black background (9.73 KB, patch)
2009-07-05 00:27 UTC, Colin Walters
none Details | Review
Draw a glow around running applications (5.20 KB, patch)
2009-07-05 00:34 UTC, Colin Walters
none Details | Review
Draw a glow around running applications (5.30 KB, patch)
2009-07-17 20:14 UTC, Colin Walters
none Details | Review
Switch Dash to a mostly-black background (9.09 KB, patch)
2009-07-17 20:14 UTC, Colin Walters
none Details | Review
Switch Dash to a mostly-black background (9.09 KB, patch)
2009-07-20 18:50 UTC, Colin Walters
none Details | Review
Switch Dash to a mostly-black background (9.09 KB, patch)
2009-07-20 18:52 UTC, Colin Walters
none Details | Review
Avoid ellipsizing app names; Draw glow around running (12.22 KB, patch)
2009-07-20 18:53 UTC, Colin Walters
none Details | Review
Switch to a black background for Dash and panes (9.80 KB, patch)
2009-07-21 19:37 UTC, Colin Walters
none Details | Review
This patch preserves the gradient, but makes the background darker. (6.05 KB, patch)
2009-07-24 19:17 UTC, Marina Zhurakhinskaya
none Details | Review

Description Colin Walters 2009-07-04 21:13:43 UTC
Patch follows.
Comment 1 Colin Walters 2009-07-04 21:14:04 UTC
Created attachment 137856 [details] [review]
AppWell: If an application is running, activate an existing window

Instead of relaunching, pick the first window and activate
Comment 2 Colin Walters 2009-07-04 21:40:02 UTC
Created attachment 137859 [details] [review]
Remove the Dash shadow

We want to be able to use multiple colors for the AppWell, in
particular a glowing oval.  If we have a dark-blueish
background to contend with, it doesn't work very well.
Comment 3 Colin Walters 2009-07-04 21:40:06 UTC
Created attachment 137860 [details] [review]
Add ShellDrawingArea and ShellStack

ShellDrawingArea is a size-independent wrapper for a ClutterCairoTexture.
Useful when drawing non-fixed size areas.

ShellStack is a simple container class which holds items
in a completely overlapping Z stack.  The main difference
from ClutterGroup is that items will be constrained to
(and allocated) the size of the stack, not getting their
preferred size always.
Comment 4 Colin Walters 2009-07-04 21:40:10 UTC
Created attachment 137861 [details] [review]
Draw a glow around running applications

Corresponding with the design, if an application is in a running
state (has > 0 windows open), draw a glow behind the name.
Comment 5 Colin Walters 2009-07-04 21:41:04 UTC
THe main controversial patch here is removing the Dash background.  I'm not sure of a better solution, ideas appreciated.

Comment 6 Colin Walters 2009-07-05 00:27:07 UTC
Created attachment 137863 [details] [review]
Switch Dash to a mostly-black background
Comment 7 Colin Walters 2009-07-05 00:34:29 UTC
Created attachment 137864 [details] [review]
Draw a glow around running applications

Corresponding with the design, if an application is in a running
state (has > 0 windows open), draw a glow behind the name.
Comment 8 Dan Winship 2009-07-06 17:24:54 UTC
(In reply to comment #1)
> Created an attachment (id=137856) [edit]
> AppWell: If an application is running, activate an existing window

This looks right. Do we still support any way of launching apps without leaving the overlay? If so, the well code needs to watch out for that (but this was true before this patch as well.)

(In reply to comment #3)
> Created an attachment (id=137860) [edit]
> Add ShellDrawingArea and ShellStack
> 
> ShellDrawingArea is a size-independent wrapper for a ClutterCairoTexture.
> Useful when drawing non-fixed size areas.

That description isn't really clear what it means. "ShellDrawingArea is a wrapper around ClutterCairoTexture that allocates a new cairo surface and allows you to redraw if the actor is resized" or something? The code looks fine.

> ShellStack is a simple container class which holds items
> in a completely overlapping Z stack.  The main difference
> from ClutterGroup is that items will be constrained to
> (and allocated) the size of the stack, not getting their
> preferred size always.

Code looks fine (though I'm not sure you need the check for "first" in get_natural_width/height, since min/natural are initialized to 0, so it should just work?

ShellStack seems to basically be a Clutter version of a simplified GtkNotebook, and maybe calling it ShellNotebook would make its behavior more obvious?
Comment 9 Colin Walters 2009-07-06 17:37:14 UTC
Thanks for reviewing,

(In reply to comment #8)
> (In reply to comment #1)
> > Created an attachment (id=137856) [edit]
> > AppWell: If an application is running, activate an existing window
> 
> This looks right. Do we still support any way of launching apps without leaving
> the overlay? If so, the well code needs to watch out for that (but this was
> true before this patch as well.)

Right, basically if we want to make this behavior 100%, we need to make sure apps are patched to be single instance (and have the same window-activation behavior).  Or maybe we can hack this into whichever library does app launching?

> (In reply to comment #3)
> 
> That description isn't really clear what it means. "ShellDrawingArea is a
> wrapper around ClutterCairoTexture that allocates a new cairo surface and
> allows you to redraw if the actor is resized" or something? The code looks
> fine.

Point, I'll fix up the commit log message as a gtk-doc description to the class.

> Code looks fine (though I'm not sure you need the check for "first" in
> get_natural_width/height, since min/natural are initialized to 0, so it should
> just work?
> 
> ShellStack seems to basically be a Clutter version of a simplified GtkNotebook,
> and maybe calling it ShellNotebook would make its behavior more obvious?

Well, with GtkNotebook you can only have one item visible at a time.  ShellStack paints all children, which is fairly different.  This is probably another case of lacking gtk-doc description, I'll fix as above.
Comment 10 Colin Walters 2009-07-17 20:14:08 UTC
Created attachment 138639 [details] [review]
Draw a glow around running applications

Corresponding with the design, if an application is in a running
state (has > 0 windows open), draw a glow behind the name.
Comment 11 Colin Walters 2009-07-17 20:14:26 UTC
Created attachment 138640 [details] [review]
Switch Dash to a mostly-black background
Comment 12 Colin Walters 2009-07-20 18:50:29 UTC
Created attachment 138838 [details] [review]
Switch Dash to a mostly-black background
Comment 13 Colin Walters 2009-07-20 18:52:58 UTC
Created attachment 138839 [details] [review]
Switch Dash to a mostly-black background
Comment 14 Colin Walters 2009-07-20 18:53:40 UTC
Created attachment 138840 [details] [review]
Avoid ellipsizing app names; Draw glow around running

Corresponding with the design, if an application is in a running
state (has > 0 windows open), draw a glow behind the name.

To make the display look a bit nicer, set the width of each item
to be equal to the longest word among all the items.
Comment 15 Colin Walters 2009-07-21 19:37:22 UTC
Created attachment 138935 [details] [review]
Switch to a black background for Dash and panes

Corresponding with the panel style change, switch to a black
background for more of the overlay components.
Comment 16 Colin Walters 2009-07-21 19:38:09 UTC
Moving the ellipsization to the name bug, 588474.
Comment 17 Marina Zhurakhinskaya 2009-07-24 19:17:23 UTC
Created attachment 139175 [details] [review]
This patch preserves the gradient, but makes the background darker.

Make dash background darker so that the blue color used for indicating
running apps can be visible. Use the dark blue (almost black) color from
Jeremy's mockup.

Make the dash height be the full screen height minus the height of the panel.
Don't use padding on top or on the bottom.

Remove the border from the main dash, but leave it for the results and details
panes. Make the border slightly transparent.

Make sure the details pane is correctly positioned by not applying the
additional padding when determining its x position.
Comment 18 Colin Walters 2009-07-24 21:14:31 UTC
+// DASH_BORDER_COLOR.from_pixel(0x3d5a93aa);
+DASH_BORDER_COLOR.from_pixel(0x213b5dfa);

The commented out one intentional?

Otherwise looks good.