GNOME Bugzilla – Bug 125070
gdm2 does not support theming
Last modified: 2004-05-06 16:50:29 UTC
For accessibility purposes, it is desirable for gdm2 to support themes (specifically the LargeFont, High Contrast, Inverse themes). It is possible to change the theme by launching gnome-theme-manager via a gestures (or by just launching it in the Init script). Obviously this will not be the mechanism for changing the theme in a production setting since features like "Install Theme" in gnome-theme-manager are not desirable to have access to in the login program. Anyway, once the theme is set, gdm will revert back to the original theme the next time the login screen is displayed. Or if you switch between the login/chooser screens, it looses the theme each time. It would be nice if some mechanim for allowing gdm to change its theme (at least to the various a11y themes) were made available. This could perhaps be handled via a menu choice rather than necessarily via a gesture listener. Also, I notice that setting the gdm greeter screen to Large Font causes the screen to get cut off, and becomes somewhat unusable. The gdm2 screens should resize themselves more nicely when switching to a large theme.
Also, regarding bug 125070 it is not a completely acceptable solution to simply launch the theme capplet from gdm2 via the gesture listeners for the following reasons: 1) There is no real window manager present, so if we launch windows that take focus (this does not include GOK since it does not accept focus), then we need to enhance the gdm2 "light" window manager so it allows users to navigate from one window to another via keynav. It is probably also necessary to enhance it so it supports moving windows via keynav (so the user can move the theme capplet window if it obscures other windows - like the login window). If we were going to do all this, then we probably should also support window decorations for all windows that are launched at login time, and not just the gdm2 login window. There has been some discussion between George Lebl, Havoc, and myself regarding using metacity in gdm2 instead of gdm2's light window manager. This is appleaing since it already supports keynav pretty well. However, this will be a tough change to get approval for the following reasons: * gdm2 works with KDE, so we can not depend on metacity being present on the system. If it isn't, then gdm2 would need to continue using the light window manager. * metacity has dependencies which may not be secure, such as gconf. Identifying all possible "insecure" features of metacity and disabling them would be a time consuming job. * for the above reasons, it is unlikely that this sort of change would get approved by the gdm2 maintainers. 2) The theme capplet has a feature which allows users to "install a new theme". This feature must be disabled if it is launched from login. We do not want users who have not yet logged in to be able to install a new theme, this is obviously a security issue. Perhaps the theme capplet could support the ability to disable this "install a new theme" feature when it is launched from the login screen, perhaps via a command line argument. The above seems like a lot of work, so the suggestion of supporting changing the theme to only the accessible themes via a new menu in the gdm2 login and greeter windows seems an easier solution. It would be nice if the various gdm2 windows were to remember the theme settings, so there will probably need to be some new feature that informs the greeter that the theme has been changed, and vice versa. This way the various gdm2 windows will show up with the correct theme, and the user will not need to constantly be changing the theme when the user is simply switching between the chooser and greeter windows, etc. Perhaps an environment variable would be suitable for this purpose.
Created attachment 23992 [details] [review] First attempt at fixing the login screen theming problem.
The above patch fixes the theming of the gdm login screen. I'm working on the theming of the other gdm windows.
Created attachment 24229 [details] [review] Proposed patch which includes the chages for all the gdm windows.
Since this is applied to HEAD and now I've also fixed it up to be saner, this bug is fixed.
This bug is not completely fixed. The various LargePrint a11y themes are not currently changing the size of the fonts properly. This is a necessary piece of making a11y themes work.
Created attachment 26257 [details] [review] Proposed patch to change the font size according to theme
fixing in cvs