On 10/16/19, Christian Parpart <christian@parpart.family> wrote:
> Hi guys,
>
> I am developing an OpenGL / GLFW application (for highest platform
> independence and easiest porting efforts). It's basically a terminal
> emulator, and I want the background to be optionally transparent (done) but
> also blurred (done for windows, not linux/mac). I found out, that for KDE's
> konsole, it's not doing it by itself but using
> KWindowEffects::enableBlurBehind(...)
> instead, which is more or less how you do it on Windows 10 too. However,
> making use of it and linking against KF5::WindowSystem tells me that it
> couldn't find any plugins.
>
>
> *    org.kde.kwindowsystem: Could not find any platform plugin*
>
> Also, I highly doubt I can just pump in the X11 `Window` (XID) handle to
> `enableBlurBehind`'s first param, but I couldn't figure how to construct a
> `WId` without fully transforming my program into a full KDE/Qt app.
>
> Is there a way without fully converting into KDE app (I'd like to retain
> platform independence, but at least get blur-behind feature on each
> platform, with the least effort and code duplication).
>
> Many thanks in advance,
> Christian Parpart.
>

Hi!

You can't use KF5 libraries without using Qt. However, what you want
to achieve can be easily done on lower levels.

On X11, what you need is to set 32c property
_KDE_NET_WM_BLUR_BEHIND_REGION on your window.

On Wayland, you're interested in org_kde_kwin_blur protocol:
https://github.com/KDE/kwayland/blob/master/src/client/protocols/blur.xml

Keep in mind that those are KWin specific extensions and won't work on
other compositors/window managers.

Cheers,
-- 
Sebastian Krzyszkowiak, dos
https://dosowisko.net/

Reply via email to