if (topWnd && !IsTaskBar) /* Second test is so we are not touching the Taskbar */
{
- if ((topWnd->style & WS_THICKFRAME) == 0)
+ if ((topWnd->style & WS_THICKFRAME) == 0 || !g_bWindowSnapEnabled)
{
return 0;
}
UserSystemParametersInfo(SPI_GETWORKAREA, 0, &snapRect, 0);
/* if this is the taskbar, then we want to just exit */
- if (IsTaskBar)
+ if (IsTaskBar || !g_bWindowSnapEnabled)
{
break;
}
SPIVALUES gspv;
BOOL gbSpiInitialized = FALSE;
BOOL g_PaintDesktopVersion = FALSE;
+BOOL g_bWindowSnapEnabled = TRUE;
// HACK! We initialize SPI before we have a proper surface to get this from.
#define dpi 96
static const WCHAR* KEY_SCRREAD = L"Control Panel\\Accessibility\\Blind Access";
static const WCHAR* VAL_ON = L"On";
-
-
/** Loading the settings ******************************************************/
static
}
+/* Is Window Snap enabled? */
+static BOOL IntIsWindowSnapEnabled(VOID)
+{
+ WCHAR szValue[2];
+ if (RegReadUserSetting(L"Control Panel\\Desktop", L"WindowArrangementActive",
+ REG_SZ, szValue, sizeof(szValue)))
+ {
+ szValue[RTL_NUMBER_OF(szValue) - 1] = UNICODE_NULL; /* Avoid buffer overrun */
+ return (_wtoi(szValue) != 0);
+ }
+ return TRUE;
+}
+
static
VOID
SpiUpdatePerUserSystemParameters(VOID)
if (SPITESTPREF(UPM_LISTBOXSMOOTHSCROLLING)) gpsi->PUSIFlags |= PUSIF_LISTBOXSMOOTHSCROLLING;
}
gdwLanguageToggleKey = UserGetLanguageToggle();
+
+ g_bWindowSnapEnabled = IntIsWindowSnapEnabled();
}
BOOL
extern ATOM AtomWndObj; /* WNDOBJ list */
extern ATOM AtomLayer;
extern ATOM AtomFlashWndState;
+extern BOOL g_bWindowSnapEnabled;
#define HAS_DLGFRAME(Style, ExStyle) \
(((ExStyle) & WS_EX_DLGMODALFRAME) || \