Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Blur behind Window (on Linux)
m83k last edited by
Is it possible to create a frameless, transparent and blurred window under Linux? I know, there are some engines for KDE providing that kind of feature, but I want to keep my app as independent as possible. The frameless and transparent things are not really my problem, but the "blur" is. It should not blend with the window background, instead it should appear as transparent and blurred, with the wallpaper, background itself. Any ideas where to start?
You mean like a true window that has a semi transparent look with blur?
we can get blur with
QGraphicsBlurEffect *effect = new QGraphicsBlurEffect;
however, my linux MINT with XFCE did not like trans+blur.
You could cheat and simply grab the desktop underneath but that is still somewhat static if user sneaks a window under yours
it would not show. etc.
eumeeu last edited by
I have the same problem, I'm not able to make the window blur the desktop. I've already seen the deepin implementation and I couldn't find where they apply this effect. Do I have to call a function from KWin(In my case), XCB, X11 or the QPainter is enough?
I saw some implementations using the following code alongside a way to grab a screenshot of what is behind, but ,at the moment I make it, I can't reapply because the blurred image stays on top (keep blurring the same screenshot).
QT_BEGIN_NAMESPACE Q_WIDGETS_EXPORT void qt_blurImage(QPainter *p, QImage &blurImage, qreal radius, bool quality, bool alphaOnly, int transposed = 0); QT_END_NAMESPACE