Exec a separate wine binary for every win32 process so that they run
[wine] / misc / tweak.c
1 /******************************************************************************
2  *
3  *   tweak.c
4  *
5  *   Windows 95 style interface tweaks.
6  *   Copyright (c) 1997 Dave Cuthbert.
7  *
8  *   FIXME:  This file is, unfortunately, aptly named:  the method of
9  *   displaying Win95 style windows is a tweak.  Lots of stuff does not yet
10  *   work -- and probably never will unless some of this code is
11  *   incorporated into the mainstream Wine code.
12  *
13  *   DEVELOPERS, PLEASE NOTE:  Before delving into the mainstream code and
14  *   altering it, consider how your changes will affect the Win3.1 interface
15  *   (which has taken a major effort to create!).  After you make any sort of
16  *   non-trivial change, *test* the Wine code running in Win3.1 mode!  The
17  *   object here is to make it so that the person who tests the latest version
18  *   of Wine without adding the tweaks into wine.conf notices nothing out of
19  *   the ordinary.
20  *
21  *   Revision history
22  *        03-Jul-1997 Dave Cuthbert (dacut@ece.cmu.edu)
23  *             Original implementation.
24  *        05-Aug-1998 Eric Kohl (ekohl@abo.rhein-zeitung.de)
25  *             Removed some unused code.
26  *        22-Sep-1998 Eric Kohl (ekohl@abo.rhein-zeitung.de)
27  *             Removed more unused code.
28  *
29  *****************************************************************************/
30
31 #include <string.h>
32 #include "windef.h"
33 #include "wingdi.h"
34 #include "winuser.h"
35 #include "tweak.h"
36 #include "options.h"
37 #include "debugtools.h"
38
39 DEFAULT_DEBUG_CHANNEL(tweak)
40
41 /* General options */
42
43 WINE_LOOK TWEAK_WineLook = WIN31_LOOK;
44
45
46 /******************************************************************************
47  *
48  *   int  TWEAK_Init()
49  *
50  *   Does the full initialization of the Win95 tweak subsystem.  Return value
51  *   indicates success.  Called by loader/main.c's MAIN_Init().
52  *
53  *   Revision history
54  *        05-Jul-1997 Dave Cuthbert (dacut@ece.cmu.edu)
55  *             Original implementation.
56  *        22-Sep-1998 Eric Kohl (ekohl@abo.rhein-zeitung.de)
57  *             Removed unused code and added Win98 option.
58  *
59  *****************************************************************************/
60
61 int TWEAK_Init (void)
62 {
63     char szIniString[80];
64
65     PROFILE_GetWineIniString ("Tweak.Layout", "Win95Look", "TestString",
66                               szIniString, 80);
67     if (strncmp (szIniString, "TestString", 10)) {
68         if (PROFILE_GetWineIniBool ("Tweak.Layout", "Win95Look", 0)) {
69             TWEAK_WineLook = WIN95_LOOK;
70             TRACE("Using Win95 look and feel.\n");
71         }
72         else {
73             TWEAK_WineLook = WIN31_LOOK;
74             TRACE("Using Win3.1 look and feel.\n");
75         }
76         ERR(
77              "Replace \"Win95Look\" by \"WineLook\" in your \"wine.ini\"!\n");
78     }
79
80     PROFILE_GetWineIniString ("Tweak.Layout", "WineLook", "Win31",
81                               szIniString, 80);
82
83     if (!strncasecmp (szIniString, "Win31", 5)) {
84         TWEAK_WineLook = WIN31_LOOK;
85         TRACE("Using Win3.1 look and feel.\n");
86     }
87     else if (!strncasecmp (szIniString, "Win95", 5)) {
88         TWEAK_WineLook = WIN95_LOOK;
89         TRACE("Using Win95 look and feel.\n");
90     }
91     else if (!strncasecmp (szIniString, "Win98", 5)) {
92         TWEAK_WineLook = WIN98_LOOK;
93         TRACE("Using Win98 look and feel.\n");
94     }
95     else {
96         TWEAK_WineLook = WIN31_LOOK;
97         TRACE("Using Win3.1 look and feel.\n");
98     }
99
100     return 1;
101 }