I spoke to the author (or one of the authors at least) of the GTK3/Metacity3 support.
They said they were busy currently but that i could try reverting the changes made to gtk/window-decorator/decorator.c from this merge: https://code.launchpad.net/~albertsmuktupavels/compiz/gtk-window-decorator-6/+merge/232477
I did this and it appears to have worked fine. I can now use the "titlebar-uses-system-font" setting.
Here's the reversal of those changes:
-----patch starts-----
diff -Naur a/gtk/window-decorator/decorator.c b/gtk/window-decorator/decorator.c --- a/gtk/window-decorator/decorator.c 2014-11-07 00:07:52.000000000 +1100 +++ b/gtk/window-decorator/decorator.c 2014-12-19 22:27:36.160876989 +1100 @@ -139,23 +139,18 @@ frame_update_titlebar_font (decor_frame_t *frame) { const PangoFontDescription *font_desc; - PangoFontDescription *free_font_desc; - PangoFontMetrics *metrics; - PangoLanguage *lang; + PangoFontMetrics *metrics; + PangoLanguage *lang;
- free_font_desc = NULL; frame = gwd_decor_frame_ref (frame);
font_desc = get_titlebar_font (frame); if (!font_desc) { - GtkCssProvider *provider = gtk_css_provider_get_default (); - GtkStyleContext *context = gtk_style_context_new (); + GtkStyle *default_style;
- gtk_style_context_add_provider (context, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_FALLBACK); - - gtk_style_context_get (context, GTK_STATE_FLAG_NORMAL, "font", &free_font_desc, NULL); - font_desc = (const PangoFontDescription *) free_font_desc; + default_style = gtk_widget_get_default_style (); + font_desc = default_style->font_desc; }
pango_context_set_font_description (frame->pango_context, font_desc); @@ -169,9 +164,6 @@ gwd_decor_frame_unref (frame);
pango_font_metrics_unref (metrics); - - if (free_font_desc) - pango_font_description_free (free_font_desc); }
void
-----patch ends-----
Nonetheless, i'll provide a gdb backtrace shortly.
I spoke to the author (or one of the authors at least) of the GTK3/Metacity3 support.
They said they were busy currently but that i could try reverting the changes made to gtk/window- decorator/ decorator. c from this merge: /code.launchpad .net/~albertsmu ktupavels/ compiz/ gtk-window- decorator- 6/+merge/ 232477
https:/
I did this and it appears to have worked fine. I can now use the "titlebar- uses-system- font" setting.
Here's the reversal of those changes:
-----patch starts-----
diff -Naur a/gtk/window- decorator/ decorator. c b/gtk/window- decorator/ decorator. c decorator/ decorator. c 2014-11-07 00:07:52.000000000 +1100 decorator/ decorator. c 2014-12-19 22:27:36.160876989 +1100 update_ titlebar_ font (decor_frame_t *frame) ption *font_desc; ption *free_font_desc;
--- a/gtk/window-
+++ b/gtk/window-
@@ -139,23 +139,18 @@
frame_
{
const PangoFontDescri
- PangoFontDescri
- PangoFontMetrics *metrics;
- PangoLanguage *lang;
+ PangoFontMetrics *metrics;
+ PangoLanguage *lang;
- free_font_desc = NULL;
frame = gwd_decor_frame_ref (frame);
font_desc = get_titlebar_font (frame); provider_ get_default (); context_ new ();
if (!font_desc)
{
- GtkCssProvider *provider = gtk_css_
- GtkStyleContext *context = gtk_style_
+ GtkStyle *default_style;
- gtk_style_ context_ add_provider (context, GTK_STYLE_PROVIDER (provider), GTK_STYLE_ PROVIDER_ PRIORITY_ FALLBACK) ; context_ get (context, GTK_STATE_ FLAG_NORMAL, "font", &free_font_desc, NULL); ption *) free_font_desc; get_default_ style (); style-> font_desc;
-
- gtk_style_
- font_desc = (const PangoFontDescri
+ default_style = gtk_widget_
+ font_desc = default_
}
pango_ context_ set_font_ description (frame- >pango_ context, font_desc); decor_frame_ unref (frame);
@@ -169,9 +164,6 @@
gwd_
pango_ font_metrics_ unref (metrics); description_ free (free_font_desc);
-
- if (free_font_desc)
- pango_font_
}
void
-----patch ends-----
Nonetheless, i'll provide a gdb backtrace shortly.