GNOME Bugzilla – Bug 92960
Invisible Rhythmbox problem
Last modified: 2004-12-22 21:47:04 UTC
1. If the /apps/rhythmbox/state/window_visible rhythmbox key gets set to zero and the Notification area applet is not running it is not evident to the user that he/she has to do gconftool-2 -s /apps/rhythmbox/state/window_visible --type=boolean "1" to get rhythmbox to show itself. It would be more intuitive if this key was ignored if the applet is not running. 2. When i upgraded from rb 0.3 to cvs this key was set as 0 - it should obviously be set as 1 by default.
Sorry, obviously /apps/rhythmbox/state/window_visible is a gconf key as apposed to a rhythmbox key.
gconftool-2 -s /apps/rhythmbox/state/window_visible --type=boolean "1" **POOOF**
Yeah i know - but i'm suggesting that that should not have to be done.
Well, it's visible by default in the .schema file. What more can we do ?
Surely the gconf entry is only applicable to when one is using the panel applet. I could be wrong, but that's how i see it. So to me it makes sense that rb ignore that gconf entry unless the tray applet is active. To me that would remove another anoying FAQ question that no-one will read: "Why does rb never start", "why does rb only work as root"
Nope that's not the problem, the tray thing is always created, no matter where the applet is there or not. Plus, it handles windwo visibililty independant of the tray.
We should ensure that RB is visible when we start it. Maybe check for the key existence, if it's not there default to 1. (or, i dunno, call the key window_hidden ;). We can be sure it'll be the most asked question, if we release with this.
Just to clarify the problem after talking to oliver on Icq. The key window_visible does not exist in the 0.3 schema and so when the user upgrades to cvs or 0.4 etc.. there is a problem because the new schema is not installed as it would be for a fresh install. When the user runs rb after upgrading for the first time this key is created with a {null} value and as such rb is invisible. This will happen for EVERY user who upgrades from 0.3 and will cause a general outcry of "rb is borked" ;) As oliver suggests, changing the key to window_hidden (and obviously reversing the behavior of rb to it) would solve this problem without any messy hacks as i suggested earlier in this bug.
Created attachment 11048 [details] [review] This fixes the problem
The above patch: 1. Changes the key from window_visible to window_hidden in the schema. [fixes problem for first time users] 2. Changes rb's interpretation of the key so that if the key does not exist rb will be visible. [fixes problem for upgraders] 3. Changes the string on the tray applet from "Show Window" to "Hide Window" as that is a better description of the modified behavior. [changes ui to reflect new behavior]
Really, this is a hack. I think this bug needs to be fixed, not worked around. Be it in gconf or rb. If it's not fixed before release I'll apply it.. (without the menuitem label change, though)
Yeah - i knew you would like the ui change ;) but you will need to do something if you want the label to make sense with the rest of the patch applied. The way to actually "fix" the problem would be to check if the gconf entry exists on startup and if not create it with the default value. The problem is that no key is seen as 0 which means that the window isnt drawn.
To make your hack work with the current label is trivial, just use !value ;) And, the way you describe wont fix the problem because like you explain FALSE will be treated as unset.. and so the window will always be shown.
"To make your hack work with the current label is trivial, just use !value ;)" I'll leave that to you :) I tried but ended up with the odd behavior of a rightclick on the tray icon having the same effect as a leftclick.
Donno who fixed it but this is fixed in CVS
*** Bug 97374 has been marked as a duplicate of this bug. ***