hw/xwin: Default to -noresize when -fullscreen is used
Currently, just using -fullscreen fails in winValidateArgs(), as the default -resize=randr is incompatible with -fullscreen. Set the default resize mode to -noresize if -fullscreen is used. Also, rename enum value notAllowed -> resizeNotAllowed for clarity. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk> Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
This commit is contained in:
parent
42f7cd5d92
commit
e1b983b55e
|
@ -690,6 +690,20 @@ OsVendorInit(void)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Work out what the default resize setting should be, and apply it if it
|
||||
was not explicitly specified */
|
||||
{
|
||||
int j;
|
||||
for (j = 0; j < g_iNumScreens; j++) {
|
||||
if (g_ScreenInfo[j].iResizeMode == resizeDefault) {
|
||||
if (g_ScreenInfo[j].fFullScreen)
|
||||
g_ScreenInfo[j].iResizeMode = resizeNotAllowed;
|
||||
else
|
||||
g_ScreenInfo[j].iResizeMode = resizeWithRandr;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -124,7 +124,8 @@ Alternative name for \fB\-resize=scrollbars\fP.
|
|||
.SH OPTIONS CONTROLLING RESIZE BEHAVIOUR
|
||||
.TP 8
|
||||
.B \-resize[=none|scrollbars|randr]
|
||||
Select the resize mode of an X screen. The default is randr.
|
||||
Select the resize mode of an X screen.
|
||||
The default is \fBnone\fP if \fB\-fullscreen\fP is used, \fBrandr\fP otherwise.
|
||||
|
||||
.RS
|
||||
.IP \fB\-resize=none\fP 8
|
||||
|
|
|
@ -335,7 +335,8 @@ typedef struct {
|
|||
* Resize modes
|
||||
*/
|
||||
typedef enum {
|
||||
notAllowed,
|
||||
resizeDefault = -1,
|
||||
resizeNotAllowed,
|
||||
resizeWithScrollbars,
|
||||
resizeWithRandr
|
||||
} winResizeMode;
|
||||
|
|
|
@ -171,7 +171,7 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
|
|||
fForceShowWindow = TRUE;
|
||||
}
|
||||
dwWindowStyle |= WS_CAPTION;
|
||||
if (pScreenInfo->iResizeMode != notAllowed)
|
||||
if (pScreenInfo->iResizeMode != resizeNotAllowed)
|
||||
dwWindowStyle |= WS_THICKFRAME | WS_MAXIMIZEBOX;
|
||||
}
|
||||
else
|
||||
|
@ -226,7 +226,7 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
|
|||
)
|
||||
&& (pScreenInfo->iResizeMode == resizeWithScrollbars)) {
|
||||
/* We cannot have scrollbars if we do not have a window border */
|
||||
pScreenInfo->iResizeMode = notAllowed;
|
||||
pScreenInfo->iResizeMode = resizeNotAllowed;
|
||||
}
|
||||
|
||||
/* Did the user specify a height and width? */
|
||||
|
@ -253,7 +253,7 @@ winCreateBoundingWindowWindowed(ScreenPtr pScreen)
|
|||
#endif
|
||||
|
||||
/* Are we resizable */
|
||||
if (pScreenInfo->iResizeMode != notAllowed) {
|
||||
if (pScreenInfo->iResizeMode != resizeNotAllowed) {
|
||||
#if CYGDEBUG
|
||||
winDebug
|
||||
("winCreateBoundingWindowWindowed - Window is resizable\n");
|
||||
|
|
|
@ -140,7 +140,7 @@ winInitializeScreenDefaults(void)
|
|||
#endif
|
||||
defaultScreenInfo.fMultipleMonitors = FALSE;
|
||||
defaultScreenInfo.fLessPointer = FALSE;
|
||||
defaultScreenInfo.iResizeMode = resizeWithRandr;
|
||||
defaultScreenInfo.iResizeMode = resizeDefault;
|
||||
defaultScreenInfo.fNoTrayIcon = FALSE;
|
||||
defaultScreenInfo.iE3BTimeout = WIN_E3B_DEFAULT;
|
||||
defaultScreenInfo.fUseWinKillKey = WIN_DEFAULT_WIN_KILL;
|
||||
|
@ -662,7 +662,7 @@ ddxProcessArgument(int argc, char *argv[], int i)
|
|||
if (IS_OPTION("-resize"))
|
||||
mode = resizeWithRandr;
|
||||
else if (IS_OPTION("-noresize"))
|
||||
mode = notAllowed;
|
||||
mode = resizeNotAllowed;
|
||||
else if (strncmp(argv[i], "-resize=", strlen("-resize=")) == 0) {
|
||||
char *option = argv[i] + strlen("-resize=");
|
||||
|
||||
|
@ -671,7 +671,7 @@ ddxProcessArgument(int argc, char *argv[], int i)
|
|||
else if (strcmp(option, "scrollbars") == 0)
|
||||
mode = resizeWithScrollbars;
|
||||
else if (strcmp(option, "none") == 0)
|
||||
mode = notAllowed;
|
||||
mode = resizeNotAllowed;
|
||||
else {
|
||||
ErrorF("ddxProcessArgument - resize - Invalid resize mode %s\n",
|
||||
option);
|
||||
|
|
|
@ -153,7 +153,7 @@ winValidateArgs(void)
|
|||
|
||||
/* Check for fullscreen and any non-fullscreen parameters */
|
||||
if (g_ScreenInfo[i].fFullScreen
|
||||
&& ((g_ScreenInfo[i].iResizeMode != notAllowed)
|
||||
&& ((g_ScreenInfo[i].iResizeMode != resizeNotAllowed)
|
||||
|| !g_ScreenInfo[i].fDecoration
|
||||
|| g_ScreenInfo[i].fLessPointer)) {
|
||||
ErrorF("winValidateArgs - -fullscreen is invalid with "
|
||||
|
|
|
@ -316,7 +316,7 @@ winWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
#endif
|
||||
|
||||
/* Break if we do not allow resizing */
|
||||
if ((s_pScreenInfo->iResizeMode == notAllowed)
|
||||
if ((s_pScreenInfo->iResizeMode == resizeNotAllowed)
|
||||
|| !s_pScreenInfo->fDecoration
|
||||
#ifdef XWIN_MULTIWINDOWEXTWM
|
||||
|| s_pScreenInfo->fMWExtWM
|
||||
|
|
Loading…
Reference in New Issue
Block a user