Ooh, here’s a controversial topic for this week’s poll: Client-side decorations in Linux application.
We want to know your opinion on the growing trend that sees app developers eschew a traditional window title bar in favour of combined window title and app toolbar.
If you experience Linux through a GNOME-centric experience you may be more familiar with the feature as ‘GTK header bars’.
‘An oft quoted strength of client side decorations is that they give more space to window content’
What Are Client Side Decorations?
Client Side Decorations are called client-side decorations because it is the “client” window (in this case the toolkit that draws the app) that is made responsible for drawing the titlebar, and not the window manager as has traditionally been the case.
The most common form of CSD you’ll encounter on Ubuntu will be when using GNOME application that use GTK header bars. These replace system title bars with a combined title bar and toolbar.
Oft quoted strengths of client side decorations is that they give more space to window content, don’t waste space by showing a virtually empty titlebar, and help promote a new consistent UI interact experience.
Oft mooted drawbacks claim CSD lead to a fragmented user experience as not all apps use them, and even those that do may implement or arrange things differently.
For some, it’s a simple technical choice: window managers should decide how windows look, not the underlying toolkit.
GTK Header bars under Unity
You can enable header bars on Ubuntu Unity for apps which have it is disabled (e.g., Nautilus) though most apps that use them (e.g., Calendar) run with header bars automatically.
It has to be mentioned that CSD applications don’t look particularly well rendered on Unity under the default Ubuntu ‘Ambiance’ theme set (see images below).
Are Client Side Decorations Cool or Cumbersome?
It’s worth noting of course that client side decorations are not unique to GTK apps.
Qt client side decorations is something the KDE design community is actively debating; Windows universal apps promote a consistent app header design; and many core macOS apps have adopted them.
Google Chrome is one of the most well known apps to use CSD across all desktops on which it runs.
Pedantic technical arguments about the correct nomenclature (or otherwise) of specific implementations of CSD on Linux (I am not a designer) our question is simple: want to know whether you like, don’t mind or dislike CSD Linux apps.
Are you attracted to apps that use CSD? Or do you fear upgrading your favourite ones lest they adopt it? Perhaps you genuinely don’t mind, able to see both benefits and drawbacks in their implementation.