CTWM
Loading...
Searching...
No Matches
/usr/src/RPM/BUILD/ctwm-4.1.0/screen.h
Go to the documentation of this file.
1/*
2 * twm per-screen data include file
3 *
4 *
5 * Copyright 1989 Massachusetts Institute of Technology
6 *
7 * $XConsortium: screen.h,v 1.62 91/05/01 17:33:09 keith Exp $
8 *
9 * 11-3-88 Dave Payne, Apple Computer File created
10 *
11 * Copyright 1992 Claude Lecommandeur.
12 */
13
14#ifndef _CTWM_SCREEN_H
15#define _CTWM_SCREEN_H
16
17/* Needed for doxygen to get at the #define's for config (like EMWH) */
18#ifdef DOXYGEN
19# include "ctwm_config.h"
20#endif
21
22#include "menus.h" // embedded MouseButton/Func{Button,Key}
23#include "workspace_structs.h" // embedded ScreenInfo.workSpaceMgr
24
25
26/**
27 * Type for iconification styles. Options correspond to the values in
28 * IconifyStyle config var. \sa ScreenInfo.IconifyStyle \todo Maybe
29 * should just be moved inline in ScreenInfo struct, since it's never
30 * directly used elsewhere.
31 */
40
41
42/**
43 * Information about some XStandardColormap we're using. See Xlib docs
44 * for details.
45 */
46struct StdCmap {
47 struct StdCmap *next; /* next link in chain */
48 Atom atom; /* property from which this came */
49 int nmaps; /* number of maps below */
50 XStandardColormap *maps; /* the actual maps */
51};
52
53
54/**
55 * Internal padding in the size window. \sa ScreenInfo.SizeWindow
56 * \todo Possibly these should be in another header...
57 */
58#define SIZE_HINDENT 10
59#define SIZE_VINDENT 2 ///< \copydoc #SIZE_HINDENT
60
61
62/**
63 * Stash for memoizing various pixmaps used in titlebars.
64 * \sa the TBPM_* constants in image.h
65 * \todo This probably doesn't need to live on its own, since it only
66 * exists to define a member in the ScreenInfo struct. Maybe it should
67 * just be moved to being defined nested in there...
68 */
70 Pixmap xlogo; ///< #TBPM_XLOGO
71 Pixmap resize; ///< #TBPM_RESIZE
72 Pixmap question; ///< #TBPM_QUESTION
73 Pixmap menu; ///< #TBPM_MENU
74 Pixmap delete; ///< #TBPM_DOT
75};
76
77
78/**
79 * Info and control for each X Screen we control.
80 *
81 * We start up on an X Display (e.g., ":0"), and by default try to take
82 * over each X Screen on that display (e.g, ":0.0", ":0.1", ...). Each
83 * of those Screens will have its own ScreenInfo.
84 *
85 * This contains pure physical or X info (size, coordinates, color
86 * depth), ctwm info (lists of windows on it, window rings, how it fits
87 * with other Screens we control), most of the config file settings which
88 * may differ from Screen to Screen, menus, special windows (Occupy,
89 * Identify, etc), and piles of other stuff.
90 *
91 * \note
92 * Possibly this should be broken up somewhat. e.g., much of the
93 * config-related bits pulled out into their own structure, which could
94 * allow decoupling the config parsing from the X screens a bit.
95 */
96struct ScreenInfo {
97 int screen; ///< Which screen (i.e., the x after the dot in ":0.x")
98
99 int d_depth; ///< Copy of DefaultDepth(dpy, screen)
100 Visual *d_visual; ///< Copy of DefaultVisual(dpy, screen)
101 int Monochrome; ///< Is the display monochrome?
102
103 /**
104 * The x coordinate of the root window relative to RealRoot. This is
105 * usually 0, except in the case of captive mode where it shows where
106 * we are on the real screen, or when we have VirtualScreens and are
107 * positioning our real Screens on a virtual RealRoot.
108 */
109 int rootx;
110 /// The y coordinate of the root window relative to RealRoot.
111 /// \copydetails rootx
112 int rooty;
113
114 int rootw; ///< Copy of DisplayWidth(dpy, screen)
115 int rooth; ///< Copy of DisplayHeight(dpy, screen)
116
117 int mm_w; ///< Physical mm width of the root
118 int mm_h; ///< Physical mm height of the root
119
120#ifdef CAPTIVE
121 /**
122 * \defgroup scr_captive_bits Captive ctwm bits
123 * These are various fields related to running a captive ctwm (i.e.,
124 * with \--window). They'll generally be empty for non-captive
125 * invocations, or describe our position inside the "outside" world
126 * if we are.
127 * @{
128 */
129 /// The name of the captive root window if any. Autogen'd or set
130 /// with \--name
131 char *captivename;
132 /// The x coordinate of the captive root window if any.
133 int crootx;
134 /// The y coordinate of the captive root window if any.
135 int crooty;
136 /// Initially copy of DisplayWidth(dpy, screen). See also
137 /// ConfigureCaptiveRootWindow()
138 int crootw;
139 /// Initially copy of DisplayHeight(dpy, screen).
140 /// \copydetails crootw
141 int crooth;
142 /// @}
143#endif
144
145 int MaxWindowWidth; ///< Largest window width to allow
146 int MaxWindowHeight; ///< Largest window height to allow
147
148 /// The head of the screen's twm window list. This is used for
149 /// places where we need to iterate over the TwmWindow's in a single
150 /// Screen, by following the TwmWindow.next pointers.
152
153 Colormaps RootColormaps; ///< The colormaps of the root window
154
155
156 /**
157 * \defgroup scr_roots Various root and pseudo-root Windows.
158 * These are the various forms of root and almost-root windows that
159 * things on this Screen reside in. It's probable that there's a lot
160 * of confusion of these, and they get set, reset, and used
161 * incorrectly in a lot of places. We mostly get away with it
162 * because in normal usage, they're often all identical.
163 *
164 * \verbatim
165 *
166 * +--RealRoot-----------------------------------------------------------+
167 * | the root of the display (most uses of this are probably incorrect!) |
168 * | |
169 * | +--CaptiveRoot--------------------------------------------------+ |
170 * | | when captive window is used (most uses are likely incorrect!) | |
171 * | | | |
172 * | | +--XineramaRoot---------------------------------------------+ | |
173 * | | | the root that encompasses all virtual screens | | |
174 * | | | | | |
175 * | | | +--Root-----------+ +--Root--------+ +--Root------------+ | | |
176 * | | | | one or more | | Most cases | | | | | |
177 * | | | | virtual screens | | use Root. | | | | | |
178 * | | | | | | | | | | | |
179 * | | | | | | | | | | | |
180 * | | | +-----------------+ +--------------+ +------------------+ | | |
181 * | | +-----------------------------------------------------------+ | |
182 * | +---------------------------------------------------------------+ |
183 * +---------------------------------------------------------------------+
184 * \endverbatim
185 *
186 * @{
187 */
188
189 /**
190 * Root window for the current vscreen. Initially either the real X
191 * RootWindow(), or the existing or created Window for a captive
192 * ctwm. Gets reset to a vscreen's window in InitVirtualScreens().
193 */
195
196 /**
197 * Root window holding our vscreens. Initialized to the same value
198 * as ScreenInfo.Root, and isn't changed afterward.
199 */
201#ifdef CAPTIVE
202 /// The captive root window, if any, or None
204#endif
205 /// The actual X root window of the display. This is always X's
206 /// RootWindow().
208 /// @}
209
210 /// Layout of our roow window and monitor(s).
212 /// Layout taking into account Border{Top,Left,Right,Bottom} config
213 /// params.
215
216 /**
217 * Dimensions/coordinates window. This is the small window (usually
218 * in the upper left of the screen, unless
219 * ScreenInfo.CenterFeedbackWindow is set) that shows
220 * dimensions/coordinates for resize/move operations.
221 */
223
224 /**
225 * Window info window. This is the window that pops up with the
226 * various information when you f.identify a window, and also the
227 * truncated version of that that f.version pulls up.
228 */
229 struct _InfoWindow {
230 Window win; ///< Actual X window
231 bool mapped; ///< Whether it's currently up
232 int lines; ///< Current number of lines
233 unsigned int width; ///< Current size
234 unsigned int height; ///< Current size
235 } InfoWindow; ///< \copydoc ScreenInfo::_InfoWindow
236 /*
237 * Naming this struct type is pointless, but necessary for doxygen to
238 * not barf on it. The copydoc is needed so the desc shows up in the
239 * ScreenInfo docs as well as the struct's own.
240 */
241
242 /**
243 * \defgroup scr_maskwin Screen masking window stuff
244 * These are bits for a window that covers up everything on the
245 * screen during startup if we're showing the "Welcome window"
246 * splash screen. That is, if ScreenInfo.ShowWelcomeWindow is true.
247 * @{
248 */
249 /// Startup splash screen masking window if
250 /// ScreenInfo.ShowWelcomeWindow
252 /// Utility window for animated icons
254 /// Image to show on ScreenInfo.WindowMask
256 /// GC for drawing ScreenInfo.WelcomeImage on ScreenInfo.WindowMask
258 /// Colormap for ScreenInfo.WindowMask
260 /// @}
261
262 name_list *ImageCache; ///< Cached pixmaps used in image loading
263 TitlebarPixmaps tbpm; ///< Memoized titlebar pixmaps
264 Image *UnknownImage; ///< Fallback icon pixmap
265 Pixmap siconifyPm; ///< In-icon manager iconifed marker pixmap
266 Pixmap pullPm; ///< In-menu submenu item marker icon
267 unsigned int pullW; ///< Dimensions of ScreenInfo.pullPm
268 unsigned int pullH; ///< Dimensions of ScreenInfo.pullPm
269
270 /**
271 * Name of titlebar focus hilite image if any. This is an
272 * alternative to the builtin shading on the titlebar when a window
273 * has focus. See Pixmaps config var.
274 */
276
277 /// \defgroup scr_menu_bits Various menus
278 /// These hold references to the various menus on the Screen.
279 /// @{
280 MenuRoot *MenuList; ///< Head of the menu list
281 MenuRoot *LastMenu; ///< Temp var used in creating the Screen's menus
282 MenuRoot *Windows; ///< f.menu TwmWindows
283 MenuRoot *Icons; ///< f.menu TwmIcons
284 MenuRoot *Workspaces; ///< f.menu TwmWorkspaces
285 MenuRoot *AllWindows; ///< f.menu TwmAllWindows
286
287 /*Added by dl 2004 */
288 MenuRoot *AllIcons; ///< f.menu TwmAllIcons
289
290 /* Added by Dan Lilliehorn (dl@dl.nu) 2000-02-29) */
291 MenuRoot *Keys; ///< f.menu TwmKeys
292 MenuRoot *Visible; ///< f.menu TwmVisible
293
294 /// @}
295
296 TwmWindow *Ring; ///< One of the windows in the Screen's ring
297 TwmWindow *RingLeader; ///< Current window in ring
298
299 MouseButton DefaultFunction; ///< DefaultFunction config var
300 MouseButton WindowFunction; ///< WindowFunction config var
301 MouseButton ChangeWorkspaceFunction; ///< ChangeWorkspaceFunction config var
302 MouseButton DeIconifyFunction; ///< DeIconifyFunction config var
303 MouseButton IconifyFunction; ///< IconifyFunction config var
304
305 /// Various colormaps used on the Screen. These probably have little
306 /// effect in a world where 24bpp is a baseline...
307 struct _cmapInfo {
308 Colormaps *cmaps; ///< Current list of colormap windows
309 int maxCmaps; ///< Maximum number of installed colormaps
310 /// seq # for first XInstallColormap() req in pass thru loading a
311 /// colortable list
312 unsigned long first_req;
313 /// current push level to install root colormap windows
315 /// saved colormaps to install when pushes drops to zero
317 } cmapInfo; ///< \copydoc ScreenInfo::_cmapInfo
318 ///< \todo Somebody needs to understand and document this better.
319 // x-ref trailing comment on InfoWindow above
320
321 /**
322 * Various XStandardColormaps on the screen. See Xlib documentation
323 * for XStandardColormaps (e.g.,
324 * <https://www.x.org/releases/X11R7.7/doc/libX11/libX11/libX11.html#Standard_Colormaps>)
325 * if you need to make sense of it.
326 */
328 StdCmap *head; ///< list of maps
329 StdCmap *tail; ///< list of maps
330 StdCmap *mru; ///< Most recently used in list
331 int mruindex; ///< index of mru in entry
332 } StdCmapInfo; ///< \copydoc ScreenInfo::_StdCmapInfo
333 ///< \todo Somebody needs to understand and document this better.
334 // x-ref trailing comment on InfoWindow above
335
336 /**
337 * Various titlebar buttons that will be put in the window
338 * decorations for the screen. This is setup by
339 * InitTitlebarButtons() and possibly added to via
340 * Left/RightTitleButton config vars.
341 * \sa CreateWindowTitlebarButtons() where this gets used to build
342 * the titlebar of an individual window.
343 */
344 struct _TBInfo {
345 int nleft; ///< numbers of buttons on left side
346 int nright; ///< numbers of buttons on right side
347 TitleButton *head; ///< start of list
348 int border; ///< button border
349 int pad; ///< button-padding
350 int width; ///< width of single button & border
351 int leftx; ///< start of left buttons
352 int titlex; ///< start of title
353 int rightoff; ///< offset back from right edge
354 int titlew; ///< width of title part
355 } TBInfo; ///< \copydoc ScreenInfo::_TBInfo
356 // x-ref trailing comment on InfoWindow above
357
358 /**
359 * \defgroup scr_color_bits Various color definitions.
360 * These define various colors we use for things on the screen.
361 * They tend to come from things inside a Color {} section in the
362 * config. There are often correspondences between the "simple"
363 * ColorPair or Pixel values (for the "normal" colors of each type)
364 * and a name_list (for per-window settings of that type).
365 * @{
366 */
367 /// Border tile colors. \sa ScreenInfo.BorderTileForegroundL
368 /// \sa ScreenInfo.BorderTileBackgroundL
370
371 /// Titlebar colors \sa ScreenInfo.TitleForegroundL
372 /// \sa ScreenInfo.TitleBackgroundL
374
375 /// Menu colors
377
378 /// Menu title colors
380
381 /// %Icon colors. \sa ScreenInfo.IconForegroundL
382 /// \sa ScreenInfo.IconBackgroundL
384
385 /// %Icon manager colors. \sa ScreenInfo.IconManagerFL
386 /// \sa ScreenInfo.IconManagerBL
388
389 /// Default colors
391
392 /// Color of window borders. \sa ScreenInfo.BorderColorL
394
395 /// Specialized border colors for windows. From BorderColor config
396 /// var. \sa ScreenInfo.BorderColorC
398
399 /// Specialized border colors for icons. From IconBorderColor config
400 /// var. \sa ScreenInfo.IconBorderColor
402
403 /// Specialized border coloring. From BorderTileForeground config
404 /// var. \sa ScreenInfo.BorderTileC
406
407 /// \copydoc ScreenInfo::BorderTileForegroundL
409
410 /// Specialized titlebar foreground coloring. From TitleForeground
411 /// config var. \sa ScreenInfo.TitleC
413
414 /// Specialized titlebar background coloring. From TitleBackground
415 /// config var. \sa ScreenInfo.TitleC
417
418 /// Specialized icon foreground coloring. From IconForeground
419 /// config var. \sa ScreenInfo.IconC
421
422 /// Specialized icon background coloring. From IconBackground
423 /// config var. \sa ScreenInfo.IconC
425
426 /// Specialized icon manager foreground coloring. From
427 /// IconManagerForeground config var. \sa ScreenInfo.IconManagerC
429
430 /// Specialized icon manager background coloring. From
431 /// IconManagerBackground config var. \sa ScreenInfo.IconManagerC
433
434 /// Color to highlight focused windows in icon manager.
435 /// \sa ScreenInfo.IconManagerHighlight
437
438 /// Menu shadow color
440
441 /// %Icon border color. \sa ScreenInfo.IconBorderColorL
443
444 /// %Icon manager highlight color.
445 /// \sa ScreenInfo.IconManagerHighlightL
447
448 /// The contrast of the clear shadow
450
451 /// The contrast of the dark shadow
453 /// @}
454
455 /**
456 * \defgroup scr_icon_bits Various icon control bits.
457 * Various configurations for how icons get displayed and laid out.
458 * @{
459 */
460 /// How icon images/titles are aligned. From IconJustification
461 /// config var. X-ref IconRegion.TitleJustification.
463
464 /// How icons are laid out horizontally inside a region. From
465 /// IconRegionJustificationconfig var.
467
468 /// How icons are laid out vertically inside a region. From
469 /// IconRegionAlignement config var.
471
472 /// How to animate window iconification, if any. From IconifyStyle
473 /// config var.
474 IcStyle IconifyStyle; /* ICONIFY_* */
475 /// Limit on icon title size. From MaxIconTitleWidth config var.
477#ifdef EWMH
478 int PreferredIconWidth; ///< Width from IconSize config var
479 int PreferredIconHeight; ///< Height from IconSize config var
480#endif
481 /// @}
482
483 /// How title text is aligned in window titlebars. From
484 /// TitleJustification config var. \note Despite the naming
485 /// similarity, this is *not* related to
486 /// IconRegion.TitleJustification. That comes instead from
487 /// ScreenInfo.IconJustification.
489
490 /// \defgroup scr_cursors Various cursors used on the screen.
491 /// These all come from the Cursors config var, or defaults.
492 /// @{
493 Cursor TitleCursor; ///< title bar cursor
494 Cursor FrameCursor; ///< frame cursor
495 Cursor IconCursor; ///< icon cursor
496 Cursor IconMgrCursor; ///< icon manager cursor
497 Cursor ButtonCursor; ///< title bar button cursor
498 Cursor MoveCursor; ///< move cursor
499 Cursor ResizeCursor; ///< resize cursor
500 Cursor WaitCursor; ///< wait a while cursor
501 Cursor MenuCursor; ///< menu cursor
502 Cursor SelectCursor; ///< dot cursor for f.move, etc. from menus
503 Cursor DestroyCursor; ///< skull and cross bones, f.destroy
504 Cursor AlterCursor; ///< cursor for alternate keymaps
505 /// @}
506
507 /// Info about the WorkSpaceManager (and Occupy window) for the screen.
509 bool workSpaceManagerActive; ///< Whether the WSM is being shown
510
511 /// \defgroup scr_vscreen_bits VScreen bits
512 /// @{
513 VirtualScreen *vScreenList; ///< Linked list of per-VS info
514 VirtualScreen *currentvs; ///< Currently active VS
515#ifdef VSCREEN
516 name_list *VirtualScreens; ///< List of defined VS's
517 int numVscreens; ///< Number of defined VS's
518#endif
519 /// @}
520
521 name_list *OccupyAll; ///< OccupyAll config var
522 name_list *UnmapByMovingFarAway; ///< UnmapByMovingFarAway config var
523 name_list *DontSetInactive; ///< DontSetInactive config var
524 name_list *AutoSqueeze; ///< AutoSqueeze config var
525 name_list *StartSqueezed; ///< StartSqueezed config var
526
527 bool use3Dmenus; ///< UseThreeDMenus config var
528 bool use3Dtitles; ///< UseThreeDTitles config var
529 bool use3Diconmanagers; ///< UseThreeDIconManagers config var
530 bool use3Dborders; ///< UseThreeDBorders config var
531 bool use3Dwmap; ///< UseThreeDWMap config var
532 bool SunkFocusWindowTitle; ///< SunkFocusWindowTitle config var
533 short WMgrVertButtonIndent; ///< WMgrVertButtonIndent config var
534 short WMgrHorizButtonIndent; ///< WMgrHorizButtonIndent config var
535 short WMgrButtonShadowDepth; ///< WMgrButtonShadowDepth config var
536 bool BeNiceToColormap; ///< BeNiceToColormap config var
537 bool BorderCursors; ///< BorderResizeCursors config var
538 /// AutoPopup config flag. \sa ScreenInfo.AutoPopupL
540 short BorderShadowDepth; ///< BorderShadowDepth config var
541 short TitleButtonShadowDepth; ///< TitleButtonShadowDepth config var
542 short TitleShadowDepth; ///< TitleShadowDepth config var
543 short MenuShadowDepth; ///< MenuShadowDepth config var
544 short IconManagerShadowDepth; ///< IconManagerShadowDepth config var
545 /// ReallyMoveInWorkspaceManager config var
547 /// AlwaysShowWindowWhenMovingFromWorkspaceManager config var
549 bool ReverseCurrentWorkspace; ///< ReverseCurrentWorkspace config var
550 bool DontWarpCursorInWMap; ///< DontWarpCursorInWMap config var
551 short XMoveGrid; ///< XMoveGrid config var
552 short YMoveGrid; ///< YMoveGrid config var
553 bool CenterFeedbackWindow; ///< CenterFeedbackWindow config var
554 bool ShrinkIconTitles; ///< ShrinkIconTitles config var
555 bool AutoRaiseIcons; ///< AutoRaiseIcons config var
556 bool AutoFocusToTransients; ///< AutoFocusToTransients config var
557 bool PackNewWindows; ///< PackNewWindows config var
558
559 /// Stash of various OTP info about the windows on the screen. This
560 /// is only used internally in various otp.c code; nothing else
561 /// currently references it.
563 /// Stash of OTP info about icons on the screen. \copydetails OTP
565 /// Pointer to the start of the OTP winlists for the screen.
567
568 /// From IconManagers config var. This is a mapping from the window
569 /// name pattern to the IconMgr structure it should go in. All the
570 /// IM's for the screen wind up in the iconmgr element.
571 /// \sa ScreenInfo.iconmgr
573
574 /// AutoPopup config var (list). Windows that popup when changed.
575 /// \sa ScreenInfo.AutoPopup
577
578 /// NoBorder config var. Windows without borders.
580
581 /// NoIconTitle config var (list). Windows to not show a title on
582 /// the icons for. \sa ScreenInfo.NoIconTitlebar
584
585 /// NoTitle config var (list). Windows to not put a titlebar on.
586 /// \sa ScreenInfo.NoTitlebar
588
589 /// MakeTitle config var. Windows to pup a titlebar on when general
590 /// NoTitle is set. \sa ScreenInfo.NoTitlebar \sa ScreenInfo.NoTitle
592
593 /// AutoRaise config var (list). Windows to automatically raise when
594 /// pointed to (possible after a delay).
595 /// \sa ScreenInfo.AutoRaiseDefault \sa ScreenInfo.RaiseDelay
597
598 /// WarpOnDeIconify config var. Windows to occupy over to current
599 /// workspace on deiconification. \note Minor nomenclature issue;
600 /// 'Warp' in name suggests we move to the win, but it actually means
601 /// move the win to us.
603
604 /// AutoLower config var (list). Windows to automatically lower when
605 /// pointed away from. \sa ScreenInfo.AutoLowerDefault
607
608 /// Icons config var. Manually specified icons for particular
609 /// windows.
611
612 /// NoHightlight config var (list). Windows to not highlight border
613 /// of when focused. \sa ScreenInfo.Highlight
615
616 /// NoStackMode config var (list). Windows to ignore
617 /// application-initiated restacking requests from.
618 /// \sa ScreenInfo.StackMode
620
621 /// NoTitleHighlight config var (list). Windows to not highlight in
622 /// titlevar when focused. \sa ScreenInfo.TitleHighlight
624
625 /// DontIconifyByUnmapping config var. Windows to iconify by making
626 /// an icon for, overriding IconifyByUnmapping setting.
628
629 /// IconManagerDontShow config var (list).
630 /// \sa ScreenInfo.IconManagerDontShow
632
633 /// IconManagerShow config var. Windows to show in icon manager even
634 /// if global IconManagerDontShow is set.
636
637 /// IconifyByUnmapping config var (list). \sa ScreenInfo.IconifyByUnmapping
639
640 /// StartIconified config var.
642
643 /// SqueezeTitle config var (list). \sa ScreenInfo.SqueezeTitle
645
646 /// DontSqueezeTitle config var (list). \sa ScreenInfo.SqueezeTitle
648
649 /// AlwaysSqueezeToGravity config var (list).
650 /// \sa ScreenInfo.AlwaysSqueezeToGravity
652
653 /// WindowRing config var (list). Windows to put in warp ring.
654 /// \sa ScreenInfo.WindowRingAll
656
657 /// WindowRingExclude config var. Windows to exclude from warp ring.
659
660 /// WarpCursor config var (list). Windows to warp to on deiconify.
661 /// \sa ScreenInfo.WarpCursor
663
664 /// DontSave config var. Windows to not save info in session manager.
666
667 /// WindowGeometries config var. Default geometries for windows.
669
670 /// IgnoreTransient config var. Windows that we should pretend
671 /// aren't transient even if they are.
673
674 /// OpaqueMove config var (list). Windows to move opaquely rather
675 /// than in outline. \sa ScreenInfo.DoOpaqueMove
677
678 /// NoOpaqueMove config var (list). Windows to not move opaquely.
679 /// \sa ScreenInfo.DoOpaqueMove
681
682 /// OpaqueResize config var (list). Windows to resize opaquely
683 /// rather than in outline. \sa ScreenInfo.DoOpaqueResize
685
686 /// NoOpaqueResize config var (list). Windows to not resize
687 /// opaquely. \sa ScreenInfo.DoOpaqueResize
689
690 /// IconMenuDontShow config var. Windows whose icons to not list in
691 /// TwmIcons menu.
693
694
695 /**
696 * \defgroup scr_gc_bits Various graphics contexts
697 * These are X Graphics Contexts, which are used for various sorts of
698 * drawing in X. Stuff that needs to draw lines, or write out text,
699 * all needs to use a GC. X-ref
700 * <https://www.x.org/releases/X11R7.7/doc/libX11/libX11/libX11.html#Graphics_Context_Functions>
701 * for upstream details.
702 * @{
703 */
704 GC NormalGC; ///< normal GC for everything
705 GC MenuGC; ///< GC for menus
706 GC DrawGC; ///< GC to draw lines for move and resize
707 GC BorderGC; ///< GC for drawing 3D borders
708 GC rootGC; ///< GC for internal pixmaps in image.c / image_bitmap.c
709 /// @}
710
711 Pixel Black; ///< Stash of "Black" X color for the screen
712 Pixel White; ///< Stash of "White" X color for the screen
713 unsigned long XORvalue; ///< XorValue config var, or default
714
715 /// \defgroup scr_font_bits Various font settings
716 /// Definitions of various fonts to use on the Screen.
717 /// @{
718 MyFont TitleBarFont; ///< TitleFont config var
719 MyFont MenuFont; ///< MenuFont config var
720 MyFont IconFont; ///< IconFont config var
721 MyFont SizeFont; ///< SizeFont config var
722 MyFont IconManagerFont; ///< IconManagerFont config var
723 MyFont DefaultFont; ///< Hardcoded fallback font
724 /// @}
725
726 /// Head of linked list of Screen's icon managers. The head is also
727 /// the default icon manager for the screen. \sa ScreenInfo.IconMgrs
729
730 /// Head of the list of IconRegion structs on the Screen. Built out
731 /// from %IconRegion config var.
733
734 /// Tail of the list of IconRegion structs on the Screen. Used as an
735 /// optimization in configuring the list on startup. \todo Is this
736 /// actually necessary? Does the order matter?
738
739 /// Pointer to head of list of window regions on screen. Built from
740 /// %WindowRegion config var.
742
743#ifdef WINBOX
744 /// Pointer to head of list of windowboxes on screen. Built from
745 /// %WindowBox config var.
747#endif
748
749 char *IconDirectory; ///< IconDirectory config var
750 char *PixmapDirectory; ///< PixmapDirectory config var
751
752 int SizeStringOffset; ///< X offset in size window for drawing
753 int SizeStringWidth; ///< Minimum width of size window
754
755 int BorderWidth; ///< BorderWidth config var
756 int BorderLeft; ///< BorderLeft config var
757 int BorderRight; ///< BorderRight config var
758 int BorderTop; ///< BorderTop config var
759 int BorderBottom; ///< BorderBottom config var
760 int ThreeDBorderWidth; ///< ThreeDBorderWidth config var
761 int IconBorderWidth; ///< IconBorderWidth config var
762
763 /// Height of the title bar window. Calculated from font height and
764 /// padding. \todo Maybe this should be in ScreenInfo.TBInfo above?
765 /// Same can be said for a number of following fields that are
766 /// titlebar related...
768
769 TwmWindow *Focus; ///< The twm window that has focus.
770 int EntryHeight; ///< Menu entry height. Calc'd from font height.
771
772 /// FramePadding config var. Distance between titlebar contents and
773 /// frame.
775 /// TitlePadding config var. Distance between items in titlebar.
777
778 /// ButtonIndent config var. Amount to shrink titlebar buttons.
780 int NumAutoRaises; ///< Number of autoraise windows on screen
781 int NumAutoLowers; ///< Number of autolower windows on screen
782 int TransientOnTop; ///< TransientOnTop config var
783
784 /// AutoRaise config flag. \sa ScreenInfo.AutoRaise
786
787 /// AutoLower config flag. \sa ScreenInfo.AutoLower
789
790 bool NoDefaults; ///< NoDefaults config var
791 UsePPoss UsePPosition; ///< UsePPosition config var
792 bool UseSunkTitlePixmap; ///< UseSunkTitlePixmap config var
793 bool AutoRelativeResize; ///< AutoRelativeResize config var
794
795 /// Whether focus is allowed to move. At one point this allegedly
796 /// meant something like "is the input focus on the root?". In
797 /// current use, however, it's used as a flag for whether to
798 /// auto-move focus to a new window; it's set to false in the
799 /// ClickToFocus case, as well as when f.focus is called on a window,
800 /// and then prevents Enter notifications from setting focus on new
801 /// windows.
802 /// \todo Rename to something better fitting.
804
805 bool WarpCursor; ///< WarpCursor config var. \sa ScreenInfo.WarpCursorL
806 bool ForceIcon; ///< ForceIcons config var
807 bool NoGrabServer; ///< NoGrabServer config var
808 bool NoRaiseMove; ///< NoRaiseOnMove config var
809 bool NoRaiseResize; ///< NoRaiseOnResize config var
810 bool NoRaiseDeicon; ///< NoRaiseOnDeiconify config var
811 bool RaiseOnWarp; ///< NoRaiseOnWarp config var (inverse)
812 bool DontMoveOff; ///< DontMoveOff config var
813 int MoveOffResistance; ///< MoveOffResistence config var
814 int MovePackResistance; ///< MovePackResistence config var
815
816 /// Whether we're animating [de]iconification zooms. From Zoom
817 /// config var. \sa ScreenInfo.ZoomCount
818 bool DoZoom;
819
820 bool TitleFocus; ///< NoTitleFocus config var (inverse)
821 bool IconManagerFocus; ///< NoIconManagerFocus config var (inverse)
822
823 /// NoIconTitle config var. \sa ScreenInfo.NoIconTitle
825
826 /// NoTitle config var. \sa ScreenInfo.NoTitle
828
829 bool DecorateTransients; ///< DecorateTransients config var
830
831 /// IconifyByUnmapping config var. \sa ScreenInfo.IconifyByUn
833
834 bool ShowIconManager; ///< ShowIconManager config var
835 bool ShowWorkspaceManager; ///< ShowWorkSpaceManager config var
836
837 /// IconManagerDontShow config var. \sa ScreenInfo.IconMgrNoShow
839
840 bool AutoOccupy; ///< AutoOccupy config var
841 bool AutoPriority; ///< AutoPriority config var
842 bool TransientHasOccupation; ///< TransientHasOccupation config var
843 bool DontPaintRootWindow; ///< DontPaintRootWindow config var
844 bool BackingStore; ///< BackingStore config var
845 bool SaveUnder; ///< NoSaveUnders config var (inverse)
846 RandPlac RandomPlacement; ///< RandomPlacement config var (1st arg)
847 short RandomDisplacementX; ///< RandomPlacement config var (2nd arg)
848 short RandomDisplacementY; ///< RandomPlacement config var (2nd arg)
849
850 /// Whether we're doing a window opaque move. This is set at runtime
851 /// for each particular move we start doing, acting as a "what are we
852 /// in the middle of" flag. It will get figured based on various
853 /// things, like TwmWindow.OpaqueMove and
854 /// ScreenInfo.OpaqueMoveThreshold.
856
857 /// OpaqueMove config var. \sa ScreenInfo.OpaqueMoveList
859
860 unsigned short OpaqueMoveThreshold; ///< OpaqueMoveThreshold config var
861
862 /// OpaqueResize config var. \sa ScreenInfo.OpaqueResizeList
864
865 /// Whether we're in the midst of an opaque resizing. Transiently
866 /// set at runtime based on things like TwmWindow.OpaqueResize and
867 /// ScreenInfo.OpaqueResizeThreshold. X-ref ScreenInfo.OpaqueMove
868 /// for its counterpart in the window-moving department.
870
871 unsigned short OpaqueResizeThreshold; ///< OpaqueResizeThreshold config var
872
873 /// NoHighlight config var (inverse). \sa ScreenInfo.NoHighlight
875
876 /// NoStackMode config var (inverse). \sa ScreenInfo.NoStackModeL
878
879 /// NoTitleHighlight config var (inverse). \sa ScreenInfo.NoTitleHighlight
881
882 /// MoveDelta config var. Number of pixels before f.move starts
884
885 /// Zoom config var. Number of animated steps in [de]iconifying.
887
888 bool SortIconMgr; ///< SortIconManager config var
889 bool Shadow; ///< NoMenuShadows config var (inverse)
890 bool InterpolateMenuColors; ///< InterpolateMenuColors config var
891 bool StayUpMenus; ///< StayUpMenus config var
892 bool WarpToDefaultMenuEntry; ///< WarpToDefaultMenuEntry config var
893 bool ClickToFocus; ///< ClickToFocus config var
894 bool SloppyFocus; ///< SloppyFocus config var
895 bool SaveWorkspaceFocus; ///< SaveWorkspaceFocus config var
896 bool NoIconManagers; ///< NoIconManagers config var
897 bool ClientBorderWidth; ///< ClientBorderWidth config var
898
899 /// SqueezeTitle and/or DontSqueezeTitle config vars.
900 /// \sa ScreenInfo.SqueezeTitleL \sa ScreenInfo.DontSqueezeTitleL
902
903 /// AlwaysSqueezeToGravity config var.
904 /// \sa ScreenInfo.AlwaysSqueezeToGravityL
906
907 /// Whether fonts have been loaded yet in the startup process
909
910 /// Some sort of attempt to determine whether this is the first
911 /// config file we've parsed for this screen (which is bogus, since
912 /// we only parse one file for each screen!), but also used in some
913 /// color getting for obscure reasons. This needs careful
914 /// consideration and auditing; it may be just bogus. X-ref work
915 /// vtwm did in adjusting its use in GetColor() to avoid all the
916 /// save/restore dances on calls around it, and the \#ifdef inside
917 /// GetColor(). \todo Evaulate to determine whether it should exist.
919
920 bool CaseSensitive; ///< NoCaseSensitive config var (inverse)
921 bool WarpUnmapped; ///< WarpUnmapped config var
922 bool WindowRingAll; ///< WindowRing config var. \sa ScreenInfo.WindowRingL
923 bool WarpRingAnyWhere; ///< WarpRingOnScreen config var (inverse)
924 bool ShortAllWindowsMenus; ///< ShortAllWindowsMenus config var
925 short OpenWindowTimeout; ///< OpenWindowTimeout config var
926 bool RaiseWhenAutoUnSqueeze; ///< RaiseWhenAutoUnSqueeze config var
927 bool RaiseOnClick; ///< RaiseOnClick config var
928 short RaiseOnClickButton; ///< RaiseOnClickButton config var
929 unsigned int IgnoreModifier; ///< IgnoreModifier config var
930 bool IgnoreCaseInMenuSelection; ///< IgnoreCaseInMenuSelection config var
931 bool NoWarpToMenuTitle; ///< NoWarpToMenuTitle config var
932 bool NoImagesInWorkSpaceManager; ///< NoImagesInWorkSpaceManager config var
933
934 /// DontToggleWorkspaceManagerState config var
936
937 /// Whether to show the welcome window. Related to the
938 /// DontShowWelcomeWindow config var or the \--nowelcome command-line
939 /// arg. \ingroup scr_maskwin
941
942 bool NameDecorations; ///< DontNameDecorations config var (inverse)
943
944 /// Whether to be strict about what encoding of window naming
945 /// properties (WM_NAME etc) we accept. From StrictWinNameEncoding
946 /// config var.
948
949 /// ForceFocus config var. Forcing focus-setting on windows.
950 /// \sa ScreenInfo.ForceFocusL
952 /// \copybrief ForceFocus \sa ScreenInfo.ForceFocus
954
955 FuncKey FuncKeyRoot; ///< Key bindings
956 FuncButton FuncButtonRoot; ///< Mouse click bindings
957
958#ifdef EWMH
959 /// Special-purpose window for WM_S<screennum> window selection. See
960 /// ICCCM sections 4.3, 2.8.
962
963 /// List of known client windows. Stashed in _NET_CLIENT_LIST
964 /// property.
965 long *ewmh_CLIENT_LIST;
966 int ewmh_CLIENT_LIST_size; ///< Allocated ScreenInfo.ewmh_CLIENT_LIST memory
967 int ewmh_CLIENT_LIST_used; ///< Used ScreenInfo.ewmh_CLIENT_LIST slots
968
969 /// List of EWMH struts. From _NET_WM_STRUT properties. EWMH config
970 /// for windows that reserve spaces at the sides of a screen (e.g.,
971 /// taskbars, panels, etc).
973
974 name_list *EWMHIgnore; ///< EWMHIgnore config var. Messages to ignore.
975#endif /* EWMH */
976
977 name_list *MWMIgnore; ///< Motif WM messages to ignore
978};
979
980
981
982/*
983 * A few global vars that talk about Screen stuff
984 */
985extern int NumScreens; ///< How many Screens are on our display
986extern ScreenInfo **ScreenList; ///< List of ScreenInfo structs for each Screen
987extern ScreenInfo *Scr; ///< The ScreenInfo struct for the current Screen
988
989
990#endif /* _CTWM_SCREEN_H */
static int PlaceX
Definition add_window.c:82
TitleJust
Definition ctwm.h:202
IRJust
Definition ctwm.h:212
UsePPoss
Definition ctwm.h:243
RandPlac
Definition ctwm.h:236
IRAlignement
Definition ctwm.h:189
name_list * BorderTileBackgroundL
Specialized border coloring.
Definition screen.h:408
ColorPair IconManagerC
Icon manager colors.
Definition screen.h:387
ColorPair MenuC
Menu colors.
Definition screen.h:376
short DarkShadowContrast
The contrast of the dark shadow.
Definition screen.h:452
ColorPair IconC
Icon colors.
Definition screen.h:383
name_list * IconBackgroundL
Specialized icon background coloring.
Definition screen.h:424
name_list * BorderTileForegroundL
Specialized border coloring.
Definition screen.h:405
ColorPair MenuTitleC
Menu title colors.
Definition screen.h:379
name_list * TitleForegroundL
Specialized titlebar foreground coloring.
Definition screen.h:412
ColorPair BorderColorC
Color of window borders.
Definition screen.h:393
name_list * IconBorderColorL
Specialized border colors for icons.
Definition screen.h:401
name_list * IconManagerFL
Specialized icon manager foreground coloring.
Definition screen.h:428
name_list * BorderColorL
Specialized border colors for windows.
Definition screen.h:397
ColorPair DefaultC
Default colors.
Definition screen.h:390
name_list * IconManagerBL
Specialized icon manager background coloring.
Definition screen.h:432
name_list * IconForegroundL
Specialized icon foreground coloring.
Definition screen.h:420
name_list * TitleBackgroundL
Specialized titlebar background coloring.
Definition screen.h:416
name_list * IconManagerHighlightL
Color to highlight focused windows in icon manager.
Definition screen.h:436
Pixel IconManagerHighlight
Icon manager highlight color.
Definition screen.h:446
Pixel IconBorderColor
Icon border color.
Definition screen.h:442
ColorPair TitleC
Titlebar colors.
Definition screen.h:373
ColorPair BorderTileC
Border tile colors.
Definition screen.h:369
short ClearShadowContrast
The contrast of the clear shadow.
Definition screen.h:449
Pixel MenuShadowColor
Menu shadow color.
Definition screen.h:439
Cursor MoveCursor
move cursor
Definition screen.h:498
Cursor MenuCursor
menu cursor
Definition screen.h:501
Cursor ButtonCursor
title bar button cursor
Definition screen.h:497
Cursor TitleCursor
title bar cursor
Definition screen.h:493
Cursor DestroyCursor
skull and cross bones, f.destroy
Definition screen.h:503
Cursor IconCursor
icon cursor
Definition screen.h:495
Cursor AlterCursor
cursor for alternate keymaps
Definition screen.h:504
Cursor IconMgrCursor
icon manager cursor
Definition screen.h:496
Cursor ResizeCursor
resize cursor
Definition screen.h:499
Cursor FrameCursor
frame cursor
Definition screen.h:494
Cursor WaitCursor
wait a while cursor
Definition screen.h:500
Cursor SelectCursor
dot cursor for f.move, etc. from menus
Definition screen.h:502
MyFont IconFont
IconFont config var.
Definition screen.h:720
MyFont MenuFont
MenuFont config var.
Definition screen.h:719
MyFont TitleBarFont
TitleFont config var.
Definition screen.h:718
MyFont DefaultFont
Hardcoded fallback font.
Definition screen.h:723
MyFont SizeFont
SizeFont config var.
Definition screen.h:721
MyFont IconManagerFont
IconManagerFont config var.
Definition screen.h:722
GC BorderGC
GC for drawing 3D borders.
Definition screen.h:707
GC NormalGC
normal GC for everything
Definition screen.h:704
GC DrawGC
GC to draw lines for move and resize.
Definition screen.h:706
GC MenuGC
GC for menus.
Definition screen.h:705
GC rootGC
GC for internal pixmaps in image.c / image_bitmap.c.
Definition screen.h:708
TitleJust IconJustification
How icon images/titles are aligned.
Definition screen.h:462
IcStyle IconifyStyle
How to animate window iconification, if any.
Definition screen.h:474
IRJust IconRegionJustification
How icons are laid out horizontally inside a region.
Definition screen.h:466
IRAlignement IconRegionAlignement
How icons are laid out vertically inside a region.
Definition screen.h:470
int MaxIconTitleWidth
Limit on icon title size. From MaxIconTitleWidth config var.
Definition screen.h:476
Image * WelcomeImage
Image to show on ScreenInfo.WindowMask.
Definition screen.h:255
GC WelcomeGC
GC for drawing ScreenInfo.WelcomeImage on ScreenInfo.WindowMask.
Definition screen.h:257
Window ShapeWindow
Utility window for animated icons.
Definition screen.h:253
Window WindowMask
Startup splash screen masking window if ScreenInfo.ShowWelcomeWindow.
Definition screen.h:251
bool ShowWelcomeWindow
Whether to show the welcome window.
Definition screen.h:940
Colormap WelcomeCmap
Colormap for ScreenInfo.WindowMask.
Definition screen.h:259
MenuRoot * Visible
f.menu TwmVisible
Definition screen.h:292
MenuRoot * Windows
f.menu TwmWindows
Definition screen.h:282
MenuRoot * Keys
f.menu TwmKeys
Definition screen.h:291
MenuRoot * MenuList
Head of the menu list.
Definition screen.h:280
MenuRoot * Workspaces
f.menu TwmWorkspaces
Definition screen.h:284
MenuRoot * AllIcons
f.menu TwmAllIcons
Definition screen.h:288
MenuRoot * Icons
f.menu TwmIcons
Definition screen.h:283
MenuRoot * LastMenu
Temp var used in creating the Screen's menus.
Definition screen.h:281
MenuRoot * AllWindows
f.menu TwmAllWindows
Definition screen.h:285
Window XineramaRoot
Root window holding our vscreens.
Definition screen.h:200
Window RealRoot
The actual X root window of the display.
Definition screen.h:207
Window Root
Root window for the current vscreen.
Definition screen.h:194
VirtualScreen * vScreenList
Linked list of per-VS info.
Definition screen.h:513
VirtualScreen * currentvs
Currently active VS.
Definition screen.h:514
int NumScreens
How many Screens are on our display.
Definition ctwm_main.c:89
ScreenInfo ** ScreenList
List of ScreenInfo structs for each Screen.
Definition ctwm_main.c:92
IcStyle
Type for iconification styles.
Definition screen.h:32
@ ICONIFY_NORMAL
Definition screen.h:33
@ ICONIFY_ZOOMOUT
Definition screen.h:36
@ ICONIFY_MOSAIC
Definition screen.h:34
@ ICONIFY_ZOOMIN
Definition screen.h:35
@ ICONIFY_FADE
Definition screen.h:37
@ ICONIFY_SWEEP
Definition screen.h:38
ScreenInfo * Scr
The ScreenInfo struct for the current Screen.
Definition ctwm_main.c:93
Definition image.h:9
Definition ctwm.h:127
The layout of our display.
Definition r_structs.h:45
Window info window.
Definition screen.h:229
unsigned int height
Current size.
Definition screen.h:234
int lines
Current number of lines.
Definition screen.h:232
bool mapped
Whether it's currently up.
Definition screen.h:231
unsigned int width
Current size.
Definition screen.h:233
Window win
Actual X window.
Definition screen.h:230
Various XStandardColormaps on the screen.
Definition screen.h:327
StdCmap * tail
list of maps
Definition screen.h:329
StdCmap * head
list of maps
Definition screen.h:328
int mruindex
index of mru in entry
Definition screen.h:331
StdCmap * mru
Most recently used in list.
Definition screen.h:330
Various titlebar buttons that will be put in the window decorations for the screen.
Definition screen.h:344
int width
width of single button & border
Definition screen.h:350
int rightoff
offset back from right edge
Definition screen.h:353
int border
button border
Definition screen.h:348
int nleft
numbers of buttons on left side
Definition screen.h:345
int leftx
start of left buttons
Definition screen.h:351
int pad
button-padding
Definition screen.h:349
TitleButton * head
start of list
Definition screen.h:347
int nright
numbers of buttons on right side
Definition screen.h:346
int titlex
start of title
Definition screen.h:352
int titlew
width of title part
Definition screen.h:354
Various colormaps used on the Screen.
Definition screen.h:307
Colormaps * cmaps
Current list of colormap windows.
Definition screen.h:308
int root_pushes
current push level to install root colormap windows
Definition screen.h:314
int maxCmaps
Maximum number of installed colormaps.
Definition screen.h:309
unsigned long first_req
seq # for first XInstallColormap() req in pass thru loading a colortable list
Definition screen.h:312
Colormaps * pushed_cmaps
saved colormaps to install when pushes drops to zero
Definition screen.h:316
Info and control for each X Screen we control.
Definition screen.h:96
name_list * NoOpaqueResizeList
NoOpaqueResize config var (list).
Definition screen.h:688
struct ScreenInfo::_InfoWindow InfoWindow
Window info window. "
bool BackingStore
BackingStore config var.
Definition screen.h:844
name_list * StartSqueezed
StartSqueezed config var.
Definition screen.h:525
bool DecorateTransients
DecorateTransients config var.
Definition screen.h:829
int TitlePadding
TitlePadding config var. Distance between items in titlebar.
Definition screen.h:776
bool NoRaiseMove
NoRaiseOnMove config var.
Definition screen.h:808
MouseButton DeIconifyFunction
DeIconifyFunction config var.
Definition screen.h:302
bool IconManagerDontShow
IconManagerDontShow config var.
Definition screen.h:838
bool use3Dmenus
UseThreeDMenus config var.
Definition screen.h:527
bool NoWarpToMenuTitle
NoWarpToMenuTitle config var.
Definition screen.h:931
name_list * AutoPopupL
AutoPopup config var (list).
Definition screen.h:576
TwmWindow * Focus
The twm window that has focus.
Definition screen.h:769
bool SloppyFocus
SloppyFocus config var.
Definition screen.h:894
name_list * IconMgrNoShow
IconManagerDontShow config var (list).
Definition screen.h:631
bool use3Dtitles
UseThreeDTitles config var.
Definition screen.h:528
name_list * DontSave
DontSave config var. Windows to not save info in session manager.
Definition screen.h:665
bool AutoFocusToTransients
AutoFocusToTransients config var.
Definition screen.h:556
bool BeNiceToColormap
BeNiceToColormap config var.
Definition screen.h:536
unsigned short OpaqueResizeThreshold
OpaqueResizeThreshold config var.
Definition screen.h:871
bool AutoRaiseIcons
AutoRaiseIcons config var.
Definition screen.h:555
bool NoIconManagers
NoIconManagers config var.
Definition screen.h:896
short IconManagerShadowDepth
IconManagerShadowDepth config var.
Definition screen.h:544
bool AutoOccupy
AutoOccupy config var.
Definition screen.h:840
int TransientOnTop
TransientOnTop config var.
Definition screen.h:782
bool NoGrabServer
NoGrabServer config var.
Definition screen.h:807
bool IgnoreCaseInMenuSelection
IgnoreCaseInMenuSelection config var.
Definition screen.h:930
bool ClickToFocus
ClickToFocus config var.
Definition screen.h:893
short MoveDelta
MoveDelta config var. Number of pixels before f.move starts.
Definition screen.h:883
int BorderTop
BorderTop config var.
Definition screen.h:758
unsigned long XORvalue
XorValue config var, or default.
Definition screen.h:713
bool use3Dborders
UseThreeDBorders config var.
Definition screen.h:530
int TitleHeight
Height of the title bar window.
Definition screen.h:767
short MenuShadowDepth
MenuShadowDepth config var.
Definition screen.h:543
bool DontWarpCursorInWMap
DontWarpCursorInWMap config var.
Definition screen.h:550
bool DontPaintRootWindow
DontPaintRootWindow config var.
Definition screen.h:843
int MaxWindowWidth
Largest window width to allow.
Definition screen.h:145
bool OpaqueResize
Whether we're in the midst of an opaque resizing.
Definition screen.h:869
int NumAutoRaises
Number of autoraise windows on screen.
Definition screen.h:780
struct IconRegion * LastRegion
Tail of the list of IconRegion structs on the Screen.
Definition screen.h:737
FuncKey FuncKeyRoot
Key bindings.
Definition screen.h:955
bool WindowRingAll
WindowRing config var.
Definition screen.h:922
bool ForceFocus
ForceFocus config var.
Definition screen.h:951
bool InterpolateMenuColors
InterpolateMenuColors config var.
Definition screen.h:890
short BorderShadowDepth
BorderShadowDepth config var.
Definition screen.h:540
name_list * AlwaysSqueezeToGravityL
AlwaysSqueezeToGravity config var (list).
Definition screen.h:651
bool NoRaiseDeicon
NoRaiseOnDeiconify config var.
Definition screen.h:810
Visual * d_visual
Copy of DefaultVisual(dpy, screen)
Definition screen.h:100
bool FocusRoot
Whether focus is allowed to move.
Definition screen.h:803
name_list * NoBorder
NoBorder config var. Windows without borders.
Definition screen.h:579
TwmWindow * Ring
One of the windows in the Screen's ring.
Definition screen.h:296
short RandomDisplacementY
RandomPlacement config var (2nd arg)
Definition screen.h:848
short TitleButtonShadowDepth
TitleButtonShadowDepth config var.
Definition screen.h:541
int MaxWindowHeight
Largest window height to allow.
Definition screen.h:146
WorkSpaceMgr workSpaceMgr
Info about the WorkSpaceManager (and Occupy window) for the screen.
Definition screen.h:508
name_list * WindowGeometries
WindowGeometries config var. Default geometries for windows.
Definition screen.h:668
int BorderBottom
BorderBottom config var.
Definition screen.h:759
int BorderRight
BorderRight config var.
Definition screen.h:757
short RandomDisplacementX
RandomPlacement config var (2nd arg)
Definition screen.h:847
struct IconRegion * FirstRegion
Head of the list of IconRegion structs on the Screen.
Definition screen.h:732
name_list * WarpCursorL
WarpCursor config var (list).
Definition screen.h:662
short WMgrVertButtonIndent
WMgrVertButtonIndent config var.
Definition screen.h:533
name_list * DontSqueezeTitleL
DontSqueezeTitle config var (list).
Definition screen.h:647
int SizeStringOffset
X offset in size window for drawing.
Definition screen.h:752
bool use3Diconmanagers
UseThreeDIconManagers config var.
Definition screen.h:529
short WMgrButtonShadowDepth
WMgrButtonShadowDepth config var.
Definition screen.h:535
name_list * IconMgrShow
IconManagerShow config var.
Definition screen.h:635
int ButtonIndent
ButtonIndent config var. Amount to shrink titlebar buttons.
Definition screen.h:779
bool FirstTime
Some sort of attempt to determine whether this is the first config file we've parsed for this screen ...
Definition screen.h:918
bool SqueezeTitle
SqueezeTitle and/or DontSqueezeTitle config vars.
Definition screen.h:901
name_list * NoTitleHighlight
NoTitleHighlight config var (list).
Definition screen.h:623
bool DoZoom
Whether we're animating [de]iconification zooms.
Definition screen.h:818
name_list * DontIconify
DontIconifyByUnmapping config var.
Definition screen.h:627
Colormaps RootColormaps
The colormaps of the root window.
Definition screen.h:153
MouseButton WindowFunction
WindowFunction config var.
Definition screen.h:300
bool WarpCursor
WarpCursor config var.
Definition screen.h:805
Image * UnknownImage
Fallback icon pixmap.
Definition screen.h:264
IconMgr * iconmgr
Head of linked list of Screen's icon managers.
Definition screen.h:728
name_list * IconifyByUn
IconifyByUnmapping config var (list).
Definition screen.h:638
bool AutoLowerDefault
AutoLower config flag.
Definition screen.h:788
bool workSpaceManagerActive
Whether the WSM is being shown.
Definition screen.h:509
name_list * NoIconTitle
NoIconTitle config var (list).
Definition screen.h:583
int NumAutoLowers
Number of autolower windows on screen.
Definition screen.h:781
int IconBorderWidth
IconBorderWidth config var.
Definition screen.h:761
RLayout * Layout
Layout of our roow window and monitor(s).
Definition screen.h:211
TitlebarPixmaps tbpm
Memoized titlebar pixmaps.
Definition screen.h:263
bool ForceIcon
ForceIcons config var.
Definition screen.h:806
short OpenWindowTimeout
OpenWindowTimeout config var.
Definition screen.h:925
name_list * ForceFocusL
ForceFocus config var.
Definition screen.h:953
bool NoDefaults
NoDefaults config var.
Definition screen.h:790
bool NoImagesInWorkSpaceManager
NoImagesInWorkSpaceManager config var.
Definition screen.h:932
int BorderLeft
BorderLeft config var.
Definition screen.h:756
Pixel White
Stash of "White" X color for the screen.
Definition screen.h:712
bool AutoRelativeResize
AutoRelativeResize config var.
Definition screen.h:793
int EntryHeight
Menu entry height. Calc'd from font height.
Definition screen.h:770
int ThreeDBorderWidth
ThreeDBorderWidth config var.
Definition screen.h:760
int MovePackResistance
MovePackResistence config var.
Definition screen.h:814
name_list * SqueezeTitleL
SqueezeTitle config var (list).
Definition screen.h:644
name_list * IconMenuDontShow
IconMenuDontShow config var.
Definition screen.h:692
name_list * OccupyAll
OccupyAll config var.
Definition screen.h:521
RandPlac RandomPlacement
RandomPlacement config var (1st arg)
Definition screen.h:846
MouseButton IconifyFunction
IconifyFunction config var.
Definition screen.h:303
name_list * IconNames
Icons config var.
Definition screen.h:610
int FramePadding
FramePadding config var.
Definition screen.h:774
bool WarpUnmapped
WarpUnmapped config var.
Definition screen.h:921
int rootx
The x coordinate of the root window relative to RealRoot.
Definition screen.h:109
int rooty
The y coordinate of the root window relative to RealRoot.
Definition screen.h:112
name_list * OpaqueMoveList
OpaqueMove config var (list).
Definition screen.h:676
name_list * AutoRaise
AutoRaise config var (list).
Definition screen.h:596
bool ReallyMoveInWorkspaceManager
ReallyMoveInWorkspaceManager config var.
Definition screen.h:546
int SizeStringWidth
Minimum width of size window.
Definition screen.h:753
bool WarpToDefaultMenuEntry
WarpToDefaultMenuEntry config var.
Definition screen.h:892
bool RaiseOnClick
RaiseOnClick config var.
Definition screen.h:927
name_list * NoStackModeL
NoStackMode config var (list).
Definition screen.h:619
UsePPoss UsePPosition
UsePPosition config var.
Definition screen.h:791
name_list * ImageCache
Cached pixmaps used in image loading.
Definition screen.h:262
name_list * NoOpaqueMoveList
NoOpaqueMove config var (list).
Definition screen.h:680
name_list * AutoLower
AutoLower config var (list).
Definition screen.h:606
bool Shadow
NoMenuShadows config var (inverse)
Definition screen.h:889
Pixel Black
Stash of "Black" X color for the screen.
Definition screen.h:711
char * IconDirectory
IconDirectory config var.
Definition screen.h:749
name_list * IgnoreTransientL
IgnoreTransient config var.
Definition screen.h:672
char * PixmapDirectory
PixmapDirectory config var.
Definition screen.h:750
bool TransientHasOccupation
TransientHasOccupation config var.
Definition screen.h:842
bool UseSunkTitlePixmap
UseSunkTitlePixmap config var.
Definition screen.h:792
bool Highlight
NoHighlight config var (inverse).
Definition screen.h:874
bool ShrinkIconTitles
ShrinkIconTitles config var.
Definition screen.h:554
bool DontMoveOff
DontMoveOff config var.
Definition screen.h:812
short ZoomCount
Zoom config var. Number of animated steps in [de]iconifying.
Definition screen.h:886
struct ScreenInfo::_TBInfo TBInfo
Various titlebar buttons that will be put in the window decorations for the screen....
int mm_h
Physical mm height of the root.
Definition screen.h:118
int rootw
Copy of DisplayWidth(dpy, screen)
Definition screen.h:114
int d_depth
Copy of DefaultDepth(dpy, screen)
Definition screen.h:99
name_list * WindowRingL
WindowRing config var (list).
Definition screen.h:655
bool ShowWinWhenMovingInWmgr
AlwaysShowWindowWhenMovingFromWorkspaceManager config var.
Definition screen.h:548
bool StackMode
NoStackMode config var (inverse).
Definition screen.h:877
bool NoIconTitlebar
NoIconTitle config var.
Definition screen.h:824
bool StrictWinNameEncoding
Whether to be strict about what encoding of window naming properties (WM_NAME etc) we accept.
Definition screen.h:947
int screen
Which screen (i.e., the x after the dot in ":0.x")
Definition screen.h:97
unsigned int pullW
Dimensions of ScreenInfo.pullPm.
Definition screen.h:267
name_list * IconMgrs
From IconManagers config var.
Definition screen.h:572
bool ShowIconManager
ShowIconManager config var.
Definition screen.h:834
bool use3Dwmap
UseThreeDWMap config var.
Definition screen.h:531
struct OtpWinList * bottomOwl
Pointer to the start of the OTP winlists for the screen.
Definition screen.h:566
name_list * NoTitle
NoTitle config var (list).
Definition screen.h:587
int BorderWidth
BorderWidth config var.
Definition screen.h:755
Window SizeWindow
Dimensions/coordinates window.
Definition screen.h:222
bool AlwaysSqueezeToGravity
AlwaysSqueezeToGravity config var.
Definition screen.h:905
bool DoOpaqueMove
OpaqueMove config var.
Definition screen.h:858
TwmWindow * RingLeader
Current window in ring.
Definition screen.h:297
int rooth
Copy of DisplayHeight(dpy, screen)
Definition screen.h:115
name_list * StartIconified
StartIconified config var.
Definition screen.h:641
TitleJust TitleJustification
How title text is aligned in window titlebars.
Definition screen.h:488
unsigned int IgnoreModifier
IgnoreModifier config var.
Definition screen.h:929
struct WindowRegion * FirstWindowRegion
Pointer to head of list of window regions on screen.
Definition screen.h:741
bool HaveFonts
Whether fonts have been loaded yet in the startup process.
Definition screen.h:908
bool BorderCursors
BorderResizeCursors config var.
Definition screen.h:537
bool RaiseWhenAutoUnSqueeze
RaiseWhenAutoUnSqueeze config var.
Definition screen.h:926
bool ShowWorkspaceManager
ShowWorkSpaceManager config var.
Definition screen.h:835
bool SaveWorkspaceFocus
SaveWorkspaceFocus config var.
Definition screen.h:895
bool NameDecorations
DontNameDecorations config var (inverse)
Definition screen.h:942
bool DontToggleWorkspaceManagerState
DontToggleWorkspaceManagerState config var.
Definition screen.h:935
bool AutoPopup
AutoPopup config flag.
Definition screen.h:539
Pixmap pullPm
In-menu submenu item marker icon.
Definition screen.h:266
name_list * MWMIgnore
Motif WM messages to ignore.
Definition screen.h:977
name_list * AutoSqueeze
AutoSqueeze config var.
Definition screen.h:524
RLayout * BorderedLayout
Layout taking into account Border{Top,Left,Right,Bottom} config params.
Definition screen.h:214
char * HighlightPixmapName
Name of titlebar focus hilite image if any.
Definition screen.h:275
int Monochrome
Is the display monochrome?
Definition screen.h:101
name_list * WindowRingExcludeL
WindowRingExclude config var. Windows to exclude from warp ring.
Definition screen.h:658
bool ShortAllWindowsMenus
ShortAllWindowsMenus config var.
Definition screen.h:924
unsigned int pullH
Dimensions of ScreenInfo.pullPm.
Definition screen.h:268
struct ScreenInfo::_cmapInfo cmapInfo
Various colormaps used on the Screen. "
short XMoveGrid
XMoveGrid config var.
Definition screen.h:551
name_list * WarpOnDeIconify
WarpOnDeIconify config var.
Definition screen.h:602
name_list * UnmapByMovingFarAway
UnmapByMovingFarAway config var.
Definition screen.h:522
struct OtpPreferences * OTP
Stash of various OTP info about the windows on the screen.
Definition screen.h:562
bool AutoPriority
AutoPriority config var.
Definition screen.h:841
bool SaveUnder
NoSaveUnders config var (inverse)
Definition screen.h:845
bool PackNewWindows
PackNewWindows config var.
Definition screen.h:557
bool RaiseOnWarp
NoRaiseOnWarp config var (inverse)
Definition screen.h:811
unsigned short OpaqueMoveThreshold
OpaqueMoveThreshold config var.
Definition screen.h:860
int MoveOffResistance
MoveOffResistence config var.
Definition screen.h:813
short WMgrHorizButtonIndent
WMgrHorizButtonIndent config var.
Definition screen.h:534
short RaiseOnClickButton
RaiseOnClickButton config var.
Definition screen.h:928
bool ClientBorderWidth
ClientBorderWidth config var.
Definition screen.h:897
bool NoTitlebar
NoTitle config var.
Definition screen.h:827
name_list * OpaqueResizeList
OpaqueResize config var (list).
Definition screen.h:684
bool WarpRingAnyWhere
WarpRingOnScreen config var (inverse)
Definition screen.h:923
struct OtpPreferences * IconOTP
Stash of OTP info about icons on the screen.
Definition screen.h:564
struct ScreenInfo::_StdCmapInfo StdCmapInfo
Various XStandardColormaps on the screen. "
bool TitleFocus
NoTitleFocus config var (inverse)
Definition screen.h:820
bool SortIconMgr
SortIconManager config var.
Definition screen.h:888
short TitleShadowDepth
TitleShadowDepth config var.
Definition screen.h:542
TwmWindow * FirstWindow
The head of the screen's twm window list.
Definition screen.h:151
bool OpaqueMove
Whether we're doing a window opaque move.
Definition screen.h:855
MouseButton ChangeWorkspaceFunction
ChangeWorkspaceFunction config var.
Definition screen.h:301
bool TitleHighlight
NoTitleHighlight config var (inverse).
Definition screen.h:880
name_list * DontSetInactive
DontSetInactive config var.
Definition screen.h:523
short YMoveGrid
YMoveGrid config var.
Definition screen.h:552
Pixmap siconifyPm
In-icon manager iconifed marker pixmap.
Definition screen.h:265
bool CaseSensitive
NoCaseSensitive config var (inverse)
Definition screen.h:920
MouseButton DefaultFunction
DefaultFunction config var.
Definition screen.h:299
bool ReverseCurrentWorkspace
ReverseCurrentWorkspace config var.
Definition screen.h:549
bool IconManagerFocus
NoIconManagerFocus config var (inverse)
Definition screen.h:821
bool NoRaiseResize
NoRaiseOnResize config var.
Definition screen.h:809
bool CenterFeedbackWindow
CenterFeedbackWindow config var.
Definition screen.h:553
FuncButton FuncButtonRoot
Mouse click bindings.
Definition screen.h:956
bool DoOpaqueResize
OpaqueResize config var.
Definition screen.h:863
bool SunkFocusWindowTitle
SunkFocusWindowTitle config var.
Definition screen.h:532
name_list * MakeTitle
MakeTitle config var.
Definition screen.h:591
bool AutoRaiseDefault
AutoRaise config flag.
Definition screen.h:785
bool StayUpMenus
StayUpMenus config var.
Definition screen.h:891
bool IconifyByUnmapping
IconifyByUnmapping config var.
Definition screen.h:832
name_list * NoHighlight
NoHightlight config var (list).
Definition screen.h:614
int mm_w
Physical mm width of the root.
Definition screen.h:117
Information about some XStandardColormap we're using.
Definition screen.h:46
int nmaps
Definition screen.h:49
Atom atom
Definition screen.h:48
struct StdCmap * next
Definition screen.h:47
XStandardColormap * maps
Definition screen.h:50
Stash for memoizing various pixmaps used in titlebars.
Definition screen.h:69
Pixmap xlogo
TBPM_XLOGO
Definition screen.h:70
Pixmap question
TBPM_QUESTION
Definition screen.h:72
Pixmap resize
TBPM_RESIZE
Definition screen.h:71
Pixmap menu
TBPM_MENU
Definition screen.h:73
Info and control for every X Window we take over.
struct WindowBox WindowBox
Definition types.h:44