Browse Source

Fix X11 temporary windows

Signed-off-by: falkTX <falktx@falktx.com>
v7.0.12-distrho
falkTX 3 years ago
parent
commit
c26d4cf3b1
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 8 additions and 4 deletions
  1. +8
    -4
      modules/juce_gui_basics/native/juce_XWindowSystem_linux.cpp

+ 8
- 4
modules/juce_gui_basics/native/juce_XWindowSystem_linux.cpp View File

@@ -3037,10 +3037,14 @@ void XWindowSystem::setWindowType (::Window windowH, int styleFlags) const
if (atoms.windowType != None) 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) if (hint != None)
xchangeProperty (windowH, atoms.windowType, XA_ATOM, 32, &hint, 1); xchangeProperty (windowH, atoms.windowType, XA_ATOM, 32, &hint, 1);


Loading…
Cancel
Save