Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / dtstyle / OWsync.c
1 /* $XConsortium: OWsync.c /main/3 1996/05/08 20:12:08 drk $ */
2 /*******************************************************************************
3 **
4 **  OWsync.c
5 **
6 **  Implements functions to synchronize CDE and OpenWindows resources.
7 **
8 **  Copyright 1995 Sun Microsystems, Inc.  All rights reserved.
9 **
10 *******************************************************************************/
11
12 #include <stdio.h>
13 #include <X11/Xlib.h>
14 #include <Dt/DtP.h>
15
16 /*
17  * Include the appropriate header for the ColorSet structure
18  */
19 #if defined(dtsession)
20 #include "Srv.h"
21 #elif defined(dtstyle)
22 #include "ColorMain.h"
23 #endif
24
25 /*
26  * Sync OW Color resources with CDE color object values
27  */
28 void    
29 OWsyncColorResources(
30         Display *       display,
31         int             monitorType, 
32         ColorSet *      colors)
33 {
34         char            colorRes[512];
35         int             winChip, dataChip, wsChip;
36
37         switch (monitorType) {
38         case XmCO_HIGH_COLOR:
39                 winChip = 4; dataChip = 3; wsChip = 7;
40                 break;
41         case XmCO_MEDIUM_COLOR:
42                 winChip = 1; dataChip = 3; wsChip = 1;
43                 break;
44         case XmCO_LOW_COLOR:
45         case XmCO_BLACK_WHITE:
46                 winChip = 1; dataChip = 1; wsChip = 1;
47                 break;
48         default:
49                 return;
50         }
51
52         sprintf(colorRes,
53 "*background:\t#%04X%04X%04X\n\
54 *foreground:\t#%04X%04X%04X\n\
55 OpenWindows.WindowColor:\t#%04X%04X%04X\n\
56 OpenWindows.WindowForeground:\t#%04X%04X%04X\n\
57 OpenWindows.WorkspaceColor:\t#%04X%04X%04X\n\
58 OpenWindows.DataBackground:\t#%04X%04X%04X\n\
59 OpenWindows.DataForeground:\t#%04X%04X%04X\n\
60 Window.Color.Background:\t#%04X%04X%04X\n\
61 Window.Color.Foreground:\t#%04X%04X%04X\n",
62         colors[winChip].bg.red, 
63         colors[winChip].bg.green,
64         colors[winChip].bg.blue,
65         colors[winChip].fg.red,
66         colors[winChip].fg.green,
67         colors[winChip].fg.blue,
68         colors[winChip].bg.red, 
69         colors[winChip].bg.green,
70         colors[winChip].bg.blue,
71         colors[winChip].fg.red,
72         colors[winChip].fg.green,
73         colors[winChip].fg.blue,
74         colors[wsChip].bg.red,
75         colors[wsChip].bg.green,
76         colors[wsChip].bg.blue,
77         colors[dataChip].bg.red,
78         colors[dataChip].bg.green,
79         colors[dataChip].bg.blue,
80         colors[dataChip].fg.red,
81         colors[dataChip].fg.green,
82         colors[dataChip].fg.blue,
83         colors[dataChip].bg.red,
84         colors[dataChip].bg.green,
85         colors[dataChip].bg.blue,
86         colors[dataChip].fg.red,
87         colors[dataChip].fg.green,
88         colors[dataChip].fg.blue);
89
90 #ifdef DEBUG
91 fprintf(stderr,"OWsyncColorResource: setting\n%s\n",colorRes);
92 #endif
93
94         _DtAddToResource(display, colorRes);
95 }
96
97 /*
98  * Sync OW locale resources with CDE's use of the LANG environment variable
99  */
100 void
101 OWsyncLocaleResources(
102         Display *       display)
103 {
104         char            localeRes[512];
105         char *          lang;
106
107         lang = getenv("LANG");
108         if (lang == NULL || *lang == 0)
109                 lang = "C";
110
111         sprintf(localeRes,
112 "OpenWindows.BasicLocale:\t%s\n\
113 OpenWindows.InputLang:\t%s\n\
114 OpenWindows.DisplayLang:\t%s\n\
115 OpenWindows.TimeFormat:\t%s\n\
116 OpenWindows.NumericFormat:\t%s\n",
117                 lang, lang, lang, lang, lang);
118
119 #ifdef DEBUG
120 fprintf(stderr,"OWsyncLocaleResource: setting\n%s\n",localeRes);
121 #endif
122
123         _DtAddToResource(display, localeRes);
124 }