Add icon tag in ibus-anthy.appdata.xml.in
- Enable IBus.Engine::has-focus-id property - Add the escape_to_latin command as a vi-cooperative cancel
This commit is contained in:
		
							parent
							
								
									d708323a12
								
							
						
					
					
						commit
						6431ac298a
					
				| @ -77,3 +77,292 @@ index 88b19b8..3e82f2e 100644 | |||||||
| -- 
 | -- 
 | ||||||
| 2.34.1 | 2.34.1 | ||||||
| 
 | 
 | ||||||
|  | From 2e9f751c45f1002a75e44daa200a379808479e9f Mon Sep 17 00:00:00 2001 | ||||||
|  | From: fujiwarat <takao.fujiwara1@gmail.com> | ||||||
|  | Date: Tue, 2 Aug 2022 11:14:48 +0900 | ||||||
|  | Subject: [PATCH] data: Add icon tag in ibus-anthy.appdata.xml.in | ||||||
|  | 
 | ||||||
|  | ---
 | ||||||
|  |  data/ibus-anthy.appdata.xml.in |  22 +++++ | ||||||
|  |  1 files changed, 103 insertions(+), 77 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/data/ibus-anthy.appdata.xml.in b/data/ibus-anthy.appdata.xml.in
 | ||||||
|  | index 8f246e9..be67f9d 100644
 | ||||||
|  | --- a/data/ibus-anthy.appdata.xml.in
 | ||||||
|  | +++ b/data/ibus-anthy.appdata.xml.in
 | ||||||
|  | @@ -1,10 +1,12 @@
 | ||||||
|  |  <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | +<!-- https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html -->
 | ||||||
|  |  <component type="inputmethod"> | ||||||
|  |    <id>org.freedesktop.ibus.engine.anthy</id> | ||||||
|  |    <metadata_license>GFDL-1.3</metadata_license> | ||||||
|  |    <project_license>GPL-2.0</project_license> | ||||||
|  |    <name translatable="no">Anthy</name> | ||||||
|  |    <summary>Japanese input method</summary> | ||||||
|  | +  <icon type="local">/usr/share/icons/hicolor/scalable/apps/ibus-anthy.svg</icon>
 | ||||||
|  |    <description> | ||||||
|  |      <p> | ||||||
|  |        The Anthy input method is designed for entering Japanese text. | ||||||
|  | @@ -15,9 +17,29 @@
 | ||||||
|  |        out on a traditional keyboard. | ||||||
|  |      </p> | ||||||
|  |    </description> | ||||||
|  | +  <keywords>
 | ||||||
|  | +    <keyword>input-method</keyword>
 | ||||||
|  | +    <keyword>Japanese</keyword>
 | ||||||
|  | +  </keywords>
 | ||||||
|  |    <url type="homepage">https://github.com/ibus/ibus/wiki</url> | ||||||
|  |    <url type="bugtracker">https://github.com/ibus/ibus-anthy/issues</url> | ||||||
|  |    <url type="help">https://github.com/ibus/ibus/wiki/FAQ</url> | ||||||
|  | +  <url type="translate">https://translate.fedoraproject.org/projects/ibus/ibus-anthy/</url>
 | ||||||
|  | +  <releases>
 | ||||||
|  | +    <release version="latest">
 | ||||||
|  | +      <description>
 | ||||||
|  | +        <p>See the upstream release list.</p>
 | ||||||
|  | +      </description>
 | ||||||
|  | +      <url>https://github.com/ibus/ibus-anthy/releases</url>
 | ||||||
|  | +    </release>
 | ||||||
|  | +  </releases>
 | ||||||
|  | +  <compulsory_for_desktop>IBus</compulsory_for_desktop>
 | ||||||
|  | +  <screenshots>
 | ||||||
|  | +    <screenshot type="default">
 | ||||||
|  | +      <caption>The Anthy input method is designed for entering Japanese text.</caption>
 | ||||||
|  | +      <image type="source" width="236" height="200">https://camo.githubusercontent.com/3646c511fba557137a316be913f01fc3114e0db9c990acdfa18c29f52b5a6538/687474703a2f2f696275732e6769746875622e696f2f696d616765732f322e706e67#/ibus-anthy.jpg</image>
 | ||||||
|  | +    </screenshot>
 | ||||||
|  | +  </screenshots>
 | ||||||
|  |    <translation type="gettext">ibus-anthy</translation> | ||||||
|  |    <update_contact>tfujiwar_AT_redhat.com</update_contact> | ||||||
|  |  </component> | ||||||
|  | -- 
 | ||||||
|  | 2.35.3 | ||||||
|  | 
 | ||||||
|  | From 8aed07707fba1b7fafed73227916718458409c29 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: fujiwarat <takao.fujiwara1@gmail.com> | ||||||
|  | Date: Wed, 3 Aug 2022 07:38:28 +0900 | ||||||
|  | Subject: [PATCH] engine: Enable IBus.Engine::has-focus-id property | ||||||
|  | 
 | ||||||
|  | IBusEngineClass::has-focus-id propery has been available | ||||||
|  | since IBus 1.5.27 | ||||||
|  | IBusEngineClass::focus_in_id() class method is used instead of | ||||||
|  | IBusEngineClass::focus_id() one in case has-focus-id is %TRUE | ||||||
|  | and object_path and client name are available with the class method. | ||||||
|  | ---
 | ||||||
|  |  engine/python2/engine.py | 22 +++++++++++++++++----- | ||||||
|  |  engine/python3/engine.py | 22 +++++++++++++++++----- | ||||||
|  |  2 files changed, 34 insertions(+), 10 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/engine/python2/engine.py b/engine/python2/engine.py
 | ||||||
|  | index 2fb47b5..d97314a 100644
 | ||||||
|  | --- a/engine/python2/engine.py
 | ||||||
|  | +++ b/engine/python2/engine.py
 | ||||||
|  | @@ -4,7 +4,7 @@
 | ||||||
|  |  # ibus-anthy - The Anthy engine for IBus | ||||||
|  |  # | ||||||
|  |  # Copyright (c) 2007-2008 Peng Huang <shawn.p.huang@gmail.com> | ||||||
|  | -# Copyright (c) 2010-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
 | ||||||
|  | +# Copyright (c) 2010-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
 | ||||||
|  |  # Copyright (c) 2007-2018 Red Hat, Inc. | ||||||
|  |  # | ||||||
|  |  # This program is free software; you can redistribute it and/or modify | ||||||
|  | @@ -127,9 +127,15 @@ class Engine(IBus.EngineSimple):
 | ||||||
|  |      __latin_with_shift = True | ||||||
|  |   | ||||||
|  |      def __init__(self, bus, object_path): | ||||||
|  | -        super(Engine, self).__init__(engine_name="anthy",
 | ||||||
|  | -                                     connection=bus.get_connection(),
 | ||||||
|  | -                                     object_path=object_path)
 | ||||||
|  | +        if hasattr(IBus.Engine.props, 'has_focus_id'):
 | ||||||
|  | +            super(Engine, self).__init__(engine_name="anthy",
 | ||||||
|  | +                                         connection=bus.get_connection(),
 | ||||||
|  | +                                         object_path=object_path,
 | ||||||
|  | +                                         has_focus_id=True)
 | ||||||
|  | +        else:
 | ||||||
|  | +            super(Engine, self).__init__(engine_name="anthy",
 | ||||||
|  | +                                         connection=bus.get_connection(),
 | ||||||
|  | +                                         object_path=object_path)
 | ||||||
|  |   | ||||||
|  |          self.add_table_by_locale(None) | ||||||
|  |          # create anthy context | ||||||
|  | @@ -1048,6 +1054,12 @@ class Engine(IBus.EngineSimple):
 | ||||||
|  |          return self.__argb(255, r, g, b) | ||||||
|  |   | ||||||
|  |      def do_focus_in(self): | ||||||
|  | +        self.do_focus_in_id(None, None)
 | ||||||
|  | +
 | ||||||
|  | +    def do_focus_out(self):
 | ||||||
|  | +        self.do_focus_out_id(None)
 | ||||||
|  | +
 | ||||||
|  | +    def do_focus_in_id(self, object_path, client):
 | ||||||
|  |          self.register_properties(self.__prop_list) | ||||||
|  |          self.__refresh_typing_mode_property() | ||||||
|  |          mode = self.__prefs.get_value('common', 'behavior-on-focus-out') | ||||||
|  | @@ -1059,7 +1071,7 @@ class Engine(IBus.EngineSimple):
 | ||||||
|  |          if size != self.__lookup_table.get_page_size(): | ||||||
|  |              self.__lookup_table.set_page_size(size) | ||||||
|  |   | ||||||
|  | -    def do_focus_out(self):
 | ||||||
|  | +    def do_focus_out_id(self, object_path):
 | ||||||
|  |          if self.__has_input_purpose: | ||||||
|  |              self.__input_purpose = 0 | ||||||
|  |          mode = self.__prefs.get_value('common', 'behavior-on-focus-out') | ||||||
|  | diff --git a/engine/python3/engine.py b/engine/python3/engine.py
 | ||||||
|  | index df4e20d..34b7f9f 100644
 | ||||||
|  | --- a/engine/python3/engine.py
 | ||||||
|  | +++ b/engine/python3/engine.py
 | ||||||
|  | @@ -4,7 +4,7 @@
 | ||||||
|  |  # ibus-anthy - The Anthy engine for IBus | ||||||
|  |  # | ||||||
|  |  # Copyright (c) 2007-2008 Peng Huang <shawn.p.huang@gmail.com> | ||||||
|  | -# Copyright (c) 2010-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
 | ||||||
|  | +# Copyright (c) 2010-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
 | ||||||
|  |  # Copyright (c) 2007-2018 Red Hat, Inc. | ||||||
|  |  # | ||||||
|  |  # This program is free software; you can redistribute it and/or modify | ||||||
|  | @@ -128,9 +128,15 @@ class Engine(IBus.EngineSimple):
 | ||||||
|  |      __latin_with_shift = True | ||||||
|  |   | ||||||
|  |      def __init__(self, bus, object_path): | ||||||
|  | -        super(Engine, self).__init__(engine_name="anthy",
 | ||||||
|  | -                                     connection=bus.get_connection(),
 | ||||||
|  | -                                     object_path=object_path)
 | ||||||
|  | +        if hasattr(IBus.Engine.props, 'has_focus_id'):
 | ||||||
|  | +            super(Engine, self).__init__(engine_name="anthy",
 | ||||||
|  | +                                         connection=bus.get_connection(),
 | ||||||
|  | +                                         object_path=object_path,
 | ||||||
|  | +                                         has_focus_id=True)
 | ||||||
|  | +        else:
 | ||||||
|  | +            super(Engine, self).__init__(engine_name="anthy",
 | ||||||
|  | +                                         connection=bus.get_connection(),
 | ||||||
|  | +                                         object_path=object_path)
 | ||||||
|  |   | ||||||
|  |          self.add_table_by_locale(None) | ||||||
|  |          # create anthy context | ||||||
|  | @@ -1043,6 +1049,12 @@ class Engine(IBus.EngineSimple):
 | ||||||
|  |          return self.__argb(255, r, g, b) | ||||||
|  |   | ||||||
|  |      def do_focus_in(self): | ||||||
|  | +        self.do_focus_in_id(None, None)
 | ||||||
|  | +
 | ||||||
|  | +    def do_focus_out(self):
 | ||||||
|  | +        self.do_focus_out_id(None)
 | ||||||
|  | +
 | ||||||
|  | +    def do_focus_in_id(self, object_path, client):
 | ||||||
|  |          self.register_properties(self.__prop_list) | ||||||
|  |          self.__refresh_typing_mode_property() | ||||||
|  |          mode = self.__prefs.get_value('common', 'behavior-on-focus-out') | ||||||
|  | @@ -1054,7 +1066,7 @@ class Engine(IBus.EngineSimple):
 | ||||||
|  |          if size != self.__lookup_table.get_page_size(): | ||||||
|  |              self.__lookup_table.set_page_size(size) | ||||||
|  |   | ||||||
|  | -    def do_focus_out(self):
 | ||||||
|  | +    def do_focus_out_id(self, object_path):
 | ||||||
|  |          if self.__has_input_purpose: | ||||||
|  |              self.__input_purpose = 0 | ||||||
|  |          mode = self.__prefs.get_value('common', 'behavior-on-focus-out') | ||||||
|  | -- 
 | ||||||
|  | 2.35.3 | ||||||
|  | 
 | ||||||
|  | From debc427fad513063cf251a1668584a198c692bd6 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Mangano?= <fmang@mg0.fr> | ||||||
|  | Date: Wed, 3 Aug 2022 07:38:59 +0900 | ||||||
|  | Subject: [PATCH] Add the escape_to_latin command as a vi-cooperative cancel (#29) | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Type: text/plain; charset=UTF-8 | ||||||
|  | Content-Transfer-Encoding: 8bit | ||||||
|  | 
 | ||||||
|  | When writing Japanese in Vim, everytime I switch from Insert mode back to | ||||||
|  | Normal mode, I need to also switch back the IBus input mode to Latin or | ||||||
|  | else Vim won’t take any of my input. This is kind fo annoying as key | ||||||
|  | sequences like `<Esc>:w` easily get wired into muscle memory. | ||||||
|  | 
 | ||||||
|  | For comparison, uim has got a vi-cooperative mode for that use case. See | ||||||
|  | <https://blog.myon.info/entry/2014/04/14/entry/> for illustration. | ||||||
|  | 
 | ||||||
|  | Here’s a new command which, when converting, behaves like cancel, but | ||||||
|  | otherwise switches to Latin and sends the Escape key. To make IBus | ||||||
|  | vi-cooperative, a user can map the Escape key to escape_to_latin instead | ||||||
|  | of cancel. | ||||||
|  | ---
 | ||||||
|  |  engine/python2/engine.py    | 14 ++++++++++++++ | ||||||
|  |  engine/python3/engine.py    | 14 ++++++++++++++ | ||||||
|  |  setup/python2/anthyprefs.py |  1 + | ||||||
|  |  setup/python3/anthyprefs.py |  1 + | ||||||
|  |  4 files changed, 30 insertions(+) | ||||||
|  | 
 | ||||||
|  | diff --git a/engine/python2/engine.py b/engine/python2/engine.py
 | ||||||
|  | index d97314a..218b485 100644
 | ||||||
|  | --- a/engine/python2/engine.py
 | ||||||
|  | +++ b/engine/python2/engine.py
 | ||||||
|  | @@ -2333,6 +2333,20 @@ class Engine(IBus.EngineSimple):
 | ||||||
|  |              self.__invalidate() | ||||||
|  |              return True | ||||||
|  |   | ||||||
|  | +    def __cmd_escape_to_latin(self, keyval, state):
 | ||||||
|  | +        """
 | ||||||
|  | +        Vi-cooperative variant of cancel_all. When Vi users press Escape, they
 | ||||||
|  | +        expect to return to Normal mode where an IME would not make sense. This
 | ||||||
|  | +        command automatically switches back to Latin when sending Escape. When
 | ||||||
|  | +        converting, Escape will cancel the conversion instead.
 | ||||||
|  | +        """
 | ||||||
|  | +        if self._chk_mode('0'):
 | ||||||
|  | +            if Engine.__input_mode != INPUT_MODE_LATIN:
 | ||||||
|  | +                self.__cmd_latin_mode(keyval, state)
 | ||||||
|  | +            return False
 | ||||||
|  | +        else:
 | ||||||
|  | +            return self.__cmd_cancel_all(keyval, state)
 | ||||||
|  | +
 | ||||||
|  |      def __cmd_reconvert(self, keyval, state): | ||||||
|  |          if not self.__preedit_ja_string.is_empty(): | ||||||
|  |              # if user has inputed some chars | ||||||
|  | diff --git a/engine/python3/engine.py b/engine/python3/engine.py
 | ||||||
|  | index 34b7f9f..abb9c02 100644
 | ||||||
|  | --- a/engine/python3/engine.py
 | ||||||
|  | +++ b/engine/python3/engine.py
 | ||||||
|  | @@ -2327,6 +2327,20 @@ class Engine(IBus.EngineSimple):
 | ||||||
|  |              self.__invalidate() | ||||||
|  |              return True | ||||||
|  |   | ||||||
|  | +    def __cmd_escape_to_latin(self, keyval, state):
 | ||||||
|  | +        """
 | ||||||
|  | +        Vi-cooperative variant of cancel_all. When Vi users press Escape, they
 | ||||||
|  | +        expect to return to Normal mode where an IME would not make sense. This
 | ||||||
|  | +        command automatically switches back to Latin when sending Escape. When
 | ||||||
|  | +        converting, Escape will cancel the conversion instead.
 | ||||||
|  | +        """
 | ||||||
|  | +        if self._chk_mode('0'):
 | ||||||
|  | +            if Engine.__input_mode != INPUT_MODE_LATIN:
 | ||||||
|  | +                self.__cmd_latin_mode(keyval, state)
 | ||||||
|  | +            return False
 | ||||||
|  | +        else:
 | ||||||
|  | +            return self.__cmd_cancel_all(keyval, state)
 | ||||||
|  | +
 | ||||||
|  |      def __cmd_reconvert(self, keyval, state): | ||||||
|  |          if not self.__preedit_ja_string.is_empty(): | ||||||
|  |              # if user has inputed some chars | ||||||
|  | diff --git a/setup/python2/anthyprefs.py b/setup/python2/anthyprefs.py
 | ||||||
|  | index 5e3bade..c614491 100644
 | ||||||
|  | --- a/setup/python2/anthyprefs.py
 | ||||||
|  | +++ b/setup/python2/anthyprefs.py
 | ||||||
|  | @@ -276,6 +276,7 @@ _cmd_keys = [
 | ||||||
|  |      'predict', | ||||||
|  |      'cancel', | ||||||
|  |      'cancel_all', | ||||||
|  | +    'escape_to_latin',
 | ||||||
|  |      'reconvert', | ||||||
|  |  #    'do_nothing', | ||||||
|  |   | ||||||
|  | diff --git a/setup/python3/anthyprefs.py b/setup/python3/anthyprefs.py
 | ||||||
|  | index 33b2a31..404aa09 100644
 | ||||||
|  | --- a/setup/python3/anthyprefs.py
 | ||||||
|  | +++ b/setup/python3/anthyprefs.py
 | ||||||
|  | @@ -269,6 +269,7 @@ _cmd_keys = [
 | ||||||
|  |      'predict', | ||||||
|  |      'cancel', | ||||||
|  |      'cancel_all', | ||||||
|  | +    'escape_to_latin',
 | ||||||
|  |      'reconvert', | ||||||
|  |  #    'do_nothing', | ||||||
|  |   | ||||||
|  | -- 
 | ||||||
|  | 2.35.3 | ||||||
|  | 
 | ||||||
|  | |||||||
| @ -18,7 +18,7 @@ | |||||||
| 
 | 
 | ||||||
| Name:           ibus-anthy | Name:           ibus-anthy | ||||||
| Version:        1.5.14 | Version:        1.5.14 | ||||||
| Release:        5%{?dist} | Release:        6%{?dist} | ||||||
| Summary:        The Anthy engine for IBus input platform | Summary:        The Anthy engine for IBus input platform | ||||||
| License:        GPLv2+ | License:        GPLv2+ | ||||||
| URL:            https://github.com/ibus/ibus/wiki | URL:            https://github.com/ibus/ibus/wiki | ||||||
| @ -156,6 +156,11 @@ make -C data check | |||||||
| %{_datadir}/installed-tests/%{name} | %{_datadir}/installed-tests/%{name} | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Wed Aug 03 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.14-6 | ||||||
|  | - Add icon tag in ibus-anthy.appdata.xml.in | ||||||
|  | - Enable IBus.Engine::has-focus-id property | ||||||
|  | - Add the escape_to_latin command as a vi-cooperative cancel | ||||||
|  | 
 | ||||||
| * Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.14-5 | * Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.14-5 | ||||||
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild | - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user