|
|
|
@@ -2939,10 +2939,14 @@ void XWindowSystem::setWindowType (::Window windowH, int styleFlags) const |
|
|
|
|
|
|
|
if (atoms.windowType != None)
|
|
|
|
{
|
|
|
|
auto hint = (styleFlags & ComponentPeer::windowIsTemporary) != 0
|
|
|
|
|| ((styleFlags & ComponentPeer::windowHasDropShadow) == 0 && Desktop::canUseSemiTransparentWindows())
|
|
|
|
? XWindowSystemUtilities::Atoms::getIfExists (display, "_NET_WM_WINDOW_TYPE_COMBO")
|
|
|
|
: XWindowSystemUtilities::Atoms::getIfExists (display, "_NET_WM_WINDOW_TYPE_NORMAL");
|
|
|
|
Atom hint = None;
|
|
|
|
|
|
|
|
if (styleFlags & ComponentPeer::windowIsTemporary)
|
|
|
|
hint = XWindowSystemUtilities::Atoms::getIfExists (display, "_NET_WM_WINDOW_TYPE_TOOLTIP");
|
|
|
|
else if ((styleFlags & ComponentPeer::windowHasDropShadow) == 0 && Desktop::canUseSemiTransparentWindows())
|
|
|
|
hint = XWindowSystemUtilities::Atoms::getIfExists (display, "_NET_WM_WINDOW_TYPE_COMBO");
|
|
|
|
else
|
|
|
|
hint = XWindowSystemUtilities::Atoms::getIfExists (display, "_NET_WM_WINDOW_TYPE_NORMAL");
|
|
|
|
|
|
|
|
if (hint != None)
|
|
|
|
xchangeProperty (windowH, atoms.windowType, XA_ATOM, 32, &hint, 1);
|
|
|
|
|