diff --git a/AltSnap.ini b/AltSnap.ini index 5b05ad68..25a6468a 100644 Binary files a/AltSnap.ini and b/AltSnap.ini differ diff --git a/Lang/_en_US baseline.txt b/Lang/_en_US baseline.txt index 0a52659f..83b23d6f 100644 Binary files a/Lang/_en_US baseline.txt and b/Lang/_en_US baseline.txt differ diff --git a/config.c b/config.c index 98ae349c..343437b3 100644 --- a/config.c +++ b/config.c @@ -1937,6 +1937,7 @@ INT_PTR CALLBACK AdvancedPageDialogProc(HWND hwnd, UINT msg, WPARAM wParam, LPAR { IDC_MULTIPLEINSTANCES,T_BOL, 0, TEXT("Advanced"), "MultipleInstances",V 0 }, { IDC_FULLSCREEN, T_BOL, 0, TEXT("Advanced"), "FullScreen", V 1 }, { IDC_BLMAXIMIZED, T_BOL, 0, TEXT("Advanced"), "BLMaximized", V 0 }, + { IDC_BLMAXIMIZEDRESIZE,T_BOL, 0, TEXT("Advanced"), "BLMaximizedResize", V 0 }, { IDC_FANCYZONE, T_BOL, 0, TEXT("Zones"), "FancyZone", V 0 }, { IDC_NORESTORE, T_BMK, 2, TEXT("General"), "SmartAero", V 0 }, // bit 2 { IDC_MAXWITHLCLICK, T_BMK, 0, TEXT("General"), "MMMaximize", V 1 }, // bit 0 @@ -2000,6 +2001,7 @@ INT_PTR CALLBACK AdvancedPageDialogProc(HWND hwnd, UINT msg, WPARAM wParam, LPAR { IDC_RESTOREONCLICK, L10NIDX(advanced_restoreonclick ) }, { IDC_FULLSCREEN, L10NIDX(advanced_fullscreen ) }, { IDC_BLMAXIMIZED, L10NIDX(advanced_blmaximized ) }, + { IDC_BLMAXIMIZEDRESIZE,L10NIDX(advanced_blmaximizedresize ) }, { IDC_FANCYZONE, L10NIDX(advanced_fancyzone ) }, { IDC_NORESTORE, L10NIDX(advanced_norestore ) }, { IDC_TOPMOSTINDICATOR, L10NIDX(advanced_topmostindicator ) }, diff --git a/hooks.c b/hooks.c index 0b852a70..fbebbaba 100644 --- a/hooks.c +++ b/hooks.c @@ -173,6 +173,7 @@ static struct config { UCHAR ResizeAll; UCHAR FullScreen; UCHAR BLMaximized; + UCHAR BLMaximizedResize; UCHAR AutoRemaximize; UCHAR SnapThreshold; UCHAR AeroThreshold; @@ -279,6 +280,7 @@ static const struct OptionListItem Advanced_uchars[] = { { "ResizeAll", 1 }, { "FullScreen", 1 }, { "BLMaximized", 0 }, + { "BLMaximizedResize", 0 }, { "AutoRemaximize", 0 }, { "SnapThreshold", 20 }, { "AeroThreshold", 5 }, @@ -4479,7 +4481,7 @@ static int init_movement_and_actions(POINT pt, HWND hwnd, enum action action, in state.origin.dpi = GetDpiForWindow(state.hwnd); state.origin.width = wndpl.rcNormalPosition.right-wndpl.rcNormalPosition.left; state.origin.height = wndpl.rcNormalPosition.bottom-wndpl.rcNormalPosition.top; - state.resizable = IsResizable(state.hwnd); + state.resizable = IsResizable(state.hwnd) && !(conf.BLMaximizedResize && state.origin.maximized); GetMinMaxInfo(state.hwnd, &state.mmi.Min, &state.mmi.Max); // for CLAMPH/W functions diff --git a/languages.h b/languages.h index 3c43e86b..c9e5b6cb 100644 --- a/languages.h +++ b/languages.h @@ -253,6 +253,7 @@ struct strings { TCHAR *advanced_restoreonclick; TCHAR *advanced_fullscreen; TCHAR *advanced_blmaximized; + TCHAR *advanced_blmaximizedresize; TCHAR *advanced_fancyzone; TCHAR *advanced_norestore; TCHAR *advanced_topmostindicator; @@ -482,6 +483,7 @@ static const char* l10n_inimapping[] = { "AdvancedRestoreOnClick", "AdvancedFullScreen", "AdvancedBLMaximized", + "AdvancedBLMaximizedResize", "AdvancedFancyZone", "AdvancedNoRestore", "AdvancedTopmostIndicator", @@ -723,6 +725,7 @@ static const struct strings en_US = { /* restoreonclick */ TEXT("Rest&ore window with single click like original AltDrag"), /* fullscreen */ TEXT("Enable on &full screen windows"), /* blmaximized */ TEXT("&Disable AltSnap on Maximized windows"), + /* blmaximizedresize*/ TEXT("&Disable AltSnap resizing on Maximized windows"), /* fancyzone */ TEXT("Restore Fancy&Zones snapped windows"), /* norestore */ TEXT("Never restore AltSna&pped windows"), /* topmostindicator */ TEXT("Show an i&ndicator on always on top windows"), diff --git a/resource.h b/resource.h index 0c84383b..90594c2a 100644 --- a/resource.h +++ b/resource.h @@ -171,6 +171,7 @@ #define IDC_LONGCLICKMOVE 2077 #define IDC_BLMAXIMIZED 2078 #define IDC_PIERCINGCLICK 2079 +#define IDC_BLMAXIMIZEDRESIZE 2080 #define IDC_OUTTB 2083 #define IDC_UNIKEYHOLDMENU 2084 diff --git a/window.rc b/window.rc index 75070228..2aa9fb33 100644 --- a/window.rc +++ b/window.rc @@ -232,9 +232,10 @@ BEGIN CONTROL "", IDC_RESTOREONCLICK, "Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,163,203,8 CONTROL "", IDC_FULLSCREEN, "Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,173,203,8 CONTROL "", IDC_BLMAXIMIZED, "Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,183,203,8 - CONTROL "", IDC_FANCYZONE, "Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,193,203,8 - CONTROL "", IDC_NORESTORE, "Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,203,203,8 - CONTROL "", IDC_TOPMOSTINDICATOR, "Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,213,203,8 + CONTROL "", IDC_BLMAXIMIZEDRESIZE,"Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,193,203,8 + CONTROL "", IDC_FANCYZONE, "Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,203,203,8 + CONTROL "", IDC_NORESTORE, "Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,213,203,8 + CONTROL "", IDC_TOPMOSTINDICATOR, "Button",BS_AUTOCHECKBOX|WS_TABSTOP, 10,223,203,8 END /////////////////////////////////////////////////////////////////////////////