Annotation of 43BSD/contrib/X/uwm/globals.c, revision 1.1

1.1     ! root        1: #ifndef lint
        !             2: static char *rcsid_globals_c = "$Header: globals.c,v 10.3 86/02/01 16:24:12 tony Rel $";
        !             3: #endif lint
        !             4: 
        !             5: /************************************************************************
        !             6:  *                                                                     *
        !             7:  *                     Copyright (c) 1986 by                           *
        !             8:  *             Digital Equipment Corporation, Maynard, MA              *
        !             9:  *                      All Rights Reserved.                           *
        !            10:  *                                                                     *
        !            11:  *     Permission to use, copy, modify, and distribute this software   *
        !            12:  *     and its documentation is hereby granted only to licensees of    *
        !            13:  *     The Regents of the University of California pursuant to their   *
        !            14:  *     license agreement for the Berkeley Software Distribution        *
        !            15:  *     provided that the following appears on all copies.              *
        !            16:  *                                                                     *
        !            17:  *            "LICENSED FROM DIGITAL EQUIPMENT CORPORATION             *
        !            18:  *                      COPYRIGHT (C) 1986                             *       
        !            19:  *                 DIGITAL EQUIPMENT CORPORATION                       *
        !            20:  *                         MAYNARD, MA                                 *
        !            21:  *                     ALL RIGHTS RESERVED.                            *
        !            22:  *                                                                     *
        !            23:  *      THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  * 
        !            24:  *     NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL   *
        !            25:  *     EQUIPMENT CORPORATION.  DIGITAL MAKES NO REPRESENTATIONS        *
        !            26:  *     ABOUT SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. IT IS       *
        !            27:  *     SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.           *
        !            28:  *                                                                     *       
        !            29:  *     IF THE UNIVERSITY OF CALIFORNIA OR ITS LICENSEES MODIFY         *       
        !            30:  *     THE SOFTWARE IN A MANNER CREATING DERIVATIVE COPYRIGHT          *       
        !            31:  *     RIGHTS APPROPRIATE COPYRIGHT LEGENDS MAY BE PLACED ON THE       *
        !            32:  *     DERIVATIVE WORK IN ADDITION TO THAT SET FORTH ABOVE."           *       
        !            33:  *                                                                     *
        !            34:  ************************************************************************/
        !            35:  
        !            36: 
        !            37: /*
        !            38:  * MODIFICATION HISTORY
        !            39:  *
        !            40:  * 000 -- M. Gancarz, DEC Ultrix Engineering Group
        !            41:  */
        !            42: 
        !            43: #ifndef lint
        !            44: static char *sccsid = "@(#)globals.c   3.8     1/24/86";
        !            45: #endif
        !            46: /*
        !            47:  * globals.c - window manager global data
        !            48:  *
        !            49:  */
        !            50: 
        !            51: #include "uwm.h"
        !            52: 
        !            53: Window Pop;                    /* Pop up dimension display window. */
        !            54: Window Frozen;                 /* Contains window id of "gridded" window. */
        !            55: Font IFont;                    /* Icon text font. */
        !            56: Font PFont;                    /* Pop-up text font. */
        !            57: Font MFont;                    /* Menu text font. */
        !            58: FontInfo IFontInfo;            /* Icon text font information. */
        !            59: FontInfo PFontInfo;            /* Pop-up text font information. */
        !            60: FontInfo MFontInfo;            /* Menu text font information. */
        !            61: Pixmap GrayPixmap;             /* Gray pixmap. */
        !            62: Pixmap IBorder;                        /* Icon window border pixmap. */
        !            63: Pixmap IBackground;            /* Icon window background pixmap. */
        !            64: Pixmap PBorder;                        /* Pop-Up Window border pixmap. */
        !            65: Pixmap PBackground;            /* Pop-up Window background pixmap. */
        !            66: Pixmap MBorder;                        /* Menu Window border pixmap. */
        !            67: Pixmap MBackground;            /* Menu Window background pixmap. */
        !            68: Cursor ArrowCrossCursor;       /* Arrow cross cursor. */
        !            69: Cursor TextCursor;             /* Text cursor used in icon windows. */
        !            70: Cursor IconCursor;             /* Icon Cursor. */
        !            71: Cursor MenuCursor;             /* Menu cursor. */
        !            72: Cursor MenuMaskCursor;         /* Menu mask cursor. */
        !            73: Cursor LeftButtonCursor;       /* Left button main cursor. */
        !            74: Cursor MiddleButtonCursor;     /* Middle button main cursor. */
        !            75: Cursor RightButtonCursor;      /* Right button main cursor. */
        !            76: int ScreenWidth;               /* Display screen width. */
        !            77: int ScreenHeight;              /* Display screen height. */
        !            78: int CursorFunc;                        /* Mouse cursor function. */
        !            79: int IconCursorFunc;            /* Icon Mouse Cursor function. */
        !            80: int ITextForground;            /* Icon window text forground color. */
        !            81: int ITextBackground;           /* Icon window text background color. */
        !            82: int IBorderWidth;              /* Icon window border width. */
        !            83: int PTextForground;            /* Pop-up window text forground color. */
        !            84: int PTextBackground;           /* Pop-up window text background color. */
        !            85: int MTextForground;            /* Menu window text forground color. */
        !            86: int MTextBackground;           /* Menu window text background color. */
        !            87: int PWidth;                    /* Pop-up window width. */
        !            88: int PHeight;                   /* Pop-up window height. */
        !            89: int PBorderWidth;              /* Pop-up window border width. */
        !            90: int PPadding;                  /* Pop-up window padding. */
        !            91: int MBorderWidth;              /* Menu window border width. */
        !            92: int MPadding;                  /* Menu window padding. */
        !            93: int ButtonMask;                        /* Global mouse button event mask. */
        !            94: int Delay;                     /* Delay between clicks of a double click. */
        !            95: int Delta;                     /* Mouse movement slop. */
        !            96: int HIconPad;                  /* Icon horizontal padding. */
        !            97: int VIconPad;                  /* Icon vertical padding. */
        !            98: int HMenuPad;                  /* Menu horizontal padding. */
        !            99: int VMenuPad;                  /* Menu vertical padding. */
        !           100: int MaxColors;                 /* Maximum number of colors to use. */
        !           101: int Pushval;                   /* Number of pixels to push window by. */
        !           102: int Volume;                    /* Audible alarm volume. */
        !           103: int status;                    /* Routine return status. */
        !           104: int Maxfd;                     /* Maximum file descriptors for select(2). */
        !           105: MenuLink *Menus;               /* Linked list of menus. */
        !           106: Binding *Blist;                        /* Button/key binding list. */
        !           107: 
        !           108: Bool Autoselect;               /* Warp mouse to default menu selection? */
        !           109: Bool Freeze;                   /* Freeze server during move/resize? */
        !           110: Bool Grid;                     /* Should the m/r box contain a 9 seg. grid. */
        !           111: Bool NWindow;                   /* Normalize windows? */
        !           112: Bool NIcon;                     /* Normalize icons? */
        !           113: Bool Push;                     /* Relative=TRUE, Absolute=FALSE. */
        !           114: Bool Reverse;                  /* Reverse video? */
        !           115: Bool Zap;                      /* Should the the zap effect be used. */
        !           116: 
        !           117: char PText[7] = INIT_PTEXT;    /* Pop-up window dummy text. */
        !           118: int PTextSize = sizeof(PText); /* Pop-up window dummy text size. */
        !           119: 
        !           120: int Lineno = 1;                        /* Line count for parser. */
        !           121: Bool Startup_File_Error = FALSE;/* Startup file error flag. */
        !           122: char Startup_File[NAME_LEN] = "";/* Startup file name. */
        !           123: char IFontName[NAME_LEN];      /* Icon font name. */
        !           124: char PFontName[NAME_LEN];      /* Pop-up font name. */
        !           125: char MFontName[NAME_LEN];      /* Menu font name. */
        !           126: char **Argv;                   /* Pointer to command line parameters. */
        !           127: char **Environ;                        /* Pointer to environment. */
        !           128: 
        !           129: /*
        !           130:  * Keyword lookup table for parser.
        !           131:  */
        !           132: Keyword KeywordTable[] = {
        !           133:     { "autoselect",    IsBoolTrue,     &Autoselect,0,0,0 },
        !           134:     { "delay",         IsNumeric,      0,&Delay,0,0 },
        !           135:     { "delta",         IsNumeric,      0,&Delta,0,0 },
        !           136:     { "freeze",                IsBoolTrue,     &Freeze,0,0,0 },
        !           137:     { "iconfont",      IsString,       0,0,IFontName,0 },
        !           138:     { "f.beep",                IsFunction,     0,0,0,Beep },
        !           139:     { "f.circledown",  IsFunction,     0,0,0,CircleDown },
        !           140:     { "f.circleup",    IsFunction,     0,0,0,CircleUp },
        !           141:     { "f.continue",    IsFunction,     0,0,0,Continue },
        !           142:     { "f.focus",       IsFunction,     0,0,0,Focus },
        !           143:     { "f.iconify",     IsFunction,     0,0,0,Iconify },
        !           144:     { "f.lower",       IsFunction,     0,0,0,Lower },
        !           145:     { "f.menu",                IsMenuMap,      0,0,0,Menu },
        !           146:     { "f.move",                IsDownFunction, 0,0,0,Move },
        !           147:     { "f.moveopaque",  IsDownFunction, 0,0,0,MoveOpaque },
        !           148:     { "f.newiconify",  IsDownFunction, 0,0,0,NewIconify },
        !           149:     { "f.pause",       IsFunction,     0,0,0,Pause },
        !           150:     { "f.pushdown",    IsFunction,     0,0,0,PushDown },
        !           151:     { "f.pushleft",    IsFunction,     0,0,0,PushLeft },
        !           152:     { "f.pushright",   IsFunction,     0,0,0,PushRight },
        !           153:     { "f.pushup",      IsFunction,     0,0,0,PushUp },
        !           154:     { "f.raise",       IsFunction,     0,0,0,Raise },
        !           155:     { "f.refresh",     IsFunction,     0,0,0,Refresh },
        !           156:     { "f.resize",      IsDownFunction, 0,0,0,Resize },
        !           157:     { "f.restart",     IsQuitFunction, 0,0,0,Restart },
        !           158:     { "grid",          IsBoolTrue,     &Grid,0,0,0 },
        !           159:     { "hiconpad",      IsNumeric,      0,&HIconPad,0,0 },
        !           160:     { "hmenupad",      IsNumeric,      0,&HMenuPad,0,0 },
        !           161:     { "maxcolors",     IsNumeric,      0,&MaxColors,0,0 },
        !           162:     { "menu",          IsMenu,         0,0,0,0 },
        !           163:     { "menufont",      IsString,       0,0,MFontName,0 },
        !           164:     { "noautoselect",  IsBoolFalse,    &Autoselect,0,0,0 },
        !           165:     { "nofreeze",      IsBoolFalse,    &Freeze,0,0,0 },
        !           166:     { "nogrid",                IsBoolFalse,    &Grid,0,0,0 },
        !           167:     { "nonormali",     IsBoolFalse,    &NIcon,0,0,0 },
        !           168:     { "nonormalw",     IsBoolFalse,    &NWindow,0,0,0 },
        !           169:     { "noreverse",     IsBoolFalse,    &Reverse,0,0,0 },
        !           170:     { "normali",       IsBoolTrue,     &NIcon,0,0,0 },
        !           171:     { "normalw",       IsBoolTrue,     &NWindow,0,0,0 },
        !           172:     { "nozap",         IsBoolFalse,    &Zap,0,0,0 },
        !           173:     { "push",          IsNumeric,      0,&Pushval,0,0 },
        !           174:     { "pushabsolute",  IsBoolFalse,    &Push,0,0,0 },
        !           175:     { "pushrelative",  IsBoolTrue,     &Push,0,0,0 },
        !           176:     { "resetbindings", IsParser,       0,0,0,ResetBindings },
        !           177:     { "resetmenus",    IsParser,       0,0,0,ResetMenus },
        !           178:     { "resetvariables",        IsParser,       0,0,0,ResetVariables },
        !           179:     { "resizefont",    IsString,       0,0,PFontName,0 },
        !           180:     { "reverse",       IsBoolTrue,     &Reverse,0,0,0 },
        !           181:     { "viconpad",      IsNumeric,      0,&VIconPad,0,0 },
        !           182:     { "vmenupad",      IsNumeric,      0,&VMenuPad,0,0 },
        !           183:     { "volume",                IsNumeric,      0,&Volume,0,0 },
        !           184:     { "zap",           IsBoolTrue,     &Zap,0,0,0 },
        !           185:     { NULL,            NULL,           NULL,NULL,NULL,NULL }
        !           186: };
        !           187: 
        !           188: /*
        !           189:  * Key expression table for parser.
        !           190:  */
        !           191: KeyExpr KeyExprTbl[] = {
        !           192:     { "ctrl", ControlMask },
        !           193:     { "c", ControlMask },
        !           194:     { "lock", ShiftLockMask },
        !           195:     { "l", ShiftLockMask },
        !           196:     { "meta", MetaMask },
        !           197:     { "m", MetaMask },
        !           198:     { "shift", ShiftMask },
        !           199:     { "s", ShiftMask },
        !           200:     { NULL, NULL }
        !           201: };
        !           202: 
        !           203: /*
        !           204:  * Context expression table for parser.
        !           205:  */
        !           206: ContExpr ContExprTbl[] = {
        !           207:     { "icon", ICON },
        !           208:     { "i", ICON },
        !           209:     { "root", ROOT },
        !           210:     { "r", ROOT },
        !           211:     { "window", WINDOW },
        !           212:     { "w", WINDOW },
        !           213:     { NULL, NULL }
        !           214: };
        !           215: 
        !           216: /*
        !           217:  * Button expression table for parser.
        !           218:  */
        !           219: ButtonModifier ButtModTbl[] = {
        !           220:     { "left", LeftMask },
        !           221:     { "leftbutton", LeftMask },
        !           222:     { "l", LeftMask },
        !           223:     { "middle", MiddleMask },
        !           224:     { "middlebutton", MiddleMask },
        !           225:     { "m", MiddleMask },
        !           226:     { "right", RightMask },
        !           227:     { "rightbutton", RightMask },
        !           228:     { "r", RightMask },
        !           229:     /*
        !           230:      * The following are for double-clicking the mouse.  It's a future!
        !           231:      */
        !           232:     /***
        !           233:     { "double", DoubleClick },
        !           234:     { "doubleclick", DoubleClick },
        !           235:     { "dclick", DoubleClick },
        !           236:     ***/
        !           237:     { "move", DeltaMotion },
        !           238:     { "motion", DeltaMotion },
        !           239:     { "delta", DeltaMotion },
        !           240:     { "down", ButtonDown },
        !           241:     { "d", ButtonDown },
        !           242:     { "up", ButtonUp },
        !           243:     { "u", ButtonUp },
        !           244:     { NULL, NULL }
        !           245: };

unix.superglobalmegacorp.com

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