summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/parley/ibus_engine.py6
-rw-r--r--tests/test_ibus_engine.py5
2 files changed, 9 insertions, 2 deletions
diff --git a/src/parley/ibus_engine.py b/src/parley/ibus_engine.py
index 1f80868..9a3ffd3 100644
--- a/src/parley/ibus_engine.py
+++ b/src/parley/ibus_engine.py
@@ -93,8 +93,12 @@ class IBusIntegration:
if not self._processing or engine is None:
return
message = f"{self.SPINNER_FRAMES[self._spinner_frame]} Transcribing…"
+ text = IBus.Text.new_from_string(message)
+ text.append_attribute(
+ IBus.AttrType.UNDERLINE, IBus.AttrUnderline.NONE, 0, len(message)
+ )
engine.update_preedit_text_with_mode(
- IBus.Text.new_from_string(message),
+ text,
len(message),
True,
IBus.PreeditFocusMode.CLEAR,
diff --git a/tests/test_ibus_engine.py b/tests/test_ibus_engine.py
index 18be819..cb4f253 100644
--- a/tests/test_ibus_engine.py
+++ b/tests/test_ibus_engine.py
@@ -1,7 +1,7 @@
import unittest
from unittest.mock import MagicMock, patch
-from parley.ibus_engine import IBusIntegration, ParleyIBusEngine
+from parley.ibus_engine import IBus, IBusIntegration, ParleyIBusEngine
class IBusSpinnerTests(unittest.TestCase):
@@ -24,6 +24,9 @@ class IBusSpinnerTests(unittest.TestCase):
arguments = self.engine.update_preedit_text_with_mode.call_args.args
self.assertEqual(arguments[0].get_text(), "⠋ Transcribing…")
+ underline = arguments[0].get_attributes().get(0)
+ self.assertEqual(underline.get_attr_type(), IBus.AttrType.UNDERLINE)
+ self.assertEqual(underline.get_value(), IBus.AttrUnderline.NONE)
self.assertTrue(arguments[2])
timeout_add.assert_called_once_with(120, self.integration._advance_spinner)