If there’s a drawback to using modern GTK apps in KDE Plasma it’s the visually obvious clash of toolkit styles.

That’s not say that GTK theming on this predominately Qt-based desktop environment is awful or hasn’t improved in recent years, rather that GTK apps haven’t (for obvious reasons) blended in as well with non-GTK apps as some of us want.

Well, consider that solved.

KDE dev Nate Graham reports that GTK CSD (client-side decoration; also known as Header Bars) no longer look as noticeably un-Qt in KDE Plasma.

In fact, they now look pretty native, as this screenshot of esteemed text editor Gedit shows:

How is this possible? Is it a hack? A workaround?

“Full support for the GTK_FRAME_EXTENTS_ protocol [has landed in Kwin]” Graham writes in a post on his blog.

“[This] hugely improves the user experience for running GTK apps that use client-side decoration headerbars! This includes GNOME apps and an increasing number of 3rd-party GTK apps too.”

As a result, many well-known, well-regarded GTK CSD apps like Gedit, Lollypop and Nautilus not only sports neatly integrated header bars and window shadows but boast working resize areas too!

This particular enhancement to Kwin, the KDE window manager, will ship in KDE Plasma 5.18 LTS and apply to the standard Xorg/X11 session.

I plan to dive into KDE Plasma head first in the New Year, and knowing I can continue to use several of my favourite GTK apps (without any obvious visual “hmm”) is a compelling bonus!

client side decorations gtk3 KDE plasma