https://bugs.kde.org/show_bug.cgi?id=348790

Ruslan Kabatsayev <b7.10110...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |b7.10110...@gmail.com

--- Comment #3 from Ruslan Kabatsayev <b7.10110...@gmail.com> ---
DIRTY_HACK_BEGIN
You can force re-creation of the X11 window if you find a way to reliably call
protected members QWindow::destroy() and QWindow::create(). Here's an example
with undefined behavior, but which is almost guaranteed to work (and does work
in my experiments):

struct Hack : QWindow
{
    void doRecreate() { destroy(); create(); }
};
// ...
widget->setAttribute( Qt::WA_TranslucentBackground );
// Apply the flag (has UB, but works)
if(widget->windowHandle())
    static_cast<Hack*>(widget->windowHandle())->doRecreate();

This makes it somewhat work when I try this on K4Oxygen [1]. Somewhat because
for some reason blur and other properties are not preserved, although I think
this is fixable.

[1]:
https://github.com/10110111/k4oxygen/commit/ff0960d241fdd79cfa5f5c85de51316ae303e7d2

Yes, I love hacks :D

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to