2008/10/8 Owen Rudge owen@owenrudge.net:
Hi all,
Reading up on the wineconf WWN issue, I noticed that it mentions usability and winecfg. Therefore, I decided to dig up my RFC relating to some ideas I had about winecfg that I sent to the list.
Ah, lovely. This is something I'm planning on doing some work on, once I get a bit more free time.
Great.
== APPEARANCE ==
I've currently got some code that splits the Appearance and Theme sections of Winecfg out into separate control panels. I've not yet submitted this code (I hope to do so relatively soon), but your suggestions can certainly be incorporated into them.
I was thinking of creating a control panel applet that invokes winecfg to only display the appearance/theme tab. This is to allow the theme selection command-line to share the code with the displaying of the configuration UI. That would be harder to do using a control panel.
That said, I am happy to go with your approach and move the logic into a separate control panel application with an appearance and a theme tab.
- There is a divider between the theme and appearance settings. This
is to make it clearer that these are separate, but related.
Currently, my control panel code has these split onto separate tabs. Perhaps some sort of text explaining the link between the two may be a good idea here.
Sounds good.
- The "Font" button has an elipsis at the end. This button brings up
another dialog, so should have an elipsis.
Sensible suggestions indeed. It's little things like these that are important when designing a user interface, so thanks for picking those up. :-)
^_^
== FOLDERS ==
Just for information, my current plan is for this section to remain within winecfg. But your changes would certainly be good to implement, too.
Sure. In that case, we could probably drop the "Folder" groupbox, rename the tab "Folders" and just have the content of what is currently within the Shell folders section here.
- We may want to provide a set of colour themes (e.g. Windows 95,
Windows 2000, Ubuntu Human, ClearLooks, KDE Oxygen) to provide a better experience for the user by default - i.e. not just have the "No Theme" option initially.
Well, the way Windows does it is to have themes, and colour schemes within those. For instance, the Windows Classic theme has all the old colour schemes that have been in Windows since Windows 3.x, whereas the Windows XP theme has the different variations of "blue", "silver", etc. The desk.cpl/winecfg code supports themes to a certain degree, but I don't think it has support for the colour schemes (from memory). This is something that I can work on once I get my basic code finished.
The winecfg code supports colour schemes. I know because I added some fixes to support importing a Ubuntu Human colour scheme based theme file :).
In my screenshot, I kind of munged the two together.
- We may want to be able to load a theme using the command line.
This would allow - for example - distributions to setup Wine with a theme that matches their desktop, providing a more integrated experience to the user.
There are various configuration-based things that we want to be able to control by command line (appearance, uninstallers, etc) - this was brought up at WineConf in the desktop integration talk. It would probably be best to try to unify such things as much as possible - a command-line based extension to winecfg may be most sensible. This will require a bit more thinking, based on what sort of things we are going to want to configure.
Sure. Also, if the code is being moved out into a control panel application, it makes it trickier.
However, a cpl is essentially just a DLL with a specific export for displaying a control panel IIRC. Therefore, the desk.cpl DLL could have:
LoadThemeFromFileW(LPCWSTR filename, THEMEDATA * theme); SaveThemeToFileW(LPCWSTR filename, const THEMEDATA * theme);
where THEMEDATA is a data structure representing things like the element name, colour and size metric data from the theme and a HTHEME handle to the XP-style theme if one is present.
That way, winecfg and desk.cpl can be kept in sync with each other, we can avoid copy/paste-style duplication and winecfg can be used to provide the command-line functionality.
A similar thing could be done for install/uninstall/etc. when providing command-line access to that.
- We may want to have a "Use the system's appearance" checkbox to
enable Gnome/KDE/other integration, so that the colours and/or appearance is picked up from (and updated with) the native Linux environment. This would go above the theme drop-down.
Something like that may be sensible, or alternatively, have a "(No theme, use system appearance)" item in the theme drop-down (which would then disable the appearance tab, or replace it with a "to modify appearance, please use your window manager's configuration panel" message).
Or simply "Current system theme", since there is always a "theme", it may just be a colour scheme-based theme, but it is still a theme.
So, coordinating this: I'm happy to hold of on doing major changes in this area until you land desk.cpl.
Thanks, - Reece