Annotation of 43BSD/contrib/X/xset/xset.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.