|
|
1.1 root 1: #include <X/mit-copyright.h>
2:
3: /* Copyright Massachusetts Institute of Technology 1985 */
4:
5: #ifndef lint
6: static char *rcsid_xset_c = "$Header: xset.c,v 10.9 86/02/01 16:04:00 tony Rel $";
7: #endif
8:
9: #include <X/Xlib.h>
10: #include <sys/types.h>
11: #include <stdio.h>
12: #include <netdb.h>
13: #include <netinet/in.h>
14: #include <strings.h>
15:
16: #define TRUE 1
17: #define FALSE 0
18:
19: main(argc, argv)
20: int argc;
21: char **argv;
22: {
23: char *disp = NULL;
24: register char *arg;
25: register int i;
26: int click, repeat, lock, bell, acc, thresh, video, timeout, cycle;
27: int doclick = FALSE, dorepeat = FALSE, dolock = FALSE;
28: int dobell = FALSE, domouse = FALSE, dosaver = FALSE;
29: int pixels[512];
30: caddr_t colors[512];
31: int numpixels = 0;
32: Color def;
33:
34: if (argc == 1) usage(argv[0]);
35:
36: for (i = 1; i < argc; ) {
37: arg = argv[i];
38: i++;
39: if (strcmp(arg, "-c") == 0 || strcmp(arg, "-click") == 0) {
40: click = 0;
41: doclick = TRUE;
42: } else if (strcmp(arg, "c") == 0 || strcmp(arg, "click") == 0) {
43: click = 6;
44: doclick = TRUE;
45: if (i >= argc)
46: break;
47: arg = argv[i];
48: if (strcmp(arg, "on") == 0) {
49: i++;
50: } else if (strcmp(arg, "off") == 0) {
51: click = 0;
52: i++;
53: } else if (*arg >= '0' && *arg <= '8') {
54: click = atoi(arg);
55: i++;
56: }
57: } else if (strcmp(arg, "-b") == 0 || strcmp(arg, "-bell") == 0) {
58: bell = 0;
59: dobell = TRUE;
60: } else if (strcmp(arg, "b") == 0 || strcmp(arg, "bell") == 0) {
61: bell = 6;
62: dobell = TRUE;
63: if (i >= argc)
64: break;
65: arg = argv[i];
66: if (strcmp(arg, "on") == 0) {
67: i++;
68: } else if (strcmp(arg, "off") == 0) {
69: bell = 0;
70: i++;
71: } else if (*arg >= '0' && *arg <= '7') {
72: bell = atoi(arg);
73: i++;
74: }
75: } else if (strcmp(arg, "m") == 0 || strcmp(arg, "mouse") == 0) {
76: acc = 4;
77: thresh = 2;
78: domouse = TRUE;
79: if (i >= argc)
80: break;
81: arg = argv[i];
82: if (strcmp(arg, "default") == 0) {
83: i++;
84: } else if (*arg >= '0' && *arg <= '9') {
85: acc = atoi(arg);
86: i++;
87: if (i >= argc)
88: break;
89: arg = argv[i];
90: if (*arg >= '0' && *arg <= '9') {
91: thresh = atoi(arg);
92: i++;
93: }
94: }
95: } else if (strcmp(arg, "s") == 0 || strcmp(arg, "saver") == 0 ||
96: strcmp(arg, "v") == 0 || strcmp(arg, "video") == 0) {
97: timeout = 10;
98: cycle = 60;
99: video = *arg == 's' ? 1 : 0;
100: dosaver = TRUE;
101: if (i >= argc)
102: break;
103: arg = argv[i];
104: if (strcmp(arg, "default") == 0) {
105: i++;
106: } else if (*arg >= '0' && *arg <= '9') {
107: timeout = atoi(arg);
108: i++;
109: if (i >= argc)
110: break;
111: arg = argv[i];
112: if (*arg >= '0' && *arg <= '9') {
113: cycle = atoi(arg);
114: i++;
115: }
116: }
117: } else if (strcmp(arg, "-r") == 0 || strcmp(arg, "-repeat") == 0) {
118: repeat = FALSE;
119: dorepeat = TRUE;
120: } else if (strcmp(arg, "r") == 0 || strcmp(arg, "repeat") == 0) {
121: repeat = TRUE;
122: dorepeat = TRUE;
123: if (i >= argc)
124: break;
125: arg = argv[i];
126: if (strcmp(arg, "on") == 0) {
127: i++;
128: } else if (strcmp(arg, "off") == 0) {
129: repeat = FALSE;
130: i++;
131: }
132: } else if (strcmp(arg, "-l") == 0 || strcmp(arg, "-lock") == 0) {
133: lock = FALSE;
134: dolock = TRUE;
135: } else if (strcmp(arg, "l") == 0 || strcmp(arg, "lock") == 0) {
136: lock = TRUE;
137: dolock = TRUE;
138: if (i >= argc)
139: break;
140: arg = argv[i];
141: if (strcmp(arg, "on") == 0) {
142: i++;
143: } else if (strcmp(arg, "off") == 0) {
144: lock = FALSE;
145: i++;
146: }
147: } else if (strcmp(arg, "p") == 0 || strcmp(arg, "pixel") == 0) {
148: if (i + 1 >= argc)
149: usage(argv[0]);
150: arg = argv[i];
151: if (*arg >= '0' && *arg <= '9')
152: pixels[numpixels] = atoi(arg);
153: else
154: usage(argv[0]);
155: i++;
156: colors[numpixels] = argv[i];
157: i++;
158: numpixels++;
159: } else if (index(arg, ':')) {
160: disp = arg;
161: } else
162: usage(argv[0]);
163: }
164: if (!doclick && !dorepeat && !dolock && !dobell && !domouse && !dosaver &&
165: numpixels == 0)
166: usage(argv[0]);
167:
168: if (XOpenDisplay(disp) == NULL) {
169: fprintf(stderr, "%s: No such display %s!\n",argv[0],disp);
170: exit(1);
171: }
172: if (doclick) XKeyClickControl(click);
173: if (dolock) {
174: if (lock) XLockToggle();
175: else XLockUpDown();
176: }
177: if (dorepeat) {
178: if (repeat) XAutoRepeatOn();
179: else XAutoRepeatOff();
180: }
181: if (dobell) XFeepControl(bell);
182: if (domouse) XMouseControl(acc, thresh);
183: if (dosaver) XScreenSaver(timeout, cycle, video);
184: if (DisplayCells() >= 2) {
185: while (--numpixels >= 0) {
186: def.pixel = pixels[numpixels];
187: if (XParseColor(colors[numpixels], &def))
188: XStoreColor(&def);
189: else
190: fprintf(stderr, "%s: No such color\n", colors[numpixels]);
191: }
192: }
193: XSync(0);
194: exit(0);
195: }
196:
197: usage(prog)
198: char *prog;
199: {
200: printf("usage: %s option [option ...] [host:vs]\n", prog);
201: printf(" To turn bell off:\n");
202: printf("\t-b b off b 0\n");
203: printf(" To set bell volume:\n");
204: printf("\t b [1-7] b on\n");
205: printf(" To turn keyclick off:\n");
206: printf("\t-c c off c 0\n");
207: printf(" To set keyclick volume:\n");
208: printf("\t c [1-8] c on\n");
209: printf(" To turn shift-lock key off or on:\n");
210: printf("\t-l l off\n");
211: printf("\t l l on\n");
212: printf(" To set mouse acceleration and threshold:\n");
213: printf("\t m [acc [thr]] m default\n");
214: printf(" To set pixel colors:\n");
215: printf("\t p pixel_value color_name\n");
216: printf(" To turn auto-repeat off or on:\n");
217: printf("\t-r r off\n");
218: printf("\t r r on\n");
219: printf(" To make the screen-saver display a pattern:\n");
220: printf("\t s [timeout [cycle]] s default\n");
221: printf(" To make the screen-saver blank the video:\n");
222: printf("\t v [timeout [cycle]] v default\n");
223: exit(0);
224: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.