mirror of
https://github.com/valinet/ExplorerPatcher.git
synced 2024-11-13 18:50:46 +01:00
Fixed #629 (Windows 10 language switcher displays correctly when taskbar is not located at the bottom of the screen)
This commit is contained in:
parent
a64a96e372
commit
32cd66dc51
@ -15,6 +15,11 @@ Tested on OS build 22000.376.
|
||||
|
||||
* The option to toggle taskbar auto hide when double clicking the taskbar now works with the Windows 11 taskbar as well
|
||||
* Performing a memory leak dump now displays GDI, peak GDI, USER and peak USER object counts as well
|
||||
* The language switcher list displays only the options that work (previously, it showed some cryptic internal implementations, like "LOGONUI", "UAC", "SETTINGPAGE" and "OOBE"). Thus, the list of language switchers offers the following choices:
|
||||
* Windows 11 (default)
|
||||
* Windows 10 (with link to "Language Preferences")
|
||||
* Windows 10
|
||||
|
||||
|
||||
#### Fixes
|
||||
|
||||
@ -23,6 +28,7 @@ Tested on OS build 22000.376.
|
||||
* Fixed a wrong function prototype (5b4bd07#r62018175, thanks @Simplestas)
|
||||
* Protected some state variables from changing internally if modified in the registry until `explorer` is restarted
|
||||
* Fixed a bug that could unexpectedly prevent the [Win]+[Alt]+[D] shortcut from working properly
|
||||
* Windows 10 language switcher displays correctly when the taskbar is placed in some location other than the bottom of the screen (#629) (.2).
|
||||
|
||||
## 22000.376.40
|
||||
|
||||
|
@ -5736,6 +5736,44 @@ HRESULT CInputSwitchControl_ShowInputSwitchHook(IInputSwitchControl* _this, RECT
|
||||
double dpiy = dpiY / 96.0;
|
||||
|
||||
//printf("RECT %d %d %d %d - %d %d\n", lpRect->left, lpRect->right, lpRect->top, lpRect->bottom, dwNumberOfProfiles, a3);
|
||||
|
||||
RECT rc;
|
||||
GetWindowRect(hWndTaskbar, &rc);
|
||||
POINT pt;
|
||||
pt.x = rc.left;
|
||||
pt.y = rc.top;
|
||||
UINT tbPos = GetTaskbarLocationAndSize(pt, &rc);
|
||||
if (tbPos == TB_POS_BOTTOM)
|
||||
{
|
||||
}
|
||||
else if (tbPos == TB_POS_TOP)
|
||||
{
|
||||
if (dwIMEStyle == 1) // Windows 10 (with Language preferences link)
|
||||
{
|
||||
lpRect->top = rc.top + (rc.bottom - rc.top) + (UINT)(((double)dwNumberOfProfiles * (60.0 * dpiy)) + (5.0 * dpiy * 4.0) + (dpiy) + (48.0 * dpiy));
|
||||
}
|
||||
else if (dwIMEStyle == 2 || dwIMEStyle == 3 || dwIMEStyle == 4 || dwIMEStyle == 5) // LOGONUI, UAC, Windows 10, OOBE
|
||||
{
|
||||
lpRect->top = rc.top + (rc.bottom - rc.top) + (UINT)(((double)dwNumberOfProfiles * (60.0 * dpiy)) + (5.0 * dpiy * 2.0));
|
||||
}
|
||||
}
|
||||
else if (tbPos == TB_POS_LEFT)
|
||||
{
|
||||
if (dwIMEStyle == 1 || dwIMEStyle == 2 || dwIMEStyle == 3 || dwIMEStyle == 4 || dwIMEStyle == 5)
|
||||
{
|
||||
lpRect->right = rc.left + (rc.right - rc.left) + (UINT)((double)(300.0 * dpix));
|
||||
lpRect->top += (lpRect->bottom - lpRect->top);
|
||||
}
|
||||
}
|
||||
if (tbPos == TB_POS_RIGHT)
|
||||
{
|
||||
if (dwIMEStyle == 1 || dwIMEStyle == 2 || dwIMEStyle == 3 || dwIMEStyle == 4 || dwIMEStyle == 5)
|
||||
{
|
||||
lpRect->right = lpRect->right - (rc.right - rc.left);
|
||||
lpRect->top += (lpRect->bottom - lpRect->top);
|
||||
}
|
||||
}
|
||||
|
||||
if (dwIMEStyle == 4)
|
||||
{
|
||||
lpRect->right -= (UINT)((double)(300.0 * dpix)) - (lpRect->right - lpRect->left);
|
||||
|
@ -1,7 +1,7 @@
|
||||
#define VER_MAJOR 22000
|
||||
#define VER_MINOR 376
|
||||
#define VER_BUILD_HI 41
|
||||
#define VER_BUILD_LO 1
|
||||
#define VER_BUILD_LO 2
|
||||
#define VER_FLAGS VS_FF_PRERELEASE
|
||||
|
||||
|
||||
@ -12,5 +12,5 @@
|
||||
#define VER_STR(arg) #arg
|
||||
|
||||
// The String form of the version numbers
|
||||
#define VER_FILE_STRING VALUE "FileVersion", "22000.376.41.1"
|
||||
#define VER_PRODUCT_STRING VALUE "ProductVersion", "22000.376.41.1"
|
||||
#define VER_FILE_STRING VALUE "FileVersion", "22000.376.41.2"
|
||||
#define VER_PRODUCT_STRING VALUE "ProductVersion", "22000.376.41.2"
|
||||
|
Loading…
Reference in New Issue
Block a user