From: Ross Burton Date: Thu, 21 May 2026 15:58:11 +0000 (+0100) Subject: matchbox-panel-2: backport patch to set a constant size for the clock X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=0e59671009931f84e82ebd7c098802d51f581d44;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git matchbox-panel-2: backport patch to set a constant size for the clock Measure the size of "88:88" and set an explicit size of the clock label so that it doesn't slightly move over time as the digits change. Also update the status of a patch that is upstreamed. Signed-off-by: Ross Burton Signed-off-by: Antonin Godard Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-sato/matchbox-panel-2/files/0001-applets-clock-fix-clock-widget-width-resize.patch b/meta/recipes-sato/matchbox-panel-2/files/0001-applets-clock-fix-clock-widget-width-resize.patch new file mode 100644 index 00000000000..b87213aed43 --- /dev/null +++ b/meta/recipes-sato/matchbox-panel-2/files/0001-applets-clock-fix-clock-widget-width-resize.patch @@ -0,0 +1,51 @@ +From 5244e02f14b3b99f60b4d9f90f504f6a7d6f2205 Mon Sep 17 00:00:00 2001 +From: Dmitry Sakhonchik +Date: Mon, 18 May 2026 16:21:06 +0300 +Subject: [PATCH] applets/clock: fix clock widget width resize + +Previously clock widget used to change its size depending on digits' +width inside it, which caused other icons in the panel to move. + +Fixes [YOCTO #15435] + +Signed-off-by: Dmitry Sakhonchik + +Upstream-Status: Backport +Signed-off-by: Ross Burton +--- + applets/clock/clock.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/applets/clock/clock.c b/applets/clock/clock.c +index b8057a4..3065cfc 100644 +--- a/applets/clock/clock.c ++++ b/applets/clock/clock.c +@@ -73,6 +73,7 @@ mb_panel_applet_create (const char *id, + GtkWidget *label; + time_t t; + struct tm *local_time; ++ int ref_string_width; + + applet = g_slice_new0 (ClockApplet); + +@@ -81,6 +82,17 @@ mb_panel_applet_create (const char *id, + + gtk_widget_set_name (label, "MatchboxPanelClock"); + ++ /* Size the widget using the widest possible time string ("88:88") */ ++ PangoContext *context = gtk_widget_get_pango_context(label); ++ PangoLayout *reference_string = pango_layout_new(context); ++ ++ pango_layout_set_text(reference_string, "88:88", 5); ++ pango_layout_get_pixel_size(reference_string, &ref_string_width, NULL); ++ ++ g_object_unref(reference_string); ++ ++ gtk_widget_set_size_request(label, ref_string_width, -1); ++ + g_object_weak_ref (G_OBJECT (label), + (GWeakNotify) clock_applet_free, + applet); +-- +2.43.0 + diff --git a/meta/recipes-sato/matchbox-panel-2/files/0001-applets-systray-Allow-icons-to-be-smaller.patch b/meta/recipes-sato/matchbox-panel-2/files/0001-applets-systray-Allow-icons-to-be-smaller.patch index d13dd3d5a0b..870ef8800e0 100644 --- a/meta/recipes-sato/matchbox-panel-2/files/0001-applets-systray-Allow-icons-to-be-smaller.patch +++ b/meta/recipes-sato/matchbox-panel-2/files/0001-applets-systray-Allow-icons-to-be-smaller.patch @@ -8,7 +8,7 @@ systray panel. This makes sure the icons are drawn at the size they expect. Signed-off-by: Jussi Kukkonen -Upstream-Status: Submitted +Upstream-Status: Backport [c5f3e42a29a36a12d11007b21904d343dfbd6ad3] --- applets/systray/systray.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb index a126571aded..f4e0000ee0e 100644 --- a/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb +++ b/meta/recipes-sato/matchbox-panel-2/matchbox-panel-2_2.12.bb @@ -23,6 +23,7 @@ RCONFLICTS:${PN} = "matchbox-panel" SRC_URI = "git://git.yoctoproject.org/${BPN};protocol=https;branch=master \ file://0001-applets-systray-Allow-icons-to-be-smaller.patch \ + file://0001-applets-clock-fix-clock-widget-width-resize.patch \ " EXTRA_OECONF = "--enable-startup-notification --enable-dbus"