Annotation of researchv9/X11/src/X.V11R1/clients/uwm/globals.c, revision 1.1

1.1     ! root        1: /* $Header: globals.c,v 1.4 87/08/21 13:29:42 swick Exp $ */
        !             2:  
        !             3: #include <X11/copyright.h>
        !             4: 
        !             5: /*
        !             6:  * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
        !             7:  *
        !             8:  *                         All Rights Reserved
        !             9:  *
        !            10:  * Permission to use, copy, modify, and distribute this software and its
        !            11:  * documentation for any purpose and without fee is hereby granted,
        !            12:  * provided that the above copyright notice appear in all copies and that
        !            13:  * both that copyright notice and this permission notice appear in
        !            14:  * supporting documentation, and that the name of Digital Equipment
        !            15:  * Corporation not be used in advertising or publicity pertaining to
        !            16:  * distribution of the software without specific, written prior permission.
        !            17:  *
        !            18:  *
        !            19:  * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
        !            20:  * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
        !            21:  * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
        !            22:  * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
        !            23:  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
        !            24:  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
        !            25:  * SOFTWARE.
        !            26:  */
        !            27: 
        !            28:  
        !            29: /*
        !            30:  * MODIFICATION HISTORY
        !            31:  *
        !            32:  * 000 -- M. Gancarz, DEC Ultrix Engineering Group
        !            33:  * 001 -- R. Kittell, DEC Storage A/D May 19, 1986
        !            34:  *  Added global vars for warp options.
        !            35:  * 002 -- Loretta Guarino Reid, DEC Ultrix Engineering Group 
        !            36:  *  Western Software Lab. April 17, 1987
        !            37:  *  Convert to X11
        !            38:  */
        !            39:  
        !            40: #ifndef lint
        !            41: static char *sccsid = "%W%     %G%";
        !            42: #endif
        !            43: /*
        !            44:  * globals.c - window manager global data
        !            45:  *
        !            46:  */
        !            47:  
        !            48: #include "uwm.h"
        !            49:  
        !            50: Window Pop;                    /* Pop up dimension display window. */
        !            51: Window Frozen;                 /* Contains window id of "gridded" window. */
        !            52: XFontStruct *IFontInfo;                /* Icon text font information. */
        !            53: XFontStruct *PFontInfo;                /* Pop-up text font information. */
        !            54: XFontStruct *MFontInfo;                /* Menu text font information. */
        !            55: Pixmap GrayPixmap;             /* Gray pixmap. */
        !            56: Pixel IBorder;                 /* Icon window border pixmap. */
        !            57: Pixmap IBackground;            /* Icon window background pixmap. */
        !            58: Pixel PBorder;                 /* Pop-Up Window border pixmap. */
        !            59: Pixel PBackground;             /* Pop-up Window background pixmap. */
        !            60: Pixel MBorder;                 /* Menu Window border pixmap. */
        !            61: Pixel MBackground;             /* Menu Window background pixmap. */
        !            62: Cursor ArrowCrossCursor;       /* Arrow cross cursor. */
        !            63: Cursor TextCursor;             /* Text cursor used in icon windows. */
        !            64: Cursor IconCursor;             /* Icon Cursor. */
        !            65: Cursor MenuCursor;             /* Menu cursor. */
        !            66: Cursor MenuMaskCursor;         /* Menu mask cursor. */
        !            67: Cursor LeftButtonCursor;       /* Left button main cursor. */
        !            68: Cursor MiddleButtonCursor;     /* Middle button main cursor. */
        !            69: Cursor RightButtonCursor;      /* Right button main cursor. */
        !            70: Cursor TargetCursor;           /* Target (select-a-window) cursor. */
        !            71: int ScreenWidth;               /* Display screen width. */
        !            72: int ScreenHeight;              /* Display screen height. */
        !            73: int ITextForground;            /* Icon window text forground color. */
        !            74: int ITextBackground;           /* Icon window text background color. */
        !            75: int IBorderWidth;              /* Icon window border width. */
        !            76: int PTextForground;            /* Pop-up window text forground color. */
        !            77: int PTextBackground;           /* Pop-up window text background color. */
        !            78: int MTextForground;            /* Menu window text forground color. */
        !            79: int MTextBackground;           /* Menu window text background color. */
        !            80: int PWidth;                    /* Pop-up window width. */
        !            81: int PHeight;                   /* Pop-up window height. */
        !            82: int PBorderWidth;              /* Pop-up window border width. */
        !            83: int PPadding;                  /* Pop-up window padding. */
        !            84: int MBorderWidth;              /* Menu window border width. */
        !            85: int MPadding;                  /* Menu window padding. */
        !            86: int Delay;                     /* Delay between clicks of a double click. */
        !            87: int Delta;                     /* Mouse movement slop. */
        !            88: int HIconPad;                  /* Icon horizontal padding. */
        !            89: int VIconPad;                  /* Icon vertical padding. */
        !            90: int HMenuPad;                  /* Menu horizontal padding. */
        !            91: int VMenuPad;                  /* Menu vertical padding. */
        !            92: int MaxColors;                 /* Maximum number of colors to use. */
        !            93: int Pushval = 5;               /* Number of pixels to push window by. */
        !            94: int Volume;                    /* Audible alarm volume. */
        !            95: int status;                    /* Routine return status. */
        !            96: int Maxfd;                     /* Maximum file descriptors for select(2). */
        !            97: MenuLink *Menus;               /* Linked list of menus. */
        !            98: GC  IconGC;                    /* graphics context for icon */
        !            99: GC  PopGC;                     /* graphics context for pop */
        !           100: GC  MenuGC;                    /* graphics context for menu */
        !           101: GC  MenuInvGC;                 /* graphics context for menu background */
        !           102: GC  DrawGC;                    /* graphics context for drawing */
        !           103: Binding *Blist;                        /* Button/key binding list. */
        !           104:  
        !           105: Bool Autoselect;               /* Warp mouse to default menu selection? */
        !           106: Bool Freeze;                   /* Freeze server during move/resize? */
        !           107: Bool Grid;                     /* Should the m/r box contain a 9 seg. grid. */
        !           108: Bool NWindow;                   /* Normalize windows? */
        !           109: Bool NIcon;                     /* Normalize icons? */
        !           110: Bool Push;                     /* Relative=TRUE, Absolute=FALSE. */
        !           111: Bool Reverse;                  /* Reverse video? */
        !           112: Bool Zap;                      /* Should the the zap effect be used. */
        !           113: Bool WarpOnRaise;               /* Warp to upper right corner on raise. */
        !           114: Bool WarpOnIconify;             /* Warp to icon center on iconify. */
        !           115: Bool WarpOnDeIconify;           /* Warp to upper right corner on de-iconify. */
        !           116: Bool FocusSetByUser;            /* True if f.focus called */
        !           117:  
        !           118: char PText[7] = INIT_PTEXT;    /* Pop-up window dummy text. */
        !           119: int PTextSize = sizeof(PText); /* Pop-up window dummy text size. */
        !           120:  
        !           121: int Lineno = 1;                        /* Line count for parser. */
        !           122: Bool Startup_File_Error = FALSE;/* Startup file error flag. */
        !           123: char Startup_File[NAME_LEN] = "";/* Startup file name. */
        !           124: char IFontName[NAME_LEN];      /* Icon font name. */
        !           125: char PFontName[NAME_LEN];      /* Pop-up font name. */
        !           126: char MFontName[NAME_LEN];      /* Menu font name. */
        !           127: char **Argv;                   /* Pointer to command line parameters. */
        !           128: char **Environ;                        /* Pointer to environment. */
        !           129: 
        !           130: int scr;
        !           131: Display *dpy;
        !           132:  
        !           133: /*
        !           134:  * Keyword lookup table for parser.
        !           135:  */
        !           136: Keyword KeywordTable[] = {
        !           137:     { "autoselect",    IsBoolTrue,     &Autoselect,0,0,0 },
        !           138:     { "delay",         IsNumeric,      0,&Delay,0,0 },
        !           139:     { "delta",         IsNumeric,      0,&Delta,0,0 },
        !           140:     { "freeze",                IsBoolTrue,     &Freeze,0,0,0 },
        !           141:     { "iconfont",      IsString,       0,0,IFontName,0 },
        !           142:     { "f.beep",                IsQuitFunction, 0,0,0,Beep },
        !           143:     { "f.circledown",  IsQuitFunction, 0,0,0,CircleDown },
        !           144:     { "f.circleup",    IsQuitFunction, 0,0,0,CircleUp },
        !           145:     { "f.continue",    IsQuitFunction, 0,0,0,Continue },
        !           146:     { "f.exit",                IsQuitFunction, 0,0,0,Quit },
        !           147:     { "f.focus",       IsFunction,     0,0,0,Focus },
        !           148:     { "f.iconify",     IsFunction,     0,0,0,Iconify },
        !           149:     { "f.lower",       IsFunction,     0,0,0,Lower },
        !           150:     { "f.menu",                IsMenuMap,      0,0,0,Menu },
        !           151:     { "f.move",                IsDownFunction, 0,0,0,Move },
        !           152:     { "f.moveopaque",  IsDownFunction, 0,0,0,MoveOpaque },
        !           153:     { "f.newiconify",  IsDownFunction, 0,0,0,NewIconify },
        !           154:     { "f.pause",       IsQuitFunction, 0,0,0,Pause },
        !           155:     { "f.pushdown",    IsFunction,     0,0,0,PushDown },
        !           156:     { "f.pushleft",    IsFunction,     0,0,0,PushLeft },
        !           157:     { "f.pushright",   IsFunction,     0,0,0,PushRight },
        !           158:     { "f.pushup",      IsFunction,     0,0,0,PushUp },
        !           159:     { "f.raise",       IsFunction,     0,0,0,Raise },
        !           160:     { "f.redraw",      IsFunction,     0,0,0,Redraw },
        !           161:     { "f.refresh",     IsQuitFunction, 0,0,0,Refresh },
        !           162:     { "f.resize",      IsDownFunction, 0,0,0,Resize },
        !           163:     { "f.restart",     IsQuitFunction, 0,0,0,Restart },
        !           164:     { "grid",          IsBoolTrue,     &Grid,0,0,0 },
        !           165:     { "hiconpad",      IsNumeric,      0,&HIconPad,0,0 },
        !           166:     { "hmenupad",      IsNumeric,      0,&HMenuPad,0,0 },
        !           167:     { "maxcolors",     IsNumeric,      0,&MaxColors,0,0 },
        !           168:     { "menu",          IsMenu,         0,0,0,0 },
        !           169:     { "menufont",      IsString,       0,0,MFontName,0 },
        !           170:     { "noautoselect",  IsBoolFalse,    &Autoselect,0,0,0 },
        !           171:     { "nofreeze",      IsBoolFalse,    &Freeze,0,0,0 },
        !           172:     { "nogrid",                IsBoolFalse,    &Grid,0,0,0 },
        !           173:     { "nonormali",     IsBoolFalse,    &NIcon,0,0,0 },
        !           174:     { "nonormalw",     IsBoolFalse,    &NWindow,0,0,0 },
        !           175:     { "noreverse",     IsBoolFalse,    &Reverse,0,0,0 },
        !           176:     { "normali",       IsBoolTrue,     &NIcon,0,0,0 },
        !           177:     { "normalw",       IsBoolTrue,     &NWindow,0,0,0 },
        !           178:     { "nowarpdi",      IsBoolFalse,    &WarpOnDeIconify,0,0,0 },
        !           179:     { "nowarpi",       IsBoolFalse,    &WarpOnIconify,0,0,0 },
        !           180:     { "nowarpr",       IsBoolFalse,    &WarpOnRaise,0,0,0 },
        !           181:     { "nozap",         IsBoolFalse,    &Zap,0,0,0 },
        !           182:     { "push",          IsNumeric,      0,&Pushval,0,0 },
        !           183:     { "pushabsolute",  IsBoolFalse,    &Push,0,0,0 },
        !           184:     { "pushrelative",  IsBoolTrue,     &Push,0,0,0 },
        !           185:     { "resetbindings", IsParser,       0,0,0,ResetBindings },
        !           186:     { "resetmenus",    IsParser,       0,0,0,ResetMenus },
        !           187:     { "resetvariables",        IsParser,       0,0,0,ResetVariables },
        !           188:     { "resizefont",    IsString,       0,0,PFontName,0 },
        !           189:     { "reverse",       IsBoolTrue,     &Reverse,0,0,0 },
        !           190:     { "viconpad",      IsNumeric,      0,&VIconPad,0,0 },
        !           191:     { "vmenupad",      IsNumeric,      0,&VMenuPad,0,0 },
        !           192:     { "volume",                IsNumeric,      0,&Volume,0,0 },
        !           193:     { "warpdi",                IsBoolTrue,     &WarpOnDeIconify,0,0,0 },
        !           194:     { "warpi",         IsBoolTrue,     &WarpOnIconify,0,0,0 },
        !           195:     { "warpr",         IsBoolTrue,     &WarpOnRaise,0,0,0 },
        !           196:     { "zap",           IsBoolTrue,     &Zap,0,0,0 },
        !           197:     { NULL,            NULL,           NULL,NULL,NULL,NULL }
        !           198: };
        !           199:  
        !           200: /*
        !           201:  * Key expression table for parser.
        !           202:  */
        !           203: KeyExpr KeyExprTbl[] = {
        !           204:     { "ctrl", ControlMask },
        !           205:     { "c", ControlMask },
        !           206:     { "lock", LockMask },
        !           207:     { "l", LockMask },
        !           208:     { "meta", Mod1Mask },
        !           209:     { "m", Mod1Mask },
        !           210:     { "shift", ShiftMask },
        !           211:     { "s", ShiftMask },
        !           212:     { NULL, NULL }
        !           213: };
        !           214:  
        !           215: /*
        !           216:  * Context expression table for parser.
        !           217:  */
        !           218: ContExpr ContExprTbl[] = {
        !           219:     { "icon", ICON },
        !           220:     { "i", ICON },
        !           221:     { "root", ROOT },
        !           222:     { "r", ROOT },
        !           223:     { "window", WINDOW },
        !           224:     { "w", WINDOW },
        !           225:     { NULL, NULL }
        !           226: };
        !           227:  
        !           228: /*
        !           229:  * Button expression table for parser.
        !           230:  */
        !           231: ButtonModifier ButtModTbl[] = {
        !           232:     { "left", LeftMask },
        !           233:     { "leftbutton", LeftMask },
        !           234:     { "l", LeftMask },
        !           235:     { "middle", MiddleMask },
        !           236:     { "middlebutton", MiddleMask },
        !           237:     { "m", MiddleMask },
        !           238:     { "right", RightMask },
        !           239:     { "rightbutton", RightMask },
        !           240:     { "r", RightMask },
        !           241:     { "move", DeltaMotion },
        !           242:     { "motion", DeltaMotion },
        !           243:     { "delta", DeltaMotion },
        !           244:     { "down", ButtonDown },
        !           245:     { "d", ButtonDown },
        !           246:     { "up", ButtonUp },
        !           247:     { "u", ButtonUp },
        !           248:     { NULL, NULL }
        !           249: };
        !           250:  

unix.superglobalmegacorp.com

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