Your message dated Fri, 06 Jun 2025 16:08:03 +0000
with message-id <e1unzbv-008qls...@respighi.debian.org>
and subject line unblock ayatana-indicator-keyboard
has caused the Debian Bug report #1107377,
regarding unblock: ayatana-indicator-keyboard/24.7.2-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1107377: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1107377
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: ayatana-indicator-keybo...@packages.debian.org
Control: affects -1 + src:ayatana-indicator-keyboard
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package ayatana-indicator-keyboard

In Lomiri, the kbd layout can be shown via a menu item in the keyboard
indicator in Lomiri's systray. Previously we used gkbd-capplet. However,
this fails with recent versions of Lomiri / Mir and with this version
of ayatana-indicator-keyboard we have switched over to using tecla (as
is used in GNOME).

[ Reason ]
Fix evocation of kbd layout application.

[ Impact ]
"Show Current Layout" item stays broken in Lomiri (nothing happens when
clicking on it).

[ Tests ]
Manual tests on a Lomiri Debian device using Debian trixie.

[ Risks ]
Minimal, only for users of ayatana-indicator-bluetooth (in Debian,
Ayatana Indicators are not in use by any desktop environment except from
Lomiri).

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
Relevant for Lomiri on Debian.

unblock ayatana-indicator-keyboard/24.7.2-2
diff -Nru ayatana-indicator-keyboard-24.7.2/debian/changelog 
ayatana-indicator-keyboard-24.7.2/debian/changelog
--- ayatana-indicator-keyboard-24.7.2/debian/changelog  2025-03-02 
17:48:25.000000000 +0100
+++ ayatana-indicator-keyboard-24.7.2/debian/changelog  2025-06-06 
16:18:39.000000000 +0200
@@ -1,3 +1,14 @@
+ayatana-indicator-keyboard (24.7.2-2) unstable; urgency=medium
+
+  * debian/patches:
+     + Add 0002-Fix-showing-current-layout-on-Lomiri.patch. Use tecla (like
+       GNOME also does now) instead of gkbd-display-keyboard. Fixes showing
+       the kbd layout in Lomiri.
+  * debian/control:
+    + Add to S: tecla.
+
+ -- Mike Gabriel <sunwea...@debian.org>  Fri, 06 Jun 2025 16:18:39 +0200
+
 ayatana-indicator-keyboard (24.7.2-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru ayatana-indicator-keyboard-24.7.2/debian/control 
ayatana-indicator-keyboard-24.7.2/debian/control
--- ayatana-indicator-keyboard-24.7.2/debian/control    2025-01-24 
10:38:33.000000000 +0100
+++ ayatana-indicator-keyboard-24.7.2/debian/control    2025-05-15 
09:08:15.000000000 +0200
@@ -31,7 +31,7 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends},
          ayatana-indicator-common,
-Suggests: matekbd-keyboard-display | gkbd-capplet,
+Suggests: matekbd-keyboard-display | tecla | gkbd-capplet,
 Description: Ayatana Indicator for managing keyboard layout and desktop 
language
  This Ayatana Indicator for keyboard layout configuration shows as an
  icon in the top panel of indicator aware destkop environments. It should
diff -Nru 
ayatana-indicator-keyboard-24.7.2/debian/patches/0002-Fix-showing-current-layout-on-Lomiri.patch
 
ayatana-indicator-keyboard-24.7.2/debian/patches/0002-Fix-showing-current-layout-on-Lomiri.patch
--- 
ayatana-indicator-keyboard-24.7.2/debian/patches/0002-Fix-showing-current-layout-on-Lomiri.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
ayatana-indicator-keyboard-24.7.2/debian/patches/0002-Fix-showing-current-layout-on-Lomiri.patch
    2025-05-15 09:08:15.000000000 +0200
@@ -0,0 +1,164 @@
+From 17394a6f684b46e9f4bc2ed039515b09971b39d9 Mon Sep 17 00:00:00 2001
+From: Robert Tari <rob...@tari.in>
+Date: Wed, 14 May 2025 16:22:42 +0200
+Subject: [PATCH 1/2] Fix showing current layout on Lomiri
+
+Just like GNOME did, we are switching to tecla here, since 
gkbd-keyboard-display does not work under Wayland.
+
+fixes https://github.com/AyatanaIndicators/ayatana-indicator-keyboard/issues/76
+---
+ src/keyboard-lomiri.c |  9 +++++++--
+ src/keyboard-x11.c    | 13 ++++++++++---
+ src/keyboard.h        |  4 ++--
+ src/service.c         | 20 +++++++++++++++-----
+ 4 files changed, 34 insertions(+), 12 deletions(-)
+
+diff --git a/src/keyboard-lomiri.c b/src/keyboard-lomiri.c
+index c00bc55a1..bc6b3f93a 100644
+--- a/src/keyboard-lomiri.c
++++ b/src/keyboard-lomiri.c
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright 2021-2024 Robert Tari <rob...@tari.in>
++ * Copyright 2021-2025 Robert Tari <rob...@tari.in>
+  *
+  * This program is free software: you can redistribute it and/or modify it
+  * under the terms of the GNU General Public License version 3, as published
+@@ -179,7 +179,7 @@ guint keyboard_GetLayoutIndex (Keyboard *pKeyboard)
+     return pKeyboard->pPrivate->nLayout;
+ }
+ 
+-void keyboard_GetLayout(Keyboard *pKeyboard, gint nLayout, gchar **pLanguage, 
gchar **pDescription)
++void keyboard_GetLayout(Keyboard *pKeyboard, gint nLayout, gchar **pLanguage, 
gchar **pDescription, gchar **pId)
+ {
+     if (nLayout == -1)
+     {
+@@ -199,6 +199,11 @@ void keyboard_GetLayout(Keyboard *pKeyboard, gint 
nLayout, gchar **pLanguage, gc
+     {
+         *pDescription = g_strdup(pLayout->sDescription);
+     }
++
++    if (pId != NULL)
++    {
++        *pId = g_strdup (sLayout);
++    }
+ }
+ 
+ void keyboard_SetLayout(Keyboard *pKeyboard, gint nLayout)
+diff --git a/src/keyboard-x11.c b/src/keyboard-x11.c
+index d7d482f5c..27dfb97cd 100644
+--- a/src/keyboard-x11.c
++++ b/src/keyboard-x11.c
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright 2021-2024 Robert Tari <rob...@tari.in>
++ * Copyright 2021-2025 Robert Tari <rob...@tari.in>
+  *
+  * This program is free software: you can redistribute it and/or modify it
+  * under the terms of the GNU General Public License version 3, as published
+@@ -390,7 +390,7 @@ guint keyboard_GetLayoutIndex (Keyboard *pKeyboard)
+     return pKeyboard->pPrivate->nLayout;
+ }
+ 
+-void keyboard_GetLayout(Keyboard *pKeyboard, gint nLayout, gchar **pLanguage, 
gchar **pDescription)
++void keyboard_GetLayout(Keyboard *pKeyboard, gint nLayout, gchar **pLanguage, 
gchar **pDescription, gchar **pId)
+ {
+     if (nLayout == -1)
+     {
+@@ -432,7 +432,14 @@ void keyboard_GetLayout(Keyboard *pKeyboard, gint 
nLayout, gchar **pLanguage, gc
+         *pDescription = g_strdup(pLayout->sDescription);
+     }
+ 
+-    g_free(sId);
++    if (pId != NULL)
++    {
++        *pId = sId;
++    }
++    else
++    {
++        g_free(sId);
++    }
+ }
+ 
+ void keyboard_SetLayout(Keyboard *pKeyboard, gint nLayout)
+diff --git a/src/keyboard.h b/src/keyboard.h
+index 39f822cdf..49c210561 100644
+--- a/src/keyboard.h
++++ b/src/keyboard.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright 2021-2023 Robert Tari <rob...@tari.in>
++ * Copyright 2021-2025 Robert Tari <rob...@tari.in>
+  *
+  * This program is free software: you can redistribute it and/or modify it
+  * under the terms of the GNU General Public License version 3, as published
+@@ -48,7 +48,7 @@ Keyboard* keyboard_new();
+ void keyboard_AddSource(Keyboard *pKeyboard);
+ guint keyboard_GetNumLayouts(Keyboard *pKeyboard);
+ guint keyboard_GetLayoutIndex (Keyboard *pKeyboard);
+-void keyboard_GetLayout(Keyboard *pKeyboard, gint nLayout, gchar **pLanguage, 
gchar **pDescription);
++void keyboard_GetLayout(Keyboard *pKeyboard, gint nLayout, gchar **pLanguage, 
gchar **pDescription, gchar **pId);
+ void keyboard_SetLayout(Keyboard *pKeyboard, gint nLayout);
+ 
+ G_END_DECLS
+diff --git a/src/service.c b/src/service.c
+index 31f6ca3b1..f4b086cc0 100644
+--- a/src/service.c
++++ b/src/service.c
+@@ -31,7 +31,7 @@ static Keyboard* (*m_fnKeyboardNew)();
+ static void (*m_fnKeyboardAddSource)(Keyboard *pKeyboard);
+ static guint (*m_fnKeyboardGetNumLayouts)(Keyboard *pKeyboard);
+ static guint (*m_fnKeyboardGetLayoutIndex)(Keyboard *pKeyboard);
+-static void (*m_fnKeyboardGetLayout)(Keyboard *pKeyboard, gint nLayout, gchar 
**pLanguage, gchar **pDescription);
++static void (*m_fnKeyboardGetLayout)(Keyboard *pKeyboard, gint nLayout, gchar 
**pLanguage, gchar **pDescription, gchar **pId);
+ static void (*m_fnKeyboardSetLayout)(Keyboard *pKeyboard, gint nLayout);
+ 
+ enum
+@@ -121,7 +121,7 @@ static GVariant* 
createHeaderState(IndicatorKeyboardService *self, int nProfile)
+     else
+     {
+         gchar *sLanguage;
+-        m_fnKeyboardGetLayout(self->pPrivate->pKeyboard, -1, &sLanguage, 
NULL);
++        m_fnKeyboardGetLayout(self->pPrivate->pKeyboard, -1, &sLanguage, 
NULL, NULL);
+ 
+         gchar *sIcon = g_strconcat("ayatana-indicator-keyboard-", sLanguage, 
NULL);
+         g_free(sLanguage);
+@@ -158,7 +158,7 @@ static GMenuModel* 
createLayoutSection(IndicatorKeyboardService *self)
+     {
+         gchar *sLanguage;
+         gchar *sDescription;
+-        m_fnKeyboardGetLayout(self->pPrivate->pKeyboard, nLayout, &sLanguage, 
&sDescription);
++        m_fnKeyboardGetLayout(self->pPrivate->pKeyboard, nLayout, &sLanguage, 
&sDescription, NULL);
+         GMenuItem *pItem = g_menu_item_new(sDescription, NULL);
+         g_free(sDescription);
+         g_menu_item_set_action_and_target_value(pItem, "indicator.layout", 
g_variant_new_byte(nLayout));
+@@ -345,17 +345,27 @@ static void onDisplay (GSimpleAction *pAction, GVariant 
*pVariant, gpointer pDat
+     IndicatorKeyboardService *self = INDICATOR_KEYBOARD_SERVICE (pData);
+     guint nLayout = m_fnKeyboardGetLayoutIndex (self->pPrivate->pKeyboard);
+     gchar *sProgram = NULL;
++    gchar *sArgs = NULL;
++    gboolean bMate = ayatana_common_utils_is_mate ();
++    gboolean bLomiri = ayatana_common_utils_is_lomiri ();
+ 
+-    if (ayatana_common_utils_is_mate ())
++    if (bMate)
+     {
+         sProgram = "matekbd-keyboard-display";
++        sArgs = g_strdup_printf ("-g %i", nLayout + 1);
++    }
++    else if (bLomiri)
++    {
++
++        sProgram = "tecla";
++        m_fnKeyboardGetLayout (self->pPrivate->pKeyboard, -1, NULL, NULL, 
&sArgs);
+     }
+     else
+     {
+         sProgram = "gkbd-keyboard-display";
++        sArgs = g_strdup_printf ("-g %i", nLayout + 1);
+     }
+ 
+-    gchar *sArgs = g_strdup_printf ("-g %i", nLayout + 1);
+     ayatana_common_utils_execute_command_warn (sProgram, sArgs);
+     g_free (sArgs);
+ }
diff -Nru ayatana-indicator-keyboard-24.7.2/debian/patches/series 
ayatana-indicator-keyboard-24.7.2/debian/patches/series
--- ayatana-indicator-keyboard-24.7.2/debian/patches/series     2023-02-28 
19:59:35.000000000 +0100
+++ ayatana-indicator-keyboard-24.7.2/debian/patches/series     2025-05-15 
08:59:14.000000000 +0200
@@ -1,2 +1,3 @@
 0001-Try-to-place-the-indicator-in-the-leftmost-position-.patch
 2001_use-keyboard-icon.patch
+0002-Fix-showing-current-layout-on-Lomiri.patch

--- End Message ---
--- Begin Message ---
Unblocked ayatana-indicator-keyboard.

--- End Message ---

Reply via email to