[Oxygen] [Bug 348790] oxygen-transparent kf5 fails to compile against modern KDE Frameworks
https://bugs.kde.org/show_bug.cgi?id=348790 Christoph Feck changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |UNMAINTAINED --- Comment #7 from Christoph Feck --- oxygen-transparent is unmaintained. -- You are receiving this mail because: You are watching all bug changes.
[Oxygen] [Bug 348790] oxygen-transparent kf5 fails to compile against modern KDE Frameworks
https://bugs.kde.org/show_bug.cgi?id=348790 Alexander Mentyu changed: What|Removed |Added CC||notux...@gmail.com --- Comment #6 from Alexander Mentyu --- Is this issue still relevant? -- You are receiving this mail because: You are watching all bug changes.
[Oxygen] [Bug 348790] oxygen-transparent kf5 fails to compile against modern KDE Frameworks
https://bugs.kde.org/show_bug.cgi?id=348790 --- Comment #5 from Ruslan Kabatsayev--- OK, the winId problem is also easy to solve: it's enough to send QEvent::ScreenChangeInternal to the widget. So the proof of concept is here (this is fourth commit in the series, see actual code inside the #if-#endif or parent commits to see how it works): https://github.com/10110111/k4oxygen/commit/5e21080da0eb72a33ec007681d303733dc69b99e -- You are receiving this mail because: You are watching all bug changes.
[Oxygen] [Bug 348790] oxygen-transparent kf5 fails to compile against modern KDE Frameworks
https://bugs.kde.org/show_bug.cgi?id=348790 --- Comment #4 from Ruslan Kabatsayev--- In fact, it doesn't have to be done using UB: struct Hack : QWindow { static void recreateWindow(QWindow* w) { w->destroy(); w->create(); } }; The problem remains though that widget->winId() and widget->internalWinId() no longer match widget->windowHandle()->winId(). This means that all the other helpers like BlurHelper should use the latter. This also means that the integrity of QWidget is now somewhat broken, and the behavior can be hard to predict. -- You are receiving this mail because: You are watching all bug changes.
[Oxygen] [Bug 348790] oxygen-transparent kf5 fails to compile against modern KDE Frameworks
https://bugs.kde.org/show_bug.cgi?id=348790 Ruslan Kabatsayevchanged: What|Removed |Added CC||b7.10110...@gmail.com --- Comment #3 from Ruslan Kabatsayev --- 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 (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.