From f5043e6911139069887bb774ba829729de9dcd34 Mon Sep 17 00:00:00 2001 From: Alice Mikhaylenko Date: Mon, 17 Feb 2025 00:06:38 +0400 Subject: [PATCH 1/2] about-dialog/window: Use system monospace font for in release notes --- src/adw-about-dialog.c | 12 +++++++++--- src/adw-about-window.c | 11 ++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/adw-about-dialog.c b/src/adw-about-dialog.c index 235f77f45..185d30d8f 100644 --- a/src/adw-about-dialog.c +++ b/src/adw-about-dialog.c @@ -17,6 +17,7 @@ #include "adw-alert-dialog.h" #include "adw-navigation-view.h" #include "adw-preferences-group.h" +#include "adw-style-manager.h" #include "adw-toast-overlay.h" /** @@ -1914,7 +1915,11 @@ adw_about_dialog_class_init (AdwAboutDialogClass *klass) static void adw_about_dialog_init (AdwAboutDialog *self) { + GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (self)); + AdwStyleManager *manager = adw_style_manager_get_for_display (display); + GtkTextTag *code_tag; GtkAdjustment *adj; + self->application_icon = g_strdup (""); self->application_name = g_strdup (""); self->developer_name = g_strdup (""); @@ -1936,9 +1941,7 @@ adw_about_dialog_init (AdwAboutDialog *self) gtk_text_buffer_create_tag (self->release_notes_buffer, "em", "style", PANGO_STYLE_ITALIC, NULL); - gtk_text_buffer_create_tag (self->release_notes_buffer, "code", - "family", "monospace", - NULL); + code_tag = gtk_text_buffer_create_tag (self->release_notes_buffer, "code", NULL); gtk_text_buffer_create_tag (self->release_notes_buffer, "bullet", "font-features", "tnum=1", "left-margin", 24, @@ -1951,6 +1954,8 @@ adw_about_dialog_init (AdwAboutDialog *self) "weight", PANGO_WEIGHT_BOLD, NULL); + g_object_bind_property (manager, "monospace-font-name", code_tag, "font", G_BINDING_SYNC_CREATE); + adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (self->main_scrolled_window)); g_signal_connect_swapped (adj, "value-changed", G_CALLBACK (update_headerbar_cb), self); @@ -3567,3 +3572,4 @@ adw_show_about_dialog_from_appdata (GtkWidget *parent, adw_dialog_present (dialog, parent); } + diff --git a/src/adw-about-window.c b/src/adw-about-window.c index 2c17e1291..7445ce9ed 100644 --- a/src/adw-about-window.c +++ b/src/adw-about-window.c @@ -16,6 +16,7 @@ #include "adw-message-dialog.h" #include "adw-navigation-view.h" #include "adw-preferences-group.h" +#include "adw-style-manager.h" #include "adw-toast-overlay.h" /** @@ -1926,7 +1927,11 @@ adw_about_window_class_init (AdwAboutWindowClass *klass) static void adw_about_window_init (AdwAboutWindow *self) { + GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (self)); + AdwStyleManager *manager = adw_style_manager_get_for_display (display); + GtkTextTag *code_tag; GtkAdjustment *adj; + self->application_icon = g_strdup (""); self->application_name = g_strdup (""); self->developer_name = g_strdup (""); @@ -1948,9 +1953,7 @@ adw_about_window_init (AdwAboutWindow *self) gtk_text_buffer_create_tag (self->release_notes_buffer, "em", "style", PANGO_STYLE_ITALIC, NULL); - gtk_text_buffer_create_tag (self->release_notes_buffer, "code", - "family", "monospace", - NULL); + code_tag = gtk_text_buffer_create_tag (self->release_notes_buffer, "code", NULL); gtk_text_buffer_create_tag (self->release_notes_buffer, "bullet", "font-features", "tnum=1", "left-margin", 24, @@ -1963,6 +1966,8 @@ adw_about_window_init (AdwAboutWindow *self) "weight", PANGO_WEIGHT_BOLD, NULL); + g_object_bind_property (manager, "monospace-font-name", code_tag, "font", G_BINDING_SYNC_CREATE); + adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (self->main_scrolled_window)); g_signal_connect_swapped (adj, "value-changed", G_CALLBACK (update_headerbar_cb), self); -- GitLab From ffef79faba911bfd80fbc1050bb19868ecc481d1 Mon Sep 17 00:00:00 2001 From: Alice Mikhaylenko Date: Mon, 17 Feb 2025 00:07:01 +0400 Subject: [PATCH 2/2] style-manager: Document how to handle font names --- src/adw-style-manager.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/adw-style-manager.c b/src/adw-style-manager.c index 6ac46e554..b01727e59 100644 --- a/src/adw-style-manager.c +++ b/src/adw-style-manager.c @@ -793,6 +793,8 @@ adw_style_manager_class_init (AdwStyleManagerClass *klass) * The font is in the same format as [property@Gtk.Settings:gtk-font-name], * e.g. "Adwaita Sans 11". * + * Use [func@Pango.FontDescription.to_string] to parse it. + * * Since: 1.7 */ props[PROP_DOCUMENT_FONT_NAME] = @@ -808,6 +810,8 @@ adw_style_manager_class_init (AdwStyleManagerClass *klass) * The font is in the same format as [property@Gtk.Settings:gtk-font-name], * e.g. "Adwaita Mono 11". * + * Use [func@Pango.FontDescription.to_string] to parse it. + * * Since: 1.7 */ props[PROP_MONOSPACE_FONT_NAME] = @@ -1143,6 +1147,8 @@ adw_style_manager_get_accent_color_rgba (AdwStyleManager *self) * The font is in the same format as [property@Gtk.Settings:gtk-font-name], * e.g. "Adwaita Sans 11". * + * Use [func@Pango.FontDescription.to_string] to parse it. + * * Returns: the system document font * * Since: 1.7 @@ -1167,6 +1173,8 @@ adw_style_manager_get_document_font_name (AdwStyleManager *self) * The font is in the same format as [property@Gtk.Settings:gtk-font-name], * e.g. "Adwaita Mono 11". * + * Use [func@Pango.FontDescription.to_string] to parse it. + * * Returns: the system monospace font * * Since: 1.7 -- GitLab