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 588090 - sidebar work, wanda widget
sidebar work, wanda widget
Status: RESOLVED OBSOLETE
Product: gnome-shell
Classification: Core
Component: extensions
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2009-07-08 15:48 UTC by Dan Winship
Modified: 2010-12-15 10:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Animate the sidebar rather than the individual widgets within it (9.20 KB, patch)
2009-07-08 15:48 UTC, Dan Winship
reviewed Details | Review
Animate the sidebar when it is hidden/shown (909 bytes, patch)
2009-07-08 15:49 UTC, Dan Winship
reviewed Details | Review
Track changes to the sidebar/widgets gconf key (3.75 KB, patch)
2009-07-08 15:52 UTC, Dan Winship
reviewed Details | Review
Fix single-actor widgets (1.13 KB, patch)
2009-07-08 15:55 UTC, Dan Winship
committed Details | Review
A Widget Called Wanda (9.12 KB, patch)
2009-07-08 15:56 UTC, Dan Winship
none Details | Review
A Widget Called Wanda (24.33 KB, patch)
2009-07-08 18:42 UTC, Dan Winship
reviewed Details | Review

Description Dan Winship 2009-07-08 15:48:23 UTC
Attaching the current state of my sidebar work. There will be more at some point but these parts are all ready for review.
Comment 1 Dan Winship 2009-07-08 15:48:59 UTC
Created attachment 138042 [details] [review]
Animate the sidebar rather than the individual widgets within it

Also lets us change the animation so the sidebar goes completely off
the screen when switching modes, to hide the fact that sometimes the
widgets change height when switching.
Comment 2 Dan Winship 2009-07-08 15:49:09 UTC
Created attachment 138043 [details] [review]
Animate the sidebar when it is hidden/shown
Comment 3 Dan Winship 2009-07-08 15:52:53 UTC
Created attachment 138044 [details] [review]
Track changes to the sidebar/widgets gconf key

This lets you use gconf-editor as a sidebar editor (including
adding/removing widgets and changing their order). You need to run
gconf-editor either from within gnome-shell or else from within
jhbuild run in order to get the default value for sidebar/widgets
to show up before you make any changes.
Comment 4 Dan Winship 2009-07-08 15:55:26 UTC
Created attachment 138045 [details] [review]
Fix single-actor widgets

clutter_actor_unparent() is for use by container implementations only,
unlike gtk_widget_unparent()
Comment 5 Dan Winship 2009-07-08 15:56:13 UTC
Created attachment 138046 [details] [review]
A Widget Called Wanda

Quick port of the fish panel applet, using libsoup to fetch fortunes.
Not currently animated.

There seems to be a bug in Chrome that makes the struts wobble for a second
when the fortune appears...
Comment 6 Dan Winship 2009-07-08 18:42:47 UTC
Created attachment 138065 [details] [review]
A Widget Called Wanda

Quick port of the fish panel applet, using libsoup to fetch fortunes.

Now with animation! I copied a bit of Jeremy's code (using clip to
handle the animation rather than slicing into frames), but replaced
the Clutter.Timeline with a gtimeout (since Clutter.Timeline changed
enough in 1.0 that I couldn't see immediately how to port it, and
Tweener doesn't let you loop forever).
Comment 7 Colin Walters 2009-07-10 18:36:46 UTC
Comment on attachment 138042 [details] [review]
Animate the sidebar rather than the individual widgets within it

Do you need to remove any existing tweens on state transitions?

Otherwise loosk good to me.
Comment 8 Colin Walters 2009-07-10 18:38:58 UTC
Comment on attachment 138043 [details] [review]
Animate the sidebar when it is hidden/shown

Maybe split that function a bit so we also slide in the sidebar on initial load?

Looks good.
Comment 9 Colin Walters 2009-07-10 18:45:50 UTC
Comment on attachment 138044 [details] [review]
Track changes to the sidebar/widgets gconf key

+        for (old in existingWidgets)

Missing a let.

Looks good for now, though longer term it'd be nice to animate the widgets moving on change.  Probably should do this to a Tidy.Grid like widget.
Comment 10 Colin Walters 2009-07-10 18:56:23 UTC
Comment on attachment 138065 [details] [review]
A Widget Called Wanda

Can you bind the polling to the visibility?  For example if the screensaver is active we shouldn't be polling.

Is there any caching of the fortune content (at the libsoup level)?

I wonder if it's worth biting the bullet now and figuring out how widgets work at a filesystem level, rather than having to include data in our main data/ Makefile.am.
Comment 11 Dan Winship 2009-07-10 19:49:20 UTC
(In reply to comment #9)
> Looks good for now, though longer term it'd be nice to animate the widgets
> moving on change.

Well, normally you'd edit the sidebar with the in-process sidebar-editing UI (that doesn't exist yet), and that would let you drag and drop widgets around, and the animation would all be part of the drag and drop process. The slideOut/slideIn would only run if you changed the widget list behind its back.

Although I guess even in that case we could animate simple transitions (like adding or removing a single widget).

(In reply to comment #10)
> Can you bind the polling to the visibility?  For example if the screensaver is
> active we shouldn't be polling.

I though about that, but it seemed like a lot of work for a fortune-telling fish. (The panel applet doesn't worry about it either.)

> Is there any caching of the fortune content (at the libsoup level)?

No, it's different every time. (It's in the form of an RSS feed, but it's randomly generated.)

> I wonder if it's worth biting the bullet now and figuring out how widgets work
> at a filesystem level, rather than having to include data in our main data/
> Makefile.am.

Hm... probably Widget should have a get_resource() method or something that knows how to find other resources associated with the widget.

Widgets could be distributed as tarballs or zip files, and then either uncompress them when they're added to the sidebar, or else have a special imports.widgets namespace that extracts the javascript (and resources) directly out of the zip/tar files as needed.
Comment 12 Dan Winship 2010-01-20 22:15:44 UTC
(bugzilla spam: populating the new "extensions" component with bugs discussing features that are not part of the core spec, but could be implemented externally once the extension system is done.)
Comment 13 Dan Winship 2010-02-25 19:43:40 UTC
Comment on attachment 138045 [details] [review]
Fix single-actor widgets

just getting this off the "accept-commit_now" patch list...

Attachment 138045 [details] pushed as a4feb91 - Fix single-actor widgets
Comment 14 Dan Winship 2010-12-15 10:07:28 UTC
don't think there's really any reason to keep this old bug around