Annotation of 43BSD/contrib/X/xset/xset.c, revision 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.