Since Gtk3.10/11 the titlebar and borders has to be drawn by the client itself - named client side decoration. If an application hasn’t explicitly implemented it, no WM can draw them.
Two good description about that problem:
As I understand it right, the lib created by the pcmanfm developer do exactly this - deactivating the client side decoration and fakes a title bar. Looking in the source code of gtk3-nocsd.c]// When set to true, this override gdk_screen_is_composited() and let it
// return FALSE temporarily. Then, client-side decoration (CSD) cannot be initialized.
volatile static int disable_composite = 0;
:
:
// This API exists since gtk+ 3.10
extern void gtk_window_set_titlebar (GtkWindow *window, GtkWidget *titlebar) {
static gtk_window_set_titlebar_t orig_func = NULL;
if(!orig_func)
orig_func = (gtk_window_set_titlebar_t)dlsym(RTLD_NEXT, “gtk_window_set_titlebar”);
// printf(“gtk_window_set_titlebar\n”);
:
:
static GObject *fake_gtk_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_params) {
// printf(“fake_gtk_dialog_constructor!! %d\n”, disable_composite);
:[/code]
This is summarized in the README of gtk3-nocsd as you red it:
I hope it’s now better understandable why FVWM cannot draw a title/borders and the style command won’t work.
– Thomas –