summaryrefslogtreecommitdiff
path: root/hw/xwin/winprocarg.c
diff options
context:
space:
mode:
authorAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2004-10-28 14:23:08 +0000
committerAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2004-10-28 14:23:08 +0000
commit9d4823adc8319a20d2ace3d0944ca32e300f6eeb (patch)
tree66a10f48e62f2e8281af56877105d97f1c34f6d9 /hw/xwin/winprocarg.c
parentdb65fce04ddec1dac0d92ad3abc95ab4996bd206 (diff)
Import recent changes from CYGWIN branch
Diffstat (limited to 'hw/xwin/winprocarg.c')
-rwxr-xr-xhw/xwin/winprocarg.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/hw/xwin/winprocarg.c b/hw/xwin/winprocarg.c
index 0032a9152..dd61b94b5 100755
--- a/hw/xwin/winprocarg.c
+++ b/hw/xwin/winprocarg.c
@@ -128,6 +128,9 @@ winInitializeDefaultScreens (void)
#ifdef XWIN_MULTIWINDOW
g_ScreenInfo[i].fMultiWindow = FALSE;
#endif
+#if defined(XWIN_MULTIWINDOW) || defined(XWIN_MULTIWINDOWEXTWM)
+ g_ScreenInfo[i].fMultiMonitorOverride = FALSE;
+#endif
g_ScreenInfo[i].fMultipleMonitors = FALSE;
g_ScreenInfo[i].fLessPointer = FALSE;
g_ScreenInfo[i].fScrollbars = FALSE;
@@ -399,12 +402,16 @@ ddxProcessArgument (int argc, char *argv[], int i)
/* Parameter is for all screens */
for (j = 0; j < MAXSCREENS; j++)
{
+ if (!g_ScreenInfo[j].fMultiMonitorOverride)
+ g_ScreenInfo[j].fMultipleMonitors = FALSE;
g_ScreenInfo[j].fFullScreen = TRUE;
}
}
else
{
/* Parameter is for a single screen */
+ if (!g_ScreenInfo[g_iLastScreen].fMultiMonitorOverride)
+ g_ScreenInfo[g_iLastScreen].fMultipleMonitors = FALSE;
g_ScreenInfo[g_iLastScreen].fFullScreen = TRUE;
}
@@ -451,12 +458,16 @@ ddxProcessArgument (int argc, char *argv[], int i)
/* Parameter is for all screens */
for (j = 0; j < MAXSCREENS; j++)
{
+ if (!g_ScreenInfo[j].fMultiMonitorOverride)
+ g_ScreenInfo[j].fMultipleMonitors = FALSE;
g_ScreenInfo[j].fDecoration = FALSE;
}
}
else
{
/* Parameter is for a single screen */
+ if (!g_ScreenInfo[g_iLastScreen].fMultiMonitorOverride)
+ g_ScreenInfo[g_iLastScreen].fMultipleMonitors = FALSE;
g_ScreenInfo[g_iLastScreen].fDecoration = FALSE;
}
@@ -478,12 +489,16 @@ ddxProcessArgument (int argc, char *argv[], int i)
/* Parameter is for all screens */
for (j = 0; j < MAXSCREENS; j++)
{
+ if (!g_ScreenInfo[j].fMultiMonitorOverride)
+ g_ScreenInfo[j].fMultipleMonitors = TRUE;
g_ScreenInfo[j].fMWExtWM = TRUE;
}
}
else
{
/* Parameter is for a single screen */
+ if (!g_ScreenInfo[g_iLastScreen].fMultiMonitorOverride)
+ g_ScreenInfo[g_iLastScreen].fMultipleMonitors = TRUE;
g_ScreenInfo[g_iLastScreen].fMWExtWM = TRUE;
}
@@ -505,12 +520,16 @@ ddxProcessArgument (int argc, char *argv[], int i)
/* Parameter is for all screens */
for (j = 0; j < MAXSCREENS; j++)
{
+ if (!g_ScreenInfo[j].fMultiMonitorOverride)
+ g_ScreenInfo[j].fMultipleMonitors = FALSE;
g_ScreenInfo[j].fRootless = TRUE;
}
}
else
{
/* Parameter is for a single screen */
+ if (!g_ScreenInfo[g_iLastScreen].fMultiMonitorOverride)
+ g_ScreenInfo[g_iLastScreen].fMultipleMonitors = FALSE;
g_ScreenInfo[g_iLastScreen].fRootless = TRUE;
}
@@ -532,12 +551,16 @@ ddxProcessArgument (int argc, char *argv[], int i)
/* Parameter is for all screens */
for (j = 0; j < MAXSCREENS; j++)
{
+ if (!g_ScreenInfo[j].fMultiMonitorOverride)
+ g_ScreenInfo[j].fMultipleMonitors = TRUE;
g_ScreenInfo[j].fMultiWindow = TRUE;
}
}
else
{
/* Parameter is for a single screen */
+ if (!g_ScreenInfo[g_iLastScreen].fMultiMonitorOverride)
+ g_ScreenInfo[g_iLastScreen].fMultipleMonitors = TRUE;
g_ScreenInfo[g_iLastScreen].fMultiWindow = TRUE;
}
@@ -560,12 +583,14 @@ ddxProcessArgument (int argc, char *argv[], int i)
/* Parameter is for all screens */
for (j = 0; j < MAXSCREENS; j++)
{
+ g_ScreenInfo[j].fMultiMonitorOverride = TRUE;
g_ScreenInfo[j].fMultipleMonitors = TRUE;
}
}
else
{
/* Parameter is for a single screen */
+ g_ScreenInfo[g_iLastScreen].fMultiMonitorOverride = TRUE;
g_ScreenInfo[g_iLastScreen].fMultipleMonitors = TRUE;
}
@@ -574,6 +599,36 @@ ddxProcessArgument (int argc, char *argv[], int i)
}
/*
+ * Look for the '-nomultiplemonitors' argument
+ */
+ if (IS_OPTION ("-nomultiplemonitors")
+ || IS_OPTION ("-nomultimonitors"))
+ {
+ /* Is this parameter attached to a screen or is it global? */
+ if (-1 == g_iLastScreen)
+ {
+ int j;
+
+ /* Parameter is for all screens */
+ for (j = 0; j < MAXSCREENS; j++)
+ {
+ g_ScreenInfo[j].fMultiMonitorOverride = TRUE;
+ g_ScreenInfo[j].fMultipleMonitors = FALSE;
+ }
+ }
+ else
+ {
+ /* Parameter is for a single screen */
+ g_ScreenInfo[g_iLastScreen].fMultiMonitorOverride = TRUE;
+ g_ScreenInfo[g_iLastScreen].fMultipleMonitors = FALSE;
+ }
+
+ /* Indicate that we have processed this argument */
+ return 1;
+ }
+
+
+ /*
* Look for the '-scrollbars' argument
*/
if (IS_OPTION ("-scrollbars"))