Add basic Xinerama support via new lib/DtXinerama
This adds a basic library and support to dtsession and dtlogin to support Xinerama/Twinview, where multimple monitors are used to make up an X11 screen. The main goal here is to draw dialogs and such centered on a monitor, rather than spread out over multiple monitors. Might need to add sorting - as on my test system, what I would consider monitor 0, appears to actually be monitor 1. So a sort might need to be added to sort the screens according to increasing x and y offsets so it make sense to a user. Also, this library is built statically and not documented. Maybe it could be 'filled' out and refactored/redesigned in the futre if need be and suppoerted. It is enabled via a define, CDE_USEXINERAMA in site.def. It's a very simple lib, so I do not expect any issues with the BSD's - it should build and work fine, assuming your X server has the XINERAMA extension, which I think pretty much all of them do at this point.
This commit is contained in:
@@ -61,6 +61,10 @@
|
||||
#include <Tt/tt_c.h>
|
||||
#include "SmError.h"
|
||||
|
||||
#ifdef USE_XINERAMA
|
||||
# include <DtXinerama.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* #define statements
|
||||
*/
|
||||
@@ -202,6 +206,9 @@ typedef struct
|
||||
Boolean mergeXdefaults;
|
||||
int numSessionsBackedup;
|
||||
char *ignoreEnvironment;
|
||||
#if defined(USE_XINERAMA)
|
||||
int xineramaPreferredScreen; /* prefered xinerama screen */
|
||||
#endif
|
||||
} SessionResources, *SessionResourcesPtr;
|
||||
|
||||
/*
|
||||
@@ -337,6 +344,10 @@ typedef struct
|
||||
Boolean loggingOut; /* Is True if the current save is for
|
||||
a logout; False otherwise. */
|
||||
|
||||
#ifdef USE_XINERAMA /* JET - Xinerama. Schwiing! */
|
||||
DtXineramaInfoPtr_t DtXineramaInfo;
|
||||
#endif
|
||||
|
||||
Boolean ExitComplete; /* JET - don't exit before we are ready... */
|
||||
|
||||
} GeneralData;
|
||||
|
||||
Reference in New Issue
Block a user