GNOME Bugzilla – Bug 388648
button to turn off visualization
Last modified: 2007-03-11 06:15:02 UTC
Jonathan the visualization stuff is really nicely done! It might be nice to have a quick way to disable the visualization. Perhaps we could add a button next to the Fullscreen button when the mouse is moved?
Sounds like a good idea to me. I find myself using the source list to disable embedded visualisation, which is a bit ugly. I think it also makes sense to add a way to go directly between fullscreen mode and no visualisation. I'm not sure if the fullscreen state should persist across sessions, though.
Created attachment 80549 [details] [review] UI update - adds a 'disable' button to the visualiser controls (probably needs a better label) - adds a windowed visualiser mode (bug 389186) - replaces the various fullscreen/leave fullscreen/desktop buttons with a combo box for choosing between embedded, fullscreen, window, and desktop modes - moves the menu item from 'control' to 'view' (bug 388650)
Looks good to me, although we need to handle the delete event on the external window. It currently kills RB if you close it.
Looks good and works for me (modulo the usual redrawing problems with compiz/beryl, but that's a compiz problem).
I think we'll need to create our own window for the external window case. Currently it's just letting the sink create one, which exposes us to bug 393975. The fix for that bug may not do what we want.
Created attachment 81022 [details] [review] updated UI update Now sort of handles the external window mode properly - closing the window just hides it and disables visualisation. The initial size of the window is calculated badly, though, and switching from fullscreen to window mode sucks too. In desktop and embedded modes, this hides the 'disable' button in favour of the toolbar button (bug 399483). The toolbar button definitely needs a better icon.
Created attachment 81132 [details] [review] more fixes tries to get the window size right (but sort of doesn't), fixes a few other UI glitches.
Created attachment 81190 [details] [review] another update now gets the window size more or less correct.
A couple more potential issues with windowed mode: 1) you can resize the window down to nothing, which results in the following crash. This is also a bug in GStreamer, but we shouldn't let people do that.
+ Trace 105321
2) When the control is not visible, you can resize the window to be thinner than the controls would be. When you next move the cursor over the window, it suddenly expands to fit the controls (which looks odd). A similar thing probably happens with the embedded visualisation.
Created attachment 83290 [details] [review] work around 0 size bug This works around the zero-size bug by setting the minimum size to 2x2. The other bit from my last comment still happens, but this looks good enough to me to commit.
*** Bug 399483 has been marked as a duplicate of this bug. ***
*** Bug 389186 has been marked as a duplicate of this bug. ***
Created attachment 83795 [details] [review] add (ugly) icon I gimped up a fairly ugly icon for the visualization toggle button. It gets inlined into the plugin binary, and it's also installed in $plugindir/icons/hicolor/22x22/actions/ which gets appended to the gtk icon search path, so the icon can be overridden by icon themes.
Created attachment 84154 [details] [review] rethink icon things This version installs the icon in $pkgdatadir/icons and adds that directory to the icon search path in lib/rb-stock-icons.c, rather than each plugin having its own installed icon path. I'm not sure what to do about plugins under ~/.gnome2/rhythmbox - maybe add ~/.gnome2/rhythmbox/icons/ to the icon search path? For uninstalled builds, the plugin source directory is added to the icon path.
Created attachment 84155 [details] the icon the icon (currently goes in plugins/visualizer/icons/hicolor/22x22/actions/)
Looks good to me.
committed to svn.