Merge branch 'master' of github.com:gnustep/libs-gui into bug33395_uses_single_line_mode

This commit is contained in:
Gregory John Casamento 2019-04-10 00:31:57 -04:00
commit ae49b8374a
7 changed files with 113 additions and 24 deletions

View file

@ -601,6 +601,13 @@ GSCurrentServer(void)
[self subclassResponsibility: _cmd];
}
/** Ask the window manager to hide all the application windows for us.
Return whether they have been hidden. */
- (BOOL) hideApplication: (int) win
{
return NO;
}
/** Returns YES if the application should create the miniwindow counterpart
to the full size window and own it. Some display systems handle the
miniwindow themselves. In this case the backend subclass should

View file

@ -434,6 +434,11 @@ NSApplication *NSApp = nil;
return NO;
}
- (BOOL) becomesKeyOnlyIfNeeded
{
return YES;
}
- (BOOL) worksWhenModal
{
return YES;
@ -753,6 +758,8 @@ static NSSize scaledIconSizeForSize(NSSize imageSize)
*/
@implementation NSApplication
static BOOL _isAutolaunchChecked = NO;
/*
* Class methods
*/
@ -1259,6 +1266,21 @@ static NSSize scaledIconSizeForSize(NSSize imageSize)
*/
- (void) activateIgnoringOtherApps: (BOOL)flag
{
if (_isAutolaunchChecked == NO)
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *autolaunch = [defaults objectForKey: @"autolaunch"];
_isAutolaunchChecked = YES;
/* Application was executed with an argument '-autolaunch YES'.
Do not activate application on first call. */
if (autolaunch && [autolaunch isEqualToString: @"YES"])
{
return;
}
}
// TODO: Currently the flag is ignored
if (_app_is_active == NO)
{
@ -2479,30 +2501,36 @@ image.</p><p>See Also: -applicationIconImage</p>
[_hidden_main resignMainWindow];
}
windows_list = GSOrderedWindows();
iter = [windows_list reverseObjectEnumerator];
/** Ask the window manager to hide all the application windows for us.
Return whether they have been hidden. */
win = [[self mainMenu] window];
if ([GSServerForWindow(win) hideApplication: [win windowNumber]] == NO)
{
windows_list = GSOrderedWindows();
iter = [windows_list reverseObjectEnumerator];
while ((win = [iter nextObject]))
{
if ([win isVisible] == NO && ![win isMiniaturized])
{
continue; /* Already invisible */
}
if ([win canHide] == NO)
{
continue; /* Not hideable */
}
if (win == _app_icon_window)
{
continue; /* can't hide the app icon. */
}
if (_app_is_active == YES && [win hidesOnDeactivate] == YES)
{
continue; /* Will be hidden by deactivation */
}
[_hidden addObject: win];
[win orderOut: self];
}
while ((win = [iter nextObject]))
{
if ([win isVisible] == NO && ![win isMiniaturized])
{
continue; /* Already invisible */
}
if ([win canHide] == NO)
{
continue; /* Not hideable */
}
if (win == _app_icon_window)
{
continue; /* can't hide the app icon. */
}
if (_app_is_active == YES && [win hidesOnDeactivate] == YES)
{
continue; /* Will be hidden by deactivation */
}
[_hidden addObject: win];
[win orderOut: self];
}
}
_app_is_hidden = YES;
if (YES == [[NSUserDefaults standardUserDefaults]

View file

@ -4224,6 +4224,10 @@ checkCursorRectanglesExited(NSView *theView, NSEvent *theEvent, NSPoint lastPoi
[self performMiniaturize: NSApp];
break;
case GSAppKitAppHide:
[NSApp hide: self];
break;
case GSAppKitWindowFocusIn:
if (_f.is_miniaturized)
{