screen.h revision 645f5050
1645f5050Syouri/* 2645f5050Syouri * Copyright 1989 Massachusetts Institute of Technology 3645f5050Syouri * 4645f5050Syouri * Permission to use, copy, modify, and distribute this software and its 5645f5050Syouri * documentation for any purpose and without fee is hereby granted, provided 6645f5050Syouri * that the above copyright notice appear in all copies and that both that 7645f5050Syouri * copyright notice and this permission notice appear in supporting 8645f5050Syouri * documentation, and that the name of M.I.T. not be used in advertising 9645f5050Syouri * or publicity pertaining to distribution of the software without specific, 10645f5050Syouri * written prior permission. M.I.T. makes no representations about the 11645f5050Syouri * suitability of this software for any purpose. It is provided "as is" 12645f5050Syouri * without express or implied warranty. 13645f5050Syouri * 14645f5050Syouri * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 15645f5050Syouri * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T. 16645f5050Syouri * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 17645f5050Syouri * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 18645f5050Syouri * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 19645f5050Syouri * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 20645f5050Syouri */ 21645f5050Syouri/* 22645f5050Syouri * [ ctwm ] 23645f5050Syouri * 24645f5050Syouri * Copyright 1992 Claude Lecommandeur. 25645f5050Syouri * 26645f5050Syouri * Permission to use, copy, modify and distribute this software [ctwm] and 27645f5050Syouri * its documentation for any purpose is hereby granted without fee, provided 28645f5050Syouri * that the above copyright notice appear in all copies and that both that 29645f5050Syouri * copyright notice and this permission notice appear in supporting documen- 30645f5050Syouri * tation, and that the name of Claude Lecommandeur not be used in adverti- 31645f5050Syouri * sing or publicity pertaining to distribution of the software without 32645f5050Syouri * specific, written prior permission. Claude Lecommandeur make no represen- 33645f5050Syouri * tations about the suitability of this software for any purpose. It is 34645f5050Syouri * provided "as is" without express or implied warranty. 35645f5050Syouri * 36645f5050Syouri * Claude Lecommandeur DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 37645f5050Syouri * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO 38645f5050Syouri * EVENT SHALL Claude Lecommandeur BE LIABLE FOR ANY SPECIAL, INDIRECT OR 39645f5050Syouri * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 40645f5050Syouri * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 41645f5050Syouri * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 42645f5050Syouri * PERFORMANCE OF THIS SOFTWARE. 43645f5050Syouri * 44645f5050Syouri * Author: Claude Lecommandeur [ lecom@sic.epfl.ch ][ April 1992 ] 45645f5050Syouri */ 46645f5050Syouri 47645f5050Syouri/*********************************************************************** 48645f5050Syouri * 49645f5050Syouri * $XConsortium: screen.h,v 1.62 91/05/01 17:33:09 keith Exp $ 50645f5050Syouri * 51645f5050Syouri * twm per-screen data include file 52645f5050Syouri * 53645f5050Syouri * 11-3-88 Dave Payne, Apple Computer File created 54645f5050Syouri * 55645f5050Syouri ***********************************************************************/ 56645f5050Syouri 57645f5050Syouri#ifndef _SCREEN_ 58645f5050Syouri#define _SCREEN_ 59645f5050Syouri 60645f5050Syouri#ifdef VMS 61645f5050Syouri#include <decw$include/Xlib.h> 62645f5050Syouri#include <decw$include/Xutil.h> 63645f5050Syouri#include <decw$include/cursorfont.h> 64645f5050Syouri#else 65645f5050Syouri#include <X11/Xlib.h> 66645f5050Syouri#include <X11/Xutil.h> 67645f5050Syouri#include <X11/cursorfont.h> 68645f5050Syouri#endif 69645f5050Syouri 70645f5050Syouri#ifdef GNOME 71645f5050Syouri# include "gnome.h" 72645f5050Syouri#endif /* GNOME */ 73645f5050Syouri#include "list.h" 74645f5050Syouri#include "menus.h" 75645f5050Syouri#include "iconmgr.h" 76645f5050Syouri#include "vscreen.h" 77645f5050Syouri#include "workmgr.h" 78645f5050Syouri 79645f5050Syouri#define ICONIFY_NORMAL 0 80645f5050Syouri#define ICONIFY_MOSAIC 1 81645f5050Syouri#define ICONIFY_ZOOMIN 2 82645f5050Syouri#define ICONIFY_ZOOMOUT 3 83645f5050Syouri#define ICONIFY_SWEEP 4 84645f5050Syouri 85645f5050Syouristruct _StdCmap { 86645f5050Syouri struct _StdCmap *next; /* next link in chain */ 87645f5050Syouri Atom atom; /* property from which this came */ 88645f5050Syouri int nmaps; /* number of maps below */ 89645f5050Syouri XStandardColormap *maps; /* the actual maps */ 90645f5050Syouri}; 91645f5050Syouri 92645f5050Syouri#define SIZE_HINDENT 10 93645f5050Syouri#define SIZE_VINDENT 2 94645f5050Syouri 95645f5050Syouristruct _TitlebarPixmaps { 96645f5050Syouri Pixmap xlogo; 97645f5050Syouri Pixmap resize; 98645f5050Syouri Pixmap question; 99645f5050Syouri Pixmap menu; 100645f5050Syouri Pixmap delete; 101645f5050Syouri}; 102645f5050Syouri 103645f5050Syouristruct ScreenInfo 104645f5050Syouri{ 105645f5050Syouri int screen; /* the default screen */ 106645f5050Syouri int d_depth; /* copy of DefaultDepth(dpy, screen) */ 107645f5050Syouri Visual *d_visual; /* copy of DefaultVisual(dpy, screen) */ 108645f5050Syouri int Monochrome; /* is the display monochrome ? */ 109645f5050Syouri int rootx; /* The x coordinate of the root window (virtual screen) relative to RealRoot */ 110645f5050Syouri int rooty; /* The y coordinate of the root window (virtual screen) relative to RealRoot */ 111645f5050Syouri int rootw; /* my copy of DisplayWidth(dpy, screen) */ 112645f5050Syouri int rooth; /* my copy of DisplayHeight(dpy, screen) */ 113645f5050Syouri 114645f5050Syouri int crootx; /* The x coordinate of the captive root window if any */ 115645f5050Syouri int crooty; /* The y coordinate of the captive root window if any */ 116645f5050Syouri int crootw; /* my copy of DisplayWidth(dpy, screen) */ 117645f5050Syouri int crooth; /* my copy of DisplayHeight(dpy, screen) */ 118645f5050Syouri 119645f5050Syouri int MaxWindowWidth; /* largest window to allow */ 120645f5050Syouri int MaxWindowHeight; /* ditto */ 121645f5050Syouri 122645f5050Syouri TwmWindow *FirstWindow; /* the head of the twm window list */ 123645f5050Syouri Colormaps RootColormaps; /* the colormaps of the root window */ 124645f5050Syouri 125645f5050Syouri Window Root; /* the root window: the current virual screen */ 126645f5050Syouri Window XineramaRoot; /* the root window, may be CaptiveRoot or otherwise RealRoot */ 127645f5050Syouri Window CaptiveRoot; /* the captive root window, if any, or 0 */ 128645f5050Syouri Window RealRoot; /* the actual root window of the display */ 129645f5050Syouri 130645f5050Syouri/* 131645f5050Syouri * +--RealRoot-----------------------------------------------------------+ 132645f5050Syouri * | the root of the display (most uses of this are probably incorrect!) | 133645f5050Syouri * | | 134645f5050Syouri * | +--CaptiveRoot--------------------------------------------------+ | 135645f5050Syouri * | | when captive window is used (most uses are likely incorrect!) | | 136645f5050Syouri * | | | | 137645f5050Syouri * | | +--XineramaRoot---------------------------------------------+ | | 138645f5050Syouri * | | | the root that encompasses all virual screens | | | 139645f5050Syouri * | | | | | | 140645f5050Syouri * | | | +--Root-----------+ +--Root--------+ +--Root------------+ | | | 141645f5050Syouri * | | | | one or more | | Most cases | | | | | | 142645f5050Syouri * | | | | virtual screens | | use Root. | | | | | | 143645f5050Syouri * | | | | | | | | | | | | 144645f5050Syouri * | | | | | | | | | | | | 145645f5050Syouri * | | | +-----------------+ +--------------+ +------------------+ | | | 146645f5050Syouri * | | +-----------------------------------------------------------+ | | 147645f5050Syouri * | +---------------------------------------------------------------+ | 148645f5050Syouri * +---------------------------------------------------------------------+ 149645f5050Syouri */ 150645f5050Syouri 151645f5050Syouri Window SizeWindow; /* the resize dimensions window */ 152645f5050Syouri Window InfoWindow; /* the information window */ 153645f5050Syouri Window WindowMask; /* the window masking the screen at startup */ 154645f5050Syouri Window ShapeWindow; /* an utilitary window for animated icons */ 155645f5050Syouri 156645f5050Syouri Image *WelcomeImage; 157645f5050Syouri GC WelcomeGC; 158645f5050Syouri Colormap WelcomeCmap; 159645f5050Syouri Visual *WelcomeVisual; 160645f5050Syouri 161645f5050Syouri name_list *ImageCache; /* list of pixmaps */ 162645f5050Syouri TitlebarPixmaps tbpm; /* titlebar pixmaps */ 163645f5050Syouri Image *UnknownImage; /* the unknown icon pixmap */ 164645f5050Syouri Pixmap siconifyPm; /* the icon manager iconify pixmap */ 165645f5050Syouri Pixmap pullPm; /* pull right menu icon */ 166645f5050Syouri unsigned int pullW, pullH; /* size of pull right menu icon */ 167645f5050Syouri char *HighlightPixmapName; /* name of the hilite image if any */ 168645f5050Syouri 169645f5050Syouri MenuRoot *MenuList; /* head of the menu list */ 170645f5050Syouri MenuRoot *LastMenu; /* the last menu (mostly unused?) */ 171645f5050Syouri MenuRoot *Windows; /* the TwmWindows menu */ 172645f5050Syouri MenuRoot *Icons; /* the TwmIcons menu */ 173645f5050Syouri MenuRoot *Workspaces; /* the TwmWorkspaces menu */ 174645f5050Syouri MenuRoot *AllWindows; /* the TwmAllWindows menu */ 175645f5050Syouri 176645f5050Syouri /*Added by dl 2004 */ 177645f5050Syouri MenuRoot *AllIcons; /* the TwmAllIcons menu */ 178645f5050Syouri 179645f5050Syouri /******************************************************/ 180645f5050Syouri /* Added by Dan Lilliehorn (dl@dl.nu) 2000-02-29) */ 181645f5050Syouri MenuRoot *Keys; /* the TwmKeys menu */ 182645f5050Syouri MenuRoot *Visible; /* thw TwmVisible menu */ 183645f5050Syouri 184645f5050Syouri TwmWindow *Ring; /* one of the windows in window ring */ 185645f5050Syouri TwmWindow *RingLeader; /* current window in ring */ 186645f5050Syouri 187645f5050Syouri MouseButton DefaultFunction; 188645f5050Syouri MouseButton WindowFunction; 189645f5050Syouri MouseButton ChangeWorkspaceFunction; 190645f5050Syouri MouseButton DeIconifyFunction; 191645f5050Syouri MouseButton IconifyFunction; 192645f5050Syouri 193645f5050Syouri struct { 194645f5050Syouri Colormaps *cmaps; /* current list of colormap windows */ 195645f5050Syouri int maxCmaps; /* maximum number of installed colormaps */ 196645f5050Syouri unsigned long first_req; /* seq # for first XInstallColormap() req in 197645f5050Syouri pass thru loading a colortable list */ 198645f5050Syouri int root_pushes; /* current push level to install root 199645f5050Syouri colormap windows */ 200645f5050Syouri Colormaps *pushed_cmaps; /* saved colormaps to install when pushes 201645f5050Syouri drops to zero */ 202645f5050Syouri } cmapInfo; 203645f5050Syouri 204645f5050Syouri struct { 205645f5050Syouri StdCmap *head, *tail; /* list of maps */ 206645f5050Syouri StdCmap *mru; /* most recently used in list */ 207645f5050Syouri int mruindex; /* index of mru in entry */ 208645f5050Syouri } StdCmapInfo; 209645f5050Syouri 210645f5050Syouri struct { 211645f5050Syouri int nleft, nright; /* numbers of buttons in list */ 212645f5050Syouri TitleButton *head; /* start of list */ 213645f5050Syouri int border; /* button border */ 214645f5050Syouri int pad; /* button-padding */ 215645f5050Syouri int width; /* width of single button & border */ 216645f5050Syouri int leftx; /* start of left buttons */ 217645f5050Syouri int titlex; /* start of title */ 218645f5050Syouri int rightoff; /* offset back from right edge */ 219645f5050Syouri int titlew; /* width of title part */ 220645f5050Syouri } TBInfo; 221645f5050Syouri ColorPair BorderTileC; /* border tile colors */ 222645f5050Syouri ColorPair TitleC; /* titlebar colors */ 223645f5050Syouri ColorPair MenuC; /* menu colors */ 224645f5050Syouri ColorPair MenuTitleC; /* menu title colors */ 225645f5050Syouri ColorPair IconC; /* icon colors */ 226645f5050Syouri ColorPair IconManagerC; /* icon manager colors */ 227645f5050Syouri ColorPair DefaultC; /* default colors */ 228645f5050Syouri ColorPair BorderColorC; /* color of window borders */ 229645f5050Syouri Pixel MenuShadowColor; /* menu shadow color */ 230645f5050Syouri Pixel IconBorderColor; /* icon border color */ 231645f5050Syouri Pixel IconManagerHighlight; /* icon manager highlight */ 232645f5050Syouri short ClearShadowContrast; /* The contrast of the clear shadow */ 233645f5050Syouri short DarkShadowContrast; /* The contrast of the dark shadow */ 234645f5050Syouri short IconJustification; /* J_LEFT, J_CENTER or J_RIGHT */ 235645f5050Syouri short IconRegionJustification; /* J_LEFT, J_CENTER J_RIGHT or J_BORDER */ 236645f5050Syouri short IconRegionAlignement; /* J_TOP, J_CENTER, J_BOTTOM or J_BORDER */ 237645f5050Syouri short TitleJustification; /* J_LEFT, J_CENTER or J_RIGHT */ 238645f5050Syouri short IconifyStyle; /* ICONIFY_* */ 239645f5050Syouri int MaxIconTitleWidth; /* */ 240645f5050Syouri 241645f5050Syouri Cursor TitleCursor; /* title bar cursor */ 242645f5050Syouri Cursor FrameCursor; /* frame cursor */ 243645f5050Syouri Cursor IconCursor; /* icon cursor */ 244645f5050Syouri Cursor IconMgrCursor; /* icon manager cursor */ 245645f5050Syouri Cursor ButtonCursor; /* title bar button cursor */ 246645f5050Syouri Cursor MoveCursor; /* move cursor */ 247645f5050Syouri Cursor ResizeCursor; /* resize cursor */ 248645f5050Syouri Cursor WaitCursor; /* wait a while cursor */ 249645f5050Syouri Cursor MenuCursor; /* menu cursor */ 250645f5050Syouri Cursor SelectCursor; /* dot cursor for f.move, etc. from menus */ 251645f5050Syouri Cursor DestroyCursor; /* skull and cross bones, f.destroy */ 252645f5050Syouri Cursor AlterCursor; /* cursor for alternate keymaps */ 253645f5050Syouri 254645f5050Syouri WorkSpaceMgr workSpaceMgr; 255645f5050Syouri short workSpaceManagerActive; 256645f5050Syouri 257645f5050Syouri virtualScreen *vScreenList; 258645f5050Syouri virtualScreen *currentvs; 259645f5050Syouri name_list *VirtualScreens; 260645f5050Syouri 261645f5050Syouri name_list *OccupyAll; /* list of window names occupying all workspaces at startup */ 262645f5050Syouri name_list *UnmapByMovingFarAway; 263645f5050Syouri name_list *DontSetInactive; 264645f5050Syouri name_list *AutoSqueeze; 265645f5050Syouri name_list *StartSqueezed; 266645f5050Syouri short use3Dmenus; 267645f5050Syouri short use3Dtitles; 268645f5050Syouri short use3Diconmanagers; 269645f5050Syouri short use3Dborders; 270645f5050Syouri short use3Dwmap; 271645f5050Syouri short use3Diconborders; 272645f5050Syouri short SunkFocusWindowTitle; 273645f5050Syouri short WMgrVertButtonIndent; 274645f5050Syouri short WMgrHorizButtonIndent; 275645f5050Syouri short WMgrButtonShadowDepth; 276645f5050Syouri short BeNiceToColormap; 277645f5050Syouri short BorderCursors; 278645f5050Syouri short BorderShadowDepth; 279645f5050Syouri short TitleButtonShadowDepth; 280645f5050Syouri short TitleShadowDepth; 281645f5050Syouri short MenuShadowDepth; 282645f5050Syouri short IconManagerShadowDepth; 283645f5050Syouri short ReallyMoveInWorkspaceManager; 284645f5050Syouri short ShowWinWhenMovingInWmgr; 285645f5050Syouri short ReverseCurrentWorkspace; 286645f5050Syouri short DontWarpCursorInWMap; 287645f5050Syouri short XMoveGrid, YMoveGrid; 288645f5050Syouri short FastServer; 289645f5050Syouri short CenterFeedbackWindow; 290645f5050Syouri short ShrinkIconTitles; 291645f5050Syouri short AutoRaiseIcons; 292645f5050Syouri short AutoFocusToTransients; /* kai */ 293645f5050Syouri short PackNewWindows; 294645f5050Syouri 295645f5050Syouri name_list *BorderColorL; 296645f5050Syouri name_list *IconBorderColorL; 297645f5050Syouri name_list *BorderTileForegroundL; 298645f5050Syouri name_list *BorderTileBackgroundL; 299645f5050Syouri name_list *TitleForegroundL; 300645f5050Syouri name_list *TitleBackgroundL; 301645f5050Syouri name_list *IconForegroundL; 302645f5050Syouri name_list *IconBackgroundL; 303645f5050Syouri name_list *IconManagerFL; 304645f5050Syouri name_list *IconManagerBL; 305645f5050Syouri name_list *IconMgrs; 306645f5050Syouri name_list *NoBorder; /* list of window without borders */ 307645f5050Syouri name_list *NoIconTitle; /* list of window names with no icon title */ 308645f5050Syouri name_list *NoTitle; /* list of window names with no title bar */ 309645f5050Syouri name_list *MakeTitle; /* list of window names with title bar */ 310645f5050Syouri name_list *AutoRaise; /* list of window names to auto-raise */ 311645f5050Syouri name_list *AutoLower; /* list of window names to auto-lower */ 312645f5050Syouri name_list *IconNames; /* list of window names and icon names */ 313645f5050Syouri name_list *NoHighlight; /* list of windows to not highlight */ 314645f5050Syouri name_list *NoStackModeL; /* windows to ignore stack mode requests */ 315645f5050Syouri name_list *AlwaysOnTopL; /* windows to keep on top */ 316645f5050Syouri name_list *NoTitleHighlight;/* list of windows to not highlight the TB*/ 317645f5050Syouri name_list *DontIconify; /* don't iconify by unmapping */ 318645f5050Syouri name_list *IconMgrNoShow; /* don't show in the icon manager */ 319645f5050Syouri name_list *IconMgrShow; /* show in the icon manager */ 320645f5050Syouri name_list *IconifyByUn; /* windows to iconify by unmapping */ 321645f5050Syouri name_list *StartIconified; /* windows to start iconic */ 322645f5050Syouri name_list *IconManagerHighlightL; /* icon manager highlight colors */ 323645f5050Syouri name_list *SqueezeTitleL; /* windows of which to squeeze title */ 324645f5050Syouri name_list *DontSqueezeTitleL; /* windows of which not to squeeze */ 325645f5050Syouri name_list *AlwaysSqueezeToGravityL; /* windows which should squeeze toward gravity */ 326645f5050Syouri name_list *WindowRingL; /* windows in ring */ 327645f5050Syouri name_list *WindowRingExcludeL; /* windows excluded from ring */ 328645f5050Syouri name_list *WarpCursorL; /* windows to warp cursor to on deiconify */ 329645f5050Syouri name_list *DontSave; 330645f5050Syouri name_list *WindowGeometries; 331645f5050Syouri name_list *IgnoreTransientL; 332645f5050Syouri 333645f5050Syouri name_list *OpaqueMoveList; 334645f5050Syouri name_list *NoOpaqueMoveList; 335645f5050Syouri name_list *OpaqueResizeList; 336645f5050Syouri name_list *NoOpaqueResizeList; 337645f5050Syouri name_list *IconMenuDontShow; 338645f5050Syouri 339645f5050Syouri GC NormalGC; /* normal GC for everything */ 340645f5050Syouri GC MenuGC; /* gc for menus */ 341645f5050Syouri GC DrawGC; /* GC to draw lines for move and resize */ 342645f5050Syouri GC BorderGC; /* for drawing 3D borders */ 343645f5050Syouri GC rootGC; /* used for allocating pixmaps in FindPixmap (util.c) */ 344645f5050Syouri 345645f5050Syouri unsigned long Black; 346645f5050Syouri unsigned long White; 347645f5050Syouri unsigned long XORvalue; /* number to use when drawing xor'ed */ 348645f5050Syouri MyFont TitleBarFont; /* title bar font structure */ 349645f5050Syouri MyFont MenuFont; /* menu font structure */ 350645f5050Syouri MyFont IconFont; /* icon font structure */ 351645f5050Syouri MyFont SizeFont; /* resize font structure */ 352645f5050Syouri MyFont IconManagerFont; /* window list font structure */ 353645f5050Syouri MyFont DefaultFont; 354645f5050Syouri IconMgr *iconmgr; /* default icon manager */ 355645f5050Syouri struct IconRegion *FirstRegion; /* pointer to icon regions */ 356645f5050Syouri struct IconRegion *LastRegion; /* pointer to the last icon region */ 357645f5050Syouri struct WindowRegion *FirstWindowRegion; /* pointer to window regions */ 358645f5050Syouri WindowBox *FirstWindowBox; /* pointer to window boxes list */ 359645f5050Syouri char *IconDirectory; /* icon directory to search */ 360645f5050Syouri char *PixmapDirectory; /* Pixmap directory to search */ 361645f5050Syouri int SizeStringOffset; /* x offset in size window for drawing */ 362645f5050Syouri int SizeStringWidth; /* minimum width of size window */ 363645f5050Syouri int BorderWidth; /* border width of twm windows */ 364645f5050Syouri int BorderLeft; 365645f5050Syouri int BorderRight; 366645f5050Syouri int BorderTop; 367645f5050Syouri int BorderBottom; 368645f5050Syouri int ThreeDBorderWidth; /* 3D border width of twm windows */ 369645f5050Syouri int IconBorderWidth; /* border width of icon windows */ 370645f5050Syouri int TitleHeight; /* height of the title bar window */ 371645f5050Syouri TwmWindow *Focus; /* the twm window that has focus */ 372645f5050Syouri int EntryHeight; /* menu entry height */ 373645f5050Syouri int FramePadding; /* distance between decorations and border */ 374645f5050Syouri int TitlePadding; /* distance between items in titlebar */ 375645f5050Syouri int ButtonIndent; /* amount to shrink buttons on each side */ 376645f5050Syouri int NumAutoRaises; /* number of autoraise windows on screen */ 377645f5050Syouri int NumAutoLowers; /* number of autolower windows on screen */ 378645f5050Syouri int TransientOnTop; /* Percentage of the surface of it's leader */ 379645f5050Syouri short AutoRaiseDefault; /* AutoRaise all windows if true */ 380645f5050Syouri short AutoLowerDefault; /* AutoLower all windows if true */ 381645f5050Syouri short NoDefaults; /* do not add in default UI stuff */ 382645f5050Syouri short UsePPosition; /* what do with PPosition, see values below */ 383645f5050Syouri short UseSunkTitlePixmap; 384645f5050Syouri short AutoRelativeResize; /* start resize relative to position in quad */ 385645f5050Syouri short FocusRoot; /* is the input focus on the root ? */ 386645f5050Syouri short WarpCursor; /* warp cursor on de-iconify ? */ 387645f5050Syouri short ForceIcon; /* force the icon to the user specified */ 388645f5050Syouri short NoGrabServer; /* don't do server grabs */ 389645f5050Syouri short NoRaiseMove; /* don't raise window following move */ 390645f5050Syouri short NoRaiseResize; /* don't raise window following resize */ 391645f5050Syouri short NoRaiseDeicon; /* don't raise window on deiconify */ 392645f5050Syouri short RaiseOnWarp; /* do raise window on warp */ 393645f5050Syouri short DontMoveOff; /* don't allow windows to be moved off */ 394645f5050Syouri int MoveOffResistance; /* nb of pixel before moveOff gives up */ 395645f5050Syouri int MovePackResistance; /* nb of pixel before f.movepack gives up */ 396645f5050Syouri short DoZoom; /* zoom in and out of icons */ 397645f5050Syouri short TitleFocus; /* focus on window in title bar ? */ 398645f5050Syouri short IconManagerFocus; /* focus on iconified window ? */ 399645f5050Syouri short NoIconTitlebar; /* put title bars on icons */ 400645f5050Syouri short NoTitlebar; /* put title bars on windows */ 401645f5050Syouri short DecorateTransients; /* put title bars on transients */ 402645f5050Syouri short IconifyByUnmapping; /* simply unmap windows when iconifying */ 403645f5050Syouri short ShowIconManager; /* display the window list */ 404645f5050Syouri short ShowWorkspaceManager; /* display the workspace manager */ 405645f5050Syouri short IconManagerDontShow; /* show nothing in the icon manager */ 406645f5050Syouri short AutoOccupy; /* Do we automatically change occupation when name changes */ 407645f5050Syouri short TransientHasOccupation; /* Do transient-for windows have their own occupation */ 408645f5050Syouri short DontPaintRootWindow; /* don't paint anything on the root window */ 409645f5050Syouri short BackingStore; /* use backing store for menus */ 410645f5050Syouri short SaveUnder; /* use save under's for menus */ 411645f5050Syouri short RandomPlacement; /* randomly place windows that no give hints */ 412645f5050Syouri short RandomDisplacementX; /* randomly displace by this much horizontally */ 413645f5050Syouri short RandomDisplacementY; /* randomly displace by this much vertically */ 414645f5050Syouri short OpaqueMove; /* move the window rather than outline */ 415645f5050Syouri short DoOpaqueMove; /* move the window rather than outline */ 416645f5050Syouri short OpaqueMoveThreshold; /* */ 417645f5050Syouri short DoOpaqueResize; /* resize the window rather than outline */ 418645f5050Syouri short OpaqueResize; /* resize the window rather than outline */ 419645f5050Syouri short OpaqueResizeThreshold; /* */ 420645f5050Syouri short Highlight; /* should we highlight the window borders */ 421645f5050Syouri short StackMode; /* should we honor stack mode requests */ 422645f5050Syouri short TitleHighlight; /* should we highlight the titlebar */ 423645f5050Syouri short MoveDelta; /* number of pixels before f.move starts */ 424645f5050Syouri short ZoomCount; /* zoom outline count */ 425645f5050Syouri short SortIconMgr; /* sort entries in the icon manager */ 426645f5050Syouri short Shadow; /* show the menu shadow */ 427645f5050Syouri short InterpolateMenuColors;/* make pretty menus */ 428645f5050Syouri short StayUpMenus; /* stay up menus */ 429645f5050Syouri short WarpToDefaultMenuEntry; /* warp cursor to default menu entry, if any */ 430645f5050Syouri short ClickToFocus; /* click to focus */ 431645f5050Syouri short SloppyFocus; /* "sloppy" focus */ 432645f5050Syouri short SaveWorkspaceFocus; /* Save and restore focus on workspace change. */ 433645f5050Syouri short NoIconManagers; /* Don't create any icon managers */ 434645f5050Syouri short ClientBorderWidth; /* respect client window border width */ 435645f5050Syouri short SqueezeTitle; /* make title as small as possible */ 436645f5050Syouri short AlwaysSqueezeToGravity; /* squeeze toward gravity */ 437645f5050Syouri short HaveFonts; /* set if fonts have been loaded */ 438645f5050Syouri short FirstTime; /* first time we've read .twmrc */ 439645f5050Syouri short CaseSensitive; /* be case-sensitive when sorting names */ 440645f5050Syouri short WarpUnmapped; /* allow warping to unmapped windows */ 441645f5050Syouri short WindowRingAll; /* add all windows to the ring */ 442645f5050Syouri short WarpRingAnyWhere; /* warp to ring even if window is not visible */ 443645f5050Syouri short ShortAllWindowsMenus; /* Eliminates Icon and Workspace Managers */ 444645f5050Syouri short OpenWindowTimeout; /* Timeout when a window tries to open */ 445645f5050Syouri short RaiseWhenAutoUnSqueeze; 446645f5050Syouri short RaiseOnClick; /* Raise a window when clieked into */ 447645f5050Syouri short RaiseOnClickButton; /* Raise a window when clieked into */ 448645f5050Syouri short IgnoreLockModifier; /* Should we ignore the lock modifier */ 449645f5050Syouri unsigned int IgnoreModifier; 450645f5050Syouri short IgnoreCaseInMenuSelection; /* Should we ignore case in menu selection */ 451645f5050Syouri short NoWarpToMenuTitle; /* warp cursor to clipped menu title */ 452645f5050Syouri short NoImagesInWorkSpaceManager; /* do not display mini images of the desktop background images on WSmap */ 453645f5050Syouri 454645f5050Syouri FuncKey FuncKeyRoot; 455645f5050Syouri FuncButton FuncButtonRoot; 456645f5050Syouri 457645f5050Syouri#ifdef GNOME 458645f5050Syouri GnomeData *gnomedata; 459645f5050Syouri#endif /* GNOME */ 460645f5050Syouri}; 461645f5050Syouri 462645f5050Syouriextern int captive; 463645f5050Syouriextern int MultiScreen; 464645f5050Syouriextern int NumScreens; 465645f5050Syouriextern ScreenInfo **ScreenList; 466645f5050Syouriextern ScreenInfo *Scr; 467645f5050Syouriextern int FirstScreen; 468645f5050Syouri 469645f5050Syouri#define PPOS_OFF 0 470645f5050Syouri#define PPOS_ON 1 471645f5050Syouri#define PPOS_NON_ZERO 2 472645f5050Syouri/* may eventually want an option for having the PPosition be the initial 473645f5050Syouri location for the drag lines */ 474645f5050Syouri 475645f5050Syouri#define RP_OFF 0 476645f5050Syouri#define RP_ALL 1 477645f5050Syouri#define RP_UNMAPPED 2 478645f5050Syouri 479645f5050Syouri#define ONTOP_MAX 16 480645f5050Syouri#define ONTOP_DEFAULT 8 481645f5050Syouri 482645f5050Syouri#endif /* _SCREEN_ */ 483