From 27c683092d1ae42939621112e2ebe1ed3c693a7f Mon Sep 17 00:00:00 2001 From: Bjorn Winckler Date: Sat, 23 Aug 2008 22:01:30 +0200 Subject: [PATCH] Add option to hide MacVim when last window closes --- .../Preferences.nib/keyedobjects.nib | Bin 32634 -> 33356 bytes src/MacVim/MMAppController.m | 13 ++++++++++--- src/MacVim/Miscellaneous.h | 10 ++++++++-- src/MacVim/Miscellaneous.m | 3 +-- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/MacVim/English.lproj/Preferences.nib/keyedobjects.nib b/src/MacVim/English.lproj/Preferences.nib/keyedobjects.nib index 2729ceab3b04ddde71f2a8e42f3632274f644d67..d6c412543a190d5019c8f2dc4b568065b6bc396b 100644 GIT binary patch delta 14742 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 F{(p8;@BaV* diff --git a/src/MacVim/MMAppController.m b/src/MacVim/MMAppController.m index b0fb405d91..a481811768 100644 --- a/src/MacVim/MMAppController.m +++ b/src/MacVim/MMAppController.m @@ -161,7 +161,6 @@ fsEventCallback(ConstFSEventStreamRef streamRef, [NSNumber numberWithInt:1], MMTextInsetRightKey, [NSNumber numberWithInt:1], MMTextInsetTopKey, [NSNumber numberWithInt:1], MMTextInsetBottomKey, - [NSNumber numberWithBool:NO], MMTerminateAfterLastWindowClosedKey, @"MMTypesetter", MMTypesetterKey, [NSNumber numberWithFloat:1], MMCellWidthMultiplierKey, [NSNumber numberWithFloat:-1], MMBaselineOffsetKey, @@ -183,6 +182,7 @@ fsEventCallback(ConstFSEventStreamRef streamRef, [NSNumber numberWithInt:3], MMOpenLayoutKey, [NSNumber numberWithBool:NO], MMVerticalSplitKey, [NSNumber numberWithInt:0], MMPreloadCacheSizeKey, + [NSNumber numberWithInt:0], MMLastWindowClosedBehaviorKey, nil]; [[NSUserDefaults standardUserDefaults] registerDefaults:dict]; @@ -537,8 +537,9 @@ fsEventCallback(ConstFSEventStreamRef streamRef, - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender { - return [[NSUserDefaults standardUserDefaults] - boolForKey:MMTerminateAfterLastWindowClosedKey]; + return (MMTerminateWhenLastWindowClosed == + [[NSUserDefaults standardUserDefaults] + integerForKey:MMLastWindowClosedBehaviorKey]); } - (NSApplicationTerminateReply)applicationShouldTerminate: @@ -731,6 +732,12 @@ fsEventCallback(ConstFSEventStreamRef streamRef, // The last editor window just closed so restore the main menu back to // its default state (which is defined in MainMenu.nib). [self setMainMenu:defaultMainMenu]; + + BOOL hide = (MMHideWhenLastWindowClosed == + [[NSUserDefaults standardUserDefaults] + integerForKey:MMLastWindowClosedBehaviorKey]); + if (hide) + [NSApp hide:self]; } } diff --git a/src/MacVim/Miscellaneous.h b/src/MacVim/Miscellaneous.h index 6b8df3553a..23c3ebe206 100644 --- a/src/MacVim/Miscellaneous.h +++ b/src/MacVim/Miscellaneous.h @@ -30,7 +30,6 @@ extern NSString *MMTextInsetLeftKey; extern NSString *MMTextInsetRightKey; extern NSString *MMTextInsetTopKey; extern NSString *MMTextInsetBottomKey; -extern NSString *MMTerminateAfterLastWindowClosedKey; extern NSString *MMTypesetterKey; extern NSString *MMCellWidthMultiplierKey; extern NSString *MMBaselineOffsetKey; @@ -53,6 +52,7 @@ extern NSString *MMShowLeftPlugInContainerKey; extern NSString *MMOpenLayoutKey; extern NSString *MMVerticalSplitKey; extern NSString *MMPreloadCacheSizeKey; +extern NSString *MMLastWindowClosedBehaviorKey; // Enum for MMUntitledWindowKey @@ -63,7 +63,6 @@ enum { MMUntitledWindowAlways = 3 }; - // Enum for MMOpenLayoutKey (first 4 must match WIN_* defines in main.c) enum { MMLayoutArglist = 0, @@ -73,6 +72,13 @@ enum { MMLayoutWindows = 4, }; +// Enum for MMLastWindowClosedBehaviorKey +enum { + MMDoNothingWhenLastWindowClosed = 0, + MMHideWhenLastWindowClosed = 1, + MMTerminateWhenLastWindowClosed = 2, +}; + diff --git a/src/MacVim/Miscellaneous.m b/src/MacVim/Miscellaneous.m index 95782b8d48..15259d48d7 100644 --- a/src/MacVim/Miscellaneous.m +++ b/src/MacVim/Miscellaneous.m @@ -21,8 +21,6 @@ NSString *MMTextInsetLeftKey = @"MMTextInsetLeft"; NSString *MMTextInsetRightKey = @"MMTextInsetRight"; NSString *MMTextInsetTopKey = @"MMTextInsetTop"; NSString *MMTextInsetBottomKey = @"MMTextInsetBottom"; -NSString *MMTerminateAfterLastWindowClosedKey - = @"MMTerminateAfterLastWindowClosed"; NSString *MMTypesetterKey = @"MMTypesetter"; NSString *MMCellWidthMultiplierKey = @"MMCellWidthMultiplier"; NSString *MMBaselineOffsetKey = @"MMBaselineOffset"; @@ -45,6 +43,7 @@ NSString *MMShowLeftPlugInContainerKey = @"MMShowLeftPlugInContainer"; NSString *MMOpenLayoutKey = @"MMOpenLayout"; NSString *MMVerticalSplitKey = @"MMVerticalSplit"; NSString *MMPreloadCacheSizeKey = @"MMPreloadCacheSize"; +NSString *MMLastWindowClosedBehaviorKey = @"MMLastWindowClosedBehavior";