I'm using Ubuntu GNOME 17.04. One encounters client side decoration (CSD) as most of the official GNOME applications (Nautilus, gedit, Evince etc.) use GtkHeaderBars (a combined title bar and toolbar, see linked screenshots) whereas other applications don't. This feature is disabled in Unity, all the applications use traditional separate title bars.
Screenshots (from this article):
For consistency I want to disable GtkHeaderBars globally (in all the applications using it) and use separate title bars. Is there a way to achieve that?
I have heard of gtk3-nocsd
package, but couldn't make it work with GNOME for all the applications.
I'm afraid this cannot be done, unless the developer of an application has taken care of a feature like this. Showing a title bar at the top of windows, does not mean that CDS is actually disabled. It is still missing the classic window layout i.e. title bar, menu bar, tool bar, status bar.
Client Side Decorations has destroyed linux user interface and made apps and desktop environments look ugly and not native.
I hope that every developer would just ignore Gnome guide lines and keep his application useful and consistent for all environments.
Or at least support both ones like celluloid-player
Edit
Let me point out my point of view for CSD:
You can drag n drop windows from header's buttons!! As inconvenient as it gets!
It does not save space, it it wasting it. Just place windows side by side and see! Specially windows that just have their title/header bar expanded just to match the design!
It is often compared with OSX but this is completely wrong because OSX has and always will have menu bar.
lucking the menu bar, users have to seek for functionality among buttons placed left or right without any standard design.
Buttons are have to be left-clicked -> released -> re-click. But in the classic design you can just hold-click -> release-click on the item!!
The need of menubar is essential on some programs like Krita, Gimp, Inkscape, Blender, etc. So we always have a mixture of CDS and non-CDS and that is bad! design?
CDS will be used by apps with none or without many "menu options", thus waste of space occurs, cos the entire header bar will be mostly empty but still there! There are plenty of examples out there.
When giving instructions to someone is like "Hey, press the second button from the right, what do you see? Oh ok, now press preferences", i.e. IF you're lucky. Instead of "Hey, goto Menu - Edit - Preferences"!!!
Bonus anti-feature: Those popup menus, so called burger menus?, that you don't see the item's parentS and if you make a mistake you have to move the mouse up and down and again and again to reach the parent! OMG...
While I agree with Vassilis that CSDs are horrible - fortunately, he is wrong about the possibility of disabling them.
In Ubuntu, install the
gtk3-nocsd
package and then log out and log back in.This "hack" causes GTK+ applications to no longer disable the window manager's window decoration. The result may look a bit weird - here's how GNOME's calculator application looks with the standard CSD:
And with the NOCSD hack:
You can see several examples of why Vassilis' assertion that CSDs are a horrible idea that destroyed the Linux user interface is true:
I was able to run the
evince
PDF viewer with decorations provided by my window manager (Openbox) on Ubuntu 18.04 as follows: