/* * Copyright 1989 Massachusetts Institute of Technology * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of M.I.T. not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission. M.I.T. makes no representations about the * suitability of this software for any purpose. It is provided "as is" * without express or implied warranty. * * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T. * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /*********************************************************************** * * $XConsortium: screen.h,v 1.62 91/05/01 17:33:09 keith Exp $ * * twm per-screen data include file * * 11-3-88 Dave Payne, Apple Computer File created * ***********************************************************************/ #ifndef _SCREEN_ #define _SCREEN_ #include #include #include #include "list.h" #include "menus.h" #include "iconmgr.h" #include "doors.h" /* djhjr - 5/17/98 */ #ifndef ORIGINAL_PIXMAPS #include "util.h" /* for Image structure */ #endif typedef struct _StdCmap { struct _StdCmap *next; /* next link in chain */ Atom atom; /* property from which this came */ int nmaps; /* number of maps below */ XStandardColormap *maps; /* the actual maps */ } StdCmap; #define SIZE_HINDENT 10 #ifdef ORIGINAL_SIZEVINDENT #define SIZE_VINDENT 2 #else #define SIZE_VINDENT 5 #endif typedef struct ScreenInfo { int screen; /* the default screen */ int d_depth; /* copy of DefaultDepth(dpy, screen) */ Visual *d_visual; /* copy of DefaultVisual(dpy, screen) */ int Monochrome; /* is the display monochrome ? */ int MyDisplayWidth; /* my copy of DisplayWidth(dpy, screen) */ int MyDisplayHeight; /* my copy of DisplayHeight(dpy, screen) */ int MaxWindowWidth; /* largest window to allow */ int MaxWindowHeight; /* ditto */ /* djhjr - 5/15/96 */ int ResizeX; /* coordinate of resize/position window */ int ResizeY; /* ditto */ int VirtualDesktopMaxWidth; /* max width of virtual desktop */ int VirtualDesktopMaxHeight; /* max height of virtual desktop */ int VirtualDesktopWidth; /* width of virtual desktop */ int VirtualDesktopHeight; /* height of virtual desktop */ int VirtualDesktopX; /* top left x of my screen on the desktop */ int VirtualDesktopY; /* top left y of my screen on the desktop */ int VirtualDesktopPanDistanceX; /* distance to pan screen */ int VirtualDesktopPanDistanceY; /* distance to pan screen */ /* these are for the little vd display */ int VirtualDesktopDScale; /* scale of the virtual desktop display */ int VirtualDesktopDX; /* position of the vd display */ int VirtualDesktopDY; /* position of the vd display */ /* the autopan stuff */ int AutoPanX; /* how far should autopan travel */ /* AutoPanX is also "whether autopan configured". */ int AutoPanY; /* how far should autopan travel */ Window VirtualDesktopAutoPan[4]; /* the autopan windows */ /* 0 = left, 1 = right, 2 = top, 3 = bottom */ /* djhjr - 9/8/98 */ int VirtualDesktopPanResistance; /* how much effort it takes to pan */ TwmWindow TwmRoot; /* the head of the twm window list */ Window Root; /* the root window */ Window SizeWindow; /* the resize dimensions window */ Window InfoWindow; /* the information window */ Window VirtualDesktopDisplayOuter; /* wrapper for display of the virtual desktop */ Window VirtualDesktopDisplay; /* display of the virtual desktop */ Window VirtualDesktopDScreen; /* display of the real screen on the vd */ TwmWindow *VirtualDesktopDisplayTwin; /* twm window for the above */ name_list *ImageCache; /* list of pixmaps */ name_list *Icons; /* list of icon pixmaps */ int pullW, pullH; /* size of pull right menu icon */ /* djhjr - 5/17/98 */ /* added the unknowns - djhjr - 8/13/98 */ #ifdef ORIGINAL_PIXMAPS Pixmap UnknownPm; /* the unknown icon pixmap */ int UnknownWidth; /* width of the unknown icon */ int UnknownHeight; /* height of the unknown icon */ Pixmap hilitePm; /* focus highlight window background */ int hilite_pm_width, hilite_pm_height; /* cache the size */ Pixmap virtualPm; /* panner background pixmap RFB PIXMAP */ int virtual_pm_width, virtual_pm_height; /* RFB PIXMAP */ Pixmap RealScreenPm; /* panner background pixmap RFB PIXMAP */ int RealScreen_pm_width, RealScreen_pm_height; /* RFB PIXMAP */ #else /* ORIGINAL_PIXMAPS */ char *unknownName; /* name of unknown icon pixmap */ /* djhjr - 10/25/02 */ char *hiliteName; /* name of built-in focus highlight pixmap */ /* two more - djhjr - 10/30/02 */ char *iconMgrIconName; /* name of built-in iconmgr iconify pixmap */ char *menuIconName; /* name of built-in pull right menu pixmap */ /* depreciated - djhjr - 10/30/02 Image *siconifyPm; * the icon manager iconify pixmap * Image *pullPm; * pull right menu icon * */ Image *hilitePm; /* focus highlight window image structure */ Image *virtualPm; /* panner background window image structure */ Image *realscreenPm; /* real screen window image structure */ #endif /* ORIGINAL_PIXMAPS */ MenuRoot *MenuList; /* head of the menu list */ MenuRoot *LastMenu; /* the last menu (mostly unused?) */ MenuRoot *Windows; /* the TwmWindows menu */ TwmWindow *Ring; /* one of the windows in window ring */ TwmWindow *RingLeader; /* current winodw in ring */ MouseButton Mouse[MAX_BUTTONS+1][NUM_CONTEXTS][MOD_SIZE]; MouseButton DefaultFunction; MouseButton WindowFunction; struct { Colormaps *cmaps; /* current list of colormap windows */ int maxCmaps; /* maximum number of installed colormaps */ unsigned long first_req; /* seq # for first XInstallColormap() req in pass thru loading a colortable list */ int root_pushes; /* current push level to install root colormap windows */ TwmWindow *pushed_window; /* saved window to install when pushes drops to zero */ } cmapInfo; struct { StdCmap *head, *tail; /* list of maps */ StdCmap *mru; /* most recently used in list */ int mruindex; /* index of mru in entry */ } StdCmapInfo; struct { int nleft, nright; /* numbers of buttons in list */ TitleButton *head; /* start of list */ int border; /* button border */ int pad; /* button-padding */ int width; /* width of single button & border */ int leftx; /* start of left buttons */ int titlex; /* start of title string */ int rightoff; /* offset back from right edge */ } TBInfo; ColorPair BorderTileC; /* border tile colors */ ColorPair TitleC; /* titlebar colors */ ColorPair MenuC; /* menu colors */ ColorPair MenuTitleC; /* menu title colors */ ColorPair IconC; /* icon colors */ ColorPair IconManagerC; /* icon manager colors */ ColorPair DefaultC; /* default colors */ /* djhjr - 4/19/96 */ ColorPair BorderColorC; /* color of window borders */ ColorPair VirtualDesktopDisplayC; /* desktop display color */ ColorPair DoorC; /* default door colors */ ColorPair VirtualC; /* default virtual colors *//*RFB VCOLOR*/ ColorPair RealScreenC; /* "real screen" in panner RFB 4/92 */ Pixel VirtualDesktopDisplayBorder; /* desktop display default border */ Pixel BorderColor; /* color of window borders */ Pixel MenuShadowColor; /* menu shadow color */ Pixel IconBorderColor; /* icon border color */ Pixel IconManagerHighlight; /* icon manager highlight */ /* djhjr - 4/19/96 */ short ClearBevelContrast; /* The contrast of the clear shadow */ short DarkBevelContrast; /* The contrast of the dark shadow */ Cursor TitleCursor; /* title bar cursor */ Cursor FrameCursor; /* frame cursor */ Cursor IconCursor; /* icon cursor */ Cursor IconMgrCursor; /* icon manager cursor */ Cursor ButtonCursor; /* title bar button cursor */ Cursor MoveCursor; /* move cursor */ Cursor ResizeCursor; /* resize cursor */ Cursor WaitCursor; /* wait a while cursor */ Cursor MenuCursor; /* menu cursor */ Cursor SelectCursor; /* dot cursor for f.move, etc. from menus */ Cursor DestroyCursor; /* skull and cross bones, f.destroy */ Cursor DoorCursor;/*RFBCURSOR*/ Cursor VirtualCursor;/*RFBCURSOR*/ Cursor DesktopCursor;/*RFBCURSOR*/ Cursor NoCursor; /* a black cursor - used on desktop display */ name_list *BorderColorL; name_list *IconBorderColorL; name_list *BorderTileForegroundL; name_list *BorderTileBackgroundL; name_list *TitleForegroundL; name_list *TitleBackgroundL; name_list *IconForegroundL; name_list *IconBackgroundL; name_list *IconManagerFL; name_list *IconManagerBL; name_list *IconMgrs; /* djhjr - 4/19/96 */ name_list *NoBorder; /* list of window without borders */ /* djhjr - 4/7/98 */ name_list *OpaqueMoveL; /* list of windows moved as a solid */ name_list *NoOpaqueMoveL; /* list of windows moved as an outline */ name_list *OpaqueResizeL; /* list of windows resized as a solid */ name_list *NoOpaqueResizeL; /* list of windows resized as an outline */ name_list *NoTitle; /* list of window names with no title bar */ name_list *MakeTitle; /* list of window names with title bar */ name_list *AutoRaise; /* list of window names to auto-raise */ name_list *IconNames; /* list of window names and icon names */ name_list *NoHighlight; /* list of windows to not highlight */ name_list *NoStackModeL; /* windows to ignore stack mode requests */ name_list *NoTitleHighlight;/* list of windows to not highlight the TB*/ name_list *DontIconify; /* don't iconify by unmapping */ name_list *IconMgrNoShow; /* don't show in the icon manager */ name_list *IconMgrShow; /* show in the icon manager */ name_list *IconifyByUn; /* windows to iconify by unmapping */ name_list *StartIconified; /* windows to start iconic */ name_list *IconManagerHighlightL; /* icon manager highlight colors */ name_list *SqueezeTitleL; /* windows of which to squeeze title */ name_list *DontSqueezeTitleL; /* windows of which not to squeeze */ name_list *WindowRingL; /* windows in ring */ /* submitted by Jonathan Paisley - 10/27/02 */ name_list *NoWindowRingL; /* windows not added to ring */ name_list *WarpCursorL; /* windows to warp cursor to on deiconify */ name_list *NailedDown; /* windows that are nailed down */ name_list *VirtualDesktopColorFL; /* color of representations on the vd display */ name_list *VirtualDesktopColorBL; /* color of representations on the vd display */ name_list *VirtualDesktopColorBoL; /* color of representations on the vd display */ name_list *DontShowInDisplay; /* don't show these in the desktop display */ /* Submitted by Erik Agsjo */ name_list *DontShowInTWMWindows; /* don't show these in the TWMWindows menu */ name_list *DoorForegroundL; /* doors foreground */ name_list *DoorBackgroundL; /* doors background */ /* djhjr - 9/24/02 */ name_list *UsePPositionL; /* windows with UsePPosition set */ GC NormalGC; /* normal GC for everything */ GC MenuGC; /* gc for menus */ GC DrawGC; /* GC to draw lines for move and resize */ /* djhjr - 4/19/96 */ GC GreyGC; /* for shadowing on monochrome displays */ GC ShadGC; /* for shadowing on with patterns */ unsigned long Black; unsigned long White; unsigned long XORvalue; /* number to use when drawing xor'ed */ MyFont TitleBarFont; /* title bar font structure */ MyFont MenuFont; /* menu font structure */ MyFont IconFont; /* icon font structure */ MyFont SizeFont; /* resize font structure */ MyFont IconManagerFont; /* window list font structure */ MyFont VirtualFont; /* virtual display windows */ MyFont DoorFont; /* for drawing in doors */ MyFont MenuTitleFont; /* DSE -- for menu titles */ MyFont InfoFont; /* for the info window */ MyFont DefaultFont; IconMgr iconmgr; /* default icon manager */ struct RootRegion *FirstIconRegion; /* pointer to icon regions */ struct RootRegion *LastIconRegion; /* pointer to the last icon region */ char *IconDirectory; /* icon directory to search */ /* djhjr - 4/26/99 */ struct RootRegion *FirstAppletRegion; /* pointer to applet regions */ struct RootRegion *LastAppletRegion; /* pointer to the last applet region */ /* djhjr - 12/26/98 */ char *BitmapFilePath; /* local copy of the X database resource */ int SizeStringOffset; /* x offset in size window for drawing */ int SizeStringWidth; /* minimum width of size window */ int BorderWidth; /* border width of twm windows */ /* djhjr - 8/11/98 * djhjr - 4/18/96 * int ThreeDBorderWidth; * 3D border width of twm windows * */ /* widths of the various 3D shadows - djhjr - 5/2/98 */ int BorderBevelWidth; int TitleBevelWidth; int MenuBevelWidth; int IconMgrBevelWidth; int InfoBevelWidth; /* djhjr - 8/11/98 */ int IconBevelWidth; int ButtonBevelWidth; /* djhjr - 2/7/99 */ int DoorBevelWidth; int VirtualDesktopBevelWidth; /* djhjr - 5/22/00 */ int MenuScrollBorderWidth; /* top and bottom margins for menu scrolling */ int MenuScrollJump; /* number of entries for menu scroll */ int IconBorderWidth; /* border width of icon windows */ int TitleHeight; /* height of the title bar window */ TwmWindow *Focus; /* the twm window that has focus */ TwmWindow *Newest; /* the most newly added twm window -- PF */ int EntryHeight; /* menu entry height */ int FramePadding; /* distance between decorations and border */ int TitlePadding; /* distance between items in titlebar */ int ButtonIndent; /* amount to shrink buttons on each side */ int NumAutoRaises; /* number of autoraise windows on screen */ short SqueezeTitle; /* make title as small as possible */ short MoveDelta; /* number of pixels before f.move starts */ short ZoomCount; /* zoom outline count */ /* djhjr - 6/22/01 */ int PauseOnExit; /* delay before shutting down via Done() */ int PauseOnQuit; /* delay before shuttind down via f.quit */ /* djhjr - 5/17/96 */ #ifdef ORIGINAL_SHORTS /* short NoDefaults; - DSE */ short NoDefaultMouseOrKeyboardBindings; /* do not add default UI mouse and keyboard stuff - DSE */ short NoDefaultTitleButtons; /* do not add default resize and iconify title buttons - DSE */ short UsePPosition; /* what do with PPosition, see values below */ short OldFashionedTwmWindowsMenu; /* djhjr - 2/15/99 short UseRealScreenBorder; */ short AutoRelativeResize; /* start resize relative to position in quad */ short FocusRoot; /* is the input focus on the root ? */ /* djhjr - 10/16/02 */ short WarpCentered; /* warp to center of windows? */ short WarpCursor; /* warp cursor on de-iconify? */ short ForceIcon; /* force the icon to the user specified */ short NoGrabServer; /* don't do server grabs */ short NoRaiseMove; /* don't raise window following move */ short NoRaiseResize; /* don't raise window following resize */ short NoRaiseDeicon; /* don't raise window on deiconify */ short NoRaiseWarp; /* don't raise window on warp */ short DontMoveOff; /* don't allow windows to be moved off */ short DoZoom; /* zoom in and out of icons */ short TitleFocus; /* focus on window in title bar ? */ /* djhjr - 5/27/98 */ short IconManagerFocus; /* focus on window of the icon manager entry? */ /* djhjr - 12/14/98 */ short StaticIconPositions; /* non-nailed icons stay put */ /* djhjr - 10/2/01 */ short StrictIconManager; /* show only the iconified */ /* djhjr - 8/23/02 */ short NoBorders; /* put borders on windows */ short NoTitlebar; /* put title bars on windows */ short DecorateTransients; /* put title bars on transients */ short IconifyByUnmapping; /* simply unmap windows when iconifying */ short ShowIconManager; /* display the window list */ short IconManagerDontShow; /* show nothing in the icon manager */ short NoIconifyIconManagers; /* don't iconify the icon manager -- PF */ short BackingStore; /* use backing store for menus */ short SaveUnder; /* use save under's for menus */ short RandomPlacement; /* randomly place windows that no give hints */ short PointerPlacement; /* place near mouse pointer */ short OpaqueMove; /* move the window rather than outline */ /* djhjr - 4/6/98 */ short OpaqueResize; /* resize the window rather than outline */ short Highlight; /* should we highlight the window borders */ /* djhjr - 1/27/98 */ short IconMgrHighlight; /* should we highlight icon manager entries */ short StackMode; /* should we honor stack mode requests */ short TitleHighlight; /* should we highlight the titlebar */ short SortIconMgr; /* sort entries in the icon manager */ short Shadow; /* show the menu shadow */ short InterpolateMenuColors;/* make pretty menus */ short NoIconManagers; /* Don't create any icon managers */ short ClientBorderWidth; /* respect client window border width */ short HaveFonts; /* set if fonts have been loaded */ short FirstTime; /* first time we've read .twmrc */ short CaseSensitive; /* be case-sensitive when sorting names */ short WarpUnmapped; /* allow warping to unmapped windows */ short DeIconifyToScreen; /* if deiconified, should this goto the screen ? */ short WarpWindows; /* should windows or the screen be warped ? */ short snapRealScreen; /* should the real screen snap to a pandistance grid ? */ short GeometriesAreVirtual; /* should geometries be interpreted as virtual or real ? */ short Virtual; /* are we virtual ? (like, hey man....) */ short NamesInVirtualDesktop;/* show names in virtual desktop display ? */ short AutoRaiseDefault; /* AutoRaise all windows if true *//*RAISEDELAY*/ short UseWindowRing; /* put all windows in the ring? */ short StayUpMenus; short StayUpOptionalMenus; /* PF */ short WarpToTransients; /* PF */ short EnhancedExecResources; /* instead of normal behavior - DSE */ short RightHandSidePulldownMenus; /* instead of left-right center - DSE */ short LessRandomZoomZoom; /* makes zoomzoom a better visual bell - DSE */ short PrettyZoom; /* nicer-looking animation - DSE */ short StickyAbove; /* sticky windows above other windows - DSE */ short DontInterpolateTitles; /* menu titles are excluded from color interpolation - DSE */ /* djhjr - 1/6/98 */ short FixManagedVirtualGeometries; /* bug workaround */ short FixTransientVirtualGeometries; /* bug workaround - DSE */ short WarpSnug; /* make sure entire window is on screen when warping - DSE */ /* djhjr - 6/25/96 */ short ShallowReliefWindowButton; /* obsoleted by the *BevelWidth resources - djhjr - 8/11/98 * djhjr - 4/18/96 * short use3Dmenus; short use3Dtitles; short use3Diconmanagers; short use3Dborders; */ short BeNiceToColormap; /* obsoleted by the *BevelWidth resources - djhjr - 8/11/98 * djhjr - 5/5/98 * short use3Dicons; */ /* obsoleted by the ":xpm:*" built-in pixmaps - djhjr - 10/26/02 * djhjr - 4/25/96 * short SunkFocusWindowTitle; */ /* for rader - djhjr - 2/9/99 */ short NoPrettyTitles; /* djhjr - 9/21/96 */ short ButtonColorIsFrame; /* djhjr - 4/17/98 */ short VirtualReceivesMotionEvents; short VirtualSendsMotionEvents; /* djhjr - 6/22/99 */ short DontDeiconifyTransients; /* submitted by Ugen Antsilevitch - 5/28/00 */ short WarpVisible; /* djhjr - 10/11/01 */ short ZoomZoom; /* fallback on random zooms on iconify */ /* djhjr - 10/20/02 */ short NoBorderDecorations; /* djhjr - 11/3/03 */ short RaiseOnStart; #else struct { unsigned int NoDefaultMouseOrKeyboardBindings : 1; unsigned int NoDefaultTitleButtons : 1; unsigned int UsePPosition : 2; unsigned int OldFashionedTwmWindowsMenu : 1; /* djhjr - 2/15/99 unsigned int UseRealScreenBorder : 1; */ unsigned int AutoRelativeResize : 1; unsigned int FocusRoot : 1; /* djhjr - 10/16/02 */ unsigned int WarpCentered : 2; unsigned int WarpCursor : 1; unsigned int ForceIcon : 1; unsigned int NoGrabServer : 1; unsigned int NoRaiseMove : 1; unsigned int NoRaiseResize : 1; unsigned int NoRaiseDeicon : 1; unsigned int NoRaiseWarp : 1; unsigned int DontMoveOff : 1; unsigned int DoZoom : 1; unsigned int TitleFocus : 1; /* djhjr - 5/27/98 */ unsigned int IconManagerFocus : 1; /* djhjr - 12/14/98 */ unsigned int StaticIconPositions : 1; /* djhjr - 10/2/01 */ unsigned int StrictIconManager : 1; /* djhjr - 8/23/02 */ unsigned int NoBorders : 1; unsigned int NoTitlebar : 1; unsigned int DecorateTransients : 1; unsigned int IconifyByUnmapping : 1; unsigned int ShowIconManager : 1; unsigned int IconManagerDontShow : 1; unsigned int NoIconifyIconManagers : 1; unsigned int BackingStore : 1; unsigned int SaveUnder : 1; unsigned int RandomPlacement : 1; unsigned int PointerPlacement : 1; unsigned int OpaqueMove : 1; /* djhjr - 4/6/98 */ unsigned int OpaqueResize : 1; unsigned int Highlight : 1; /* djhjr - 1/27/98 */ unsigned int IconMgrHighlight : 1; unsigned int StackMode : 1; unsigned int TitleHighlight : 1; unsigned int SortIconMgr : 1; unsigned int Shadow : 1; unsigned int InterpolateMenuColors : 1; unsigned int NoIconManagers : 1; unsigned int ClientBorderWidth : 1; unsigned int HaveFonts : 1; unsigned int FirstTime : 1; unsigned int CaseSensitive : 1; unsigned int WarpUnmapped : 1; unsigned int DeIconifyToScreen : 1; unsigned int WarpWindows : 1; unsigned int snapRealScreen : 1; unsigned int GeometriesAreVirtual : 1; unsigned int Virtual : 1; unsigned int NamesInVirtualDesktop : 1; unsigned int AutoRaiseDefault : 1; unsigned int UseWindowRing : 1; unsigned int StayUpMenus : 1; unsigned int StayUpOptionalMenus : 1; unsigned int WarpToTransients : 1; unsigned int EnhancedExecResources : 1; unsigned int RightHandSidePulldownMenus : 1; unsigned int LessRandomZoomZoom : 1; unsigned int PrettyZoom : 1; unsigned int StickyAbove : 1; unsigned int DontInterpolateTitles : 1; /* djhjr - 1/6/98 */ unsigned int FixManagedVirtualGeometries : 1; unsigned int FixTransientVirtualGeometries : 1; unsigned int WarpSnug : 1; unsigned int ShallowReliefWindowButton : 2; /* obsoleted by the *BevelWidth resources - djhjr - 8/11/98 unsigned int use3Dmenus : 1; unsigned int use3Dtitles : 1; unsigned int use3Diconmanagers : 1; unsigned int use3Dborders : 1; * djhjr - 5/5/98 * unsigned int use3Dicons : 1; */ unsigned int BeNiceToColormap : 1; /* obsoleted by the ":xpm:*" built-in pixmaps - djhjr - 10/26/02 unsigned int SunkFocusWindowTitle : 1; */ /* for rader - djhjr - 2/9/99 */ unsigned int NoPrettyTitles : 1; unsigned int ButtonColorIsFrame : 1; /* djhjr - 4/17/98 */ unsigned int VirtualReceivesMotionEvents : 1; unsigned int VirtualSendsMotionEvents : 1; /* djhjr - 6/22/99 */ unsigned int DontDeiconifyTransients : 1; /* submitted by Ugen Antsilevitch - 5/28/00 */ unsigned int WarpVisible : 1; /* djhjr - 10/11/01 */ unsigned int ZoomZoom : 1; /* djhjr - 10/20/02 */ unsigned int NoBorderDecorations : 1; /* djhjr - 11/3/03 */ unsigned int RaiseOnStart : 1; } userflags; #define NoDefaultMouseOrKeyboardBindings userflags.NoDefaultMouseOrKeyboardBindings #define NoDefaultTitleButtons userflags.NoDefaultTitleButtons #define UsePPosition userflags.UsePPosition #define OldFashionedTwmWindowsMenu userflags.OldFashionedTwmWindowsMenu /* djhjr - 2/15/99 #define UseRealScreenBorder userflags.UseRealScreenBorder */ #define AutoRelativeResize userflags.AutoRelativeResize #define FocusRoot userflags.FocusRoot /* djhjr - 10/16/02 */ #define WarpCentered userflags.WarpCentered #define WarpCursor userflags.WarpCursor #define ForceIcon userflags.ForceIcon #define NoGrabServer userflags.NoGrabServer #define NoRaiseMove userflags.NoRaiseMove #define NoRaiseResize userflags.NoRaiseResize #define NoRaiseDeicon userflags.NoRaiseDeicon #define NoRaiseWarp userflags.NoRaiseWarp #define DontMoveOff userflags.DontMoveOff #define DoZoom userflags.DoZoom #define TitleFocus userflags.TitleFocus /* djhjr - 5/27/98 */ #define IconManagerFocus userflags.IconManagerFocus /* djhjr - 12/14/98 */ #define StaticIconPositions userflags.StaticIconPositions /* djhjr - 10/2/01 */ #define StrictIconManager userflags.StrictIconManager /* djhjr - 8/23/02 */ #define NoBorders userflags.NoBorders #define NoTitlebar userflags.NoTitlebar #define DecorateTransients userflags.DecorateTransients #define IconifyByUnmapping userflags.IconifyByUnmapping #define ShowIconManager userflags.ShowIconManager #define IconManagerDontShow userflags.IconManagerDontShow #define NoIconifyIconManagers userflags.NoIconifyIconManagers #define BackingStore userflags.BackingStore #define SaveUnder userflags.SaveUnder #define RandomPlacement userflags.RandomPlacement #define PointerPlacement userflags.PointerPlacement #define OpaqueMove userflags.OpaqueMove /* djhjr - 4/6/98 */ #define OpaqueResize userflags.OpaqueResize #define Highlight userflags.Highlight /* djhjr - 1/27/98 */ #define IconMgrHighlight userflags.IconMgrHighlight #define StackMode userflags.StackMode #define TitleHighlight userflags.TitleHighlight #define SortIconMgr userflags.SortIconMgr #define Shadow userflags.Shadow #define InterpolateMenuColors userflags.InterpolateMenuColors #define NoIconManagers userflags.NoIconManagers #define ClientBorderWidth userflags.ClientBorderWidth #define HaveFonts userflags.HaveFonts #define FirstTime userflags.FirstTime #define CaseSensitive userflags.CaseSensitive #define WarpUnmapped userflags.WarpUnmapped #define DeIconifyToScreen userflags.DeIconifyToScreen #define WarpWindows userflags.WarpWindows #define snapRealScreen userflags.snapRealScreen #define GeometriesAreVirtual userflags.GeometriesAreVirtual #define Virtual userflags.Virtual #define NamesInVirtualDesktop userflags.NamesInVirtualDesktop #define AutoRaiseDefault userflags.AutoRaiseDefault #define UseWindowRing userflags.UseWindowRing #define StayUpMenus userflags.StayUpMenus #define StayUpOptionalMenus userflags.StayUpOptionalMenus #define WarpToTransients userflags.WarpToTransients #define EnhancedExecResources userflags.EnhancedExecResources #define RightHandSidePulldownMenus userflags.RightHandSidePulldownMenus #define LessRandomZoomZoom userflags.LessRandomZoomZoom #define PrettyZoom userflags.PrettyZoom #define StickyAbove userflags.StickyAbove #define DontInterpolateTitles userflags.DontInterpolateTitles /* djhjr - 1/6/98 */ #define FixManagedVirtualGeometries userflags.FixManagedVirtualGeometries #define FixTransientVirtualGeometries userflags.FixTransientVirtualGeometries #define WarpSnug userflags.WarpSnug #define ShallowReliefWindowButton userflags.ShallowReliefWindowButton /* obsoleted by the *BevelWidth resources - djhjr - 8/11/98 #define use3Dmenus userflags.use3Dmenus #define use3Dtitles userflags.use3Dtitles #define use3Diconmanagers userflags.use3Diconmanagers #define use3Dborders userflags.use3Dborders * djhjr - 5/5/98 * #define use3Dicons userflags.use3Dicons */ #define BeNiceToColormap userflags.BeNiceToColormap /* obsoleted by the ":xpm:*" built-in pixmaps - djhjr - 10/26/02 #define SunkFocusWindowTitle userflags.SunkFocusWindowTitle */ /* for rader - djhjr - 2/9/99 */ #define NoPrettyTitles userflags.NoPrettyTitles #define ButtonColorIsFrame userflags.ButtonColorIsFrame /* djhjr - 4/17/98 */ #define VirtualReceivesMotionEvents userflags.VirtualReceivesMotionEvents #define VirtualSendsMotionEvents userflags.VirtualSendsMotionEvents /* djhjr - 6/22/99 */ #define DontDeiconifyTransients userflags.DontDeiconifyTransients /* submitted by Ugen Antsilevitch - 5/28/00 */ #define WarpVisible userflags.WarpVisible /* djhjr - 10/11/01 */ #define ZoomZoom userflags.ZoomZoom /* djhjr - 10/20/02 */ #define NoBorderDecorations userflags.NoBorderDecorations /* djhjr - 11/3/03 */ #define RaiseOnStart userflags.RaiseOnStart #endif /* djhjr - 9/10/03 */ int IgnoreModifiers; /* binding modifiers to ignore */ FuncKey FuncKeyRoot; TwmDoor *Doors; /* a list of doors on this screen */ int AutoPanBorderWidth; /* of autopan windows, really - DSE */ int AutoPanExtraWarp; /* # of extra pixels to warp - DSE */ int RealScreenBorderWidth; /* in virtual desktop - DSE */ int AutoPanWarpWithRespectToRealScreen; /* percent - DSE */ } ScreenInfo; extern int MultiScreen; extern int NumScreens; extern ScreenInfo **ScreenList; extern ScreenInfo *Scr; extern int FirstScreen; #define PPOS_OFF 0 #define PPOS_ON 1 #define PPOS_NON_ZERO 2 /* may eventually want an option for having the PPosition be the initial location for the drag lines */ /* djhjr - 10/16/02 */ #define WARPC_OFF 0 #define WARPC_TITLED 1 #define WARPC_UNTITLED 2 #define WARPC_ON 3 #endif /* _SCREEN_ */