wine's very own control panel applets?

pure_evil at pure_evil at
Sun Mar 16 11:50:04 CDT 2008

Hey folks
I was thinking of writing some substitutes/stubs for the windows .CPL files.

I migrated to using linux as a desktop fairly recently /used it for servers 
for a while, though/. Adapting to the linux equivalents of the programs I 
use, using wine for the rest etc.
Whilst "reinventing" the software base,I  had an annoyingly  familiar *close 
encounter* with a program which /both windows and wine/ gives out a message 
basically saying in short: "For this program to run, the decimal should 
be '.' and the negative sign - '-'." That's cuz the locale /Bulgarian/ uses 
the ',' as the default decimal /both win and wine/.

The solutions, of course, are the 3 obvious ones - copy intl.cpl from a 
working windows, go "regedit" on the subject, open the regs with a text 
editor. Both 3 are not very appealing (notably the first one; the 2nd and 3rd 
are rather annoying /if you haven't tampered with the registry too much/, but 
I consider the first one a real no-go.). So I decided to write something to 
replace the functions of intl.cpl, and called it "winelocalesetup".

However, this got me thinking further - what if that program instead of 
popping up that message, decided to execute,say, "control.exe intl.cpl", to 
save me some of the trouble? And didn't issue any warning, but instead 
crashed in midst of working with it if the decimal wasn't changed (which 
would normally be the case. It's an accounting program, so, the decimal is 
indeed important...) 

Anywho, I was thinking of creating a bunch of CPLs which mimic their windows 
counterparts in their names. However, the applet itself wouldn't do much - it 
would basically contain a somewhat appropriate icon/description, and, when 
started, launch the real executable, wine*something*.exe. 
That "wine*something*.exe" will for now basically show a 
message "Winesomething. Not implemented yet. If you see this message because 
of a running program, it means that the program is trying to...". With time, 
the .exe will be transformed into a useful substitute for the corresponding 
windows function.
For example:
intl.cpl - contains an icon (preferably a picture of the Earth; was thinking 
of going NASA on the subject), a description "Wine Locale Settings", and will 
execute winelocalesetup.exe. Winelocalesetup.exe would show a message: 
"Winelocalesetup. Not implemented yet. If you see this message, it means that 
a program is trying to call INTL.CPL, probably in order for you to modify the 
regional settings." That way, at least, it will be indicated to the user 
what's going on.

The idea for having both the cpls and the exes is, well, the cpls have to be 
called what they're called for compatibility reasons, and, once in place, 
need not be modified; the actual tool is contained within the .exe, which can 
be, well, a lot more flexible to develop than the CPL itself, and, can be 
replaced at any moment. And, well, although compatible with windows, it 
wouldn't be a pure repetition. (and no longer an empty control panel. Yay!)

BTW I have done quite some work on that winelocalesetup.exe, it reads the 
appropriate values from the registry, doesn't resemble the original 
intl.cpl's vision, and, well, is somewhat kinda useful (if only I could 
figure out how to WRITE the damn values, the keys keep turning back to their 
old values... oh well, guess I'll have to RTFM some more.)

So, any suggestions/comments/ideas? 

More information about the wine-devel mailing list