1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808
|
/*
* 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 <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/cursorfont.h>
#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 <erik.agsjo@aktiedirekt.com> */
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_ */
|