new file mode 100644
@@ -0,0 +1,51 @@
+From 5244e02f14b3b99f60b4d9f90f504f6a7d6f2205 Mon Sep 17 00:00:00 2001
+From: Dmitry Sakhonchik <frezidok1@gmail.com>
+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 <frezidok1@gmail.com>
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ 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
+
@@ -8,7 +8,7 @@ systray panel. This makes sure the icons are drawn at the size they
expect.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Upstream-Status: Submitted
+Upstream-Status: Backport [c5f3e42a29a36a12d11007b21904d343dfbd6ad3]
---
applets/systray/systray.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
@@ -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"
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 <ross.burton@arm.com> --- ...-clock-fix-clock-widget-width-resize.patch | 51 +++++++++++++++++++ ...ts-systray-Allow-icons-to-be-smaller.patch | 2 +- .../matchbox-panel-2/matchbox-panel-2_2.12.bb | 1 + 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-sato/matchbox-panel-2/files/0001-applets-clock-fix-clock-widget-width-resize.patch