mirror of
https://github.com/gnustep/libs-back.git
synced 2025-04-22 15:31:14 +00:00
* Source/win32/WIN32Server.m: Only show taskbar buttons for windows
which satisfy both: - style mask isn't NSBorderlessWindowMask - style mask don't have NSUtilityWindowMask set Should fix bug 30911 git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31212 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
86f1a1e68a
commit
7921074f23
2 changed files with 40 additions and 8 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2010-08-30 Eric Wasylishen <ewasylishen@gmail.com>
|
||||
|
||||
* Source/win32/WIN32Server.m: Only show taskbar buttons for windows
|
||||
which satisfy both:
|
||||
|
||||
- style mask isn't NSBorderlessWindowMask
|
||||
- style mask don't have NSUtilityWindowMask set
|
||||
|
||||
Should fix bug 30911
|
||||
|
||||
2010-08-29 Eric Wasylishen <ewasylishen@gmail.com>
|
||||
|
||||
* Source/win32/w32_activate.m: Call -[NSApp deactivate] in response
|
||||
|
|
|
@ -479,16 +479,38 @@ LRESULT CALLBACK MainWndProc(HWND hwnd, UINT uMsg,
|
|||
|
||||
if ((style & NSUtilityWindowMask) == NSUtilityWindowMask)
|
||||
{
|
||||
estyle = WS_EX_TOOLWINDOW;
|
||||
// WS_EX_TOOLWINDOW gives windows a thinner frame, like NSUtilityWindowMask
|
||||
estyle |= WS_EX_TOOLWINDOW;
|
||||
}
|
||||
else
|
||||
|
||||
if ([self usesNativeTaskbar])
|
||||
{
|
||||
//FIXME: This looks like a hack
|
||||
if ([self usesNativeTaskbar])
|
||||
estyle = WS_EX_APPWINDOW;
|
||||
else
|
||||
estyle = WS_EX_TOOLWINDOW;
|
||||
}
|
||||
// We will put all bordered windows except utility windows in the
|
||||
// taskbar. Utility windows don't need to be in the taskbar since
|
||||
// they are in the floating window level, so always visible.
|
||||
|
||||
if (style == NSBorderlessWindowMask)
|
||||
{
|
||||
// WS_EX_TOOLWINDOW also prevents windows from appearing in the taskbar.
|
||||
estyle |= WS_EX_TOOLWINDOW;
|
||||
}
|
||||
else if ((style & NSUtilityWindowMask) == 0)
|
||||
{
|
||||
// WS_EX_APPWINDOW requests that the window appear in the taskbar
|
||||
estyle |= WS_EX_APPWINDOW;
|
||||
}
|
||||
}
|
||||
else /* (NO == [self usesNativeTaskbar]) */
|
||||
{
|
||||
// Prevent all windows from appearing in the taskbar. As an undesired
|
||||
// side effect this will give all windows with frames thin "tool window"
|
||||
// frames. We could also get rid of the taskbar buttons by creating
|
||||
// a hidden window, and setting it as the parent of all other windows,
|
||||
// but that would be more complicated to manage.
|
||||
// See http://msdn.microsoft.com/en-us/library/bb776822(v=VS.85).aspx#Managing_Taskbar_But
|
||||
|
||||
estyle |= WS_EX_TOOLWINDOW;
|
||||
}
|
||||
|
||||
return estyle;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue