From d23b5df295a73c79b5b9d27c464b6ec81e6d4f3f Mon Sep 17 00:00:00 2001 From: Kyle Rokos Date: Sun, 17 Dec 2017 11:36:29 -0500 Subject: [PATCH] Adds plist for enabling/disabling window size cycling --- ShiftIt/DefaultShiftItActions.m | 24 ++++++++++++++++++++++++ ShiftIt/ShiftIt-defaults.plist | 10 ++++++---- ShiftIt/ShiftItApp.h | 1 + ShiftIt/ShiftItAppDelegate.m | 3 ++- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/ShiftIt/DefaultShiftItActions.m b/ShiftIt/DefaultShiftItActions.m index c8019868..11baa4fb 100644 --- a/ShiftIt/DefaultShiftItActions.m +++ b/ShiftIt/DefaultShiftItActions.m @@ -41,6 +41,12 @@ BOOL rectCloseTo(NSRect a, NSRect b) { leftHalf.size.width = screenSize.width / 2.0; leftHalf.size.height = screenSize.height; + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + BOOL cycle = [defaults boolForKey: kMutipleActionsCycleWindowSizes]; + if(!cycle) { + return MakeAnchoredRect(leftHalf, kLeftDirection); + } + NSRect leftThird = NSMakeRect(0, 0, 0, 0); leftThird.origin.x = 0; leftThird.origin.y = 0; @@ -66,6 +72,12 @@ BOOL rectCloseTo(NSRect a, NSRect b) { rightHalf.size.width = screenSize.width / 2.0; rightHalf.size.height = screenSize.height; + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + BOOL cycle = [defaults boolForKey: kMutipleActionsCycleWindowSizes]; + if(!cycle) { + return MakeAnchoredRect(rightHalf, kRightDirection); + } + NSRect rightThird = NSMakeRect(0, 0, 0, 0); rightThird.origin.x = screenWidth - (screenWidth * 1.0 / 3.0); rightThird.origin.y = 0; @@ -93,6 +105,12 @@ BOOL rectCloseTo(NSRect a, NSRect b) { topHalf.size.width = screenSize.width; topHalf.size.height = screenSize.height / 2; + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + BOOL cycle = [defaults boolForKey: kMutipleActionsCycleWindowSizes]; + if(!cycle) { + return MakeAnchoredRect(topHalf, kTopDirection); + } + NSRect topThird = NSMakeRect(0, 0, 0, 0); topThird.origin.x = 0; topThird.origin.y = 0; @@ -117,6 +135,12 @@ BOOL rectCloseTo(NSRect a, NSRect b) { bottomHalf.size.width = screenSize.width; bottomHalf.size.height = screenSize.height / 2; + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + BOOL cycle = [defaults boolForKey: kMutipleActionsCycleWindowSizes]; + if(!cycle) { + return MakeAnchoredRect(bottomHalf, kBottomDirection); + } + NSRect bottomThird = NSMakeRect(0, 0, 0, 0); bottomThird.origin.x = 0; bottomThird.origin.y = screenHeight - (screenHeight * 1.0 / 3.0); diff --git a/ShiftIt/ShiftIt-defaults.plist b/ShiftIt/ShiftIt-defaults.plist index 85b5e979..01662794 100644 --- a/ShiftIt/ShiftIt-defaults.plist +++ b/ShiftIt/ShiftIt-defaults.plist @@ -85,14 +85,16 @@ zoomKeyCode 6 zoomModifiers - 1835008 - nextscreenKeyCode - 45 - nextscreenModifiers + 1835008 + nextscreenKeyCode + 45 + nextscreenModifiers 1835008 previousscreenKeyCode 35 previousscreenModifiers 1835008 + mutipleActionsCycleWindowSizes + diff --git a/ShiftIt/ShiftItApp.h b/ShiftIt/ShiftItApp.h index d660d2b0..e5890dcf 100644 --- a/ShiftIt/ShiftItApp.h +++ b/ShiftIt/ShiftItApp.h @@ -40,6 +40,7 @@ extern NSString *const kWindowSizeDeltaPrefKey; extern NSString *const kScreenSizeDeltaPrefKey; extern NSString *const kAXIncludeDrawersPrefKey; extern NSString *const kAXDriverConvergePrefKey; +extern NSString *const kMutipleActionsCycleWindowSizes; typedef enum { kFixedSizeDeltaType = 3001, diff --git a/ShiftIt/ShiftItAppDelegate.m b/ShiftIt/ShiftItAppDelegate.m index e3502a1f..c5438836 100644 --- a/ShiftIt/ShiftItAppDelegate.m +++ b/ShiftIt/ShiftItAppDelegate.m @@ -48,6 +48,7 @@ NSString *const kFixedSizeHeightDeltaPrefKey = @"fixedSizeHeightDelta"; NSString *const kWindowSizeDeltaPrefKey = @"windowSizeDelta"; NSString *const kScreenSizeDeltaPrefKey = @"screenSizeDelta"; +NSString *const kMutipleActionsCycleWindowSizes = @"multipleActionsCycleWindowSizes"; // AX Driver Options // TODO: should be moved to AX driver @@ -738,4 +739,4 @@ - (NSArray *)feedParametersForUpdater:(SUUpdater *)updater } -@end \ No newline at end of file +@end