GNOME Bugzilla – Bug 358048
Nuke "keyboard settings differ" dialog
Last modified: 2008-12-10 02:10:23 UTC
The "The X system keyboard settings differ from your current GNOME keyboard settings." dialog is mighty confusing for ordinary users. pc105? us_intl? X settings? GNOME? etc etc. Heck, even if you do have some clue as to what those terms mean, it's is likely you don't know what to do for sure. :/ Can we please remove it completely and just do the Right Thing(tm)? The dialog even hints that this is possible with its "Do not show this warning again" checkbox. I've seen it before (my mother too... five seconds later she was on the phone...) but forgot to file a bug. Thomas Vander Stichele's blog entry just reminded me about it: http://thomas.apestaart.org/log/?p=409
This dialog is there for a good reason - to let people know that the system configuration (in xorg.conf) was changed for some reason. And people who find it annoying (their admin changes xorg.conf every day) - can just disable it. Unfortunately GNOME cannot provide better descriptions for the configuration (especially if the old configuration was related to some model/layouts which are not avialable any more) - but it is better than nothing. Earlier version of the dialog did not provide any info at all - and it was even more confising. PS I will have a look whether I can provide more readable information about model/layouts when it is available.
Why not just use the settings the user has selected?
And if the settings in xorg.conf have changed and the user hasn't changed anything himself, go with the new xorg.conf settings. Or something...
No matter what you write in the dialog, this is what I imagine most users will see: +------------------------------------------------+ | XXXX XXXXXXX XXXX XXXXXXX XXXX XXXX XXXXXXX XX | | XX XXXXX XXXXXXX XXXXXXXXX. XX XXXXXXX XXXXXX | | XXXX XXXXXXX XXXX. XXXXXXX XXXX XXXX XXXXXXX X | | XX XXXXX XXXXXXX XXXXXXXXX XX XXXXXXX XXXX. | | | | |Let me login already| |Let me login already| | +------------------------------------------------+ And users who might have an inkling about what the text means and have consciously set their own keyboard settings will just be annoyed. Why would they suddenly want to change their settings? I imagine system administrators who want to reset the keyboard settings, because the hardware has changed or whatever, can come up with a nifty script that goes through all user dirs and fixes their settings. Or even better, use some graphical tool that lets them muck about with system wide gconf settings and also force new values on peoples settings. Anyway, that's a completely different problem. In most cases, dialogs are best avoided. And dialogs that pop up without being user initiated should be avoided like the plague. You better have a pretty good reason for throwing them in the users face. I don't think this qualifies. ;)
Since usually admins do not change settings in xorg.conf - I presume this event is imporant enough to get the notification. And sometimes it means change of the model - which user might be interested in (for example, if new model description is available which includes media keys etc). So I still think this dialog makes sense. Especially taking into account the fact that people see it VERY unfrequently - and have one-click option to eliminate it altogether from their desktop lives.
If you think it is so important, why have an option to disable it? By the way, what action is taken when it is disabled? And what is done now if the xorg.conf settings change but the user hasn't modified anything in System->Preferences->Keyboard? As for the system gaining functionality. Wouldn't a notification bubble (that disappears after a short amount of time) in the notification area be more appropriate? If you click the icon or the bubble before it vanishes, you're brought to the proper place where you can change to the new model if you want to. Less intrusive. Of course, if you the user hasn't explicitly chosen a model description in System->Preferences->Keyboard and there's suddenly a better one available, the system should just automatically choose the new one IMHO.
As for it showing up very infrequently... sure. But when it does, it does so for no apparent reason (at least as far as the user is concerned) and wrecks havoc on the users flow. ;)
> If you think it is so important, why have an option to disable it? It is important to let user possibility to track these things if he/she likes. But not - NP, just tick the box. > By the way, what action is taken when it is disabled? GNOME configuration remains unchanged. > if the xorg.conf settings change but the user hasn't modified anything in System->Preferences->Keyboard? IIRC once g-s-d is started, the configuration is copied to gconf - and after that point it is not synchronized unless user presses "Reset to Default" in g-k-p. When it was discussed (several years ago) I was told the is the original way of dealing with these things in gnome. > Wouldn't a notification bubble (that disappears after a short amount of time) in the notification area be more appropriate? Actually I like this idea. I will definitely give it a thought!
> It is important to let user possibility to track these things if he/she likes. > But not - NP, just tick the box. But the question is, is it so important that it is worth the confusion and excise it causes. People have a hard time with this dialog. Believe it or not, it even scares some out of their wits. Which isn't only due to the current wording but the text can be rephrased somehow, all the better. :) > I was told the is the original way of dealing with these things in gnome. Sorry, I don't follow you all the way. :/ If I have never opened the keyboard preferences dialog I will automatically get the new system default and won't see the dialog? If that's the case, I guess most people won't even have a chance of seeing it and I guess it is less important that something is done about it... If it doesn't work that way, what do you think about making it work like that? Possible? Good? > Actually I like this idea. I will definitely give it a thought! :)
> but the text can be rephrased somehow, all the better. :) but if the...
> If I have never opened the keyboard preferences dialog I will automatically get > the new system default and won't see the dialog? You will not. I just checked the code. > If that's the case, I guess > most people won't even have a chance of seeing it and I guess it is less > important that something is done about it... Moving to the notification message, as you advised - really sounds logical. I will try to find time for implementing it. Or you could speed things up by submitting the patch;)
Created attachment 75675 [details] libnotify-based implementation Does this look any better?
It's a start, but it still has big problems. The worst of these are that it's extremely large, it contains buttons, and it uses bizarre jargon like "X", "GNOME", and "grp grp:rctrl_toggle". I suggest: "An administrator has changed your keyboard layout from “pc105” to “apple”. To revert this or make other changes, open “Keyboard” from the Preferences menu." And when the model has not changed, but other settings have: "An administrator has changed your settings for the “pc105” keyboard layout. To revert this or make other changes, open “Keyboard” from the Preferences menu." But if "no action means keeping GNOME settings" is actually true, all this is moot: nothing should appear at all. No alert, and no notification bubble.
Well, what about changing the options? In this case, person will see "grp:rctrl_toggle" anyway. What is all settings were changed (model/layouts/options)? The current solution provides full keyboard configuration (in slightly unreadable format, I agree) which covers all scenarios. Regarding the "keeping GNOME changes" - I am just not sure what should be put here. The truth is, as I described above, if user did not configure kbd explicitly, he/she is going to use the system settings - so if they changed, user's local settings will be changed as well. Anyway, even if user has his keyboard configured - I think having this warning is still useful.
What might be done to simplify user actions is: 1. Remove all buttons from the bubble altogether. 2. If user does not act, nothing is changed in gconf. Effectively, GNOME settings are either intact or changed with the system settings (depending on whether user configured keyboard explicitly or not). 3. If user clicks on the bubble, "Keyboard Preferences" are launched - over there, user can do whatever he/she wants. How does this sound? I might need help putting this into proper words understandable by Joe Average within several seconds (while the bubble is visible).
This dialogue box is confusing even for people who know what the keyboard settings gobbledegook means. Was it expecting the GNOME settings or the X ones? It should use the same terminology in the information provided to enable you to answer the question as in the question itself.
As I said in comment #15, we could get rid of the whole question altogether. Do you think just providing the ability to show Keyboard Preferences would be enough?
I like your proposal in comment #15, that makes most sense to me. It would be nice to get this in for GNOME 2.20.
In order to do it, we have to make libnotify a blessed dependency. According to http://live.gnome.org/TwoPointNineteen/ExternalDependencies it is not.
Created attachment 94756 [details] [review] Patch to make the "settings differ" error message somewhat readable Well, in the meantime, perhaps we can at least make the message readable for people that know what "X" and "GNOME" are. I've attached a patch. BTW, there's a bug more-or-less about this same problem filed for Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/78377
In that patch, both occurrences of "the following: " can be changed to "". Again, though, this is all rearranging deckchairs. That the same thing is represented by two separate settings is a bug that programmers should fix, not users.
Matthew, I disagree. There are semantically 2 different settings - global (system-wide) and local (per user). If user decides to follow global settings, he/she should be notified of the fact they were changed - that might be the reason not to follow them any more. Chris, I think you patch is ok. Once we g-c-c branches for 2.22, I'll apply it.
I still don't really see why the user has to be notified. Just saying "something has changed so the user has to be notified" doesn't cut it. (Imagine popping up a dialog every time some system wide configuration has changed... in fact, this is the only dialog I can think of that pops up solely for this reason...) But then again, I don't really use this stuff (different keyboard layouts etc)... Anyway, if you absolutely feel you must put up some sort of notification there are two very important aspects to consider. 1. Make it as unobtrusive and understandable as possible (looks like you are working on this, keep it up). 2. If the user has not configured anything by herself (i.e. never opened gnome-keyboard-properties?), just always follow the system default. Don't say _anything_ to the user when the system default has changed since last login. The second point is _very_ important IMHO. It would have taken care of _every_ instance of this dialog that I've seen, automatically.
I see your point regarding #2. It makes sense. I will think on how to distinguish situations "explicitly chosen to follow system settings" and "never opened g-k-p".
Hi, I’m new. I just want to ask where this “Do not show this warning again” being written to. I checked the box, but it still pop up every time at system restart. I’m sure I made some mistake, but want to know how to correct that. Thanks!
Wanted to add some comments here: * Currently (or at least on the 2.20 branch of subversion), the "Don't show it again checkbox" is created, but not shown. Is this intentional? I don't think the don't show it again thing is a really a good idea, but at least it allows a confused user to get rid of the dialog and not see it again. But shouldn't clicking *either* have the effect of hiding the dialog until the next system change happens? * "Keep GNOME Settings" doesn't, as far as I can see, update the "system backup settings" to the current system settings. If I say, "Keep GNOME", do I really want to be asked again every time I log in. * The assumption being made here is that we can detect correctly when the system settings have been changed. I really doubt this is the case. 90% of the time this dialog is going to reflect something going wrong. Like on my system... I haven't reconfigured X in years, but switching to a JHBuild of GNOME 2.20, I start getting this dialog. The simple model of "if user has made changes in the dialog, ignore anything that subsequently happens on the system", seems vastly more robust to me. * I think a libnotify balloon is no better, and in fact worse, because the user will just keep on getting it forever and being mildly annoyed.
> The simple model of "if user has made changes in the dialog, ignore > anything that subsequently happens on the system", seems vastly more > robust to me. Yupp. And this case together with the "don't show it if user hasn't configured anything manually" case implies removing it altogether. :) (All right, I'll stop it now. ;)
*** Bug 484192 has been marked as a duplicate of this bug. ***
*** Bug 480879 has been marked as a duplicate of this bug. ***
Even if you do understand the dialog text it is impossible to know from just the dialog which settings belong to X and which to GNOME. Most appalling dialog i seen in a long time. Atleast since i stopped using windows.
Can anyone please just simply tell me where this "Do not show this warning again" is written? THANK YOU!!!
(In reply to comment #31) > Can anyone please just simply tell me where this "Do not show this warning > again" is written? THANK YOU!!! If the checkbox doesn't work, I guess it's a bug. Perhaps newly introduced. Sergey? Any ideas?
> * Currently (or at least on the 2.20 branch of subversion), the "Don't show it > again checkbox" is created, but not shown. Is this intentional? I don't think > the don't show it again thing is a really a good idea, but at least it > allows a confused user to get rid of the dialog and not see it again. > But shouldn't clicking *either* have the effect of hiding the dialog until > the next system change happens? Ah, sorry. I haven't seen the dialog myself in a while. (Spam spam spam, wonderful spam, lovely spam, spam spam spam... sorry)
Chen, it is in gnome-settings-daemon. People nearly convinced me it is an evil. So I'll think about it a bit more - and probably remove it in 2.22.
I'm confused. Chen, what version are you running? If you're running a version where the dialog pops up with the "Don't show this dialog again" checkbox, you click it, and the next time you log in the dialog still shows up it sounds like a completely separate bug to me that might be fixable in a point release.
For the record: if that dialog pops up again and again, the gconf entry /desktop/gnome/peripherals/keyboard/general/disable_sysconfig_changed_warning should be checked
Probably, as a final word, I would like Jody to comment on that - since he was the person who asked me for that feature back in 2004.
I apologize if I confused anyone. “For the record: if that dialog pops up again and again, the gconf entry /desktop/gnome/peripherals/keyboard/general/disable_sysconfig_changed_warning should be checked” is exactly what I was looking for. THANK YOU all for your help. PS, I don’t think it’s a separate bug because I messed my own system.
Anyway, I dropped it in SVN. Please test.
*** Bug 507274 has been marked as a duplicate of this bug. ***