From ac85804f9cafe0949b32f5cf3fea94bf5a6e95ec Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Sun, 10 Aug 2008 11:49:30 +0000 Subject: [PATCH 001/202] Import ibus-anthy. --- .cvsignore | 1 + ibus-anthy.spec | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ import.log | 1 + sources | 1 + 4 files changed, 63 insertions(+) create mode 100644 ibus-anthy.spec create mode 100644 import.log diff --git a/.cvsignore b/.cvsignore index e69de29..8e98dce 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +ibus-anthy-0.1.0.20080810.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec new file mode 100644 index 0000000..bfeeb4b --- /dev/null +++ b/ibus-anthy.spec @@ -0,0 +1,60 @@ +%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%define mod_path ibus-0.1 +Name: ibus-anthy +Version: 0.1.0.20080810 +Release: 1%{?dist} +Summary: The Anthy engine for IBus input platform +License: GPLv2+ +Group: System Environment/Libraries +URL: http://code.google.com/p/ibus/ +Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: gettext-devel +BuildRequires: libtool +BuildRequires: python-devel +BuildRequires: anthy-devel +BuildRequires: swig +BuildRequires: pkgconfig + +Requires: ibus +Requires: anthy + +%description +The Anthy engine for IBus platform. It provides Japanese input method from +libanthy. + +%prep +%setup -q + +%build +%configure --disable-static +# make -C po update-gmo +make %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=${RPM_BUILD_ROOT} install +rm -f $RPM_BUILD_ROOT%{python_sitearch}/_anthy.la + +# %find_lang %{name} + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +# -f %{name}.lang +%defattr(-,root,root,-) +%doc AUTHORS COPYING README +# %dir %{python_sitearch}/ibus +%{python_sitearch}/anthy.py* +%{python_sitearch}/_anthy.so +%dir %{_datadir}/ibus-anthy +%{_libexecdir}/ibus-engine-anthy +%{_datadir}/ibus-anthy/* +%{_datadir}/ibus/engine/anthy.engine + +%changelog +* Fri Aug 08 2008 Huang Peng - 0.1.0.20080810-1 +- The first version. diff --git a/import.log b/import.log new file mode 100644 index 0000000..992e2a5 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +ibus-anthy-0_1_0_20080810-1_fc9:HEAD:ibus-anthy-0.1.0.20080810-1.fc9.src.rpm:1218369099 diff --git a/sources b/sources index e69de29..1f757d9 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +1179f6b2f8d00142530e9ba4d5769394 ibus-anthy-0.1.0.20080810.tar.gz From 96d5a74d031ceede0a6f59f0f4b58192c1059ee8 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Tue, 12 Aug 2008 07:28:08 +0000 Subject: [PATCH 002/202] Update to 0.1.1.20080812 --- .cvsignore | 2 +- ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 8e98dce..2ff1348 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.0.20080810.tar.gz +ibus-anthy-0.1.1.20080812.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index bfeeb4b..f2352a1 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-0.1 Name: ibus-anthy -Version: 0.1.0.20080810 +Version: 0.1.1.20080812 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -56,5 +56,8 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/engine/anthy.engine %changelog +* Thu Aug 12 2008 Huang Peng - 0.1.1.20080812-1 +- Update to 0.1.1.20080812. + * Fri Aug 08 2008 Huang Peng - 0.1.0.20080810-1 - The first version. diff --git a/sources b/sources index 1f757d9..e68beba 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1179f6b2f8d00142530e9ba4d5769394 ibus-anthy-0.1.0.20080810.tar.gz +ae671a4e79afb8d2360eab67d1db40e3 ibus-anthy-0.1.1.20080812.tar.gz From 7d3780304bc1c057c4b2aac1064990788d9ccb96 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Fri, 15 Aug 2008 04:01:59 +0000 Subject: [PATCH 003/202] Update to 0.1.1.20080815 --- .cvsignore | 2 +- ibus-anthy.spec | 12 +++++++----- sources | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.cvsignore b/.cvsignore index 2ff1348..57baede 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.1.20080812.tar.gz +ibus-anthy-0.1.1.20080815.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index f2352a1..b31caa8 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-0.1 Name: ibus-anthy -Version: 0.1.1.20080812 +Version: 0.1.1.20080815 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -38,24 +38,26 @@ rm -rf $RPM_BUILD_ROOT make DESTDIR=${RPM_BUILD_ROOT} install rm -f $RPM_BUILD_ROOT%{python_sitearch}/_anthy.la -# %find_lang %{name} +%find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT -%files -# -f %{name}.lang +%files -f %{name}.lang %defattr(-,root,root,-) %doc AUTHORS COPYING README # %dir %{python_sitearch}/ibus %{python_sitearch}/anthy.py* %{python_sitearch}/_anthy.so %dir %{_datadir}/ibus-anthy -%{_libexecdir}/ibus-engine-anthy +%{_bindir}/ibus-engine-anthy %{_datadir}/ibus-anthy/* %{_datadir}/ibus/engine/anthy.engine %changelog +* Fri Aug 15 2008 Huang Peng - 0.1.1.20080815-1 +- Update to 0.1.1.20080815. + * Thu Aug 12 2008 Huang Peng - 0.1.1.20080812-1 - Update to 0.1.1.20080812. diff --git a/sources b/sources index e68beba..9db05d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ae671a4e79afb8d2360eab67d1db40e3 ibus-anthy-0.1.1.20080812.tar.gz +9878844dfcd41d7d6718993a32940f22 ibus-anthy-0.1.1.20080815.tar.gz From 4eccb81d72a522bfa510541773b7e51ef5879164 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Sat, 23 Aug 2008 01:30:16 +0000 Subject: [PATCH 004/202] Update to 0.1.1.20080823 --- .cvsignore | 2 +- ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 57baede..91d099d 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.1.20080815.tar.gz +ibus-anthy-0.1.1.20080823.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index b31caa8..f61675f 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-0.1 Name: ibus-anthy -Version: 0.1.1.20080815 +Version: 0.1.1.20080823 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -55,6 +55,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/engine/anthy.engine %changelog +* Sat Aug 23 2008 Huang Peng - 0.1.1.20080823-1 +- Update to 0.1.1.20080823. + * Fri Aug 15 2008 Huang Peng - 0.1.1.20080815-1 - Update to 0.1.1.20080815. diff --git a/sources b/sources index 9db05d0..d48f323 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9878844dfcd41d7d6718993a32940f22 ibus-anthy-0.1.1.20080815.tar.gz +070a5721dd263f7de66a77470cd1d9e0 ibus-anthy-0.1.1.20080823.tar.gz From 48abb261227988dff9b81dda74cb6d5edf51c94a Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Tue, 26 Aug 2008 12:22:21 +0000 Subject: [PATCH 005/202] Update to 0.1.1.20080826 --- .cvsignore | 2 +- ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 91d099d..1a9645e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.1.20080823.tar.gz +ibus-anthy-0.1.1.20080826.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index f61675f..50a4647 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-0.1 Name: ibus-anthy -Version: 0.1.1.20080823 +Version: 0.1.1.20080826 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -55,6 +55,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/engine/anthy.engine %changelog +* Tue Aug 26 2008 Huang Peng - 0.1.1.20080826-1 +- Update to 0.1.1.20080826. + * Sat Aug 23 2008 Huang Peng - 0.1.1.20080823-1 - Update to 0.1.1.20080823. diff --git a/sources b/sources index d48f323..f38fcc7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -070a5721dd263f7de66a77470cd1d9e0 ibus-anthy-0.1.1.20080823.tar.gz +d110219902a0fdfe185dcfd85a61d866 ibus-anthy-0.1.1.20080826.tar.gz From 46523fec80dc94ace8a8a00731cad3790fa637f8 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Wed, 27 Aug 2008 11:41:45 +0000 Subject: [PATCH 006/202] Update to 0.1.1.20080827 --- .cvsignore | 2 +- ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 1a9645e..0080344 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.1.20080826.tar.gz +ibus-anthy-0.1.1.20080827.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 50a4647..53a5310 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-0.1 Name: ibus-anthy -Version: 0.1.1.20080826 +Version: 0.1.1.20080827 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -55,6 +55,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/engine/anthy.engine %changelog +* Wed Aug 27 2008 Huang Peng - 0.1.1.20080827-1 +- Update to 0.1.1.20080827. + * Tue Aug 26 2008 Huang Peng - 0.1.1.20080826-1 - Update to 0.1.1.20080826. diff --git a/sources b/sources index f38fcc7..0fbdfa1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d110219902a0fdfe185dcfd85a61d866 ibus-anthy-0.1.1.20080826.tar.gz +7983e63d1d0fb26a182c2f4d77c206b1 ibus-anthy-0.1.1.20080827.tar.gz From 9f4e9f50e862cb80af5cce2c699fda03c47f9059 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Thu, 28 Aug 2008 09:13:43 +0000 Subject: [PATCH 007/202] Update to 0.1.1.20080828 --- .cvsignore | 2 +- ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 0080344..cf411d9 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.1.20080827.tar.gz +ibus-anthy-0.1.1.20080828.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 53a5310..b745439 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-0.1 Name: ibus-anthy -Version: 0.1.1.20080827 +Version: 0.1.1.20080828 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -55,6 +55,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/engine/anthy.engine %changelog +* Thu Aug 28 2008 Huang Peng - 0.1.1.20080828-1 +- Update to 0.1.1.20080828. + * Wed Aug 27 2008 Huang Peng - 0.1.1.20080827-1 - Update to 0.1.1.20080827. diff --git a/sources b/sources index 0fbdfa1..b4235b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7983e63d1d0fb26a182c2f4d77c206b1 ibus-anthy-0.1.1.20080827.tar.gz +979295c1610dd182d5cb5a50d2103383 ibus-anthy-0.1.1.20080828.tar.gz From 73f8b79b35d9d76274af0e2896c14cb8ea1fc2bf Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Mon, 1 Sep 2008 00:14:22 +0000 Subject: [PATCH 008/202] Update to 0.1.1.20080901 --- .cvsignore | 2 +- ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index cf411d9..7aec7ac 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.1.20080828.tar.gz +ibus-anthy-0.1.1.20080901.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index b745439..c09a688 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-0.1 Name: ibus-anthy -Version: 0.1.1.20080828 +Version: 0.1.1.20080901 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -55,6 +55,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/engine/anthy.engine %changelog +* Mon Sep 01 2008 Huang Peng - 0.1.1.20080901-1 +- Update to 0.1.1.20080901. + * Thu Aug 28 2008 Huang Peng - 0.1.1.20080828-1 - Update to 0.1.1.20080828. diff --git a/sources b/sources index b4235b3..ad881b6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -979295c1610dd182d5cb5a50d2103383 ibus-anthy-0.1.1.20080828.tar.gz +6e4273996b500ead4ed539d180a6c7af ibus-anthy-0.1.1.20080901.tar.gz From 5781e34a6abf8e2a3ce4a30288062c66a2ff1e85 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Fri, 12 Sep 2008 08:54:20 +0000 Subject: [PATCH 009/202] Update to 0.1.1.20080912 --- .cvsignore | 2 +- ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 7aec7ac..56882c0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.1.20080901.tar.gz +ibus-anthy-0.1.1.20080912.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index c09a688..62f119c 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-0.1 Name: ibus-anthy -Version: 0.1.1.20080901 +Version: 0.1.1.20080912 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -55,6 +55,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/engine/anthy.engine %changelog +* Fri Sep 12 2008 Huang Peng - 0.1.1.20080912-1 +- Update to 0.1.1.20080912. + * Mon Sep 01 2008 Huang Peng - 0.1.1.20080901-1 - Update to 0.1.1.20080901. diff --git a/sources b/sources index ad881b6..270807e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6e4273996b500ead4ed539d180a6c7af ibus-anthy-0.1.1.20080901.tar.gz +a476baf046e2db0290c30bcaee586c7d ibus-anthy-0.1.1.20080912.tar.gz From 27587901883107e70ef8decfb4bad30c3ea782bc Mon Sep 17 00:00:00 2001 From: Ignacio Vazquez-Abrams Date: Sat, 29 Nov 2008 16:47:52 +0000 Subject: [PATCH 010/202] Rebuild for Python 2.6 --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 62f119c..5418ec7 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,7 +2,7 @@ %define mod_path ibus-0.1 Name: ibus-anthy Version: 0.1.1.20080912 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -55,6 +55,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/engine/anthy.engine %changelog +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20080912-2 +- Rebuild for Python 2.6 + * Fri Sep 12 2008 Huang Peng - 0.1.1.20080912-1 - Update to 0.1.1.20080912. From 8fd7a23da3cce0e71f0a5a747e1e6891217e2bec Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Tue, 3 Feb 2009 06:05:28 +0000 Subject: [PATCH 011/202] update to 0.1.1.20090203 --- .cvsignore | 2 +- ibus-anthy.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 56882c0..8907740 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.1.20080912.tar.gz +ibus-anthy-0.1.1.20090203.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 5418ec7..fade1b4 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-0.1 Name: ibus-anthy -Version: 0.1.1.20080912 -Release: 2%{?dist} +Version: 0.1.1.20090203 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -55,6 +55,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/engine/anthy.engine %changelog +* Tue Feb 03 2009 Huang Peng - 0.1.1.20090203-1 +- Update to 0.1.1.20090203. + * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20080912-2 - Rebuild for Python 2.6 diff --git a/sources b/sources index 270807e..3563afc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a476baf046e2db0290c30bcaee586c7d ibus-anthy-0.1.1.20080912.tar.gz +bad4cb5373eeb203bbea72d8ac06fa21 ibus-anthy-0.1.1.20090203.tar.gz From 1c12f9414fd12b1cbe41f10e14ca73df7177300b Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Thu, 5 Feb 2009 07:45:04 +0000 Subject: [PATCH 012/202] update to 1.1.0.20090205 --- .cvsignore | 2 +- ibus-anthy.spec | 14 ++++++++------ sources | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.cvsignore b/.cvsignore index 8907740..073b863 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-0.1.1.20090203.tar.gz +ibus-anthy-1.1.0.20090205.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index fade1b4..18f315e 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%define mod_path ibus-0.1 +%define mod_path ibus-1.1 Name: ibus-anthy -Version: 0.1.1.20090203 +Version: 1.1.0.20090205 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -49,12 +49,14 @@ rm -rf $RPM_BUILD_ROOT # %dir %{python_sitearch}/ibus %{python_sitearch}/anthy.py* %{python_sitearch}/_anthy.so -%dir %{_datadir}/ibus-anthy -%{_bindir}/ibus-engine-anthy -%{_datadir}/ibus-anthy/* -%{_datadir}/ibus/engine/anthy.engine +%{_libexecdir}/ibus-engine-anthy +%{_datadir}/ibus-anthy +%{_datadir}/ibus/component/* %changelog +* Thu Feb 05 2009 Huang Peng - 1.1.0.20090205-1 +- Update to 1.1.0.20090205. + * Tue Feb 03 2009 Huang Peng - 0.1.1.20090203-1 - Update to 0.1.1.20090203. diff --git a/sources b/sources index 3563afc..854c345 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bad4cb5373eeb203bbea72d8ac06fa21 ibus-anthy-0.1.1.20090203.tar.gz +a41e121183610c2feffdd2ca470f6365 ibus-anthy-1.1.0.20090205.tar.gz From b293268ba535785d81bbe0fc83991f499eb08446 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Wed, 11 Feb 2009 07:35:46 +0000 Subject: [PATCH 013/202] Update to 1.1.0.20090211 --- .cvsignore | 2 +- ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 073b863..05e68bd 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-1.1.0.20090205.tar.gz +ibus-anthy-1.1.0.20090211.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 18f315e..6e76419 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-1.1 Name: ibus-anthy -Version: 1.1.0.20090205 +Version: 1.1.0.20090211 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -54,6 +54,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Wed Feb 11 2009 Huang Peng - 1.1.0.20090211-1 +- Update to 1.1.0.20090211. + * Thu Feb 05 2009 Huang Peng - 1.1.0.20090205-1 - Update to 1.1.0.20090205. diff --git a/sources b/sources index 854c345..cc85a8e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a41e121183610c2feffdd2ca470f6365 ibus-anthy-1.1.0.20090205.tar.gz +860b8319ec95ce45d654a1b74e706a76 ibus-anthy-1.1.0.20090211.tar.gz From 0ad559a5575f1f353924fd307918d4367350f36e Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Wed, 25 Feb 2009 06:29:22 +0000 Subject: [PATCH 014/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 6e76419..4aeba66 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,7 +2,7 @@ %define mod_path ibus-1.1 Name: ibus-anthy Version: 1.1.0.20090211 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -54,6 +54,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Tue Feb 24 2009 Fedora Release Engineering - 1.1.0.20090211-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Wed Feb 11 2009 Huang Peng - 1.1.0.20090211-1 - Update to 1.1.0.20090211. From 53f9b8f601de911e69ba2c0f11f9364295259d08 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Thu, 2 Apr 2009 07:46:34 +0000 Subject: [PATCH 015/202] Update to ibus-anthy-1.1.0.20090402 --- .cvsignore | 2 +- ibus-anthy.spec | 10 ++++++++-- sources | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 05e68bd..06dc1ec 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-1.1.0.20090211.tar.gz +ibus-anthy-1.1.0.20090402.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 4aeba66..0652850 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-1.1 Name: ibus-anthy -Version: 1.1.0.20090211 -Release: 2%{?dist} +Version: 1.1.0.20090402 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -54,6 +54,12 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Thu Apr 02 2009 Huang Peng - 1.1.0.20090402-1 +- Update to 1.1.0.20090402. +- Fix bug 490747 - Muhenkan (no-conversion) key does not undo conversion +- Fix bug 490750 - Henkan key for candidate conversion doesn't do anything +- Fix bug 490748 - Kana key doesn't do anything + * Tue Feb 24 2009 Fedora Release Engineering - 1.1.0.20090211-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/sources b/sources index cc85a8e..2c8a582 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -860b8319ec95ce45d654a1b74e706a76 ibus-anthy-1.1.0.20090211.tar.gz +2d5ae290174ed2f326006659deabc127 ibus-anthy-1.1.0.20090402.tar.gz From c2a60f366e4204945924836453615f3fb8f5a04c Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Fri, 12 Jun 2009 22:25:58 +0000 Subject: [PATCH 016/202] Update to 1.1.0.20090603 --- .cvsignore | 2 +- ibus-anthy-HEAD.patch | 1 + ibus-anthy.spec | 14 ++++++++++++-- sources | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 ibus-anthy-HEAD.patch diff --git a/.cvsignore b/.cvsignore index 06dc1ec..782a069 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-1.1.0.20090402.tar.gz +ibus-anthy-1.1.0.20090603.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1 @@ + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 0652850..96b0c37 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,13 +1,14 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define mod_path ibus-1.1 Name: ibus-anthy -Version: 1.1.0.20090402 +Version: 1.1.0.20090603 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz +# Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -27,6 +28,7 @@ libanthy. %prep %setup -q +# %patch0 -p1 %build %configure --disable-static @@ -49,11 +51,19 @@ rm -rf $RPM_BUILD_ROOT # %dir %{python_sitearch}/ibus %{python_sitearch}/anthy.py* %{python_sitearch}/_anthy.so -%{_libexecdir}/ibus-engine-anthy +%{_libexecdir}/* %{_datadir}/ibus-anthy %{_datadir}/ibus/component/* %changelog +* Wed Jun 03 2009 Huang Peng - 1.1.0.20090603-1 +- Update to 1.1.0.20090603 +- Implement setup ui. + +* Thu Apr 30 2009 Huang Peng - 1.1.0.20090402-2 +- Update to upstream HEAD version +- Fix bug 498250 - Cannot type zenkaku-space + * Thu Apr 02 2009 Huang Peng - 1.1.0.20090402-1 - Update to 1.1.0.20090402. - Fix bug 490747 - Muhenkan (no-conversion) key does not undo conversion diff --git a/sources b/sources index 2c8a582..54fa52f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2d5ae290174ed2f326006659deabc127 ibus-anthy-1.1.0.20090402.tar.gz +b8e9970bf6dbaf1dde27c8a3eb5622d9 ibus-anthy-1.1.0.20090603.tar.gz From 349c0f05600c6378083044fcb6ec00bf7d2ed96e Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Wed, 17 Jun 2009 02:14:00 +0000 Subject: [PATCH 017/202] require kasumi --- ibus-anthy.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 96b0c37..bc89f92 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,7 +2,7 @@ %define mod_path ibus-1.1 Name: ibus-anthy Version: 1.1.0.20090603 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -21,6 +21,7 @@ BuildRequires: pkgconfig Requires: ibus Requires: anthy +Requires: kasumi %description The Anthy engine for IBus platform. It provides Japanese input method from @@ -56,6 +57,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Wed Jun 17 2009 Jens Petersen - 1.1.0.20090603-2 +- require kasumi to pull in dictionary tool + * Wed Jun 03 2009 Huang Peng - 1.1.0.20090603-1 - Update to 1.1.0.20090603 - Implement setup ui. From 2b578b11dd0c5754648be6ee1e0db524dffb5354 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Mon, 22 Jun 2009 05:17:19 +0000 Subject: [PATCH 018/202] Update to 1.2.0.20090617 --- .cvsignore | 2 +- ibus-anthy.spec | 41 ++++++++++++++++++++++------------------- sources | 2 +- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/.cvsignore b/.cvsignore index 782a069..3436928 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-1.1.0.20090603.tar.gz +ibus-anthy-1.2.0.20090617.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index bc89f92..a3ae2ca 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%define mod_path ibus-1.1 +%define require_ibus_version 1.2.0 Name: ibus-anthy -Version: 1.1.0.20090603 -Release: 2%{?dist} +Version: 1.2.0.20090617 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -19,7 +19,7 @@ BuildRequires: anthy-devel BuildRequires: swig BuildRequires: pkgconfig -Requires: ibus +Requires: ibus >= %{require_ibus_version} Requires: anthy Requires: kasumi @@ -57,18 +57,21 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Mon Jun 22 2009 Peng Huang - 1.2.0.20090617-1 +- Update to 1.2.0.20090617 + * Wed Jun 17 2009 Jens Petersen - 1.1.0.20090603-2 - require kasumi to pull in dictionary tool -* Wed Jun 03 2009 Huang Peng - 1.1.0.20090603-1 +* Wed Jun 03 2009 Peng Huang - 1.1.0.20090603-1 - Update to 1.1.0.20090603 - Implement setup ui. -* Thu Apr 30 2009 Huang Peng - 1.1.0.20090402-2 +* Thu Apr 30 2009 Peng Huang - 1.1.0.20090402-2 - Update to upstream HEAD version - Fix bug 498250 - Cannot type zenkaku-space -* Thu Apr 02 2009 Huang Peng - 1.1.0.20090402-1 +* Thu Apr 02 2009 Peng Huang - 1.1.0.20090402-1 - Update to 1.1.0.20090402. - Fix bug 490747 - Muhenkan (no-conversion) key does not undo conversion - Fix bug 490750 - Henkan key for candidate conversion doesn't do anything @@ -77,41 +80,41 @@ rm -rf $RPM_BUILD_ROOT * Tue Feb 24 2009 Fedora Release Engineering - 1.1.0.20090211-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild -* Wed Feb 11 2009 Huang Peng - 1.1.0.20090211-1 +* Wed Feb 11 2009 Peng Huang - 1.1.0.20090211-1 - Update to 1.1.0.20090211. -* Thu Feb 05 2009 Huang Peng - 1.1.0.20090205-1 +* Thu Feb 05 2009 Peng Huang - 1.1.0.20090205-1 - Update to 1.1.0.20090205. -* Tue Feb 03 2009 Huang Peng - 0.1.1.20090203-1 +* Tue Feb 03 2009 Peng Huang - 0.1.1.20090203-1 - Update to 0.1.1.20090203. * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20080912-2 - Rebuild for Python 2.6 -* Fri Sep 12 2008 Huang Peng - 0.1.1.20080912-1 +* Fri Sep 12 2008 Peng Huang - 0.1.1.20080912-1 - Update to 0.1.1.20080912. -* Mon Sep 01 2008 Huang Peng - 0.1.1.20080901-1 +* Mon Sep 01 2008 Peng Huang - 0.1.1.20080901-1 - Update to 0.1.1.20080901. -* Thu Aug 28 2008 Huang Peng - 0.1.1.20080828-1 +* Thu Aug 28 2008 Peng Huang - 0.1.1.20080828-1 - Update to 0.1.1.20080828. -* Wed Aug 27 2008 Huang Peng - 0.1.1.20080827-1 +* Wed Aug 27 2008 Peng Huang - 0.1.1.20080827-1 - Update to 0.1.1.20080827. -* Tue Aug 26 2008 Huang Peng - 0.1.1.20080826-1 +* Tue Aug 26 2008 Peng Huang - 0.1.1.20080826-1 - Update to 0.1.1.20080826. -* Sat Aug 23 2008 Huang Peng - 0.1.1.20080823-1 +* Sat Aug 23 2008 Peng Huang - 0.1.1.20080823-1 - Update to 0.1.1.20080823. -* Fri Aug 15 2008 Huang Peng - 0.1.1.20080815-1 +* Fri Aug 15 2008 Peng Huang - 0.1.1.20080815-1 - Update to 0.1.1.20080815. -* Thu Aug 12 2008 Huang Peng - 0.1.1.20080812-1 +* Thu Aug 12 2008 Peng Huang - 0.1.1.20080812-1 - Update to 0.1.1.20080812. -* Fri Aug 08 2008 Huang Peng - 0.1.0.20080810-1 +* Fri Aug 08 2008 Peng Huang - 0.1.0.20080810-1 - The first version. diff --git a/sources b/sources index 54fa52f..3dabb47 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b8e9970bf6dbaf1dde27c8a3eb5622d9 ibus-anthy-1.1.0.20090603.tar.gz +45c36d284bb927f43b2cc86805bd4441 ibus-anthy-1.2.0.20090617.tar.gz From e9fe9b41d82f8251de4d4c04e4daed4a42c98735 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Sat, 25 Jul 2009 03:01:25 +0000 Subject: [PATCH 019/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index a3ae2ca..e2fb038 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,7 +2,7 @@ %define require_ibus_version 1.2.0 Name: ibus-anthy Version: 1.2.0.20090617 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -57,6 +57,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.0.20090617-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Mon Jun 22 2009 Peng Huang - 1.2.0.20090617-1 - Update to 1.2.0.20090617 From 6c04d2c6c5dff1694267e3da95377e6e21042fb8 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Tue, 4 Aug 2009 05:52:47 +0000 Subject: [PATCH 020/202] Update to 1.2.0.29980804 Fix bug 508358 - ANTHY_HISTORY_FILE record only a single word --- .cvsignore | 2 +- ibus-anthy.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 3436928..ab04e1c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-1.2.0.20090617.tar.gz +ibus-anthy-1.2.0.20090804.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e2fb038..d6ba5ed 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define require_ibus_version 1.2.0 Name: ibus-anthy -Version: 1.2.0.20090617 -Release: 2%{?dist} +Version: 1.2.0.20090804 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -57,6 +57,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Tue Aug 04 2009 Peng Huang - 1.2.0.20090804-1 +- Update to 1.2.0.20090804 +- Fix bug 508358 - ANTHY_HISTORY_FILE record only a single word + * Fri Jul 24 2009 Fedora Release Engineering - 1.2.0.20090617-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild diff --git a/sources b/sources index 3dabb47..bbebdf4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -45c36d284bb927f43b2cc86805bd4441 ibus-anthy-1.2.0.20090617.tar.gz +00106d050cf8bb249504a87b7482e8f8 ibus-anthy-1.2.0.20090804.tar.gz From 2fc46a10eabeaeb4faa04f00b48eb8e64f40ecca Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 13 Aug 2009 07:27:57 +0000 Subject: [PATCH 021/202] Fix bug 509483 - reconversion feature doesn't work Fix bug 509485 - commit_first_segment feature doesn't work --- ibus-anthy.spec | 7 ++++++- sources | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index d6ba5ed..e4614a4 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define require_ibus_version 1.2.0 Name: ibus-anthy -Version: 1.2.0.20090804 +Version: 1.2.0.20090813 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -57,6 +57,11 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Thu Aug 13 2009 Takao Fujiwara - 1.2.0.20090813-1 +- Update to 1.2.0.20090804 +- Fix bug 509483 - reconversion feature doesn't work +- Fix bug 509485 - commit_first_segment feature doesn't work + * Tue Aug 04 2009 Peng Huang - 1.2.0.20090804-1 - Update to 1.2.0.20090804 - Fix bug 508358 - ANTHY_HISTORY_FILE record only a single word diff --git a/sources b/sources index bbebdf4..d4ccbac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -00106d050cf8bb249504a87b7482e8f8 ibus-anthy-1.2.0.20090804.tar.gz +6a1bfb19a95fcfd31ee801218d915468 ibus-anthy-1.2.0.20090813.tar.gz From cb989d90538c8b4e66926af3cec89736cfd07a1e Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Thu, 13 Aug 2009 10:40:30 +0000 Subject: [PATCH 022/202] fix changelog snapdate and specify libexec glob --- ibus-anthy.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e4614a4..b68c7b6 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -52,13 +52,13 @@ rm -rf $RPM_BUILD_ROOT # %dir %{python_sitearch}/ibus %{python_sitearch}/anthy.py* %{python_sitearch}/_anthy.so -%{_libexecdir}/* +%{_libexecdir}/ibus-*-anthy %{_datadir}/ibus-anthy %{_datadir}/ibus/component/* %changelog * Thu Aug 13 2009 Takao Fujiwara - 1.2.0.20090813-1 -- Update to 1.2.0.20090804 +- Update to 1.2.0.20090813 - Fix bug 509483 - reconversion feature doesn't work - Fix bug 509485 - commit_first_segment feature doesn't work From 4fd61f320d3f709cd678e5771e2ca181cd74ae40 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 7 Sep 2009 03:24:19 +0000 Subject: [PATCH 023/202] Fix bug 510978 - "Typing Method" configuration doesn't work Fix bug 518373 - ibus setup tools need to set gettext textdomain dir. --- .cvsignore | 2 +- ibus-anthy.spec | 9 +++++++-- sources | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index ab04e1c..80a358e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-1.2.0.20090804.tar.gz +ibus-anthy-1.2.0.20090907.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index b68c7b6..3f608ba 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%define require_ibus_version 1.2.0 +%define require_ibus_version 1.2.0.20090904 Name: ibus-anthy -Version: 1.2.0.20090813 +Version: 1.2.0.20090907 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -57,6 +57,11 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-1 +- Update to 1.2.0.20090907 +- Fix bug 510978 - "Typing Method" configuration doesn't work +- Fix bug 518373 - ibus setup tools need to set gettext textdomain dir. + * Thu Aug 13 2009 Takao Fujiwara - 1.2.0.20090813-1 - Update to 1.2.0.20090813 - Fix bug 509483 - reconversion feature doesn't work diff --git a/sources b/sources index d4ccbac..764582c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6a1bfb19a95fcfd31ee801218d915468 ibus-anthy-1.2.0.20090813.tar.gz +29a02d3148f5683981f250807a9c78c6 ibus-anthy-1.2.0.20090907.tar.gz From 979d0a79d75e2c357a4e82f645e917765d596b40 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 7 Sep 2009 15:28:16 +0000 Subject: [PATCH 024/202] Fix a build issue --- ibus-anthy-HEAD.patch | 215 +++++++++++++++++++++++++++++++++++++++++- ibus-anthy.spec | 9 +- 2 files changed, 220 insertions(+), 4 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..242cd57 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,214 @@ - +diff -urNp ibus-anthy-1.2.0.20090907-old/ChangeLog ibus-anthy-1.2.0.20090907/ChangeLog +--- ibus-anthy-1.2.0.20090907-old/ChangeLog 2009-09-07 11:41:22.000000000 +0900 ++++ ibus-anthy-1.2.0.20090907/ChangeLog 2009-09-07 23:24:51.000000000 +0900 +@@ -1,3 +1,11 @@ ++commit 4a9511c2691b83fc7f7e02e693e44ff9c80f9c34 ++Author: fujiwarat ++Date: 2009-09-07 23:19:54 +0900 ++ ++ Fix 507 No module named thumb ++ ++M engine/Makefile.am ++ + commit 627a6346eeebea547adb547e6254983cea6bc429 + Author: fujiwarat + Date: 2009-09-07 11:37:46 +0900 +diff -urNp ibus-anthy-1.2.0.20090907-old/engine/Makefile.am ibus-anthy-1.2.0.20090907/engine/Makefile.am +--- ibus-anthy-1.2.0.20090907-old/engine/Makefile.am 2009-09-07 11:40:46.000000000 +0900 ++++ ibus-anthy-1.2.0.20090907/engine/Makefile.am 2009-09-07 23:23:58.000000000 +0900 +@@ -21,12 +21,13 @@ + engine_anthy_PYTHON = \ + engine.py \ + factory.py \ +- main.py \ +- tables.py \ + jastring.py \ +- segment.py \ +- romaji.py \ + kana.py \ ++ main.py \ ++ romaji.py \ ++ segment.py \ ++ tables.py \ ++ thumb.py \ + $(NULL) + engine_anthydir = $(pkgdatadir)/engine + +diff -urNp ibus-anthy-1.2.0.20090907-old/engine/Makefile.in ibus-anthy-1.2.0.20090907/engine/Makefile.in +--- ibus-anthy-1.2.0.20090907-old/engine/Makefile.in 2009-09-07 11:41:04.000000000 +0900 ++++ ibus-anthy-1.2.0.20090907/engine/Makefile.in 2009-09-07 23:24:34.000000000 +0900 +@@ -273,12 +273,13 @@ top_srcdir = @top_srcdir@ + engine_anthy_PYTHON = \ + engine.py \ + factory.py \ +- main.py \ +- tables.py \ + jastring.py \ +- segment.py \ +- romaji.py \ + kana.py \ ++ main.py \ ++ romaji.py \ ++ segment.py \ ++ tables.py \ ++ thumb.py \ + $(NULL) + + engine_anthydir = $(pkgdatadir)/engine +diff -urNp ibus-anthy-1.2.0.20090907-old/engine/thumb.py ibus-anthy-1.2.0.20090907/engine/thumb.py +--- ibus-anthy-1.2.0.20090907-old/engine/thumb.py 1970-01-01 09:00:00.000000000 +0900 ++++ ibus-anthy-1.2.0.20090907/engine/thumb.py 2009-09-07 23:23:58.000000000 +0900 +@@ -0,0 +1,153 @@ ++# -*- coding: utf-8 -*- ++ ++import gtk ++import gobject ++import time ++ ++import segment ++ ++ ++_table = { ++ 'q': [u'。', u'', u'ぁ'], ++ 'w': [u'か', u'が', u'え'], ++ 'e': [u'た', u'だ', u'り'], ++ 'r': [u'こ', u'ご', u'ゃ'], ++ 't': [u'さ', u'ざ', u'れ'], ++ ++ 'y': [u'ら', u'よ', u'ぱ'], ++ 'u': [u'ち', u'に', u'ぢ'], ++ 'i': [u'く', u'る', u'ぐ'], ++ 'o': [u'つ', u'ま', u'づ'], ++ 'p': [u',', u'ぇ', u'ぴ'], ++ '@': [u'、', u'', u''], ++ '[': [u'゛', u'゜', u''], ++ ++ 'a': [u'う', u'', u'を'], ++ 's': [u'し', u'じ', u'あ'], ++ 'd': [u'て', u'で', u'な'], ++ 'f': [u'け', u'げ', u'ゅ'], ++ 'g': [u'せ', u'ぜ', u'も'], ++ ++ 'h': [u'は', u'み', u'ば'], ++ 'j': [u'と', u'お', u'ど'], ++ 'k': [u'き', u'の', u'ぎ'], ++ 'l': [u'い', u'ょ', u'ぽ'], ++ ';': [u'ん', u'っ', u''], ++ ++ 'z': [u'.', u'', u'ぅ'], ++ 'x': [u'ひ', u'び', u'ー'], ++ 'c': [u'す', u'ず', u'ろ'], ++ 'v': [u'ふ', u'ぶ', u'や'], ++ 'b': [u'へ', u'べ', u'ぃ'], ++ ++ 'n': [u'め', u'ぬ', u'ぷ'], ++ 'm': [u'そ', u'ゆ', u'ぞ'], ++ ',': [u'ね', u'む', u'ぺ'], ++ '.': [u'ほ', u'わ', u'ぼ'], ++ '/': [u'・', u'ぉ', u''], ++ ++ '1': [u'1', u'', u'?'], ++ '2': [u'2', u'', u'/'], ++ '4': [u'4', u'', u'「'], ++ '5': [u'5', u'', u'」'], ++ ++ '6': [u'6', u'[', u''], ++ '7': [u'7', u']', u''], ++ '8': [u'8', u'(', u''], ++ '9': [u'9', u')', u''], ++} ++ ++_shift_table = { ++ 'H': u'ぱ', ++ 'X': u'ぴ', ++ 'V': u'ぷ', ++ 'B': u'ぺ', ++ '>': u'ぽ', ++} ++ ++table = {} ++shift_table = {} ++r_table = {} ++ ++for k in _table.keys(): ++ table[ord(k)] = _table[k] ++ for c in _table[k]: ++ r_table[c] = k ++ ++for k in _shift_table.keys(): ++ shift_table[ord(k)] = _shift_table[k] ++ r_table[_shift_table[k]] = k ++ ++kana_voiced_consonant_rule = { ++ u"か゛" : u"が", ++ u"き゛" : u"ぎ", ++ u"く゛" : u"ぐ", ++ u"け゛" : u"げ", ++ u"こ゛" : u"ご", ++ u"さ゛" : u"ざ", ++ u"し゛" : u"じ", ++ u"す゛" : u"ず", ++ u"せ゛" : u"ぜ", ++ u"そ゛" : u"ぞ", ++ u"た゛" : u"だ", ++ u"ち゛" : u"ぢ", ++ u"つ゛" : u"づ", ++ u"て゛" : u"で", ++ u"と゛" : u"ど", ++ u"は゛" : u"ば", ++ u"ひ゛" : u"び", ++ u"ふ゛" : u"ぶ", ++ u"へ゛" : u"べ", ++ u"ほ゛" : u"ぼ", ++ u"は゜" : u"ぱ", ++ u"ひ゜" : u"ぴ", ++ u"ふ゜" : u"ぷ", ++ u"へ゜" : u"ぺ", ++ u"ほ゜" : u"ぽ", ++} ++ ++_UNFINISHED_HIRAGANA = set(u"かきくけこさしすせそたちつてとはひふへほ") ++ ++class ThumbShiftSegment(segment.Segment): ++ ++ def __init__(self, enchars=u"", jachars=u""): ++ if not jachars: ++ if u'!' <= enchars <= u'~': ++ jachars = segment.unichar_half_to_full(enchars) ++ else: ++ jachars = enchars ++ enchars = r_table.get(jachars, u'') ++ super(ThumbShiftSegment, self).__init__(enchars, jachars) ++ ++ def is_finished(self): ++ return not (self._jachars in _UNFINISHED_HIRAGANA) ++ ++ def append(self, enchar): ++ if enchar == u"\0" or enchar == u"": ++ return [] ++ text = self._jachars + enchar ++ jachars = kana_voiced_consonant_rule.get(text, None) ++ if jachars: ++ self._enchars = self._enchars + r_table.get(enchar, u'') ++ self._jachars = jachars ++ return [] ++ return [ThumbShiftSegment(enchar)] ++ ++ def prepend(self, enchar): ++ if enchar == u"\0" or enchar == u"": ++ return [] ++ if self._jachars == u"": ++ if 0x21 <= enchars <= 0x7e: ++ self._enchars = enchar ++ self._jachars = segment.unichar_half_to_full(enchars) ++ else: ++ self._enchars = r_table.get(enchar, u'') ++ self._jachars = enchar ++ return [] ++ return [ThumbShiftSegment(enchar)] ++ ++ def pop(self, index=-1): ++ self._enchars = u'' ++ self._jachars = u'' ++ return ++ diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 3f608ba..79b41c4 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,13 +2,13 @@ %define require_ibus_version 1.2.0.20090904 Name: ibus-anthy Version: 1.2.0.20090907 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -# Patch0: ibus-anthy-HEAD.patch +Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -29,7 +29,7 @@ libanthy. %prep %setup -q -# %patch0 -p1 +%patch0 -p1 %build %configure --disable-static @@ -57,6 +57,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-2 +- Fix a build issue + * Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-1 - Update to 1.2.0.20090907 - Fix bug 510978 - "Typing Method" configuration doesn't work From 2bd29c12b7badc8fb787ddd2bb711ec07750dc71 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 17 Sep 2009 10:02:20 +0000 Subject: [PATCH 025/202] Fix bug 523642 - ibus-anthy convert_to_char_type_{for,back}ward() --- .cvsignore | 2 +- ibus-anthy-HEAD.patch | 215 +----------------------------------------- ibus-anthy.spec | 12 ++- sources | 2 +- 4 files changed, 11 insertions(+), 220 deletions(-) diff --git a/.cvsignore b/.cvsignore index 80a358e..0066ce4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-anthy-1.2.0.20090907.tar.gz +ibus-anthy-1.2.0.20090917.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 242cd57..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,214 +1 @@ -diff -urNp ibus-anthy-1.2.0.20090907-old/ChangeLog ibus-anthy-1.2.0.20090907/ChangeLog ---- ibus-anthy-1.2.0.20090907-old/ChangeLog 2009-09-07 11:41:22.000000000 +0900 -+++ ibus-anthy-1.2.0.20090907/ChangeLog 2009-09-07 23:24:51.000000000 +0900 -@@ -1,3 +1,11 @@ -+commit 4a9511c2691b83fc7f7e02e693e44ff9c80f9c34 -+Author: fujiwarat -+Date: 2009-09-07 23:19:54 +0900 -+ -+ Fix 507 No module named thumb -+ -+M engine/Makefile.am -+ - commit 627a6346eeebea547adb547e6254983cea6bc429 - Author: fujiwarat - Date: 2009-09-07 11:37:46 +0900 -diff -urNp ibus-anthy-1.2.0.20090907-old/engine/Makefile.am ibus-anthy-1.2.0.20090907/engine/Makefile.am ---- ibus-anthy-1.2.0.20090907-old/engine/Makefile.am 2009-09-07 11:40:46.000000000 +0900 -+++ ibus-anthy-1.2.0.20090907/engine/Makefile.am 2009-09-07 23:23:58.000000000 +0900 -@@ -21,12 +21,13 @@ - engine_anthy_PYTHON = \ - engine.py \ - factory.py \ -- main.py \ -- tables.py \ - jastring.py \ -- segment.py \ -- romaji.py \ - kana.py \ -+ main.py \ -+ romaji.py \ -+ segment.py \ -+ tables.py \ -+ thumb.py \ - $(NULL) - engine_anthydir = $(pkgdatadir)/engine - -diff -urNp ibus-anthy-1.2.0.20090907-old/engine/Makefile.in ibus-anthy-1.2.0.20090907/engine/Makefile.in ---- ibus-anthy-1.2.0.20090907-old/engine/Makefile.in 2009-09-07 11:41:04.000000000 +0900 -+++ ibus-anthy-1.2.0.20090907/engine/Makefile.in 2009-09-07 23:24:34.000000000 +0900 -@@ -273,12 +273,13 @@ top_srcdir = @top_srcdir@ - engine_anthy_PYTHON = \ - engine.py \ - factory.py \ -- main.py \ -- tables.py \ - jastring.py \ -- segment.py \ -- romaji.py \ - kana.py \ -+ main.py \ -+ romaji.py \ -+ segment.py \ -+ tables.py \ -+ thumb.py \ - $(NULL) - - engine_anthydir = $(pkgdatadir)/engine -diff -urNp ibus-anthy-1.2.0.20090907-old/engine/thumb.py ibus-anthy-1.2.0.20090907/engine/thumb.py ---- ibus-anthy-1.2.0.20090907-old/engine/thumb.py 1970-01-01 09:00:00.000000000 +0900 -+++ ibus-anthy-1.2.0.20090907/engine/thumb.py 2009-09-07 23:23:58.000000000 +0900 -@@ -0,0 +1,153 @@ -+# -*- coding: utf-8 -*- -+ -+import gtk -+import gobject -+import time -+ -+import segment -+ -+ -+_table = { -+ 'q': [u'。', u'', u'ぁ'], -+ 'w': [u'か', u'が', u'え'], -+ 'e': [u'た', u'だ', u'り'], -+ 'r': [u'こ', u'ご', u'ゃ'], -+ 't': [u'さ', u'ざ', u'れ'], -+ -+ 'y': [u'ら', u'よ', u'ぱ'], -+ 'u': [u'ち', u'に', u'ぢ'], -+ 'i': [u'く', u'る', u'ぐ'], -+ 'o': [u'つ', u'ま', u'づ'], -+ 'p': [u',', u'ぇ', u'ぴ'], -+ '@': [u'、', u'', u''], -+ '[': [u'゛', u'゜', u''], -+ -+ 'a': [u'う', u'', u'を'], -+ 's': [u'し', u'じ', u'あ'], -+ 'd': [u'て', u'で', u'な'], -+ 'f': [u'け', u'げ', u'ゅ'], -+ 'g': [u'せ', u'ぜ', u'も'], -+ -+ 'h': [u'は', u'み', u'ば'], -+ 'j': [u'と', u'お', u'ど'], -+ 'k': [u'き', u'の', u'ぎ'], -+ 'l': [u'い', u'ょ', u'ぽ'], -+ ';': [u'ん', u'っ', u''], -+ -+ 'z': [u'.', u'', u'ぅ'], -+ 'x': [u'ひ', u'び', u'ー'], -+ 'c': [u'す', u'ず', u'ろ'], -+ 'v': [u'ふ', u'ぶ', u'や'], -+ 'b': [u'へ', u'べ', u'ぃ'], -+ -+ 'n': [u'め', u'ぬ', u'ぷ'], -+ 'm': [u'そ', u'ゆ', u'ぞ'], -+ ',': [u'ね', u'む', u'ぺ'], -+ '.': [u'ほ', u'わ', u'ぼ'], -+ '/': [u'・', u'ぉ', u''], -+ -+ '1': [u'1', u'', u'?'], -+ '2': [u'2', u'', u'/'], -+ '4': [u'4', u'', u'「'], -+ '5': [u'5', u'', u'」'], -+ -+ '6': [u'6', u'[', u''], -+ '7': [u'7', u']', u''], -+ '8': [u'8', u'(', u''], -+ '9': [u'9', u')', u''], -+} -+ -+_shift_table = { -+ 'H': u'ぱ', -+ 'X': u'ぴ', -+ 'V': u'ぷ', -+ 'B': u'ぺ', -+ '>': u'ぽ', -+} -+ -+table = {} -+shift_table = {} -+r_table = {} -+ -+for k in _table.keys(): -+ table[ord(k)] = _table[k] -+ for c in _table[k]: -+ r_table[c] = k -+ -+for k in _shift_table.keys(): -+ shift_table[ord(k)] = _shift_table[k] -+ r_table[_shift_table[k]] = k -+ -+kana_voiced_consonant_rule = { -+ u"か゛" : u"が", -+ u"き゛" : u"ぎ", -+ u"く゛" : u"ぐ", -+ u"け゛" : u"げ", -+ u"こ゛" : u"ご", -+ u"さ゛" : u"ざ", -+ u"し゛" : u"じ", -+ u"す゛" : u"ず", -+ u"せ゛" : u"ぜ", -+ u"そ゛" : u"ぞ", -+ u"た゛" : u"だ", -+ u"ち゛" : u"ぢ", -+ u"つ゛" : u"づ", -+ u"て゛" : u"で", -+ u"と゛" : u"ど", -+ u"は゛" : u"ば", -+ u"ひ゛" : u"び", -+ u"ふ゛" : u"ぶ", -+ u"へ゛" : u"べ", -+ u"ほ゛" : u"ぼ", -+ u"は゜" : u"ぱ", -+ u"ひ゜" : u"ぴ", -+ u"ふ゜" : u"ぷ", -+ u"へ゜" : u"ぺ", -+ u"ほ゜" : u"ぽ", -+} -+ -+_UNFINISHED_HIRAGANA = set(u"かきくけこさしすせそたちつてとはひふへほ") -+ -+class ThumbShiftSegment(segment.Segment): -+ -+ def __init__(self, enchars=u"", jachars=u""): -+ if not jachars: -+ if u'!' <= enchars <= u'~': -+ jachars = segment.unichar_half_to_full(enchars) -+ else: -+ jachars = enchars -+ enchars = r_table.get(jachars, u'') -+ super(ThumbShiftSegment, self).__init__(enchars, jachars) -+ -+ def is_finished(self): -+ return not (self._jachars in _UNFINISHED_HIRAGANA) -+ -+ def append(self, enchar): -+ if enchar == u"\0" or enchar == u"": -+ return [] -+ text = self._jachars + enchar -+ jachars = kana_voiced_consonant_rule.get(text, None) -+ if jachars: -+ self._enchars = self._enchars + r_table.get(enchar, u'') -+ self._jachars = jachars -+ return [] -+ return [ThumbShiftSegment(enchar)] -+ -+ def prepend(self, enchar): -+ if enchar == u"\0" or enchar == u"": -+ return [] -+ if self._jachars == u"": -+ if 0x21 <= enchars <= 0x7e: -+ self._enchars = enchar -+ self._jachars = segment.unichar_half_to_full(enchars) -+ else: -+ self._enchars = r_table.get(enchar, u'') -+ self._jachars = enchar -+ return [] -+ return [ThumbShiftSegment(enchar)] -+ -+ def pop(self, index=-1): -+ self._enchars = u'' -+ self._jachars = u'' -+ return -+ + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 79b41c4..0ef6710 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,14 +1,14 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define require_ibus_version 1.2.0.20090904 Name: ibus-anthy -Version: 1.2.0.20090907 -Release: 2%{?dist} +Version: 1.2.0.20090917 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -Patch0: ibus-anthy-HEAD.patch +# Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -29,7 +29,7 @@ libanthy. %prep %setup -q -%patch0 -p1 +# %patch0 -p1 %build %configure --disable-static @@ -57,6 +57,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Thu Sep 17 2009 Takao Fujiwara - 1.2.0.20090917-1 +- Update to 1.2.0.20090917 +- Fix bug 523642 - ibus-anthy convert_to_char_type_{for,back}ward() + * Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-2 - Fix a build issue diff --git a/sources b/sources index 764582c..81f4ba1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -29a02d3148f5683981f250807a9c78c6 ibus-anthy-1.2.0.20090907.tar.gz +b6f1d830346e447908d670bc267391a9 ibus-anthy-1.2.0.20090917.tar.gz From 80c7f4ed969340b6081ce1de558d478bf5364f7d Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 23 Oct 2009 05:17:21 +0000 Subject: [PATCH 026/202] Fix bug 526881 - ibus-anthy backtrace is reported by the latest abrt --- ibus-anthy-HEAD.patch | 40 +++++++++++++++++++++++++++++++++++++++- ibus-anthy.spec | 10 +++++++--- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..6a58676 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,39 @@ - +diff --git a/engine/engine.py b/engine/engine.py +index 7069b0a..4b93d35 100644 +--- a/engine/engine.py ++++ b/engine/engine.py +@@ -952,10 +952,10 @@ class Engine(ibus.EngineBase): + @classmethod + def CONFIG_VALUE_CHANGED(cls, bus, section, name, value): + print 'VALUE_CHAMGED =', section, name, value +- section = section[len(cls.__prefs._prefix) + 1:] +- if section == cls._get_shortcut_type(): ++ base_sec = section[len(cls.__prefs._prefix) + 1:] ++ sec = cls._get_shortcut_type() ++ if base_sec == sec: + cmd = '_Engine__cmd_' + name +- sec = cls._get_shortcut_type() + old = cls.__prefs.get_value(sec, name) + value = value if value != [''] else [] + for s in set(old).difference(value): +@@ -968,12 +968,17 @@ class Engine(ibus.EngineBase): + lambda a, b: cmp(keys.index(a[13:]), keys.index(b[13:]))) + + cls.__prefs.set_value(sec, name, value) +- elif section == 'common': +- cls.__prefs.set_value(section, name, value) ++ elif base_sec == 'common': ++ cls.__prefs.set_value(base_sec, name, value) + if name == 'shortcut_type': + cls.__keybind = cls._mk_keybind() ++ elif section == 'panel': ++ # This value is used for ibus.config.set_value only. ++ pass ++ elif base_sec: ++ cls.__prefs.set_value(base_sec, name, value) + else: +- cls.__prefs.set_value(sec, name, value) ++ cls.__prefs.set_value(section, name, value) + + @classmethod + def _mk_keybind(cls): diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 0ef6710..588a513 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,13 +2,13 @@ %define require_ibus_version 1.2.0.20090904 Name: ibus-anthy Version: 1.2.0.20090917 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -# Patch0: ibus-anthy-HEAD.patch +Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -18,6 +18,7 @@ BuildRequires: python-devel BuildRequires: anthy-devel BuildRequires: swig BuildRequires: pkgconfig +BuildRequires: intltool Requires: ibus >= %{require_ibus_version} Requires: anthy @@ -29,7 +30,7 @@ libanthy. %prep %setup -q -# %patch0 -p1 +%patch0 -p1 %build %configure --disable-static @@ -57,6 +58,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Oct 23 2009 Takao Fujiwara - 1.2.0.20090917-2 +- Fix bug 526881 - ibus-anthy backtrace is reported by the latest abrt + * Thu Sep 17 2009 Takao Fujiwara - 1.2.0.20090917-1 - Update to 1.2.0.20090917 - Fix bug 523642 - ibus-anthy convert_to_char_type_{for,back}ward() From 812241ff9cfeedecc7f4c9c06daca62b50e16e5e Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 23:40:35 +0000 Subject: [PATCH 027/202] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index ea4fe05..cacc67a 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: ibus-anthy -# $Id$ +# $Id: Makefile,v 1.1 2008/08/10 01:29:43 kevin Exp $ NAME := ibus-anthy SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 25da6b0598a09742c23c44b8fc15a5128779c435 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 27 Nov 2009 07:02:28 +0000 Subject: [PATCH 028/202] Fix bug 520989 - ibus-anthy icon enhancement Fix bug 531696 - ibus-anthy KeyError is still reported by abrt Fix bug 536716 - ibus-anthy: Symbol type change support in ibus-anthy --- .cvsignore | 3 ++- ibus-anthy-HEAD.patch | 40 +--------------------------------------- ibus-anthy.spec | 15 +++++++++++---- sources | 3 ++- 4 files changed, 16 insertions(+), 45 deletions(-) diff --git a/.cvsignore b/.cvsignore index 0066ce4..b0d8dab 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ -ibus-anthy-1.2.0.20090917.tar.gz +ibus-anthy-1.2.0.20091127.tar.gz +ibus-anthy.png diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 6a58676..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,39 +1 @@ -diff --git a/engine/engine.py b/engine/engine.py -index 7069b0a..4b93d35 100644 ---- a/engine/engine.py -+++ b/engine/engine.py -@@ -952,10 +952,10 @@ class Engine(ibus.EngineBase): - @classmethod - def CONFIG_VALUE_CHANGED(cls, bus, section, name, value): - print 'VALUE_CHAMGED =', section, name, value -- section = section[len(cls.__prefs._prefix) + 1:] -- if section == cls._get_shortcut_type(): -+ base_sec = section[len(cls.__prefs._prefix) + 1:] -+ sec = cls._get_shortcut_type() -+ if base_sec == sec: - cmd = '_Engine__cmd_' + name -- sec = cls._get_shortcut_type() - old = cls.__prefs.get_value(sec, name) - value = value if value != [''] else [] - for s in set(old).difference(value): -@@ -968,12 +968,17 @@ class Engine(ibus.EngineBase): - lambda a, b: cmp(keys.index(a[13:]), keys.index(b[13:]))) - - cls.__prefs.set_value(sec, name, value) -- elif section == 'common': -- cls.__prefs.set_value(section, name, value) -+ elif base_sec == 'common': -+ cls.__prefs.set_value(base_sec, name, value) - if name == 'shortcut_type': - cls.__keybind = cls._mk_keybind() -+ elif section == 'panel': -+ # This value is used for ibus.config.set_value only. -+ pass -+ elif base_sec: -+ cls.__prefs.set_value(base_sec, name, value) - else: -- cls.__prefs.set_value(sec, name, value) -+ cls.__prefs.set_value(section, name, value) - - @classmethod - def _mk_keybind(cls): + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 588a513..087669c 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,14 +1,15 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define require_ibus_version 1.2.0.20090904 Name: ibus-anthy -Version: 1.2.0.20090917 -Release: 2%{?dist} +Version: 1.2.0.20091127 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -Patch0: ibus-anthy-HEAD.patch +Source1: ibus-anthy.png +# Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -30,7 +31,8 @@ libanthy. %prep %setup -q -%patch0 -p1 +cp %SOURCE1 icons +# %patch0 -p1 %build %configure --disable-static @@ -58,6 +60,11 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Nov 27 2009 Takao Fujiwara - 1.2.0.20091127-1 +- Fix bug 520989 - ibus-anthy icon enhancement +- Fix bug 531696 - ibus-anthy KeyError is still reported by abrt +- Fix bug 536716 - ibus-anthy: Symbol type change support in ibus-anthy + * Fri Oct 23 2009 Takao Fujiwara - 1.2.0.20090917-2 - Fix bug 526881 - ibus-anthy backtrace is reported by the latest abrt diff --git a/sources b/sources index 81f4ba1..546379e 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -b6f1d830346e447908d670bc267391a9 ibus-anthy-1.2.0.20090917.tar.gz +254af64a72c3fed326022c9683e6830f ibus-anthy-1.2.0.20091127.tar.gz +c174f5f5d940fdb42e1c3c9bcd4c636f ibus-anthy.png From 656e2ff5f7129dd3b898532aa4cc406fd278ca85 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 15 Jan 2010 04:36:39 +0000 Subject: [PATCH 029/202] - Update to 1.2.0.20100115 - Fix bug 550001 - kasumi should be accessible from ibus-anthy --- .cvsignore | 2 +- ibus-anthy.spec | 10 ++++++++-- sources | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index b0d8dab..829cb8b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -ibus-anthy-1.2.0.20091127.tar.gz +ibus-anthy-1.2.0.20100115.tar.gz ibus-anthy.png diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 087669c..35bb673 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%define require_ibus_version 1.2.0.20090904 +%define require_ibus_version 1.2.0.20100111 Name: ibus-anthy -Version: 1.2.0.20091127 +Version: 1.2.0.20100115 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -60,7 +60,13 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Jan 15 2010 Takao Fujiwara - 1.2.0.20100115-1 +- Update to 1.2.0.20100115 +- Fix bug 550001 - kasumi should be accessible from ibus-anthy + * Fri Nov 27 2009 Takao Fujiwara - 1.2.0.20091127-1 +- Update to 1.2.0.20091127 +- Fix bug 550001 - kasumi should be accessible from ibus-anthy - Fix bug 520989 - ibus-anthy icon enhancement - Fix bug 531696 - ibus-anthy KeyError is still reported by abrt - Fix bug 536716 - ibus-anthy: Symbol type change support in ibus-anthy diff --git a/sources b/sources index 546379e..91546a8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -254af64a72c3fed326022c9683e6830f ibus-anthy-1.2.0.20091127.tar.gz +0d067d7506a2a20763ef4a7056b8eb99 ibus-anthy-1.2.0.20100115.tar.gz c174f5f5d940fdb42e1c3c9bcd4c636f ibus-anthy.png From 9aaef39b0d3b27cc98376dad4f7f491f1339debb Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 15 Jan 2010 05:13:12 +0000 Subject: [PATCH 030/202] Fix typo --- ibus-anthy.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 35bb673..21bd56d 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -62,11 +62,10 @@ rm -rf $RPM_BUILD_ROOT %changelog * Fri Jan 15 2010 Takao Fujiwara - 1.2.0.20100115-1 - Update to 1.2.0.20100115 -- Fix bug 550001 - kasumi should be accessible from ibus-anthy +- Fix bug 550001 - kasumi should be accessible from ibus-anthy * Fri Nov 27 2009 Takao Fujiwara - 1.2.0.20091127-1 - Update to 1.2.0.20091127 -- Fix bug 550001 - kasumi should be accessible from ibus-anthy - Fix bug 520989 - ibus-anthy icon enhancement - Fix bug 531696 - ibus-anthy KeyError is still reported by abrt - Fix bug 536716 - ibus-anthy: Symbol type change support in ibus-anthy From 591064e7c4112025a632a30f20525308935d7a50 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 5 Mar 2010 02:24:14 +0000 Subject: [PATCH 031/202] Fix bug 564268 - Crash with enabled global input method Fix bug 570680 - Support NICOLA-F and NICOLA-A Fix romaji_typing_rule. #777 Fix Shift + char with CapsLock ON in romaji mode. Fix chattering bug. --- ibus-anthy-HEAD.patch | 1556 ++++++++++++++++++++++++++++++++++++++++- ibus-anthy.spec | 15 +- 2 files changed, 1567 insertions(+), 4 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..8c50da5 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,1555 @@ - +diff --git a/engine/engine.py b/engine/engine.py +index c5841cb..56e5b28 100644 +--- a/engine/engine.py ++++ b/engine/engine.py +@@ -22,6 +22,7 @@ + + import os + from os import path ++from locale import getpreferredencoding + import sys + import gobject + import ibus +@@ -96,6 +97,7 @@ class Engine(ibus.EngineBase): + __setup_pid = 0 + __prefs = None + __keybind = {} ++ __thumb = None + + def __init__(self, bus, object_path): + super(Engine, self).__init__(bus, object_path) +@@ -105,8 +107,10 @@ class Engine(ibus.EngineBase): + self.__context._set_encoding(anthy.ANTHY_UTF8_ENCODING) + + # init state ++ self.__idle_id = 0 + self.__input_mode = INPUT_MODE_HIRAGANA + self.__prop_dict = {} ++ self.__is_utf8 = (getpreferredencoding().lower() == "utf-8") + + # self.__lookup_table = ibus.LookupTable(page_size=9, round=True) + size = self.__prefs.get_value('common', 'page_size') +@@ -130,7 +134,6 @@ class Engine(ibus.EngineBase): + self.__preedit_ja_string = jastring.JaString(Engine.__typing_mode) + self.__convert_chars = u"" + self.__cursor_pos = 0 +- self.__need_update = False + self.__convert_mode = CONV_MODE_OFF + self.__segments = list() + self.__lookup_table.clean() +@@ -138,6 +141,11 @@ class Engine(ibus.EngineBase): + self._MM = 0 + self._SS = 0 + self._H = 0 ++ self._RMM = 0 ++ self._RSS = 0 ++ if self.__idle_id != 0: ++ gobject.source_remove(self.__idle_id) ++ self.__idle_id = 0 + + def __init_props(self): + anthy_props = ibus.PropList() +@@ -485,6 +493,8 @@ class Engine(ibus.EngineBase): + return True + self.__prop_dict[prop_name].set_state(state) + self.update_property(self.__prop_dict[prop_name]) ++ if prop_name == u"TypingMode.ThumbShift": ++ self._reset_thumb() + + mode, label = typing_modes[prop_name] + +@@ -526,6 +536,12 @@ class Engine(ibus.EngineBase): + elif mode == 1: + self.__on_key_return() + ++ def do_destroy(self): ++ if self.__idle_id != 0: ++ gobject.source_remove(self.__idle_id) ++ self.__idle_id = 0 ++ super(Engine,self).do_destroy() ++ + # begine convert + def __begin_anthy_convert(self): + if self.__convert_mode == CONV_MODE_ANTHY: +@@ -562,6 +578,15 @@ class Engine(ibus.EngineBase): + def __end_convert(self): + self.__end_anthy_convert() + ++ def __candidate_cb(self, candidate): ++ if not self.__is_utf8: ++ return ++ for key in romaji_utf8_rule.keys(): ++ if candidate.find(key) >= 0: ++ for value in romaji_utf8_rule[key]: ++ candidate = candidate.replace(key, value) ++ self.__lookup_table.append_candidate(ibus.Text(candidate)) ++ + def __fill_lookup_table(self): + if self.__convert_mode == CONV_MODE_PREDICTION: + seg_stat = anthy.anthy_prediction_stat() +@@ -573,7 +598,7 @@ class Engine(ibus.EngineBase): + buf = self.__context.get_prediction(i) + candidate = unicode(buf, "utf-8") + self.__lookup_table.append_candidate(ibus.Text(candidate)) +- ++ self.__candidate_cb(candidate) + return + + # get segment stat +@@ -586,13 +611,14 @@ class Engine(ibus.EngineBase): + buf = self.__context.get_segment(self.__cursor_pos, i) + candidate = unicode(buf, "utf-8") + self.__lookup_table.append_candidate(ibus.Text(candidate)) ++ self.__candidate_cb(candidate) + + + def __invalidate(self): +- if self.__need_update: ++ if self.__idle_id != 0: + return +- self.__need_update = True +- gobject.idle_add(self.__update, priority = gobject.PRIORITY_LOW) ++ self.__idle_id = gobject.idle_add(self.__update, ++ priority = gobject.PRIORITY_LOW) + + # def __get_preedit(self): + def __get_preedit(self, commit=False): +@@ -699,11 +725,11 @@ class Engine(ibus.EngineBase): + self.__lookup_table_visible) + + def __update(self): +- self.__need_update = False + if self.__convert_mode == CONV_MODE_OFF: + self.__update_input_chars() + else: + self.__update_convert_chars() ++ self.__idle_id = 0 + + def __on_key_return(self): + if self.__preedit_ja_string.is_empty(): +@@ -956,7 +982,7 @@ class Engine(ibus.EngineBase): + self.__invalidate() + return True + +- def __on_key_common(self, keyval): ++ def __on_key_common(self, keyval, state=0): + + if self.__input_mode == INPUT_MODE_LATIN: + # Input Latin chars +@@ -981,6 +1007,13 @@ class Engine(ibus.EngineBase): + elif self.__convert_mode != CONV_MODE_OFF: + self.__commit_string(self.__convert_chars) + ++ # "n" + "'" == "nn" in romaji ++ if (keyval >= ord('A') and keyval <= ord('Z')) or \ ++ (keyval >= ord('a') and keyval <= ord('z')): ++ shift = (state & modifier.SHIFT_MASK) != 0 ++ else: ++ shift = False ++ self.__preedit_ja_string.set_shift(shift) + self.__preedit_ja_string.insert(unichr(keyval)) + self.__invalidate() + return True +@@ -1024,6 +1057,9 @@ class Engine(ibus.EngineBase): + cls.__prefs.set_value(base_sec, name, value) + if name == 'shortcut_type': + cls.__keybind = cls._mk_keybind() ++ elif base_sec == 'thumb': ++ cls.__prefs.set_value(base_sec, name, value) ++ cls._reset_thumb() + elif base_sec: + cls.__prefs.set_value(base_sec, name, value) + else: +@@ -1056,6 +1092,15 @@ class Engine(ibus.EngineBase): + 'alt+' in s and modifier.MOD1_MASK or 0) + return cls._mk_key(keyval, state) + ++ @classmethod ++ def _reset_thumb(cls): ++ if cls.__thumb == None: ++ import thumb ++ cls.__thumb = thumb.ThumbShiftKeyboard(cls.__prefs) ++ ++ else: ++ cls.__thumb.reset() ++ + @staticmethod + def _mk_key(keyval, state): + if state & (modifier.CONTROL_MASK | modifier.MOD1_MASK): +@@ -1067,12 +1112,12 @@ class Engine(ibus.EngineBase): + return repr([int(state), int(keyval)]) + + def process_key_event_thumb(self, keyval, keycode, state): +- import gtk +- import thumb ++ if self.__thumb == None: ++ self._reset_thumb() + + def on_timeout(keyval): + if self._MM: +- insert(thumb.table[self._MM][self._SS]) ++ insert(self.__thumb.get_char(self._MM)[self._SS]) + else: + cmd_exec([0, RS(), LS()][self._SS]) + self._H = None +@@ -1089,6 +1134,7 @@ class Engine(ibus.EngineBase): + + def insert(keyval): + try: ++ self._MM = self._SS = 0 + ret = self.__on_key_common(ord(keyval)) + if (keyval in u',.、。' and + self.__prefs.get_value('common', 'behavior_on_period')): +@@ -1109,16 +1155,16 @@ class Engine(ibus.EngineBase): + return False + + def RS(): +- return self.__prefs.get_value('common', 'thumb_rs') ++ return self.__thumb.get_rs() + + def LS(): +- return self.__prefs.get_value('common', 'thumb_ls') ++ return self.__thumb.get_ls() + + def T1(): +- return self.__prefs.get_value('common', 'thumb_t1') ++ return self.__thumb.get_t1() + + def T2(): +- return self.__prefs.get_value('common', 'thumb_t2') ++ return self.__thumb.get_t2() + + state = state & (modifier.SHIFT_MASK | + modifier.CONTROL_MASK | +@@ -1132,12 +1178,16 @@ class Engine(ibus.EngineBase): + if state & modifier.RELEASE_MASK: + if keyval == self._MM: + if stop(): +- insert(thumb.table[self._MM][self._SS]) ++ insert(self.__thumb.get_char(self._MM)[self._SS]) + self._MM = 0 + elif (1 if keyval == RS() else 2) == self._SS: + if stop(): + cmd_exec([0, RS(), LS()][self._SS]) + self._SS = 0 ++ if keyval in [RS(), LS()]: ++ self._RSS = 0 ++ elif keyval == self._RMM: ++ self._RMM = 0 + else: + if keyval in [LS(), RS()] and state == 0: + if self._SS: +@@ -1147,35 +1197,50 @@ class Engine(ibus.EngineBase): + start(T1()) + elif self._MM: + stop() +- insert(thumb.table[self._MM][1 if keyval == RS() else 2]) ++ self._RMM = self._MM ++ self._RSS = 1 if keyval == RS() else 2 ++ insert(self.__thumb.get_char(self._MM)[1 if keyval == RS() else 2]) + else: +- self._SS = 1 if keyval == RS() else 2 +- start(T1()) +- elif keyval in thumb.table.keys() and state == 0: ++ if self._RSS == (1 if keyval == RS() else 2): ++ if self._RMM: ++ insert(self.__thumb.get_char(self._RMM)[self._RSS]) ++ else: ++ self._SS = 1 if keyval == RS() else 2 ++ start(T1()) ++ elif keyval in self.__thumb.get_chars() and state == 0: + if self._MM: + stop() +- insert(thumb.table[self._MM][self._SS]) ++ insert(self.__thumb.get_char(self._MM)[self._SS]) + start(T2()) + self._MM = keyval + elif self._SS: + stop() +- insert(thumb.table[keyval][self._SS]) ++ self._RMM = keyval ++ self._RSS = self._SS ++ insert(self.__thumb.get_char(keyval)[self._SS]) + else: +- if cmd_exec(keyval, state): +- return True +- start(T2()) +- self._MM = keyval ++ if self._RMM == keyval: ++ if self._RSS: ++ insert(self.__thumb.get_char(self._RMM)[self._RSS]) ++ else: ++ if cmd_exec(keyval, state): ++ return True ++ start(T2()) ++ self._MM = keyval + else: + if self._MM: + stop() +- insert(thumb.table[self._MM][self._SS]) ++ insert(self.__thumb.get_char(self._MM)[self._SS]) + elif self._SS: + stop() + cmd_exec([0, RS(), LS()][self._SS]) + if cmd_exec(keyval, state): + return True + elif 0x21 <= keyval <= 0x7e and state & (modifier.CONTROL_MASK | modifier.MOD1_MASK) == 0: +- insert(thumb.shift_table.get(keyval, unichr(keyval))) ++ if state & modifier.SHIFT_MASK: ++ insert(self.__thumb.get_shift_char(keyval, unichr(keyval))) ++ elif self._SS == 0: ++ insert(unichr(keyval)) + else: + if not self.__preedit_ja_string.is_empty(): + return True +@@ -1220,7 +1285,7 @@ class Engine(ibus.EngineBase): + keyval = keysyms.asciitilde + elif keyval == keysyms.backslash and keycode in [132-8, 133-8]: + keyval = keysyms.yen +- ret = self.__on_key_common(keyval) ++ ret = self.__on_key_common(keyval, state) + if (unichr(keyval) in u',.' and + self.__prefs.get_value('common', 'behavior_on_period')): + return self.__cmd_convert(keyval, state) +diff --git a/engine/jastring.py b/engine/jastring.py +index 306691e..7aa2ff2 100644 +--- a/engine/jastring.py ++++ b/engine/jastring.py +@@ -55,11 +55,15 @@ class JaString: + def reset(self): + self.__cursor = 0 + self.__segments = list() ++ self.__shift = False + + def set_mode(self, mode): + self.__mode = mode + self.reset() + ++ def set_shift(self, shift): ++ self.__shift = shift ++ + def insert(self, c): + segment_before = None + segment_after = None +@@ -70,14 +74,21 @@ class JaString: + if self.__cursor < len(self.__segments): + segment_after = self.__segments[self.__cursor] + if segment_before and not segment_before.is_finished(): +- new_segments = segment_before.append(c) ++ if type(segment_before) == romaji.RomajiSegment: ++ new_segments = segment_before.append(c, self.__shift) ++ else: ++ new_segments = segment_before.append(c) + elif segment_after and not segment_after.is_finished(): +- new_segments = segment_after.prepend(c) ++ if type(segment_after) == romaji.RomajiSegment: ++ new_segments = segment_after.prepend(c, self.__shift) ++ else: ++ new_segments = segment_after.prepend(c) + else: + if c != u"\0" and c != u"": + if self.__mode == TYPING_MODE_ROMAJI: +- new_segments = [romaji.RomajiSegment(c)] ++ new_segments = [romaji.RomajiSegment(c, u"", self.__shift)] + elif self.__mode == TYPING_MODE_KANA: ++ # kana mode doesn't have shift latin in MS. + new_segments = [kana.KanaSegment(c)] + elif self.__mode == TYPING_MODE_THUMB_SHIFT: + new_segments = [thumb.ThumbShiftSegment(c)] +@@ -126,7 +137,9 @@ class JaString: + ret = '' + for c in s: + c = c if not period else PeriodTable.get(c, c) +- c = c if not symbol else SymbolTable[symbol].get(c, c) ++ # thumb_left + '2' and '/' are different ++ if self.__mode != TYPING_MODE_THUMB_SHIFT: ++ c = c if not symbol else SymbolTable[symbol].get(c, c) + c = c if not half_symbol else HalfSymbolTable.get(c, c) + c = c if not half_number else HalfNumberTable.get(c, c) + ret += c +diff --git a/engine/romaji.py b/engine/romaji.py +index 12c6656..3deb8f9 100644 +--- a/engine/romaji.py ++++ b/engine/romaji.py +@@ -28,8 +28,8 @@ def romaji_correction_rule_get(k, d): + return (u'ん', k[1:2]) if k[0:1] == u'n' and not k[1:2] in u"aiueony'" else d + + class RomajiSegment(segment.Segment): +- def __init__(self, enchars=u"", jachars=u""): +- if not jachars: ++ def __init__(self, enchars=u"", jachars=u"", shift=False): ++ if not jachars and not shift: + jachars = romaji_typing_rule.get(enchars, None) + if jachars == None: + jachars = symbol_rule.get(enchars, u"") +@@ -38,13 +38,16 @@ class RomajiSegment(segment.Segment): + def is_finished(self): + return self._jachars != u"" + +- def append(self, enchar): ++ def append(self, enchar, shift=False): + if self.is_finished(): + if enchar == u"" and enchar == u"\0": + return [] + return [RomajiSegment(enchar)] + + text = self._enchars + enchar ++ if shift: ++ self._enchars = text ++ return [] + + jachars = romaji_typing_rule.get(text, None) + if jachars == None: +@@ -98,7 +101,7 @@ class RomajiSegment(segment.Segment): + self._enchars = text + return [] + +- def prepend(self, enchar): ++ def prepend(self, enchar, shift=False): + if enchar == u"" or enchar == u"\0": + return [] + +@@ -106,6 +109,10 @@ class RomajiSegment(segment.Segment): + return [RomajiSegment(enchar)] + + text = enchar + self._enchars ++ if shift: ++ self._enchars = text ++ return [] ++ + jachars = romaji_typing_rule.get(text, None) + if jachars == None: + jachars = symbol_rule.get(text, None) +diff --git a/engine/tables.py b/engine/tables.py +index 2ea67e0..a86a26a 100644 +--- a/engine/tables.py ++++ b/engine/tables.py +@@ -38,12 +38,6 @@ romaji_typing_rule = { + u"lu" : u"ぅ", + u"le" : u"ぇ", + u"lo" : u"ぉ", +-# u"xka" : u"ゕ", +- u"xka" : u"ヵ", +-# u"xke" : u"ゖ", +- u"xke" : u"ヶ", +- u"wi" : u"うぃ", +- u"we" : u"うぇ", + u"wha" : u"うぁ", + u"whi" : u"うぃ", + u"whe" : u"うぇ", +@@ -58,6 +52,12 @@ romaji_typing_rule = { + u"ku" : u"く", + u"ke" : u"け", + u"ko" : u"こ", ++ u"lka" : u"ヵ", ++ u"lke" : u"ヶ", ++# u"xka" : u"ゕ", ++ u"xka" : u"ヵ", ++# u"xke" : u"ゖ", ++ u"xke" : u"ヶ", + u"ga" : u"が", + u"gi" : u"ぎ", + u"gu" : u"ぐ", +@@ -68,11 +68,13 @@ romaji_typing_rule = { + u"kyu" : u"きゅ", + u"kye" : u"きぇ", + u"kyo" : u"きょ", ++ u"kwa" : u"くぁ", + u"gya" : u"ぎゃ", + u"gyi" : u"ぎぃ", + u"gyu" : u"ぎゅ", + u"gye" : u"ぎぇ", + u"gyo" : u"ぎょ", ++ u"gwa" : u"ぐぁ", + u"sa" : u"さ", + u"si" : u"し", + u"su" : u"す", +@@ -128,6 +130,11 @@ romaji_typing_rule = { + u"tyu" : u"ちゅ", + u"tye" : u"ちぇ", + u"tyo" : u"ちょ", ++ u"cya" : u"ちゃ", ++ u"cyi" : u"ちぃ", ++ u"cyu" : u"ちゅ", ++ u"cye" : u"ちぇ", ++ u"cyo" : u"ちょ", + u"cha" : u"ちゃ", + u"chi" : u"ち", + u"chu" : u"ちゅ", +@@ -139,6 +146,7 @@ romaji_typing_rule = { + u"dye" : u"ぢぇ", + u"dyo" : u"ぢょ", + u"tsa" : u"つぁ", ++ u"tsi" : u"つぃ", + u"tse" : u"つぇ", + u"tso" : u"つぉ", + u"tha" : u"てゃ", +@@ -146,11 +154,13 @@ romaji_typing_rule = { + u"thu" : u"てゅ", + u"the" : u"てぇ", + u"tho" : u"てょ", ++ u"twu" : u"とぅ", + u"dha" : u"でゃ", + u"dhi" : u"でぃ", + u"dhu" : u"でゅ", + u"dhe" : u"でぇ", + u"dho" : u"でょ", ++ u"dwu" : u"どぅ", + u"na" : u"な", + u"ni" : u"に", + u"nu" : u"ぬ", +@@ -211,15 +221,21 @@ romaji_typing_rule = { + u"myu" : u"みゅ", + u"mye" : u"みぇ", + u"myo" : u"みょ", +- u"lya" : u"ゃ", +- u"xya" : u"ゃ", + u"ya" : u"や", +- u"lyu" : u"ゅ", +- u"xyu" : u"ゅ", ++ u"yi" : u"い", + u"yu" : u"ゆ", ++ u"ye" : u"いぇ", ++ u"yo" : u"よ", ++ u"lya" : u"ゃ", ++ u"lyi" : u"ぃ", ++ u"lyu" : u"ゅ", ++ u"lye" : u"ぇ", + u"lyo" : u"ょ", ++ u"xya" : u"ゃ", ++ u"xyi" : u"ぃ", ++ u"xyu" : u"ゅ", ++ u"xye" : u"ぇ", + u"xyo" : u"ょ", +- u"yo" : u"よ", + u"ra" : u"ら", + u"ri" : u"り", + u"ru" : u"る", +@@ -230,9 +246,13 @@ romaji_typing_rule = { + u"ryu" : u"りゅ", + u"rye" : u"りぇ", + u"ryo" : u"りょ", +- u"xwa" : u"ゎ", + u"wa" : u"わ", ++ u"wi" : u"うぃ", ++ u"wu" : u"う", ++ u"we" : u"うぇ", + u"wo" : u"を", ++ u"lwa" : u"ゎ", ++ u"xwa" : u"ゎ", + u"n'" : u"ん", + u"nn" : u"ん", + u"wyi" : u"ゐ", +@@ -337,6 +357,11 @@ romaji_correction_rule = { + u"n." : (u"ん", u"."), + } + ++# EUC-JP and SJIS do not have the chars ++romaji_utf8_rule = { ++ u"ヴ" : (u"ゔ"), ++} ++ + # a port of 101kana.sty from scim-anthy + kana_typing_rule = { + # no modifiers keys +diff --git a/engine/thumb.py b/engine/thumb.py +index b678cda..8c4baff 100644 +--- a/engine/thumb.py ++++ b/engine/thumb.py +@@ -21,12 +21,20 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-import gtk +-import gobject +-import time ++__all__ = ( ++ "ThumbShiftKeyboard", ++ "ThumbShiftSegment", ++ ) + ++from ibus import keysyms ++from ibus import modifier + import segment + ++try: ++ from gtk.gdk import get_default_root_window ++except ImportError: ++ get_default_root_window = lambda : None ++ + + _table = { + 'q': [u'。', u'', u'ぁ'], +@@ -76,6 +84,88 @@ _table = { + '7': [u'7', u']', u''], + '8': [u'8', u'(', u''], + '9': [u'9', u')', u''], ++ '\\': [u'¥', u'', u''], ++} ++ ++_nicola_j_table = { ++ ':': [u':', u'', u''], ++ '@': [u'、', u'', u''], ++ '[': [u'゛', u'゜', u''], ++ ']': [u'」', u'', u''], ++ '8': [u'8', u'(', u''], ++ '9': [u'9', u')', u''], ++ '0': [u'0', u'', u''], ++} ++ ++_nicola_a_table = { ++ ':': [u':', u'', u''], ++ '@': [u'@', u'', u''], ++ '[': [u'、', u'', u''], ++ ']': [u'゛', u'゜', u''], ++ '8': [u'8', u'', u''], ++ '9': [u'9', u'(', u''], ++ '0': [u'0', u')', u''], ++} ++ ++_nicola_f_table = { ++ ':': [u'、', u'', u''], ++ '@': [u'@', u'', u''], ++ '[': [u'゛', u'゜', u''], ++ ']': [u'」', u'', u''], ++ '8': [u'8', u'(', u''], ++ '9': [u'9', u')', u''], ++ '0': [u'0', u'', u''], ++} ++ ++_kb231_j_fmv_table = { ++ '3': [u'3', u'', u'~'], ++ '0': [u'0', u'『', u''], ++ '-': [u'-', u'』', u''], ++ '=': [u'=', u'', u''], ++} ++ ++_kb231_a_fmv_table = { ++ '3': [u'3', u'', u'~'], ++ '0': [u'0', u')', u''], ++ '-': [u'-', u'『', u''], ++ '=': [u'=', u'』', u''], ++} ++ ++_kb231_f_fmv_table = { ++ '3': [u'3', u'', u'~'], ++ '0': [u'0', u'『', u''], ++ '-': [u'-', u'』', u''], ++ '=': [u'=', u'', u''], ++} ++ ++_kb611_j_fmv_table = { ++ '`': [u'‘', u'', u''], ++ '^': [u'々', u'£', u''], ++ ':': [u':', u'', u''], ++ '@': [u'、', u'¢', u''], ++ '[': [u'゛', u'゜', u''], ++ # keysyms are same and keycodes depend on the platforms. ++ #'¥': [u'¥', u'¬', u''], ++ '\\': [u'¥', u'¦', u''], ++} ++ ++_kb611_a_fmv_table = { ++ '`': [u'々', u'', u'£'], ++ ':': [u':', u'', u''], ++ '@': [u'@', u'', u''], ++ '[': [u'、', u'¢', u''], ++ #'¥': [u'¥', u'¬', u''], ++ '\\': [u'¥', u'¦', u''], ++} ++ ++_kb611_f_fmv_table = { ++ '`': [u'‘', u'', u''], ++ '^': [u'々', u'£', u''], ++ ':': [u'、', u'¢', u''], ++ '@': [u'@', u'', u''], ++ '[': [u'゛', u'゜', u''], ++ #'¥': [u'¥', u'¬', u''], ++ '\\': [u'¥', u'¦', u''], + } + + _shift_table = { +@@ -87,7 +177,6 @@ _shift_table = { + } + + table = {} +-shift_table = {} + r_table = {} + + for k in _table.keys(): +@@ -95,10 +184,6 @@ for k in _table.keys(): + for c in _table[k]: + r_table[c] = k + +-for k in _shift_table.keys(): +- shift_table[ord(k)] = _shift_table[k] +- r_table[_shift_table[k]] = k +- + kana_voiced_consonant_rule = { + u"か゛" : u"が", + u"き゛" : u"ぎ", +@@ -129,6 +214,208 @@ kana_voiced_consonant_rule = { + + _UNFINISHED_HIRAGANA = set(u"かきくけこさしすせそたちつてとはひふへほ") + ++class ThumbShiftKeyboard: ++ def __init__(self, prefs=None): ++ self.__prefs = prefs ++ self.__table = table ++ self.__r_table = r_table ++ self.__shift_table = {} ++ self.__ls = 0 ++ self.__rs = 0 ++ self.__t1 = 0 ++ self.__t2 = 0 ++ self.__layout = 0 ++ self.__fmv_extension = 2 ++ self.__handakuten = False ++ if self.__prefs != None: ++ self.reset() ++ self.__reset_shift_table(False) ++ ++ def __init_layout_table(self): ++ if self.__table != {}: ++ self.__table.clear() ++ if self.__r_table != {}: ++ self.__r_table.clear() ++ for k in _table.keys(): ++ self.__table[ord(k)] = _table[k] ++ for c in _table[k]: ++ self.__r_table[c] = k ++ ++ def __reset_layout_table(self, init, j_table, a_table, f_table): ++ if init: ++ self.__init_layout_table() ++ sub_table = None ++ if self.__layout == 0: ++ sub_table = j_table ++ elif self.__layout == 1: ++ sub_table = a_table ++ elif self.__layout == 2: ++ sub_table = f_table ++ if sub_table == None: ++ return ++ for k in sub_table.keys(): ++ self.__table[ord(unicode(k))] = sub_table[k] ++ for c in sub_table[k]: ++ self.__r_table[c] = k ++ ++ def __reset_extension_table(self, init): ++ self.__reset_layout_table(init, ++ _nicola_j_table, ++ _nicola_a_table, ++ _nicola_f_table) ++ if self.__fmv_extension == 0: ++ return ++ if self.__fmv_extension >= 1: ++ self.__reset_layout_table(False, ++ _kb231_j_fmv_table, ++ _kb231_a_fmv_table, ++ _kb231_f_fmv_table) ++ if self.__fmv_extension >= 2: ++ self.__reset_layout_table(False, ++ _kb611_j_fmv_table, ++ _kb611_a_fmv_table, ++ _kb611_f_fmv_table) ++ ++ def __reset_shift_table(self, init): ++ self.__reset_extension_table(init) ++ if self.__handakuten: ++ for k in _shift_table.keys(): ++ self.__shift_table[ord(k)] = _shift_table[k] ++ self.__r_table[_shift_table[k]] = k ++ elif self.__shift_table != {}: ++ for k in _shift_table.keys(): ++ if ord(k) in self.__shift_table: ++ del self.__shift_table[ord(k)] ++ if _shift_table[k] in self.__r_table: ++ del self.__r_table[_shift_table[k]] ++ ++ def __s_to_key_raw(self, s): ++ keyval = keysyms.name_to_keycode(s.split('+')[-1]) ++ s = s.lower() ++ state = ('shift+' in s and modifier.SHIFT_MASK or 0) | ( ++ 'ctrl+' in s and modifier.CONTROL_MASK or 0) | ( ++ 'alt+' in s and modifier.MOD1_MASK or 0) ++ return (keyval, state) ++ ++ def __get_xkb_layout(self): ++ root_window = get_default_root_window() ++ if not root_window: ++ return 0 ++ prop = root_window.property_get("_XKB_RULES_NAMES")[2] ++ list = prop.split('\0') ++ layout = 0 ++ for data in list: ++ if data == "jp": ++ layout = 0 ++ elif data == "us": ++ layout = 1 ++ elif data.find("japan:nicola_f_bs") >= 0: ++ layout = 2 ++ elif data.find("japan:") >= 0: ++ layout = 0 ++ return layout ++ ++ def reset(self): ++ s = self.__prefs.get_value('thumb', 'ls') ++ ls, state = self.__s_to_key_raw(s) ++ if ls == 0xffffff: ++ ls = keysyms.Muhenkan ++ self.set_ls(ls) ++ ++ s = self.__prefs.get_value('thumb', 'rs') ++ rs, state = self.__s_to_key_raw(s) ++ if rs == 0xffffff: ++ rs = keysyms.Henkan ++ self.set_rs(rs) ++ ++ t1 = self.__prefs.get_value('thumb', 't1') ++ t2 = self.__prefs.get_value('thumb', 't2') ++ self.set_t1(t1) ++ self.set_t2(t2) ++ ++ mode = self.__prefs.get_value('thumb', 'keyboard_layout_mode') ++ layout = 0 ++ if mode == 1: ++ layout = self.__get_xkb_layout() ++ else: ++ layout = self.__prefs.get_value('thumb', 'keyboard_layout') ++ self.set_layout(layout) ++ ++ fmv_extension = self.__prefs.get_value('thumb', 'fmv_extension') ++ self.set_fmv_extension(fmv_extension) ++ handakuten = self.__prefs.get_value('thumb', 'handakuten') ++ self.set_handakuten(handakuten) ++ ++ def get_ls(self): ++ return self.__ls ++ ++ def set_ls(self, ls): ++ self.__ls = ls ++ ++ def get_rs(self): ++ return self.__rs ++ ++ def set_rs(self, rs): ++ self.__rs = rs ++ ++ def get_t1(self): ++ return self.__t1 ++ ++ def set_t1(self, t1): ++ self.__t1 = t1 ++ ++ def get_t2(self): ++ return self.__t2 ++ ++ def set_t2(self, t2): ++ self.__t2 = t2 ++ ++ def get_layout(self): ++ return self.__layout ++ ++ def set_layout(self, layout): ++ if self.__layout == layout: ++ return ++ self.__layout = layout ++ self.__reset_shift_table(True) ++ ++ def get_fmv_extension (self): ++ return self.__fmv_extension ++ ++ def set_fmv_extension (self, fmv_extension): ++ if self.__fmv_extension == fmv_extension: ++ return ++ self.__fmv_extension = fmv_extension ++ self.__reset_shift_table(True) ++ ++ def get_handakuten(self): ++ return self.__handakuten ++ ++ def set_handakuten(self, handakuten): ++ if self.__handakuten == handakuten: ++ return ++ self.__handakuten = handakuten ++ self.__reset_shift_table(True) ++ ++ def get_char(self, key, fallback=None): ++ return self.__table.get(key, fallback) ++ ++ def get_chars(self): ++ return self.__table.keys() ++ ++ def get_r_char(self, key, fallback=None): ++ return self.__r_table.get(key, fallback) ++ ++ def get_r_chars(self): ++ return self.__r_table.keys() ++ ++ def get_shift_char(self, key, fallback=None): ++ return self.__shift_table.get(key, fallback) ++ ++ def get_shift_chars(self): ++ return self.__shift_table.keys() ++ ++ + class ThumbShiftSegment(segment.Segment): + + def __init__(self, enchars=u"", jachars=u""): +diff --git a/ibus-anthy.spec.in b/ibus-anthy.spec.in +index ada402b..23e25fb 100644 +--- a/ibus-anthy.spec.in ++++ b/ibus-anthy.spec.in +@@ -20,6 +20,7 @@ BuildRequires: swig + BuildRequires: pkgconfig + BuildRequires: intltool + ++Requires: pygtk2 >= 2.15.2 + Requires: ibus >= 1.2.0.20100111 + Requires: anthy + %if %enable_kasumi +diff --git a/setup/anthyprefs.py b/setup/anthyprefs.py +index 9af9ba4..5444bab 100644 +--- a/setup/anthyprefs.py ++++ b/setup/anthyprefs.py +@@ -170,11 +170,17 @@ _config = { + + 'dict_admin_command': ['/usr/bin/kasumi', 'kasumi'], + 'add_word_command': ['/usr/bin/kasumi', 'kasumi', '-a'], +- +- 'thumb_rs': gtk.keysyms.Henkan, +- 'thumb_ls': gtk.keysyms.Muhenkan, +- 'thumb_t1': 100, +- 'thumb_t2': 75, ++ }, ++ ++ 'thumb': { ++ 'keyboard_layout_mode': True, ++ 'keyboard_layout': 0, ++ 'fmv_extension': 2, ++ 'handakuten': False, ++ 'rs': 'Henkan', ++ 'ls': 'Muhenkan', ++ 't1': 100, ++ 't2': 75, + } + } + +diff --git a/setup/main.py b/setup/main.py +index 1da35f7..5921d24 100644 +--- a/setup/main.py ++++ b/setup/main.py +@@ -24,7 +24,7 @@ from os import path, getenv + import gtk + import pango + from gtk import glade +-from ibus import keysyms, modifier ++from ibus import keysyms, modifier, Bus + from gettext import dgettext, bindtextdomain + + from anthyprefs import AnthyPrefs +@@ -41,7 +41,10 @@ def s_to_l(s): + + class AnthySetup(object): + def __init__(self): +- self.prefs = prefs = AnthyPrefs() ++ self.__config = Bus().get_config() ++ self.__thumb_kb_layout_mode = None ++ self.__thumb_kb_layout = None ++ self.prefs = prefs = AnthyPrefs(None, self.__config) + + localedir = getenv("IBUS_LOCALEDIR") + bindtextdomain("ibus-anthy", localedir) +@@ -63,8 +66,11 @@ class AnthySetup(object): + for name in ['input_mode', 'typing_method', + 'period_style', 'symbol_style', 'ten_key_mode', + 'behavior_on_focus_out', 'behavior_on_period', +- 'half_width_symbol', 'half_width_number', 'half_width_space']: +- xml.get_widget(name).set_active(prefs.get_value('common', name)) ++ 'half_width_symbol', 'half_width_number', 'half_width_space', ++ 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', ++ 'thumb:fmv_extension', 'thumb:handakuten']: ++ section, key = self.__get_section_key(name) ++ xml.get_widget(name).set_active(prefs.get_value(section, key)) + + l = ['default', 'atok', 'wnn'] + s_type = prefs.get_value('common', 'shortcut_type') +@@ -89,6 +95,14 @@ class AnthySetup(object): + ls.append([k, l_to_s(self.prefs.get_value(sec, k))]) + tv.set_model(ls) + ++ self.__thumb_kb_layout_mode = xml.get_widget('thumb:keyboard_layout_mode') ++ self.__thumb_kb_layout = xml.get_widget('thumb:keyboard_layout') ++ self.__set_thumb_kb_label() ++ ++ for name in ['thumb:ls', 'thumb:rs']: ++ section, key = self.__get_section_key(name) ++ xml.get_widget(name).set_text(prefs.get_value(section, key)) ++ + tv = xml.get_widget('treeview2') + tv.append_column(gtk.TreeViewColumn('', gtk.CellRendererText(), text=0)) + tv.get_selection().connect_after('changed', +@@ -97,6 +111,32 @@ class AnthySetup(object): + + xml.signal_autoconnect(self) + ++ def __get_section_key(self, name): ++ i = name.find(':') ++ if i > 0: ++ section = name[:i] ++ key = name[i + 1:] ++ else: ++ section = 'common' ++ key = name ++ return (section, key) ++ ++ def __set_thumb_kb_label(self): ++ if self.__thumb_kb_layout_mode == None or \ ++ self.__thumb_kb_layout == None: ++ return ++ section, key = self.__get_section_key(self.__thumb_kb_layout_mode.name) ++ layout_mode = self.prefs.get_value(section, key) ++ if layout_mode: ++ self.__thumb_kb_layout.set_sensitive(False) ++ else: ++ self.__thumb_kb_layout.set_sensitive(True) ++ if layout_mode and \ ++ not self.__config.get_value('general', 'use_system_keyboard_layout', True): ++ self.xml.get_widget('thumb:warning_hbox').show() ++ else: ++ self.xml.get_widget('thumb:warning_hbox').hide() ++ + def on_selection_changed(self, widget, id): + set_sensitive = lambda a, b: self.xml.get_widget(a).set_sensitive(b) + flg = True if widget.get_selected()[1] else False +@@ -139,16 +179,22 @@ class AnthySetup(object): + widget.set_sensitive(False) + + def on_cb_changed(self, widget): +- self.prefs.set_value('common', widget.name, widget.get_active()) ++ section, key = self.__get_section_key(widget.name) ++ self.prefs.set_value(section, key, widget.get_active()) + self.xml.get_widget('btn_apply').set_sensitive(True) + + def on_sb_changed(self, widget): +- self.prefs.set_value('common', widget.name, widget.get_value_as_int()) ++ section, key = self.__get_section_key(widget.name) ++ self.prefs.set_value(section, key, widget.get_value_as_int()) + self.xml.get_widget('btn_apply').set_sensitive(True) + + def on_ck_toggled(self, widget): +- self.prefs.set_value('common', widget.name, widget.get_active()) ++ section, key = self.__get_section_key(widget.name) ++ self.prefs.set_value(section, key, widget.get_active()) + self.xml.get_widget('btn_apply').set_sensitive(True) ++ if self.__thumb_kb_layout_mode and \ ++ widget.name == self.__thumb_kb_layout_mode.name: ++ self.__set_thumb_kb_label() + + def on_btn_edit_clicked(self, widget): + ls, it = self.xml.get_widget('shortcut').get_selection().get_selected() +@@ -179,6 +225,41 @@ class AnthySetup(object): + ls.set(it, 1, new) + self.xml.get_widget('btn_apply').set_sensitive(True) + ++ def on_btn_thumb_key_clicked(self, widget): ++ if widget.name == 'thumb:button_ls': ++ entry = 'thumb:ls' ++ elif widget.name == 'thumb:button_rs': ++ entry = 'thumb:rs' ++ else: ++ return ++ text = self.xml.get_widget(entry).get_text() ++ m = self.xml.get_widget('treeview2').get_model() ++ m.clear() ++ if text != None: ++ m.append([text]) ++ i = m.get_iter_first() ++ self.xml.get_widget('treeview2').get_selection().select_iter(i) ++ self.xml.get_widget('entry2').set_text('') ++ self.xml.get_widget('button4').hide() ++ self.xml.get_widget('button5').show() ++ self.xml.get_widget('button6').hide() ++ for w in ['checkbutton6', 'checkbutton7', 'checkbutton8']: ++ self.xml.get_widget(w).set_active(False) ++ dlg = self.xml.get_widget('edit_shortcut') ++ id = dlg.run() ++ dlg.hide() ++ self.xml.get_widget('button4').show() ++ self.xml.get_widget('button5').hide() ++ self.xml.get_widget('button6').show() ++ if id == gtk.RESPONSE_OK: ++ l, i = self.xml.get_widget('treeview2').get_selection().get_selected() ++ new = l[i][0] ++ if new != text: ++ section, key = self.__get_section_key(entry) ++ self.prefs.set_value(section, key, new) ++ self.xml.get_widget(entry).set_text(new) ++ self.xml.get_widget('btn_apply').set_sensitive(True) ++ + def _get_shortcut_sec(self): + l = ['default', 'atok', 'wnn'] + s_type = self.xml.get_widget('shortcut_type').get_active_text().lower() +@@ -195,7 +276,8 @@ class AnthySetup(object): + for k in self.prefs.keys(sec): + ls.append([k, l_to_s(self.prefs.get_value(sec, k))]) + +- self.prefs.set_value('common', widget.name, sec[len('shortcut/'):]) ++ section, key = self.__get_section_key(widget.name) ++ self.prefs.set_value(section, key, sec[len('shortcut/'):]) + self.xml.get_widget('btn_apply').set_sensitive(True) + + def on_shortcut_key_release_event(self, widget, event): +@@ -262,6 +344,24 @@ class AnthySetup(object): + return True + l.append([s]) + ++ def on_button5_clicked(self, widget): ++ s = self.xml.get_widget('entry2').get_text() ++ if not s or not keysyms.name_to_keycode(s): ++ dlg = self.xml.get_widget('invalid_keysym') ++ dlg.set_markup('%s' % _('Invalid keysym')) ++ dlg.format_secondary_text(_('This keysym is not valid')) ++ dlg.run() ++ dlg.hide() ++ return True ++ for w, m in [('checkbutton6', 'Ctrl+'), ++ ('checkbutton7', 'Alt+'), ++ ('checkbutton8', 'Shift+')]: ++ if self.xml.get_widget(w).get_active(): ++ s = m + s ++ l, i = self.xml.get_widget('treeview2').get_selection().get_selected() ++ l[i][0] = s ++ return True ++ + def on_button6_clicked(self, widget): + l, i = self.xml.get_widget('treeview2').get_selection().get_selected() + if i: +diff --git a/setup/setup.glade b/setup/setup.glade +index f068938..39fc754 100644 +--- a/setup/setup.glade ++++ b/setup/setup.glade +@@ -460,7 +460,7 @@ Hold + True + 8 + +- ++ + True + _Shortcut Type: + True +@@ -612,6 +612,373 @@ Wnn + + + ++ ++ True ++ 8 ++ 4 ++ ++ ++ True ++ 0 ++ none ++ ++ ++ True ++ 8 ++ 8 ++ 12 ++ ++ ++ True ++ 8 ++ 8 ++ 4 ++ ++ ++ True ++ 2 ++ 3 ++ 8 ++ 4 ++ ++ ++ True ++ 0 ++ True ++ Thumb Shift _Left Key: ++ thumb:ls ++ ++ ++ ++ ++ ++ ++ True ++ True ++ False ++ ++ ++ 1 ++ 2 ++ ++ ++ ++ ++ ... ++ True ++ True ++ False ++ ++ ++ ++ 2 ++ 3 ++ ++ ++ ++ ++ True ++ 0 ++ True ++ _Thumb Shift Right Key: ++ thumb:rs ++ ++ ++ 1 ++ 2 ++ ++ ++ ++ ++ True ++ True ++ False ++ ++ ++ 1 ++ 2 ++ 1 ++ 2 ++ ++ ++ ++ ++ ... ++ True ++ True ++ False ++ ++ ++ ++ 2 ++ 3 ++ 1 ++ 2 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Adjust _input method layout to system keyboard layout ++ Adjust IM layout to XKB layout ++ True ++ True ++ False ++ True ++ True ++ ++ ++ ++ ++ 1 ++ 2 ++ ++ ++ ++ ++ ++ True ++ 8 ++ ++ ++ True ++ 0 ++ True ++ Input _Method Layout: ++ thumb:keyboard_layout ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ True ++ NICOLA-J ++NICOLA-A ++NICOLA-F ++ ++ ++ ++ 1 ++ ++ ++ ++ ++ 2 ++ 3 ++ ++ ++ ++ ++ ++ True ++ 8 ++ ++ ++ True ++ gtk-dialog-info ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ True ++ 0 ++ True ++ Restart ibus when you change the keyboard layout. ++ Restart ibus when you change XKB ++ ++ ++ False ++ False ++ 1 ++ ++ ++ ++ ++ 3 ++ 4 ++ ++ ++ ++ ++ ++ False ++ 8 ++ ++ ++ True ++ gtk-dialog-warning ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ True ++ 0 ++ True ++ Strongly recommend to enable "Use system keyboard layout" check button in "Advanced" tab using 'ibus-setup' command ++ ++ ++ False ++ False ++ 1 ++ ++ ++ ++ ++ 4 ++ 5 ++ ++ ++ ++ ++ ++ True ++ 8 ++ ++ ++ True ++ 0 ++ True ++ _Additional Key Arrangement: ++ thumb:fmv_extension ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ True ++ None ++FMV KB231 key extension ++FMV KB611 key extension ++ '~', 『', '¢', '£' and so on can be output with Thumb Shift key ++ ++ ++ ++ 1 ++ ++ ++ ++ ++ 5 ++ 6 ++ ++ ++ ++ ++ ++ True ++ 8 ++ ++ ++ True ++ gtk-dialog-info ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ True ++ 0 ++ True ++ You do not have to reconfigure the system keyboard layout for "Additional Key Arrangement" since this option changes input method layout only in case input method is turned on. ++ You do not have to reconfigure XKB since this option changes IM layout only with IM on. ++ ++ ++ False ++ False ++ 1 ++ ++ ++ ++ ++ 6 ++ 7 ++ ++ ++ ++ ++ ++ _Enable semi-voiced sound mark with Shift key ++ Seion + Shift can output Handakuon ++ True ++ True ++ False ++ True ++ True ++ ++ ++ ++ ++ 7 ++ 8 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ True ++ <b>Thumb Shift Layout</b> ++ True ++ ++ ++ label_item ++ ++ ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ 2 ++ ++ ++ ++ ++ True ++ Thumb S_hift ++ True ++ vbox3 ++ ++ ++ 2 ++ False ++ tab ++ ++ ++ + + True + <span size='xx-large'><b>IBus-Anthy</b></span> +@@ -626,18 +993,18 @@ URL : http://code.google.com/p/ibus/ + start + + +- 2 ++ 3 + + + +- ++ + True + Abo_ut + True + about + + +- 2 ++ 3 + False + tab + +@@ -752,7 +1119,7 @@ URL : http://code.google.com/p/ibus/ + True + 8 + +- ++ + True + Key Code: + +@@ -799,7 +1166,7 @@ URL : http://code.google.com/p/ibus/ + True + 8 + +- ++ + True + Modifier: + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 21bd56d..2745108 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,15 +1,16 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define require_ibus_version 1.2.0.20100111 +%define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.0.20100115 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz Source1: ibus-anthy.png -# Patch0: ibus-anthy-HEAD.patch +Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -23,6 +24,7 @@ BuildRequires: intltool Requires: ibus >= %{require_ibus_version} Requires: anthy +Requires: pygtk2 >= %{require_pygtk2_version} Requires: kasumi %description @@ -32,7 +34,7 @@ libanthy. %prep %setup -q cp %SOURCE1 icons -# %patch0 -p1 +%patch0 -p1 %build %configure --disable-static @@ -60,6 +62,13 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Mar 05 2010 Takao Fujiwara - 1.2.0.20100115-2 +- Fix bug 564268 - Crash with enabled global input method +- Fix bug 570680 - Support NICOLA-F and NICOLA-A +- Fix romaji_typing_rule. #777 +- Fix Shift + char with CapsLock ON in romaji mode. +- Fix chattering bug. + * Fri Jan 15 2010 Takao Fujiwara - 1.2.0.20100115-1 - Update to 1.2.0.20100115 - Fix bug 550001 - kasumi should be accessible from ibus-anthy From 65d4dc66bf29d0c5d5ec4a647b2a06ec2b397641 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 12 Mar 2010 03:33:08 +0000 Subject: [PATCH 032/202] - Update to 1.2.0.20100312 - Fix bug 571728 - ibus-anthy support to switch dicts - Fix bug 572412 - ibus-anthy: Segment convertion mode --- .cvsignore | 2 +- ibus-anthy-HEAD.patch | 1556 +---------------------------------------- ibus-anthy.spec | 13 +- sources | 2 +- 4 files changed, 12 insertions(+), 1561 deletions(-) diff --git a/.cvsignore b/.cvsignore index 829cb8b..d19bc2a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -ibus-anthy-1.2.0.20100115.tar.gz +ibus-anthy-1.2.0.20100312.tar.gz ibus-anthy.png diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8c50da5..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,1555 +1 @@ -diff --git a/engine/engine.py b/engine/engine.py -index c5841cb..56e5b28 100644 ---- a/engine/engine.py -+++ b/engine/engine.py -@@ -22,6 +22,7 @@ - - import os - from os import path -+from locale import getpreferredencoding - import sys - import gobject - import ibus -@@ -96,6 +97,7 @@ class Engine(ibus.EngineBase): - __setup_pid = 0 - __prefs = None - __keybind = {} -+ __thumb = None - - def __init__(self, bus, object_path): - super(Engine, self).__init__(bus, object_path) -@@ -105,8 +107,10 @@ class Engine(ibus.EngineBase): - self.__context._set_encoding(anthy.ANTHY_UTF8_ENCODING) - - # init state -+ self.__idle_id = 0 - self.__input_mode = INPUT_MODE_HIRAGANA - self.__prop_dict = {} -+ self.__is_utf8 = (getpreferredencoding().lower() == "utf-8") - - # self.__lookup_table = ibus.LookupTable(page_size=9, round=True) - size = self.__prefs.get_value('common', 'page_size') -@@ -130,7 +134,6 @@ class Engine(ibus.EngineBase): - self.__preedit_ja_string = jastring.JaString(Engine.__typing_mode) - self.__convert_chars = u"" - self.__cursor_pos = 0 -- self.__need_update = False - self.__convert_mode = CONV_MODE_OFF - self.__segments = list() - self.__lookup_table.clean() -@@ -138,6 +141,11 @@ class Engine(ibus.EngineBase): - self._MM = 0 - self._SS = 0 - self._H = 0 -+ self._RMM = 0 -+ self._RSS = 0 -+ if self.__idle_id != 0: -+ gobject.source_remove(self.__idle_id) -+ self.__idle_id = 0 - - def __init_props(self): - anthy_props = ibus.PropList() -@@ -485,6 +493,8 @@ class Engine(ibus.EngineBase): - return True - self.__prop_dict[prop_name].set_state(state) - self.update_property(self.__prop_dict[prop_name]) -+ if prop_name == u"TypingMode.ThumbShift": -+ self._reset_thumb() - - mode, label = typing_modes[prop_name] - -@@ -526,6 +536,12 @@ class Engine(ibus.EngineBase): - elif mode == 1: - self.__on_key_return() - -+ def do_destroy(self): -+ if self.__idle_id != 0: -+ gobject.source_remove(self.__idle_id) -+ self.__idle_id = 0 -+ super(Engine,self).do_destroy() -+ - # begine convert - def __begin_anthy_convert(self): - if self.__convert_mode == CONV_MODE_ANTHY: -@@ -562,6 +578,15 @@ class Engine(ibus.EngineBase): - def __end_convert(self): - self.__end_anthy_convert() - -+ def __candidate_cb(self, candidate): -+ if not self.__is_utf8: -+ return -+ for key in romaji_utf8_rule.keys(): -+ if candidate.find(key) >= 0: -+ for value in romaji_utf8_rule[key]: -+ candidate = candidate.replace(key, value) -+ self.__lookup_table.append_candidate(ibus.Text(candidate)) -+ - def __fill_lookup_table(self): - if self.__convert_mode == CONV_MODE_PREDICTION: - seg_stat = anthy.anthy_prediction_stat() -@@ -573,7 +598,7 @@ class Engine(ibus.EngineBase): - buf = self.__context.get_prediction(i) - candidate = unicode(buf, "utf-8") - self.__lookup_table.append_candidate(ibus.Text(candidate)) -- -+ self.__candidate_cb(candidate) - return - - # get segment stat -@@ -586,13 +611,14 @@ class Engine(ibus.EngineBase): - buf = self.__context.get_segment(self.__cursor_pos, i) - candidate = unicode(buf, "utf-8") - self.__lookup_table.append_candidate(ibus.Text(candidate)) -+ self.__candidate_cb(candidate) - - - def __invalidate(self): -- if self.__need_update: -+ if self.__idle_id != 0: - return -- self.__need_update = True -- gobject.idle_add(self.__update, priority = gobject.PRIORITY_LOW) -+ self.__idle_id = gobject.idle_add(self.__update, -+ priority = gobject.PRIORITY_LOW) - - # def __get_preedit(self): - def __get_preedit(self, commit=False): -@@ -699,11 +725,11 @@ class Engine(ibus.EngineBase): - self.__lookup_table_visible) - - def __update(self): -- self.__need_update = False - if self.__convert_mode == CONV_MODE_OFF: - self.__update_input_chars() - else: - self.__update_convert_chars() -+ self.__idle_id = 0 - - def __on_key_return(self): - if self.__preedit_ja_string.is_empty(): -@@ -956,7 +982,7 @@ class Engine(ibus.EngineBase): - self.__invalidate() - return True - -- def __on_key_common(self, keyval): -+ def __on_key_common(self, keyval, state=0): - - if self.__input_mode == INPUT_MODE_LATIN: - # Input Latin chars -@@ -981,6 +1007,13 @@ class Engine(ibus.EngineBase): - elif self.__convert_mode != CONV_MODE_OFF: - self.__commit_string(self.__convert_chars) - -+ # "n" + "'" == "nn" in romaji -+ if (keyval >= ord('A') and keyval <= ord('Z')) or \ -+ (keyval >= ord('a') and keyval <= ord('z')): -+ shift = (state & modifier.SHIFT_MASK) != 0 -+ else: -+ shift = False -+ self.__preedit_ja_string.set_shift(shift) - self.__preedit_ja_string.insert(unichr(keyval)) - self.__invalidate() - return True -@@ -1024,6 +1057,9 @@ class Engine(ibus.EngineBase): - cls.__prefs.set_value(base_sec, name, value) - if name == 'shortcut_type': - cls.__keybind = cls._mk_keybind() -+ elif base_sec == 'thumb': -+ cls.__prefs.set_value(base_sec, name, value) -+ cls._reset_thumb() - elif base_sec: - cls.__prefs.set_value(base_sec, name, value) - else: -@@ -1056,6 +1092,15 @@ class Engine(ibus.EngineBase): - 'alt+' in s and modifier.MOD1_MASK or 0) - return cls._mk_key(keyval, state) - -+ @classmethod -+ def _reset_thumb(cls): -+ if cls.__thumb == None: -+ import thumb -+ cls.__thumb = thumb.ThumbShiftKeyboard(cls.__prefs) -+ -+ else: -+ cls.__thumb.reset() -+ - @staticmethod - def _mk_key(keyval, state): - if state & (modifier.CONTROL_MASK | modifier.MOD1_MASK): -@@ -1067,12 +1112,12 @@ class Engine(ibus.EngineBase): - return repr([int(state), int(keyval)]) - - def process_key_event_thumb(self, keyval, keycode, state): -- import gtk -- import thumb -+ if self.__thumb == None: -+ self._reset_thumb() - - def on_timeout(keyval): - if self._MM: -- insert(thumb.table[self._MM][self._SS]) -+ insert(self.__thumb.get_char(self._MM)[self._SS]) - else: - cmd_exec([0, RS(), LS()][self._SS]) - self._H = None -@@ -1089,6 +1134,7 @@ class Engine(ibus.EngineBase): - - def insert(keyval): - try: -+ self._MM = self._SS = 0 - ret = self.__on_key_common(ord(keyval)) - if (keyval in u',.、。' and - self.__prefs.get_value('common', 'behavior_on_period')): -@@ -1109,16 +1155,16 @@ class Engine(ibus.EngineBase): - return False - - def RS(): -- return self.__prefs.get_value('common', 'thumb_rs') -+ return self.__thumb.get_rs() - - def LS(): -- return self.__prefs.get_value('common', 'thumb_ls') -+ return self.__thumb.get_ls() - - def T1(): -- return self.__prefs.get_value('common', 'thumb_t1') -+ return self.__thumb.get_t1() - - def T2(): -- return self.__prefs.get_value('common', 'thumb_t2') -+ return self.__thumb.get_t2() - - state = state & (modifier.SHIFT_MASK | - modifier.CONTROL_MASK | -@@ -1132,12 +1178,16 @@ class Engine(ibus.EngineBase): - if state & modifier.RELEASE_MASK: - if keyval == self._MM: - if stop(): -- insert(thumb.table[self._MM][self._SS]) -+ insert(self.__thumb.get_char(self._MM)[self._SS]) - self._MM = 0 - elif (1 if keyval == RS() else 2) == self._SS: - if stop(): - cmd_exec([0, RS(), LS()][self._SS]) - self._SS = 0 -+ if keyval in [RS(), LS()]: -+ self._RSS = 0 -+ elif keyval == self._RMM: -+ self._RMM = 0 - else: - if keyval in [LS(), RS()] and state == 0: - if self._SS: -@@ -1147,35 +1197,50 @@ class Engine(ibus.EngineBase): - start(T1()) - elif self._MM: - stop() -- insert(thumb.table[self._MM][1 if keyval == RS() else 2]) -+ self._RMM = self._MM -+ self._RSS = 1 if keyval == RS() else 2 -+ insert(self.__thumb.get_char(self._MM)[1 if keyval == RS() else 2]) - else: -- self._SS = 1 if keyval == RS() else 2 -- start(T1()) -- elif keyval in thumb.table.keys() and state == 0: -+ if self._RSS == (1 if keyval == RS() else 2): -+ if self._RMM: -+ insert(self.__thumb.get_char(self._RMM)[self._RSS]) -+ else: -+ self._SS = 1 if keyval == RS() else 2 -+ start(T1()) -+ elif keyval in self.__thumb.get_chars() and state == 0: - if self._MM: - stop() -- insert(thumb.table[self._MM][self._SS]) -+ insert(self.__thumb.get_char(self._MM)[self._SS]) - start(T2()) - self._MM = keyval - elif self._SS: - stop() -- insert(thumb.table[keyval][self._SS]) -+ self._RMM = keyval -+ self._RSS = self._SS -+ insert(self.__thumb.get_char(keyval)[self._SS]) - else: -- if cmd_exec(keyval, state): -- return True -- start(T2()) -- self._MM = keyval -+ if self._RMM == keyval: -+ if self._RSS: -+ insert(self.__thumb.get_char(self._RMM)[self._RSS]) -+ else: -+ if cmd_exec(keyval, state): -+ return True -+ start(T2()) -+ self._MM = keyval - else: - if self._MM: - stop() -- insert(thumb.table[self._MM][self._SS]) -+ insert(self.__thumb.get_char(self._MM)[self._SS]) - elif self._SS: - stop() - cmd_exec([0, RS(), LS()][self._SS]) - if cmd_exec(keyval, state): - return True - elif 0x21 <= keyval <= 0x7e and state & (modifier.CONTROL_MASK | modifier.MOD1_MASK) == 0: -- insert(thumb.shift_table.get(keyval, unichr(keyval))) -+ if state & modifier.SHIFT_MASK: -+ insert(self.__thumb.get_shift_char(keyval, unichr(keyval))) -+ elif self._SS == 0: -+ insert(unichr(keyval)) - else: - if not self.__preedit_ja_string.is_empty(): - return True -@@ -1220,7 +1285,7 @@ class Engine(ibus.EngineBase): - keyval = keysyms.asciitilde - elif keyval == keysyms.backslash and keycode in [132-8, 133-8]: - keyval = keysyms.yen -- ret = self.__on_key_common(keyval) -+ ret = self.__on_key_common(keyval, state) - if (unichr(keyval) in u',.' and - self.__prefs.get_value('common', 'behavior_on_period')): - return self.__cmd_convert(keyval, state) -diff --git a/engine/jastring.py b/engine/jastring.py -index 306691e..7aa2ff2 100644 ---- a/engine/jastring.py -+++ b/engine/jastring.py -@@ -55,11 +55,15 @@ class JaString: - def reset(self): - self.__cursor = 0 - self.__segments = list() -+ self.__shift = False - - def set_mode(self, mode): - self.__mode = mode - self.reset() - -+ def set_shift(self, shift): -+ self.__shift = shift -+ - def insert(self, c): - segment_before = None - segment_after = None -@@ -70,14 +74,21 @@ class JaString: - if self.__cursor < len(self.__segments): - segment_after = self.__segments[self.__cursor] - if segment_before and not segment_before.is_finished(): -- new_segments = segment_before.append(c) -+ if type(segment_before) == romaji.RomajiSegment: -+ new_segments = segment_before.append(c, self.__shift) -+ else: -+ new_segments = segment_before.append(c) - elif segment_after and not segment_after.is_finished(): -- new_segments = segment_after.prepend(c) -+ if type(segment_after) == romaji.RomajiSegment: -+ new_segments = segment_after.prepend(c, self.__shift) -+ else: -+ new_segments = segment_after.prepend(c) - else: - if c != u"\0" and c != u"": - if self.__mode == TYPING_MODE_ROMAJI: -- new_segments = [romaji.RomajiSegment(c)] -+ new_segments = [romaji.RomajiSegment(c, u"", self.__shift)] - elif self.__mode == TYPING_MODE_KANA: -+ # kana mode doesn't have shift latin in MS. - new_segments = [kana.KanaSegment(c)] - elif self.__mode == TYPING_MODE_THUMB_SHIFT: - new_segments = [thumb.ThumbShiftSegment(c)] -@@ -126,7 +137,9 @@ class JaString: - ret = '' - for c in s: - c = c if not period else PeriodTable.get(c, c) -- c = c if not symbol else SymbolTable[symbol].get(c, c) -+ # thumb_left + '2' and '/' are different -+ if self.__mode != TYPING_MODE_THUMB_SHIFT: -+ c = c if not symbol else SymbolTable[symbol].get(c, c) - c = c if not half_symbol else HalfSymbolTable.get(c, c) - c = c if not half_number else HalfNumberTable.get(c, c) - ret += c -diff --git a/engine/romaji.py b/engine/romaji.py -index 12c6656..3deb8f9 100644 ---- a/engine/romaji.py -+++ b/engine/romaji.py -@@ -28,8 +28,8 @@ def romaji_correction_rule_get(k, d): - return (u'ん', k[1:2]) if k[0:1] == u'n' and not k[1:2] in u"aiueony'" else d - - class RomajiSegment(segment.Segment): -- def __init__(self, enchars=u"", jachars=u""): -- if not jachars: -+ def __init__(self, enchars=u"", jachars=u"", shift=False): -+ if not jachars and not shift: - jachars = romaji_typing_rule.get(enchars, None) - if jachars == None: - jachars = symbol_rule.get(enchars, u"") -@@ -38,13 +38,16 @@ class RomajiSegment(segment.Segment): - def is_finished(self): - return self._jachars != u"" - -- def append(self, enchar): -+ def append(self, enchar, shift=False): - if self.is_finished(): - if enchar == u"" and enchar == u"\0": - return [] - return [RomajiSegment(enchar)] - - text = self._enchars + enchar -+ if shift: -+ self._enchars = text -+ return [] - - jachars = romaji_typing_rule.get(text, None) - if jachars == None: -@@ -98,7 +101,7 @@ class RomajiSegment(segment.Segment): - self._enchars = text - return [] - -- def prepend(self, enchar): -+ def prepend(self, enchar, shift=False): - if enchar == u"" or enchar == u"\0": - return [] - -@@ -106,6 +109,10 @@ class RomajiSegment(segment.Segment): - return [RomajiSegment(enchar)] - - text = enchar + self._enchars -+ if shift: -+ self._enchars = text -+ return [] -+ - jachars = romaji_typing_rule.get(text, None) - if jachars == None: - jachars = symbol_rule.get(text, None) -diff --git a/engine/tables.py b/engine/tables.py -index 2ea67e0..a86a26a 100644 ---- a/engine/tables.py -+++ b/engine/tables.py -@@ -38,12 +38,6 @@ romaji_typing_rule = { - u"lu" : u"ぅ", - u"le" : u"ぇ", - u"lo" : u"ぉ", --# u"xka" : u"ゕ", -- u"xka" : u"ヵ", --# u"xke" : u"ゖ", -- u"xke" : u"ヶ", -- u"wi" : u"うぃ", -- u"we" : u"うぇ", - u"wha" : u"うぁ", - u"whi" : u"うぃ", - u"whe" : u"うぇ", -@@ -58,6 +52,12 @@ romaji_typing_rule = { - u"ku" : u"く", - u"ke" : u"け", - u"ko" : u"こ", -+ u"lka" : u"ヵ", -+ u"lke" : u"ヶ", -+# u"xka" : u"ゕ", -+ u"xka" : u"ヵ", -+# u"xke" : u"ゖ", -+ u"xke" : u"ヶ", - u"ga" : u"が", - u"gi" : u"ぎ", - u"gu" : u"ぐ", -@@ -68,11 +68,13 @@ romaji_typing_rule = { - u"kyu" : u"きゅ", - u"kye" : u"きぇ", - u"kyo" : u"きょ", -+ u"kwa" : u"くぁ", - u"gya" : u"ぎゃ", - u"gyi" : u"ぎぃ", - u"gyu" : u"ぎゅ", - u"gye" : u"ぎぇ", - u"gyo" : u"ぎょ", -+ u"gwa" : u"ぐぁ", - u"sa" : u"さ", - u"si" : u"し", - u"su" : u"す", -@@ -128,6 +130,11 @@ romaji_typing_rule = { - u"tyu" : u"ちゅ", - u"tye" : u"ちぇ", - u"tyo" : u"ちょ", -+ u"cya" : u"ちゃ", -+ u"cyi" : u"ちぃ", -+ u"cyu" : u"ちゅ", -+ u"cye" : u"ちぇ", -+ u"cyo" : u"ちょ", - u"cha" : u"ちゃ", - u"chi" : u"ち", - u"chu" : u"ちゅ", -@@ -139,6 +146,7 @@ romaji_typing_rule = { - u"dye" : u"ぢぇ", - u"dyo" : u"ぢょ", - u"tsa" : u"つぁ", -+ u"tsi" : u"つぃ", - u"tse" : u"つぇ", - u"tso" : u"つぉ", - u"tha" : u"てゃ", -@@ -146,11 +154,13 @@ romaji_typing_rule = { - u"thu" : u"てゅ", - u"the" : u"てぇ", - u"tho" : u"てょ", -+ u"twu" : u"とぅ", - u"dha" : u"でゃ", - u"dhi" : u"でぃ", - u"dhu" : u"でゅ", - u"dhe" : u"でぇ", - u"dho" : u"でょ", -+ u"dwu" : u"どぅ", - u"na" : u"な", - u"ni" : u"に", - u"nu" : u"ぬ", -@@ -211,15 +221,21 @@ romaji_typing_rule = { - u"myu" : u"みゅ", - u"mye" : u"みぇ", - u"myo" : u"みょ", -- u"lya" : u"ゃ", -- u"xya" : u"ゃ", - u"ya" : u"や", -- u"lyu" : u"ゅ", -- u"xyu" : u"ゅ", -+ u"yi" : u"い", - u"yu" : u"ゆ", -+ u"ye" : u"いぇ", -+ u"yo" : u"よ", -+ u"lya" : u"ゃ", -+ u"lyi" : u"ぃ", -+ u"lyu" : u"ゅ", -+ u"lye" : u"ぇ", - u"lyo" : u"ょ", -+ u"xya" : u"ゃ", -+ u"xyi" : u"ぃ", -+ u"xyu" : u"ゅ", -+ u"xye" : u"ぇ", - u"xyo" : u"ょ", -- u"yo" : u"よ", - u"ra" : u"ら", - u"ri" : u"り", - u"ru" : u"る", -@@ -230,9 +246,13 @@ romaji_typing_rule = { - u"ryu" : u"りゅ", - u"rye" : u"りぇ", - u"ryo" : u"りょ", -- u"xwa" : u"ゎ", - u"wa" : u"わ", -+ u"wi" : u"うぃ", -+ u"wu" : u"う", -+ u"we" : u"うぇ", - u"wo" : u"を", -+ u"lwa" : u"ゎ", -+ u"xwa" : u"ゎ", - u"n'" : u"ん", - u"nn" : u"ん", - u"wyi" : u"ゐ", -@@ -337,6 +357,11 @@ romaji_correction_rule = { - u"n." : (u"ん", u"."), - } - -+# EUC-JP and SJIS do not have the chars -+romaji_utf8_rule = { -+ u"ヴ" : (u"ゔ"), -+} -+ - # a port of 101kana.sty from scim-anthy - kana_typing_rule = { - # no modifiers keys -diff --git a/engine/thumb.py b/engine/thumb.py -index b678cda..8c4baff 100644 ---- a/engine/thumb.py -+++ b/engine/thumb.py -@@ -21,12 +21,20 @@ - # along with this program; if not, write to the Free Software - # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - --import gtk --import gobject --import time -+__all__ = ( -+ "ThumbShiftKeyboard", -+ "ThumbShiftSegment", -+ ) - -+from ibus import keysyms -+from ibus import modifier - import segment - -+try: -+ from gtk.gdk import get_default_root_window -+except ImportError: -+ get_default_root_window = lambda : None -+ - - _table = { - 'q': [u'。', u'', u'ぁ'], -@@ -76,6 +84,88 @@ _table = { - '7': [u'7', u']', u''], - '8': [u'8', u'(', u''], - '9': [u'9', u')', u''], -+ '\\': [u'¥', u'', u''], -+} -+ -+_nicola_j_table = { -+ ':': [u':', u'', u''], -+ '@': [u'、', u'', u''], -+ '[': [u'゛', u'゜', u''], -+ ']': [u'」', u'', u''], -+ '8': [u'8', u'(', u''], -+ '9': [u'9', u')', u''], -+ '0': [u'0', u'', u''], -+} -+ -+_nicola_a_table = { -+ ':': [u':', u'', u''], -+ '@': [u'@', u'', u''], -+ '[': [u'、', u'', u''], -+ ']': [u'゛', u'゜', u''], -+ '8': [u'8', u'', u''], -+ '9': [u'9', u'(', u''], -+ '0': [u'0', u')', u''], -+} -+ -+_nicola_f_table = { -+ ':': [u'、', u'', u''], -+ '@': [u'@', u'', u''], -+ '[': [u'゛', u'゜', u''], -+ ']': [u'」', u'', u''], -+ '8': [u'8', u'(', u''], -+ '9': [u'9', u')', u''], -+ '0': [u'0', u'', u''], -+} -+ -+_kb231_j_fmv_table = { -+ '3': [u'3', u'', u'~'], -+ '0': [u'0', u'『', u''], -+ '-': [u'-', u'』', u''], -+ '=': [u'=', u'', u''], -+} -+ -+_kb231_a_fmv_table = { -+ '3': [u'3', u'', u'~'], -+ '0': [u'0', u')', u''], -+ '-': [u'-', u'『', u''], -+ '=': [u'=', u'』', u''], -+} -+ -+_kb231_f_fmv_table = { -+ '3': [u'3', u'', u'~'], -+ '0': [u'0', u'『', u''], -+ '-': [u'-', u'』', u''], -+ '=': [u'=', u'', u''], -+} -+ -+_kb611_j_fmv_table = { -+ '`': [u'‘', u'', u''], -+ '^': [u'々', u'£', u''], -+ ':': [u':', u'', u''], -+ '@': [u'、', u'¢', u''], -+ '[': [u'゛', u'゜', u''], -+ # keysyms are same and keycodes depend on the platforms. -+ #'¥': [u'¥', u'¬', u''], -+ '\\': [u'¥', u'¦', u''], -+} -+ -+_kb611_a_fmv_table = { -+ '`': [u'々', u'', u'£'], -+ ':': [u':', u'', u''], -+ '@': [u'@', u'', u''], -+ '[': [u'、', u'¢', u''], -+ #'¥': [u'¥', u'¬', u''], -+ '\\': [u'¥', u'¦', u''], -+} -+ -+_kb611_f_fmv_table = { -+ '`': [u'‘', u'', u''], -+ '^': [u'々', u'£', u''], -+ ':': [u'、', u'¢', u''], -+ '@': [u'@', u'', u''], -+ '[': [u'゛', u'゜', u''], -+ #'¥': [u'¥', u'¬', u''], -+ '\\': [u'¥', u'¦', u''], - } - - _shift_table = { -@@ -87,7 +177,6 @@ _shift_table = { - } - - table = {} --shift_table = {} - r_table = {} - - for k in _table.keys(): -@@ -95,10 +184,6 @@ for k in _table.keys(): - for c in _table[k]: - r_table[c] = k - --for k in _shift_table.keys(): -- shift_table[ord(k)] = _shift_table[k] -- r_table[_shift_table[k]] = k -- - kana_voiced_consonant_rule = { - u"か゛" : u"が", - u"き゛" : u"ぎ", -@@ -129,6 +214,208 @@ kana_voiced_consonant_rule = { - - _UNFINISHED_HIRAGANA = set(u"かきくけこさしすせそたちつてとはひふへほ") - -+class ThumbShiftKeyboard: -+ def __init__(self, prefs=None): -+ self.__prefs = prefs -+ self.__table = table -+ self.__r_table = r_table -+ self.__shift_table = {} -+ self.__ls = 0 -+ self.__rs = 0 -+ self.__t1 = 0 -+ self.__t2 = 0 -+ self.__layout = 0 -+ self.__fmv_extension = 2 -+ self.__handakuten = False -+ if self.__prefs != None: -+ self.reset() -+ self.__reset_shift_table(False) -+ -+ def __init_layout_table(self): -+ if self.__table != {}: -+ self.__table.clear() -+ if self.__r_table != {}: -+ self.__r_table.clear() -+ for k in _table.keys(): -+ self.__table[ord(k)] = _table[k] -+ for c in _table[k]: -+ self.__r_table[c] = k -+ -+ def __reset_layout_table(self, init, j_table, a_table, f_table): -+ if init: -+ self.__init_layout_table() -+ sub_table = None -+ if self.__layout == 0: -+ sub_table = j_table -+ elif self.__layout == 1: -+ sub_table = a_table -+ elif self.__layout == 2: -+ sub_table = f_table -+ if sub_table == None: -+ return -+ for k in sub_table.keys(): -+ self.__table[ord(unicode(k))] = sub_table[k] -+ for c in sub_table[k]: -+ self.__r_table[c] = k -+ -+ def __reset_extension_table(self, init): -+ self.__reset_layout_table(init, -+ _nicola_j_table, -+ _nicola_a_table, -+ _nicola_f_table) -+ if self.__fmv_extension == 0: -+ return -+ if self.__fmv_extension >= 1: -+ self.__reset_layout_table(False, -+ _kb231_j_fmv_table, -+ _kb231_a_fmv_table, -+ _kb231_f_fmv_table) -+ if self.__fmv_extension >= 2: -+ self.__reset_layout_table(False, -+ _kb611_j_fmv_table, -+ _kb611_a_fmv_table, -+ _kb611_f_fmv_table) -+ -+ def __reset_shift_table(self, init): -+ self.__reset_extension_table(init) -+ if self.__handakuten: -+ for k in _shift_table.keys(): -+ self.__shift_table[ord(k)] = _shift_table[k] -+ self.__r_table[_shift_table[k]] = k -+ elif self.__shift_table != {}: -+ for k in _shift_table.keys(): -+ if ord(k) in self.__shift_table: -+ del self.__shift_table[ord(k)] -+ if _shift_table[k] in self.__r_table: -+ del self.__r_table[_shift_table[k]] -+ -+ def __s_to_key_raw(self, s): -+ keyval = keysyms.name_to_keycode(s.split('+')[-1]) -+ s = s.lower() -+ state = ('shift+' in s and modifier.SHIFT_MASK or 0) | ( -+ 'ctrl+' in s and modifier.CONTROL_MASK or 0) | ( -+ 'alt+' in s and modifier.MOD1_MASK or 0) -+ return (keyval, state) -+ -+ def __get_xkb_layout(self): -+ root_window = get_default_root_window() -+ if not root_window: -+ return 0 -+ prop = root_window.property_get("_XKB_RULES_NAMES")[2] -+ list = prop.split('\0') -+ layout = 0 -+ for data in list: -+ if data == "jp": -+ layout = 0 -+ elif data == "us": -+ layout = 1 -+ elif data.find("japan:nicola_f_bs") >= 0: -+ layout = 2 -+ elif data.find("japan:") >= 0: -+ layout = 0 -+ return layout -+ -+ def reset(self): -+ s = self.__prefs.get_value('thumb', 'ls') -+ ls, state = self.__s_to_key_raw(s) -+ if ls == 0xffffff: -+ ls = keysyms.Muhenkan -+ self.set_ls(ls) -+ -+ s = self.__prefs.get_value('thumb', 'rs') -+ rs, state = self.__s_to_key_raw(s) -+ if rs == 0xffffff: -+ rs = keysyms.Henkan -+ self.set_rs(rs) -+ -+ t1 = self.__prefs.get_value('thumb', 't1') -+ t2 = self.__prefs.get_value('thumb', 't2') -+ self.set_t1(t1) -+ self.set_t2(t2) -+ -+ mode = self.__prefs.get_value('thumb', 'keyboard_layout_mode') -+ layout = 0 -+ if mode == 1: -+ layout = self.__get_xkb_layout() -+ else: -+ layout = self.__prefs.get_value('thumb', 'keyboard_layout') -+ self.set_layout(layout) -+ -+ fmv_extension = self.__prefs.get_value('thumb', 'fmv_extension') -+ self.set_fmv_extension(fmv_extension) -+ handakuten = self.__prefs.get_value('thumb', 'handakuten') -+ self.set_handakuten(handakuten) -+ -+ def get_ls(self): -+ return self.__ls -+ -+ def set_ls(self, ls): -+ self.__ls = ls -+ -+ def get_rs(self): -+ return self.__rs -+ -+ def set_rs(self, rs): -+ self.__rs = rs -+ -+ def get_t1(self): -+ return self.__t1 -+ -+ def set_t1(self, t1): -+ self.__t1 = t1 -+ -+ def get_t2(self): -+ return self.__t2 -+ -+ def set_t2(self, t2): -+ self.__t2 = t2 -+ -+ def get_layout(self): -+ return self.__layout -+ -+ def set_layout(self, layout): -+ if self.__layout == layout: -+ return -+ self.__layout = layout -+ self.__reset_shift_table(True) -+ -+ def get_fmv_extension (self): -+ return self.__fmv_extension -+ -+ def set_fmv_extension (self, fmv_extension): -+ if self.__fmv_extension == fmv_extension: -+ return -+ self.__fmv_extension = fmv_extension -+ self.__reset_shift_table(True) -+ -+ def get_handakuten(self): -+ return self.__handakuten -+ -+ def set_handakuten(self, handakuten): -+ if self.__handakuten == handakuten: -+ return -+ self.__handakuten = handakuten -+ self.__reset_shift_table(True) -+ -+ def get_char(self, key, fallback=None): -+ return self.__table.get(key, fallback) -+ -+ def get_chars(self): -+ return self.__table.keys() -+ -+ def get_r_char(self, key, fallback=None): -+ return self.__r_table.get(key, fallback) -+ -+ def get_r_chars(self): -+ return self.__r_table.keys() -+ -+ def get_shift_char(self, key, fallback=None): -+ return self.__shift_table.get(key, fallback) -+ -+ def get_shift_chars(self): -+ return self.__shift_table.keys() -+ -+ - class ThumbShiftSegment(segment.Segment): - - def __init__(self, enchars=u"", jachars=u""): -diff --git a/ibus-anthy.spec.in b/ibus-anthy.spec.in -index ada402b..23e25fb 100644 ---- a/ibus-anthy.spec.in -+++ b/ibus-anthy.spec.in -@@ -20,6 +20,7 @@ BuildRequires: swig - BuildRequires: pkgconfig - BuildRequires: intltool - -+Requires: pygtk2 >= 2.15.2 - Requires: ibus >= 1.2.0.20100111 - Requires: anthy - %if %enable_kasumi -diff --git a/setup/anthyprefs.py b/setup/anthyprefs.py -index 9af9ba4..5444bab 100644 ---- a/setup/anthyprefs.py -+++ b/setup/anthyprefs.py -@@ -170,11 +170,17 @@ _config = { - - 'dict_admin_command': ['/usr/bin/kasumi', 'kasumi'], - 'add_word_command': ['/usr/bin/kasumi', 'kasumi', '-a'], -- -- 'thumb_rs': gtk.keysyms.Henkan, -- 'thumb_ls': gtk.keysyms.Muhenkan, -- 'thumb_t1': 100, -- 'thumb_t2': 75, -+ }, -+ -+ 'thumb': { -+ 'keyboard_layout_mode': True, -+ 'keyboard_layout': 0, -+ 'fmv_extension': 2, -+ 'handakuten': False, -+ 'rs': 'Henkan', -+ 'ls': 'Muhenkan', -+ 't1': 100, -+ 't2': 75, - } - } - -diff --git a/setup/main.py b/setup/main.py -index 1da35f7..5921d24 100644 ---- a/setup/main.py -+++ b/setup/main.py -@@ -24,7 +24,7 @@ from os import path, getenv - import gtk - import pango - from gtk import glade --from ibus import keysyms, modifier -+from ibus import keysyms, modifier, Bus - from gettext import dgettext, bindtextdomain - - from anthyprefs import AnthyPrefs -@@ -41,7 +41,10 @@ def s_to_l(s): - - class AnthySetup(object): - def __init__(self): -- self.prefs = prefs = AnthyPrefs() -+ self.__config = Bus().get_config() -+ self.__thumb_kb_layout_mode = None -+ self.__thumb_kb_layout = None -+ self.prefs = prefs = AnthyPrefs(None, self.__config) - - localedir = getenv("IBUS_LOCALEDIR") - bindtextdomain("ibus-anthy", localedir) -@@ -63,8 +66,11 @@ class AnthySetup(object): - for name in ['input_mode', 'typing_method', - 'period_style', 'symbol_style', 'ten_key_mode', - 'behavior_on_focus_out', 'behavior_on_period', -- 'half_width_symbol', 'half_width_number', 'half_width_space']: -- xml.get_widget(name).set_active(prefs.get_value('common', name)) -+ 'half_width_symbol', 'half_width_number', 'half_width_space', -+ 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', -+ 'thumb:fmv_extension', 'thumb:handakuten']: -+ section, key = self.__get_section_key(name) -+ xml.get_widget(name).set_active(prefs.get_value(section, key)) - - l = ['default', 'atok', 'wnn'] - s_type = prefs.get_value('common', 'shortcut_type') -@@ -89,6 +95,14 @@ class AnthySetup(object): - ls.append([k, l_to_s(self.prefs.get_value(sec, k))]) - tv.set_model(ls) - -+ self.__thumb_kb_layout_mode = xml.get_widget('thumb:keyboard_layout_mode') -+ self.__thumb_kb_layout = xml.get_widget('thumb:keyboard_layout') -+ self.__set_thumb_kb_label() -+ -+ for name in ['thumb:ls', 'thumb:rs']: -+ section, key = self.__get_section_key(name) -+ xml.get_widget(name).set_text(prefs.get_value(section, key)) -+ - tv = xml.get_widget('treeview2') - tv.append_column(gtk.TreeViewColumn('', gtk.CellRendererText(), text=0)) - tv.get_selection().connect_after('changed', -@@ -97,6 +111,32 @@ class AnthySetup(object): - - xml.signal_autoconnect(self) - -+ def __get_section_key(self, name): -+ i = name.find(':') -+ if i > 0: -+ section = name[:i] -+ key = name[i + 1:] -+ else: -+ section = 'common' -+ key = name -+ return (section, key) -+ -+ def __set_thumb_kb_label(self): -+ if self.__thumb_kb_layout_mode == None or \ -+ self.__thumb_kb_layout == None: -+ return -+ section, key = self.__get_section_key(self.__thumb_kb_layout_mode.name) -+ layout_mode = self.prefs.get_value(section, key) -+ if layout_mode: -+ self.__thumb_kb_layout.set_sensitive(False) -+ else: -+ self.__thumb_kb_layout.set_sensitive(True) -+ if layout_mode and \ -+ not self.__config.get_value('general', 'use_system_keyboard_layout', True): -+ self.xml.get_widget('thumb:warning_hbox').show() -+ else: -+ self.xml.get_widget('thumb:warning_hbox').hide() -+ - def on_selection_changed(self, widget, id): - set_sensitive = lambda a, b: self.xml.get_widget(a).set_sensitive(b) - flg = True if widget.get_selected()[1] else False -@@ -139,16 +179,22 @@ class AnthySetup(object): - widget.set_sensitive(False) - - def on_cb_changed(self, widget): -- self.prefs.set_value('common', widget.name, widget.get_active()) -+ section, key = self.__get_section_key(widget.name) -+ self.prefs.set_value(section, key, widget.get_active()) - self.xml.get_widget('btn_apply').set_sensitive(True) - - def on_sb_changed(self, widget): -- self.prefs.set_value('common', widget.name, widget.get_value_as_int()) -+ section, key = self.__get_section_key(widget.name) -+ self.prefs.set_value(section, key, widget.get_value_as_int()) - self.xml.get_widget('btn_apply').set_sensitive(True) - - def on_ck_toggled(self, widget): -- self.prefs.set_value('common', widget.name, widget.get_active()) -+ section, key = self.__get_section_key(widget.name) -+ self.prefs.set_value(section, key, widget.get_active()) - self.xml.get_widget('btn_apply').set_sensitive(True) -+ if self.__thumb_kb_layout_mode and \ -+ widget.name == self.__thumb_kb_layout_mode.name: -+ self.__set_thumb_kb_label() - - def on_btn_edit_clicked(self, widget): - ls, it = self.xml.get_widget('shortcut').get_selection().get_selected() -@@ -179,6 +225,41 @@ class AnthySetup(object): - ls.set(it, 1, new) - self.xml.get_widget('btn_apply').set_sensitive(True) - -+ def on_btn_thumb_key_clicked(self, widget): -+ if widget.name == 'thumb:button_ls': -+ entry = 'thumb:ls' -+ elif widget.name == 'thumb:button_rs': -+ entry = 'thumb:rs' -+ else: -+ return -+ text = self.xml.get_widget(entry).get_text() -+ m = self.xml.get_widget('treeview2').get_model() -+ m.clear() -+ if text != None: -+ m.append([text]) -+ i = m.get_iter_first() -+ self.xml.get_widget('treeview2').get_selection().select_iter(i) -+ self.xml.get_widget('entry2').set_text('') -+ self.xml.get_widget('button4').hide() -+ self.xml.get_widget('button5').show() -+ self.xml.get_widget('button6').hide() -+ for w in ['checkbutton6', 'checkbutton7', 'checkbutton8']: -+ self.xml.get_widget(w).set_active(False) -+ dlg = self.xml.get_widget('edit_shortcut') -+ id = dlg.run() -+ dlg.hide() -+ self.xml.get_widget('button4').show() -+ self.xml.get_widget('button5').hide() -+ self.xml.get_widget('button6').show() -+ if id == gtk.RESPONSE_OK: -+ l, i = self.xml.get_widget('treeview2').get_selection().get_selected() -+ new = l[i][0] -+ if new != text: -+ section, key = self.__get_section_key(entry) -+ self.prefs.set_value(section, key, new) -+ self.xml.get_widget(entry).set_text(new) -+ self.xml.get_widget('btn_apply').set_sensitive(True) -+ - def _get_shortcut_sec(self): - l = ['default', 'atok', 'wnn'] - s_type = self.xml.get_widget('shortcut_type').get_active_text().lower() -@@ -195,7 +276,8 @@ class AnthySetup(object): - for k in self.prefs.keys(sec): - ls.append([k, l_to_s(self.prefs.get_value(sec, k))]) - -- self.prefs.set_value('common', widget.name, sec[len('shortcut/'):]) -+ section, key = self.__get_section_key(widget.name) -+ self.prefs.set_value(section, key, sec[len('shortcut/'):]) - self.xml.get_widget('btn_apply').set_sensitive(True) - - def on_shortcut_key_release_event(self, widget, event): -@@ -262,6 +344,24 @@ class AnthySetup(object): - return True - l.append([s]) - -+ def on_button5_clicked(self, widget): -+ s = self.xml.get_widget('entry2').get_text() -+ if not s or not keysyms.name_to_keycode(s): -+ dlg = self.xml.get_widget('invalid_keysym') -+ dlg.set_markup('%s' % _('Invalid keysym')) -+ dlg.format_secondary_text(_('This keysym is not valid')) -+ dlg.run() -+ dlg.hide() -+ return True -+ for w, m in [('checkbutton6', 'Ctrl+'), -+ ('checkbutton7', 'Alt+'), -+ ('checkbutton8', 'Shift+')]: -+ if self.xml.get_widget(w).get_active(): -+ s = m + s -+ l, i = self.xml.get_widget('treeview2').get_selection().get_selected() -+ l[i][0] = s -+ return True -+ - def on_button6_clicked(self, widget): - l, i = self.xml.get_widget('treeview2').get_selection().get_selected() - if i: -diff --git a/setup/setup.glade b/setup/setup.glade -index f068938..39fc754 100644 ---- a/setup/setup.glade -+++ b/setup/setup.glade -@@ -460,7 +460,7 @@ Hold - True - 8 - -- -+ - True - _Shortcut Type: - True -@@ -612,6 +612,373 @@ Wnn - - - -+ -+ True -+ 8 -+ 4 -+ -+ -+ True -+ 0 -+ none -+ -+ -+ True -+ 8 -+ 8 -+ 12 -+ -+ -+ True -+ 8 -+ 8 -+ 4 -+ -+ -+ True -+ 2 -+ 3 -+ 8 -+ 4 -+ -+ -+ True -+ 0 -+ True -+ Thumb Shift _Left Key: -+ thumb:ls -+ -+ -+ -+ -+ -+ -+ True -+ True -+ False -+ -+ -+ 1 -+ 2 -+ -+ -+ -+ -+ ... -+ True -+ True -+ False -+ -+ -+ -+ 2 -+ 3 -+ -+ -+ -+ -+ True -+ 0 -+ True -+ _Thumb Shift Right Key: -+ thumb:rs -+ -+ -+ 1 -+ 2 -+ -+ -+ -+ -+ True -+ True -+ False -+ -+ -+ 1 -+ 2 -+ 1 -+ 2 -+ -+ -+ -+ -+ ... -+ True -+ True -+ False -+ -+ -+ -+ 2 -+ 3 -+ 1 -+ 2 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ Adjust _input method layout to system keyboard layout -+ Adjust IM layout to XKB layout -+ True -+ True -+ False -+ True -+ True -+ -+ -+ -+ -+ 1 -+ 2 -+ -+ -+ -+ -+ -+ True -+ 8 -+ -+ -+ True -+ 0 -+ True -+ Input _Method Layout: -+ thumb:keyboard_layout -+ -+ -+ False -+ False -+ 0 -+ -+ -+ -+ -+ True -+ NICOLA-J -+NICOLA-A -+NICOLA-F -+ -+ -+ -+ 1 -+ -+ -+ -+ -+ 2 -+ 3 -+ -+ -+ -+ -+ -+ True -+ 8 -+ -+ -+ True -+ gtk-dialog-info -+ -+ -+ False -+ False -+ 0 -+ -+ -+ -+ -+ True -+ 0 -+ True -+ Restart ibus when you change the keyboard layout. -+ Restart ibus when you change XKB -+ -+ -+ False -+ False -+ 1 -+ -+ -+ -+ -+ 3 -+ 4 -+ -+ -+ -+ -+ -+ False -+ 8 -+ -+ -+ True -+ gtk-dialog-warning -+ -+ -+ False -+ False -+ 0 -+ -+ -+ -+ -+ True -+ 0 -+ True -+ Strongly recommend to enable "Use system keyboard layout" check button in "Advanced" tab using 'ibus-setup' command -+ -+ -+ False -+ False -+ 1 -+ -+ -+ -+ -+ 4 -+ 5 -+ -+ -+ -+ -+ -+ True -+ 8 -+ -+ -+ True -+ 0 -+ True -+ _Additional Key Arrangement: -+ thumb:fmv_extension -+ -+ -+ False -+ False -+ 0 -+ -+ -+ -+ -+ True -+ None -+FMV KB231 key extension -+FMV KB611 key extension -+ '~', 『', '¢', '£' and so on can be output with Thumb Shift key -+ -+ -+ -+ 1 -+ -+ -+ -+ -+ 5 -+ 6 -+ -+ -+ -+ -+ -+ True -+ 8 -+ -+ -+ True -+ gtk-dialog-info -+ -+ -+ False -+ False -+ 0 -+ -+ -+ -+ -+ True -+ 0 -+ True -+ You do not have to reconfigure the system keyboard layout for "Additional Key Arrangement" since this option changes input method layout only in case input method is turned on. -+ You do not have to reconfigure XKB since this option changes IM layout only with IM on. -+ -+ -+ False -+ False -+ 1 -+ -+ -+ -+ -+ 6 -+ 7 -+ -+ -+ -+ -+ -+ _Enable semi-voiced sound mark with Shift key -+ Seion + Shift can output Handakuon -+ True -+ True -+ False -+ True -+ True -+ -+ -+ -+ -+ 7 -+ 8 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ True -+ <b>Thumb Shift Layout</b> -+ True -+ -+ -+ label_item -+ -+ -+ -+ -+ False -+ False -+ 0 -+ -+ -+ -+ -+ 2 -+ -+ -+ -+ -+ True -+ Thumb S_hift -+ True -+ vbox3 -+ -+ -+ 2 -+ False -+ tab -+ -+ -+ - - True - <span size='xx-large'><b>IBus-Anthy</b></span> -@@ -626,18 +993,18 @@ URL : http://code.google.com/p/ibus/ - start - - -- 2 -+ 3 - - - -- -+ - True - Abo_ut - True - about - - -- 2 -+ 3 - False - tab - -@@ -752,7 +1119,7 @@ URL : http://code.google.com/p/ibus/ - True - 8 - -- -+ - True - Key Code: - -@@ -799,7 +1166,7 @@ URL : http://code.google.com/p/ibus/ - True - 8 - -- -+ - True - Modifier: - + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 2745108..49edea4 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,15 +2,15 @@ %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 Name: ibus-anthy -Version: 1.2.0.20100115 -Release: 2%{?dist} +Version: 1.2.0.20100312 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz Source1: ibus-anthy.png -Patch0: ibus-anthy-HEAD.patch +# Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -34,7 +34,7 @@ libanthy. %prep %setup -q cp %SOURCE1 icons -%patch0 -p1 +# %patch0 -p1 %build %configure --disable-static @@ -62,6 +62,11 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312-1 +- Update to 1.2.0.20100312 +- Fix bug 571728 - ibus-anthy support to switch dicts +- Fix bug 572412 - ibus-anthy: Segment convertion mode + * Fri Mar 05 2010 Takao Fujiwara - 1.2.0.20100115-2 - Fix bug 564268 - Crash with enabled global input method - Fix bug 570680 - Support NICOLA-F and NICOLA-A diff --git a/sources b/sources index 91546a8..e0216c3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -0d067d7506a2a20763ef4a7056b8eb99 ibus-anthy-1.2.0.20100115.tar.gz +a265d2fa49a602430c12af0790f0adda ibus-anthy-1.2.0.20100312.tar.gz c174f5f5d940fdb42e1c3c9bcd4c636f ibus-anthy.png From a25ded0b2b6eceb9b3886f5cd0a9258ee70a3f89 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 12 Mar 2010 05:16:04 +0000 Subject: [PATCH 033/202] Update to 1.2.0.20100312.1 Minor fix for a translation --- .cvsignore | 2 +- ibus-anthy.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index d19bc2a..0608eeb 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -ibus-anthy-1.2.0.20100312.tar.gz +ibus-anthy-1.2.0.20100312.1.tar.gz ibus-anthy.png diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 49edea4..9540f6a 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,7 +2,7 @@ %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 Name: ibus-anthy -Version: 1.2.0.20100312 +Version: 1.2.0.20100312.1 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -62,6 +62,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312.1-1 +- Update to 1.2.0.20100312.1 +- Minor fix for a translation + * Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312-1 - Update to 1.2.0.20100312 - Fix bug 571728 - ibus-anthy support to switch dicts diff --git a/sources b/sources index e0216c3..2fe39a1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -a265d2fa49a602430c12af0790f0adda ibus-anthy-1.2.0.20100312.tar.gz +39feb1e3b82c12650763975f7f03e006 ibus-anthy-1.2.0.20100312.1.tar.gz c174f5f5d940fdb42e1c3c9bcd4c636f ibus-anthy.png From 9e6a644ffc818a5f335cad1e4addbb4627d555ca Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 13 Mar 2010 01:04:00 +0000 Subject: [PATCH 034/202] Update to 1.2.0.20100313 Update fr.po --- .cvsignore | 2 +- ibus-anthy.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 0608eeb..f614524 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -ibus-anthy-1.2.0.20100312.1.tar.gz +ibus-anthy-1.2.0.20100313.tar.gz ibus-anthy.png diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 9540f6a..40cb73a 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,7 +2,7 @@ %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 Name: ibus-anthy -Version: 1.2.0.20100312.1 +Version: 1.2.0.20100313 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -62,6 +62,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100313-1 +- Update to 1.2.0.20100313 +- Update fr.po + * Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312.1-1 - Update to 1.2.0.20100312.1 - Minor fix for a translation diff --git a/sources b/sources index 2fe39a1..efb3e91 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -39feb1e3b82c12650763975f7f03e006 ibus-anthy-1.2.0.20100312.1.tar.gz +060b160281142aedc8652fa3af5584c6 ibus-anthy-1.2.0.20100313.tar.gz c174f5f5d940fdb42e1c3c9bcd4c636f ibus-anthy.png From 6c03ec4e0a4f884ca7d609746eb6a3b0a1f855db Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 5 Apr 2010 01:49:28 +0000 Subject: [PATCH 035/202] Update icon --- ibus-anthy.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 40cb73a..0f49c25 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,7 +3,7 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.0.20100313 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -62,6 +62,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Mon Apr 05 2010 Takao Fujiwara - 1.2.0.20100313-2 +- Update icon + * Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100313-1 - Update to 1.2.0.20100313 - Update fr.po diff --git a/sources b/sources index efb3e91..2d8f5c4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 060b160281142aedc8652fa3af5584c6 ibus-anthy-1.2.0.20100313.tar.gz -c174f5f5d940fdb42e1c3c9bcd4c636f ibus-anthy.png +9b050543c22dcc87d9da87533b416aa0 ibus-anthy.png From 630f97544c4da886b527b40e707f3e1cd2ffc415 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 5 Apr 2010 03:02:49 +0000 Subject: [PATCH 036/202] Update icon. --- ibus-anthy.spec | 4 ++-- sources | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 0f49c25..0339610 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,7 +3,7 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.0.20100313 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -62,7 +62,7 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog -* Mon Apr 05 2010 Takao Fujiwara - 1.2.0.20100313-2 +* Mon Apr 05 2010 Takao Fujiwara - 1.2.0.20100313-3 - Update icon * Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100313-1 diff --git a/sources b/sources index 2d8f5c4..81efd2e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 060b160281142aedc8652fa3af5584c6 ibus-anthy-1.2.0.20100313.tar.gz -9b050543c22dcc87d9da87533b416aa0 ibus-anthy.png +8e0c658ad05b56fc76b8391f5a76900f ibus-anthy.png From bbbf9d1ffece7afa73ead9972d445f0b80ed697c Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 23 Apr 2010 02:20:21 +0000 Subject: [PATCH 037/202] Update to 1.2.1 --- .cvsignore | 2 +- ibus-anthy-HEAD.patch | 13 ++++++++++++- ibus-anthy.spec | 24 +++++++++++++++--------- sources | 2 +- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/.cvsignore b/.cvsignore index f614524..a5866f3 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -ibus-anthy-1.2.0.20100313.tar.gz +ibus-anthy-1.2.1.tar.gz ibus-anthy.png diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..d547726 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,12 @@ - +diff --git a/engine/engine.py b/engine/engine.py +index f78212b..a6d5e01 100644 +--- a/engine/engine.py ++++ b/engine/engine.py +@@ -224,6 +224,7 @@ class Engine(ibus.EngineBase): + self.__set_dict_mode_props(anthy_props) + self.__set_dict_config_props(anthy_props) + anthy_props.append(ibus.Property(key=u"setup", ++ icon=u"preferences-desktop", + tooltip=UN(_("Configure Anthy")))) + + return anthy_props diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 0339610..22e5857 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,25 +2,28 @@ %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 Name: ibus-anthy -Version: 1.2.0.20100313 -Release: 3%{?dist} +Version: 1.2.1 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz Source1: ibus-anthy.png -# Patch0: ibus-anthy-HEAD.patch +Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: gettext-devel -BuildRequires: libtool -BuildRequires: python-devel BuildRequires: anthy-devel -BuildRequires: swig -BuildRequires: pkgconfig +# sleep, touch +BuildRequires: coreutils +BuildRequires: gettext-devel BuildRequires: intltool +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: python-devel +BuildRequires: sed +BuildRequires: swig Requires: ibus >= %{require_ibus_version} Requires: anthy @@ -34,7 +37,7 @@ libanthy. %prep %setup -q cp %SOURCE1 icons -# %patch0 -p1 +%patch0 -p1 %build %configure --disable-static @@ -62,6 +65,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Apr 23 2010 Takao Fujiwara - 1.2.1-1 +- Update to 1.2.1 + * Mon Apr 05 2010 Takao Fujiwara - 1.2.0.20100313-3 - Update icon diff --git a/sources b/sources index 81efd2e..6c3f148 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -060b160281142aedc8652fa3af5584c6 ibus-anthy-1.2.0.20100313.tar.gz +a1b8adc10d4afd84f113da6999cd5f05 ibus-anthy-1.2.1.tar.gz 8e0c658ad05b56fc76b8391f5a76900f ibus-anthy.png From 4b37ed52e4a447b9f2045c6138664e0d2e5e5351 Mon Sep 17 00:00:00 2001 From: dmalcolm Date: Thu, 22 Jul 2010 01:57:01 +0000 Subject: [PATCH 038/202] - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 22e5857..be0c79f 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,7 +3,7 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -65,6 +65,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Wed Jul 21 2010 David Malcolm - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + * Fri Apr 23 2010 Takao Fujiwara - 1.2.1-1 - Update to 1.2.1 From 372a20bf6c623eee0c804cdb9bacf5a482535951 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 18:06:28 +0000 Subject: [PATCH 039/202] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- import.log | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 import.log diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index cacc67a..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: ibus-anthy -# $Id: Makefile,v 1.1 2008/08/10 01:29:43 kevin Exp $ -NAME := ibus-anthy -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/import.log b/import.log deleted file mode 100644 index 992e2a5..0000000 --- a/import.log +++ /dev/null @@ -1 +0,0 @@ -ibus-anthy-0_1_0_20080810-1_fc9:HEAD:ibus-anthy-0.1.0.20080810-1.fc9.src.rpm:1218369099 From a41ce18ad95f601417244cbb22c3c5d5195b66c9 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 15 Oct 2010 18:46:46 +0900 Subject: [PATCH 040/202] Updated to 1.2.2.20101015 Fixes Bug 643291 - ibus-anthy commit_first_segment is not correct with Ja small chars. --- .gitignore | 1 + ibus-anthy-HEAD.patch | 13 +------------ ibus-anthy.spec | 18 ++++++++---------- sources | 3 +-- 4 files changed, 11 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index a5866f3..08e375f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ ibus-anthy-1.2.1.tar.gz ibus-anthy.png +/ibus-anthy-1.2.2.20101015.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index d547726..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,12 +1 @@ -diff --git a/engine/engine.py b/engine/engine.py -index f78212b..a6d5e01 100644 ---- a/engine/engine.py -+++ b/engine/engine.py -@@ -224,6 +224,7 @@ class Engine(ibus.EngineBase): - self.__set_dict_mode_props(anthy_props) - self.__set_dict_config_props(anthy_props) - anthy_props.append(ibus.Property(key=u"setup", -+ icon=u"preferences-desktop", - tooltip=UN(_("Configure Anthy")))) - - return anthy_props + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index be0c79f..87ec11f 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,27 +2,23 @@ %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 Name: ibus-anthy -Version: 1.2.1 -Release: 2%{?dist} +Version: 1.2.2.20101015 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -Source1: ibus-anthy.png -Patch0: ibus-anthy-HEAD.patch +# Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: anthy-devel -# sleep, touch -BuildRequires: coreutils BuildRequires: gettext-devel BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig -BuildRequires: python-devel -BuildRequires: sed +BuildRequires: python2-devel BuildRequires: swig Requires: ibus >= %{require_ibus_version} @@ -36,8 +32,7 @@ libanthy. %prep %setup -q -cp %SOURCE1 icons -%patch0 -p1 +# %patch0 -p1 %build %configure --disable-static @@ -65,6 +60,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Oct 15 2010 Takao Fujiwara - 1.2.2.20101015 +- Updated to 1.2.2.20101015 + * Wed Jul 21 2010 David Malcolm - 1.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild diff --git a/sources b/sources index 6c3f148..ae6e12e 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -a1b8adc10d4afd84f113da6999cd5f05 ibus-anthy-1.2.1.tar.gz -8e0c658ad05b56fc76b8391f5a76900f ibus-anthy.png +23eb716da64c4d9dfc7dc867bacec1a4 ibus-anthy-1.2.2.20101015.tar.gz From fb6fa6fed980d9b2d136a5536fe571ef146899e6 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 16 Oct 2010 23:45:07 +0900 Subject: [PATCH 041/202] Updated to 1.2.3 Updated translations. --- .gitignore | 1 + ibus-anthy.spec | 7 ++++++- sources | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 08e375f..a100eec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ ibus-anthy-1.2.1.tar.gz ibus-anthy.png /ibus-anthy-1.2.2.20101015.tar.gz +/ibus-anthy-1.2.3.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 87ec11f..a50d3ec 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,7 +2,7 @@ %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 Name: ibus-anthy -Version: 1.2.2.20101015 +Version: 1.2.3 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -60,8 +60,13 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Sat Oct 16 2010 Takao Fujiwara - 1.2.3 +- Updated to 1.2.3 +- Updated translations. + * Fri Oct 15 2010 Takao Fujiwara - 1.2.2.20101015 - Updated to 1.2.2.20101015 +- Fixed Bug 643291 - ibus-anthy commit_first_segment * Wed Jul 21 2010 David Malcolm - 1.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild diff --git a/sources b/sources index ae6e12e..35edaac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -23eb716da64c4d9dfc7dc867bacec1a4 ibus-anthy-1.2.2.20101015.tar.gz +1fbae852748b041f88260b2e4c1d9d59 ibus-anthy-1.2.3.tar.gz From ed61f08da584a3b737afc7f8c2322310e366b4a7 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 19 Oct 2010 00:24:33 +0900 Subject: [PATCH 042/202] Fixed thumb-shift key table customization. --- ibus-anthy-HEAD.patch | 23 +++++++++++++++++++++++ ibus-anthy.spec | 13 ++++++++----- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..bbab5df 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,24 @@ +From d38d276c4b6955a42088826f44174d96c4930043 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 19 Oct 2010 00:01:09 +0900 +Subject: [PATCH] Fixed thumb-shift key table customization. + +--- + engine/thumb.py | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/engine/thumb.py b/engine/thumb.py +index c4d01c0..98f95a9 100644 +--- a/engine/thumb.py ++++ b/engine/thumb.py +@@ -230,6 +230,7 @@ class ThumbShiftKeyboard: + self.__handakuten = False + self.__thumb_typing_rule_section = None + self.__init_thumb_typing_rule() ++ self.__init_layout_table() + if self.__prefs != None: + self.reset() + self.__reset_shift_table(False) +-- +1.7.2.1 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index a50d3ec..b852cf7 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,13 +3,13 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -# Patch0: ibus-anthy-HEAD.patch +Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -32,7 +32,7 @@ libanthy. %prep %setup -q -# %patch0 -p1 +%patch0 -p1 %build %configure --disable-static @@ -60,11 +60,14 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog -* Sat Oct 16 2010 Takao Fujiwara - 1.2.3 +* Mon Oct 18 2010 Takao Fujiwara - 1.2.3-2 +- Fixed thumb-shift key table customization. + +* Sat Oct 16 2010 Takao Fujiwara - 1.2.3-1 - Updated to 1.2.3 - Updated translations. -* Fri Oct 15 2010 Takao Fujiwara - 1.2.2.20101015 +* Fri Oct 15 2010 Takao Fujiwara - 1.2.2.20101015-1 - Updated to 1.2.2.20101015 - Fixed Bug 643291 - ibus-anthy commit_first_segment From 4a177e3cd7b086694fbec623b21b9822b75a1144 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 26 Oct 2010 15:57:53 +0900 Subject: [PATCH 043/202] Resolves #644771 ibus-anthy [F7] key cannot work with SEGV --- .gitignore | 1 + ibus-anthy.spec | 9 +++++---- sources | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index a100eec..9ca68ab 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ ibus-anthy-1.2.1.tar.gz ibus-anthy.png /ibus-anthy-1.2.2.20101015.tar.gz /ibus-anthy-1.2.3.tar.gz +/ibus-anthy-1.2.4.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index b852cf7..bfb95e1 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,8 +2,8 @@ %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 Name: ibus-anthy -Version: 1.2.3 -Release: 2%{?dist} +Version: 1.2.4 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -60,8 +60,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog -* Mon Oct 18 2010 Takao Fujiwara - 1.2.3-2 -- Fixed thumb-shift key table customization. +* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-1 +- Updated to 1.2.4 +- Resolves #644771 ibus-anthy [F7] key cannot work with SEGV * Sat Oct 16 2010 Takao Fujiwara - 1.2.3-1 - Updated to 1.2.3 diff --git a/sources b/sources index 35edaac..5ac4ccb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1fbae852748b041f88260b2e4c1d9d59 ibus-anthy-1.2.3.tar.gz +48e1133550fa6f1ed4fa8aea1a73dc10 ibus-anthy-1.2.4.tar.gz From 029f1d2ad5106ca2d1ef23e38b00462f6ba13197 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 26 Oct 2010 16:07:17 +0900 Subject: [PATCH 044/202] Fixed typo --- ibus-anthy-HEAD.patch | 23 ----------------------- ibus-anthy.spec | 8 ++++---- 2 files changed, 4 insertions(+), 27 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index bbab5df..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,24 +1 @@ -From d38d276c4b6955a42088826f44174d96c4930043 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 19 Oct 2010 00:01:09 +0900 -Subject: [PATCH] Fixed thumb-shift key table customization. - ---- - engine/thumb.py | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/engine/thumb.py b/engine/thumb.py -index c4d01c0..98f95a9 100644 ---- a/engine/thumb.py -+++ b/engine/thumb.py -@@ -230,6 +230,7 @@ class ThumbShiftKeyboard: - self.__handakuten = False - self.__thumb_typing_rule_section = None - self.__init_thumb_typing_rule() -+ self.__init_layout_table() - if self.__prefs != None: - self.reset() - self.__reset_shift_table(False) --- -1.7.2.1 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index bfb95e1..fefdd7b 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,13 +3,13 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -Patch0: ibus-anthy-HEAD.patch +# Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -32,7 +32,7 @@ libanthy. %prep %setup -q -%patch0 -p1 +# %patch0 -p1 %build %configure --disable-static @@ -60,7 +60,7 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog -* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-1 +* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-2 - Updated to 1.2.4 - Resolves #644771 ibus-anthy [F7] key cannot work with SEGV From 01b288672ddfefa668a8666521c1486082b7e40d Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 15 Nov 2010 14:06:04 +0900 Subject: [PATCH 045/202] Fixed Bug 652881 - SEGV when key tables are customized in new gconf. --- ibus-anthy-HEAD.patch | 78 +++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 12 ++++--- 2 files changed, 86 insertions(+), 4 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..3cd25bc 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,79 @@ +From aaa2f6ad0ff5da7915b33b5d30ded25def187e7c Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Mon, 15 Nov 2010 13:25:11 +0900 +Subject: [PATCH] Fixed SEGV when key tables are customized in new gconf. + +--- + setup/main.py | 18 ------------------ + setup/prefs.py | 4 ++++ + 2 files changed, 4 insertions(+), 18 deletions(-) + +diff --git a/setup/main.py b/setup/main.py +index f341cc1..6093d43 100644 +--- a/setup/main.py ++++ b/setup/main.py +@@ -695,24 +695,14 @@ class AnthySetup(object): + l[i] = [id, short_label, long_label, embed, single, reverse] + + key = 'short_label' +- if key not in prefs.keys(section): +- prefs.set_new_key(section, key) + prefs.set_value(section, key, short_label) + key = 'long_label' +- if key not in prefs.keys(section): +- prefs.set_new_key(section, key) + prefs.set_value(section, key, long_label) + key = 'embed' +- if key not in prefs.keys(section): +- prefs.set_new_key(section, key) + prefs.set_value(section, key, embed) + key = 'single' +- if key not in prefs.keys(section): +- prefs.set_new_key(section, key) + prefs.set_value(section, key, single) + key = 'reverse' +- if key not in prefs.keys(section): +- prefs.set_new_key(section, key) + prefs.set_value(section, key, reverse) + + def __text_cell_data_cb(self, layout, renderer, model, iter, id): +@@ -887,10 +877,6 @@ class AnthySetup(object): + if section == None: + self.__run_message_dialog(_("Your custom key is not assigned in any sections. Maybe a bug.")) + return +- if section not in prefs.sections(): +- prefs.set_new_section(section) +- if key not in prefs.keys(section): +- prefs.set_new_key(section, key) + if type != 'thumb': + prefs.set_value(section, key, value) + else: +@@ -921,10 +907,6 @@ class AnthySetup(object): + if section == None: + self.__run_message_dialog(_("Your custom key is not assigned in any sections. Maybe a bug.")) + return +- if section not in prefs.sections(): +- prefs.set_new_section(section) +- if key not in prefs.keys(section): +- prefs.set_new_key(section, key) + # config.set_value(key, None) is not supported. + if type != 'thumb': + prefs.set_value(section, key, '') +diff --git a/setup/prefs.py b/setup/prefs.py +index f3f0781..66f2cd6 100644 +--- a/setup/prefs.py ++++ b/setup/prefs.py +@@ -57,6 +57,10 @@ class Prefs(object): + return self.default[section][key] + + def set_value(self, section, key, value): ++ if section not in self.sections(): ++ self.set_new_section(section) ++ if key not in self.keys(section): ++ self.set_new_key(section, key) + self.default[section][key] + self.new.setdefault(section, {})[key] = value + +-- +1.7.2.1 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index fefdd7b..4716978 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,13 +3,13 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -# Patch0: ibus-anthy-HEAD.patch +Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -32,7 +32,7 @@ libanthy. %prep %setup -q -# %patch0 -p1 +%patch0 -p1 %build %configure --disable-static @@ -60,7 +60,11 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog -* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-2 +* Mon Nov 15 2010 Takao Fujiwara - 1.2.4-3 +- Added ibus-anthy-HEAD.patch +- Fixed Bug 652881 - SEGV when key tables are customized in new gconf. + +* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-1 - Updated to 1.2.4 - Resolves #644771 ibus-anthy [F7] key cannot work with SEGV From ad2f16ffd790a754bd3068f09ec0de9a1ac73108 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 23 Nov 2010 18:54:17 +0900 Subject: [PATCH 046/202] Fixed Bug 654322 - new custom keys are not loaded. --- ibus-anthy-HEAD.patch | 472 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 7 +- 2 files changed, 476 insertions(+), 3 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 3cd25bc..7084790 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -77,3 +77,475 @@ index f3f0781..66f2cd6 100644 -- 1.7.2.1 +From f8f201c12fbd2af2154e13d5d46bff67f714179d Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 23 Nov 2010 18:01:56 +0900 +Subject: [PATCH] Fixed the custom tables with new keys. + +--- + engine/kana.py | 4 ++ + engine/romaji.py | 4 ++ + engine/thumb.py | 80 ++++++++++++++++++++++++++++++------------------ + setup/anthyprefs.py.in | 16 +++++++++ + setup/main.py | 68 +++++++++++++++++++++++++++++++++-------- + setup/prefs.py | 6 +++ + 6 files changed, 135 insertions(+), 43 deletions(-) + +diff --git a/engine/kana.py b/engine/kana.py +index 8f5f6c3..d98852e 100644 +--- a/engine/kana.py ++++ b/engine/kana.py +@@ -55,6 +55,10 @@ class KanaSegment(segment.Segment): + if section != None: + if enchars in prefs.keys(section): + value = unicode(str(prefs.get_value(section, enchars))) ++ else: ++ value = prefs.get_value_direct(section, enchars) ++ if value != None: ++ value = unicode(str(value)) + if value == '': + value = None + if value == None: +diff --git a/engine/romaji.py b/engine/romaji.py +index b3a54bd..3f28ff6 100644 +--- a/engine/romaji.py ++++ b/engine/romaji.py +@@ -58,6 +58,10 @@ class RomajiSegment(segment.Segment): + if section != None: + if enchars in prefs.keys(section): + value = unicode(str(prefs.get_value(section, enchars))) ++ else: ++ value = prefs.get_value_direct(section, enchars) ++ if value != None: ++ value = unicode(str(value)) + if value == '': + value = None + if value == None: +diff --git a/engine/thumb.py b/engine/thumb.py +index 1ea582a..1745cc5 100644 +--- a/engine/thumb.py ++++ b/engine/thumb.py +@@ -228,6 +228,7 @@ class ThumbShiftKeyboard: + self.__layout = 0 + self.__fmv_extension = 2 + self.__handakuten = False ++ self.__thumb_typing_rule_section_base = None + self.__thumb_typing_rule_section = None + self.__init_thumb_typing_rule() + self.__init_layout_table() +@@ -243,7 +244,9 @@ class ThumbShiftKeyboard: + method = prefs.get_value('thumb_typing_rule', 'method') + if method == None: + method = _THUMB_BASIC_METHOD +- self.__thumb_typing_rule_section = 'thumb_typing_rule/' + method ++ self.__thumb_typing_rule_section_base = 'thumb_typing_rule' ++ self.__thumb_typing_rule_section = \ ++ self.__thumb_typing_rule_section_base + '/' + method + if self.__thumb_typing_rule_section not in prefs.sections(): + self.__thumb_typing_rule_section = None + +@@ -252,27 +255,34 @@ class ThumbShiftKeyboard: + self.__table.clear() + if self.__r_table != {}: + self.__r_table.clear() ++ section_base = self.__thumb_typing_rule_section_base + section = self.__thumb_typing_rule_section + if section != None: + prefs = self.__prefs + for k in prefs.keys(section): + value = prefs.get_value(section, k) +- if value == None or len(value) != 3 or \ +- (str(value[0]) == '' and \ +- str(value[1]) == '' and str(value[2]) == ''): +- continue +- value = [unicode(str(value[0])), +- unicode(str(value[1])), +- unicode(str(value[2]))] +- self.__table[ord(k)] = value +- for c in value: +- self.__r_table[c] = k ++ self.__set_bus_table(k, value) ++ for k in prefs.get_value(section_base, 'newkeys'): ++ value = prefs.get_value_direct(section, k) ++ self.__set_bus_table(k, value) + else: + for k in _table.keys(): + self.__table[ord(k)] = _table_static[k] + for c in _table_static[k]: + self.__r_table[c] = k + ++ def __set_bus_table(self, key, value): ++ if value == None or len(value) != 3 or \ ++ (str(value[0]) == '' and \ ++ str(value[1]) == '' and str(value[2]) == ''): ++ return ++ value = [unicode(str(value[0])), ++ unicode(str(value[1])), ++ unicode(str(value[2]))] ++ self.__table[ord(key)] = value ++ for c in value: ++ self.__r_table[c] = key ++ + def __reset_layout_table(self, init, + j_table_label, j_table, + a_table_label, a_table, +@@ -292,18 +302,17 @@ class ThumbShiftKeyboard: + sub_table = f_table + if method == None or sub_table == None: + return +- base_section = self.__thumb_typing_rule_section +- sub_section = 'thumb_typing_rule/' + method +- if base_section != None: ++ section_base = self.__thumb_typing_rule_section_base ++ section = self.__thumb_typing_rule_section ++ sub_section = section_base + '/' + method ++ if section != None: + prefs = self.__prefs + for k in prefs.keys(sub_section): + value = prefs.get_value(sub_section, k) +- if len(value) == 3 and value[0] == '' and \ +- value[1] == '' and value[2] == '': +- continue +- self.__table[ord(k)] = value +- for c in value: +- self.__r_table[c] = k ++ self.__set_bus_table(k, value) ++ for k in prefs.get_value(section_base, method + '_newkeys'): ++ value = prefs.get_value_direct(sub_section, k) ++ self.__set_bus_table(k, value) + else: + for k in sub_table.keys(): + self.__table[ord(unicode(k))] = sub_table[k] +@@ -479,6 +488,7 @@ class ThumbShiftKeyboard: + + class ThumbShiftSegment(segment.Segment): + _prefs = None ++ _thumb_typing_rule_section_base = None + _thumb_typing_rule_section = None + _r_table = {} + +@@ -500,7 +510,9 @@ class ThumbShiftSegment(segment.Segment): + method = prefs.get_value('thumb_typing_rule', 'method') + if method == None: + method = _THUMB_BASIC_METHOD +- cls._thumb_typing_rule_section = 'thumb_typing_rule/' + method ++ cls._thumb_typing_rule_section_base = 'thumb_typing_rule' ++ cls._thumb_typing_rule_section = \ ++ cls._thumb_typing_rule_section_base + '/' + method + if cls._thumb_typing_rule_section not in prefs.sections(): + cls._thumb_typing_rule_section = None + cls._init_layout_table() +@@ -509,25 +521,33 @@ class ThumbShiftSegment(segment.Segment): + def _init_layout_table(cls): + if cls._r_table != {}: + cls._r_table.clear() ++ section_base = cls._thumb_typing_rule_section_base + section = cls._thumb_typing_rule_section + if section != None: + prefs = cls._prefs + for k in prefs.keys(section): + value = prefs.get_value(section, k) +- if value == None or len(value) != 3 or \ +- (str(value[0]) == '' and \ +- str(value[1]) == '' and str(value[2]) == ''): +- continue +- value = [unicode(str(value[0])), +- unicode(str(value[1])), +- unicode(str(value[2]))] +- for c in value: +- cls._r_table[c] = k ++ cls._set_bus_table(k, value) ++ for k in prefs.get_value(section_base, 'newkeys'): ++ value = prefs.get_value_direct(section, k) ++ cls._set_bus_table(k, value) + else: + for k in _table.keys(): + for c in _table_static[k]: + cls._r_table[c] = k + ++ @classmethod ++ def _set_bus_table(cls, key, value): ++ if value == None or len(value) != 3 or \ ++ (str(value[0]) == '' and \ ++ str(value[1]) == '' and str(value[2]) == ''): ++ return ++ value = [unicode(str(value[0])), ++ unicode(str(value[1])), ++ unicode(str(value[2]))] ++ for c in value: ++ cls._r_table[c] = key ++ + def is_finished(self): + return not (self._jachars in _UNFINISHED_HIRAGANA) + +diff --git a/setup/anthyprefs.py.in b/setup/anthyprefs.py.in +index d05c41a..5e39eec 100644 +--- a/setup/anthyprefs.py.in ++++ b/setup/anthyprefs.py.in +@@ -243,6 +243,11 @@ _config = { + + 'romaji_typing_rule': { + 'method': 'default', ++ # The newkeys list is saved for every romaji_typing_rule/$method ++ # so that prefs.get_value_direct() is not used. ++ # prefs.fetch_section() doesn't get the keys if they exist ++ # in gconf only. ++ 'newkeys': [], + }, + + 'romaji_typing_rule/default': { +@@ -485,6 +490,7 @@ _config = { + + 'kana_typing_rule': { + 'method': 'default', ++ 'newkeys': [], + }, + + 'kana_typing_rule/default': { +@@ -612,6 +618,16 @@ _config = { + + 'thumb_typing_rule': { + 'method': 'base', ++ 'newkeys': [], ++ 'nicola_j_table_newkeys': [], ++ 'nicola_a_table_newkeys': [], ++ 'nicola_f_table_newkeys': [], ++ 'kb231_j_fmv_table_newkeys': [], ++ 'kb231_a_fmv_table_newkeys': [], ++ 'kb231_f_fmv_table_newkeys': [], ++ 'kb611_j_fmv_table_newkeys': [], ++ 'kb611_a_fmv_table_newkeys': [], ++ 'kb611_f_fmv_table_newkeys': [], + }, + + 'thumb_typing_rule/base': { +diff --git a/setup/main.py b/setup/main.py +index 6093d43..1971c5b 100644 +--- a/setup/main.py ++++ b/setup/main.py +@@ -249,13 +249,20 @@ class AnthySetup(object): + rule = {} + ls = gtk.ListStore(str, str, str) + tv = self.xml.get_widget('treeview_custom_key_table') +- section = 'romaji_typing_rule/' + str(method) ++ section_base = 'romaji_typing_rule' ++ section = section_base + '/' + str(method) + for key in prefs.keys(section): + key = str(key) + value = prefs.get_value(section, key) + # config.set_value(key, None) is not supported. + if value != None and value != '': + rule[key] = str(value) ++ for key in prefs.get_value(section_base, 'newkeys'): ++ key = str(key) ++ value = self.prefs.get_value_direct(section, key) ++ # config.set_value(key, None) is not supported. ++ if value != None and value != '': ++ rule[key] = str(value) + for key, value in sorted(rule.items(), \ + cmp = self.__japanese_tuple_sort): + ls.append(['romaji', key, value]) +@@ -271,13 +278,20 @@ class AnthySetup(object): + rule = {} + ls = gtk.ListStore(str, str, str) + tv = self.xml.get_widget('treeview_custom_key_table') +- section = 'kana_typing_rule/' + str(method) ++ section_base = 'kana_typing_rule' ++ section = section_base + '/' + str(method) + for key in prefs.keys(section): + key = str(key) + value = prefs.get_value(section, key) + # config.set_value(key, None) is not supported. + if value != None and value != '': + rule[key] = str(value) ++ for key in prefs.get_value(section_base, 'newkeys'): ++ key = str(key) ++ value = self.prefs.get_value_direct(section, key) ++ # config.set_value(key, None) is not supported. ++ if value != None and value != '': ++ rule[key] = str(value) + for key, value in sorted(rule.items(), \ + cmp = self.__japanese_tuple_sort): + ls.append(['kana', key, value]) +@@ -293,7 +307,8 @@ class AnthySetup(object): + rule = {} + ls = gtk.ListStore(str, str, str, str, str) + tv = self.xml.get_widget('treeview_custom_key_table') +- section = 'thumb_typing_rule/' + str(method) ++ section_base = 'thumb_typing_rule' ++ section = section_base + '/' + str(method) + for key in prefs.keys(section): + key = str(key) + value = prefs.get_value(section, key) +@@ -306,6 +321,18 @@ class AnthySetup(object): + rule[key][0] = str(value[0]) + rule[key][1] = str(value[1]) + rule[key][2] = str(value[2]) ++ for key in prefs.get_value(section_base, 'newkeys'): ++ key = str(key) ++ value = self.prefs.get_value_direct(section, key) ++ # config.set_value(key, None) is not supported. ++ if value != None and len(value) == 3 and \ ++ ((value[0] != None and value[0] != '') or \ ++ (value[1] != None and value[1] != '') or \ ++ (value[2] != None and value[2] != '')): ++ rule[key] = {} ++ rule[key][0] = str(value[0]) ++ rule[key][1] = str(value[1]) ++ rule[key][2] = str(value[2]) + for key, value in sorted(rule.items(), \ + cmp = self.__japanese_thumb_sort): + ls.append(['thumb', key, value[0], value[2], value[1]]) +@@ -846,7 +873,7 @@ class AnthySetup(object): + model_combobox = combobox.get_model() + method = model_combobox[id][1] + type = user_data +- section = None ++ section_base = None + key = input.get_text() + value = output.get_text() + left_text = left.get_text() +@@ -866,17 +893,27 @@ class AnthySetup(object): + return + + if type == 'romaji': +- section = 'romaji_typing_rule/' + method ++ section_base = 'romaji_typing_rule' + model.append([type, key, value]) + elif type == 'kana': +- section = 'kana_typing_rule/' + method ++ section_base = 'kana_typing_rule' + model.append([type, key, value]) + elif type == 'thumb': +- section = 'thumb_typing_rule/' + method ++ section_base = 'thumb_typing_rule' + model.append([type, key, value, left_text, right_text]) +- if section == None: ++ if section_base == None: + self.__run_message_dialog(_("Your custom key is not assigned in any sections. Maybe a bug.")) + return ++ section = section_base + '/' + method ++ if key not in prefs.keys(section): ++ # ibus does not support gconf_client_all_entries(). ++ # prefs.fetch_section() doesn't get the keys if they exist ++ # in gconf only. ++ # Use newkeys for that way. ++ newkeys = prefs.get_value(section_base, 'newkeys') ++ if key not in newkeys: ++ newkeys.append(key) ++ prefs.set_value(section_base, 'newkeys', newkeys) + if type != 'thumb': + prefs.set_value(section, key, value) + else: +@@ -897,16 +934,21 @@ class AnthySetup(object): + l, i = tv.get_selection().get_selected() + type = l[i][0] + key = l[i][1] +- section = None ++ section_base = None + if type == 'romaji': +- section = 'romaji_typing_rule/' + method ++ section_base = 'romaji_typing_rule' + elif type == 'kana': +- section = 'kana_typing_rule/' + method ++ section_base = 'kana_typing_rule' + elif type == 'thumb': +- section = 'thumb_typing_rule/' + method +- if section == None: ++ section_base = 'thumb_typing_rule' ++ if section_base == None: + self.__run_message_dialog(_("Your custom key is not assigned in any sections. Maybe a bug.")) + return ++ section = section_base + '/' + method ++ newkeys = prefs.get_value(section_base, 'newkeys') ++ if key in newkeys: ++ newkeys.remove(key) ++ prefs.set_value(section_base, 'newkeys', newkeys) + # config.set_value(key, None) is not supported. + if type != 'thumb': + prefs.set_value(section, key, '') +diff --git a/setup/prefs.py b/setup/prefs.py +index 66f2cd6..2b56908 100644 +--- a/setup/prefs.py ++++ b/setup/prefs.py +@@ -56,6 +56,12 @@ class Prefs(object): + except: + return self.default[section][key] + ++ def get_value_direct(self, section, key, default=None): ++ s = section ++ section = '/'.join( ++ [s for s in '/'.join([self._prefix, section]).split('/') if s]) ++ return self._config.get_value(section, key, default) ++ + def set_value(self, section, key, value): + if section not in self.sections(): + self.set_new_section(section) +-- +1.7.2.1 + +From ef1a6edef6bd269677b57aa243dd6dd2e9a221a9 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 23 Nov 2010 18:33:58 +0900 +Subject: [PATCH] Fixed romaji_typing_rule and kana_typing_rule receives UTF-8 keys. (#1146) + +--- + engine/kana.py | 8 ++++++++ + engine/romaji.py | 8 ++++++++ + 2 files changed, 16 insertions(+), 0 deletions(-) + +diff --git a/engine/kana.py b/engine/kana.py +index d98852e..a2be52b 100644 +--- a/engine/kana.py ++++ b/engine/kana.py +@@ -23,6 +23,7 @@ + from ibus import unichar_half_to_full + from tables import * + import segment ++import sys + + _UNFINISHED_HIRAGANA = set(u"かきくけこさしすせそたちつてとはひふへほ") + +@@ -53,6 +54,13 @@ class KanaSegment(segment.Segment): + value = None + section = self._kana_typing_rule_section + if section != None: ++ try: ++ # U+A5 needs to be UTF-8 since gconf values are ++ # disk saved values. ++ enchars = enchars.encode('utf-8') ++ except: ++ print >> sys.stderr, \ ++ "Failed to encode UTF-8:", enchars + if enchars in prefs.keys(section): + value = unicode(str(prefs.get_value(section, enchars))) + else: +diff --git a/engine/romaji.py b/engine/romaji.py +index 3f28ff6..3e656fc 100644 +--- a/engine/romaji.py ++++ b/engine/romaji.py +@@ -23,6 +23,7 @@ + from ibus import unichar_half_to_full + from tables import * + import segment ++import sys + + def romaji_correction_rule_get(k, d): + return (u'ん', k[1:2]) if k[0:1] == u'n' and not k[1:2] in u"aiueony'" else d +@@ -56,6 +57,13 @@ class RomajiSegment(segment.Segment): + value = None + section = self._romaji_typing_rule_section + if section != None: ++ try: ++ # U+A5 needs to be UTF-8 since gconf values are ++ # disk saved values. ++ enchars = enchars.encode('utf-8') ++ except: ++ print >> sys.stderr, \ ++ "Failed to encode UTF-8:", enchars + if enchars in prefs.keys(section): + value = unicode(str(prefs.get_value(section, enchars))) + else: +-- +1.7.2.1 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 4716978..a3f8274 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,7 +3,7 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -60,9 +60,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog -* Mon Nov 15 2010 Takao Fujiwara - 1.2.4-3 +* Tue Nov 23 2010 Takao Fujiwara - 1.2.4-4 - Added ibus-anthy-HEAD.patch -- Fixed Bug 652881 - SEGV when key tables are customized in new gconf. + Fixed Bug 652881 - SEGV when key tables are customized in new gconf. + Fixed Bug 654322 - new custom keys are not loaded. * Tue Oct 26 2010 Takao Fujiwara - 1.2.4-1 - Updated to 1.2.4 From 30b4702df550f804e9edd054ec4c705b0ccf2843 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 1 Dec 2010 14:58:39 +0900 Subject: [PATCH 047/202] Updated to 1.2.5 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 550 ------------------------------------------ ibus-anthy.spec | 12 +- sources | 2 +- 4 files changed, 8 insertions(+), 557 deletions(-) diff --git a/.gitignore b/.gitignore index 9ca68ab..1e83b70 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ ibus-anthy.png /ibus-anthy-1.2.2.20101015.tar.gz /ibus-anthy-1.2.3.tar.gz /ibus-anthy-1.2.4.tar.gz +/ibus-anthy-1.2.5.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 7084790..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,551 +1 @@ -From aaa2f6ad0ff5da7915b33b5d30ded25def187e7c Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Mon, 15 Nov 2010 13:25:11 +0900 -Subject: [PATCH] Fixed SEGV when key tables are customized in new gconf. - ---- - setup/main.py | 18 ------------------ - setup/prefs.py | 4 ++++ - 2 files changed, 4 insertions(+), 18 deletions(-) - -diff --git a/setup/main.py b/setup/main.py -index f341cc1..6093d43 100644 ---- a/setup/main.py -+++ b/setup/main.py -@@ -695,24 +695,14 @@ class AnthySetup(object): - l[i] = [id, short_label, long_label, embed, single, reverse] - - key = 'short_label' -- if key not in prefs.keys(section): -- prefs.set_new_key(section, key) - prefs.set_value(section, key, short_label) - key = 'long_label' -- if key not in prefs.keys(section): -- prefs.set_new_key(section, key) - prefs.set_value(section, key, long_label) - key = 'embed' -- if key not in prefs.keys(section): -- prefs.set_new_key(section, key) - prefs.set_value(section, key, embed) - key = 'single' -- if key not in prefs.keys(section): -- prefs.set_new_key(section, key) - prefs.set_value(section, key, single) - key = 'reverse' -- if key not in prefs.keys(section): -- prefs.set_new_key(section, key) - prefs.set_value(section, key, reverse) - - def __text_cell_data_cb(self, layout, renderer, model, iter, id): -@@ -887,10 +877,6 @@ class AnthySetup(object): - if section == None: - self.__run_message_dialog(_("Your custom key is not assigned in any sections. Maybe a bug.")) - return -- if section not in prefs.sections(): -- prefs.set_new_section(section) -- if key not in prefs.keys(section): -- prefs.set_new_key(section, key) - if type != 'thumb': - prefs.set_value(section, key, value) - else: -@@ -921,10 +907,6 @@ class AnthySetup(object): - if section == None: - self.__run_message_dialog(_("Your custom key is not assigned in any sections. Maybe a bug.")) - return -- if section not in prefs.sections(): -- prefs.set_new_section(section) -- if key not in prefs.keys(section): -- prefs.set_new_key(section, key) - # config.set_value(key, None) is not supported. - if type != 'thumb': - prefs.set_value(section, key, '') -diff --git a/setup/prefs.py b/setup/prefs.py -index f3f0781..66f2cd6 100644 ---- a/setup/prefs.py -+++ b/setup/prefs.py -@@ -57,6 +57,10 @@ class Prefs(object): - return self.default[section][key] - - def set_value(self, section, key, value): -+ if section not in self.sections(): -+ self.set_new_section(section) -+ if key not in self.keys(section): -+ self.set_new_key(section, key) - self.default[section][key] - self.new.setdefault(section, {})[key] = value - --- -1.7.2.1 - -From f8f201c12fbd2af2154e13d5d46bff67f714179d Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 23 Nov 2010 18:01:56 +0900 -Subject: [PATCH] Fixed the custom tables with new keys. - ---- - engine/kana.py | 4 ++ - engine/romaji.py | 4 ++ - engine/thumb.py | 80 ++++++++++++++++++++++++++++++------------------ - setup/anthyprefs.py.in | 16 +++++++++ - setup/main.py | 68 +++++++++++++++++++++++++++++++++-------- - setup/prefs.py | 6 +++ - 6 files changed, 135 insertions(+), 43 deletions(-) - -diff --git a/engine/kana.py b/engine/kana.py -index 8f5f6c3..d98852e 100644 ---- a/engine/kana.py -+++ b/engine/kana.py -@@ -55,6 +55,10 @@ class KanaSegment(segment.Segment): - if section != None: - if enchars in prefs.keys(section): - value = unicode(str(prefs.get_value(section, enchars))) -+ else: -+ value = prefs.get_value_direct(section, enchars) -+ if value != None: -+ value = unicode(str(value)) - if value == '': - value = None - if value == None: -diff --git a/engine/romaji.py b/engine/romaji.py -index b3a54bd..3f28ff6 100644 ---- a/engine/romaji.py -+++ b/engine/romaji.py -@@ -58,6 +58,10 @@ class RomajiSegment(segment.Segment): - if section != None: - if enchars in prefs.keys(section): - value = unicode(str(prefs.get_value(section, enchars))) -+ else: -+ value = prefs.get_value_direct(section, enchars) -+ if value != None: -+ value = unicode(str(value)) - if value == '': - value = None - if value == None: -diff --git a/engine/thumb.py b/engine/thumb.py -index 1ea582a..1745cc5 100644 ---- a/engine/thumb.py -+++ b/engine/thumb.py -@@ -228,6 +228,7 @@ class ThumbShiftKeyboard: - self.__layout = 0 - self.__fmv_extension = 2 - self.__handakuten = False -+ self.__thumb_typing_rule_section_base = None - self.__thumb_typing_rule_section = None - self.__init_thumb_typing_rule() - self.__init_layout_table() -@@ -243,7 +244,9 @@ class ThumbShiftKeyboard: - method = prefs.get_value('thumb_typing_rule', 'method') - if method == None: - method = _THUMB_BASIC_METHOD -- self.__thumb_typing_rule_section = 'thumb_typing_rule/' + method -+ self.__thumb_typing_rule_section_base = 'thumb_typing_rule' -+ self.__thumb_typing_rule_section = \ -+ self.__thumb_typing_rule_section_base + '/' + method - if self.__thumb_typing_rule_section not in prefs.sections(): - self.__thumb_typing_rule_section = None - -@@ -252,27 +255,34 @@ class ThumbShiftKeyboard: - self.__table.clear() - if self.__r_table != {}: - self.__r_table.clear() -+ section_base = self.__thumb_typing_rule_section_base - section = self.__thumb_typing_rule_section - if section != None: - prefs = self.__prefs - for k in prefs.keys(section): - value = prefs.get_value(section, k) -- if value == None or len(value) != 3 or \ -- (str(value[0]) == '' and \ -- str(value[1]) == '' and str(value[2]) == ''): -- continue -- value = [unicode(str(value[0])), -- unicode(str(value[1])), -- unicode(str(value[2]))] -- self.__table[ord(k)] = value -- for c in value: -- self.__r_table[c] = k -+ self.__set_bus_table(k, value) -+ for k in prefs.get_value(section_base, 'newkeys'): -+ value = prefs.get_value_direct(section, k) -+ self.__set_bus_table(k, value) - else: - for k in _table.keys(): - self.__table[ord(k)] = _table_static[k] - for c in _table_static[k]: - self.__r_table[c] = k - -+ def __set_bus_table(self, key, value): -+ if value == None or len(value) != 3 or \ -+ (str(value[0]) == '' and \ -+ str(value[1]) == '' and str(value[2]) == ''): -+ return -+ value = [unicode(str(value[0])), -+ unicode(str(value[1])), -+ unicode(str(value[2]))] -+ self.__table[ord(key)] = value -+ for c in value: -+ self.__r_table[c] = key -+ - def __reset_layout_table(self, init, - j_table_label, j_table, - a_table_label, a_table, -@@ -292,18 +302,17 @@ class ThumbShiftKeyboard: - sub_table = f_table - if method == None or sub_table == None: - return -- base_section = self.__thumb_typing_rule_section -- sub_section = 'thumb_typing_rule/' + method -- if base_section != None: -+ section_base = self.__thumb_typing_rule_section_base -+ section = self.__thumb_typing_rule_section -+ sub_section = section_base + '/' + method -+ if section != None: - prefs = self.__prefs - for k in prefs.keys(sub_section): - value = prefs.get_value(sub_section, k) -- if len(value) == 3 and value[0] == '' and \ -- value[1] == '' and value[2] == '': -- continue -- self.__table[ord(k)] = value -- for c in value: -- self.__r_table[c] = k -+ self.__set_bus_table(k, value) -+ for k in prefs.get_value(section_base, method + '_newkeys'): -+ value = prefs.get_value_direct(sub_section, k) -+ self.__set_bus_table(k, value) - else: - for k in sub_table.keys(): - self.__table[ord(unicode(k))] = sub_table[k] -@@ -479,6 +488,7 @@ class ThumbShiftKeyboard: - - class ThumbShiftSegment(segment.Segment): - _prefs = None -+ _thumb_typing_rule_section_base = None - _thumb_typing_rule_section = None - _r_table = {} - -@@ -500,7 +510,9 @@ class ThumbShiftSegment(segment.Segment): - method = prefs.get_value('thumb_typing_rule', 'method') - if method == None: - method = _THUMB_BASIC_METHOD -- cls._thumb_typing_rule_section = 'thumb_typing_rule/' + method -+ cls._thumb_typing_rule_section_base = 'thumb_typing_rule' -+ cls._thumb_typing_rule_section = \ -+ cls._thumb_typing_rule_section_base + '/' + method - if cls._thumb_typing_rule_section not in prefs.sections(): - cls._thumb_typing_rule_section = None - cls._init_layout_table() -@@ -509,25 +521,33 @@ class ThumbShiftSegment(segment.Segment): - def _init_layout_table(cls): - if cls._r_table != {}: - cls._r_table.clear() -+ section_base = cls._thumb_typing_rule_section_base - section = cls._thumb_typing_rule_section - if section != None: - prefs = cls._prefs - for k in prefs.keys(section): - value = prefs.get_value(section, k) -- if value == None or len(value) != 3 or \ -- (str(value[0]) == '' and \ -- str(value[1]) == '' and str(value[2]) == ''): -- continue -- value = [unicode(str(value[0])), -- unicode(str(value[1])), -- unicode(str(value[2]))] -- for c in value: -- cls._r_table[c] = k -+ cls._set_bus_table(k, value) -+ for k in prefs.get_value(section_base, 'newkeys'): -+ value = prefs.get_value_direct(section, k) -+ cls._set_bus_table(k, value) - else: - for k in _table.keys(): - for c in _table_static[k]: - cls._r_table[c] = k - -+ @classmethod -+ def _set_bus_table(cls, key, value): -+ if value == None or len(value) != 3 or \ -+ (str(value[0]) == '' and \ -+ str(value[1]) == '' and str(value[2]) == ''): -+ return -+ value = [unicode(str(value[0])), -+ unicode(str(value[1])), -+ unicode(str(value[2]))] -+ for c in value: -+ cls._r_table[c] = key -+ - def is_finished(self): - return not (self._jachars in _UNFINISHED_HIRAGANA) - -diff --git a/setup/anthyprefs.py.in b/setup/anthyprefs.py.in -index d05c41a..5e39eec 100644 ---- a/setup/anthyprefs.py.in -+++ b/setup/anthyprefs.py.in -@@ -243,6 +243,11 @@ _config = { - - 'romaji_typing_rule': { - 'method': 'default', -+ # The newkeys list is saved for every romaji_typing_rule/$method -+ # so that prefs.get_value_direct() is not used. -+ # prefs.fetch_section() doesn't get the keys if they exist -+ # in gconf only. -+ 'newkeys': [], - }, - - 'romaji_typing_rule/default': { -@@ -485,6 +490,7 @@ _config = { - - 'kana_typing_rule': { - 'method': 'default', -+ 'newkeys': [], - }, - - 'kana_typing_rule/default': { -@@ -612,6 +618,16 @@ _config = { - - 'thumb_typing_rule': { - 'method': 'base', -+ 'newkeys': [], -+ 'nicola_j_table_newkeys': [], -+ 'nicola_a_table_newkeys': [], -+ 'nicola_f_table_newkeys': [], -+ 'kb231_j_fmv_table_newkeys': [], -+ 'kb231_a_fmv_table_newkeys': [], -+ 'kb231_f_fmv_table_newkeys': [], -+ 'kb611_j_fmv_table_newkeys': [], -+ 'kb611_a_fmv_table_newkeys': [], -+ 'kb611_f_fmv_table_newkeys': [], - }, - - 'thumb_typing_rule/base': { -diff --git a/setup/main.py b/setup/main.py -index 6093d43..1971c5b 100644 ---- a/setup/main.py -+++ b/setup/main.py -@@ -249,13 +249,20 @@ class AnthySetup(object): - rule = {} - ls = gtk.ListStore(str, str, str) - tv = self.xml.get_widget('treeview_custom_key_table') -- section = 'romaji_typing_rule/' + str(method) -+ section_base = 'romaji_typing_rule' -+ section = section_base + '/' + str(method) - for key in prefs.keys(section): - key = str(key) - value = prefs.get_value(section, key) - # config.set_value(key, None) is not supported. - if value != None and value != '': - rule[key] = str(value) -+ for key in prefs.get_value(section_base, 'newkeys'): -+ key = str(key) -+ value = self.prefs.get_value_direct(section, key) -+ # config.set_value(key, None) is not supported. -+ if value != None and value != '': -+ rule[key] = str(value) - for key, value in sorted(rule.items(), \ - cmp = self.__japanese_tuple_sort): - ls.append(['romaji', key, value]) -@@ -271,13 +278,20 @@ class AnthySetup(object): - rule = {} - ls = gtk.ListStore(str, str, str) - tv = self.xml.get_widget('treeview_custom_key_table') -- section = 'kana_typing_rule/' + str(method) -+ section_base = 'kana_typing_rule' -+ section = section_base + '/' + str(method) - for key in prefs.keys(section): - key = str(key) - value = prefs.get_value(section, key) - # config.set_value(key, None) is not supported. - if value != None and value != '': - rule[key] = str(value) -+ for key in prefs.get_value(section_base, 'newkeys'): -+ key = str(key) -+ value = self.prefs.get_value_direct(section, key) -+ # config.set_value(key, None) is not supported. -+ if value != None and value != '': -+ rule[key] = str(value) - for key, value in sorted(rule.items(), \ - cmp = self.__japanese_tuple_sort): - ls.append(['kana', key, value]) -@@ -293,7 +307,8 @@ class AnthySetup(object): - rule = {} - ls = gtk.ListStore(str, str, str, str, str) - tv = self.xml.get_widget('treeview_custom_key_table') -- section = 'thumb_typing_rule/' + str(method) -+ section_base = 'thumb_typing_rule' -+ section = section_base + '/' + str(method) - for key in prefs.keys(section): - key = str(key) - value = prefs.get_value(section, key) -@@ -306,6 +321,18 @@ class AnthySetup(object): - rule[key][0] = str(value[0]) - rule[key][1] = str(value[1]) - rule[key][2] = str(value[2]) -+ for key in prefs.get_value(section_base, 'newkeys'): -+ key = str(key) -+ value = self.prefs.get_value_direct(section, key) -+ # config.set_value(key, None) is not supported. -+ if value != None and len(value) == 3 and \ -+ ((value[0] != None and value[0] != '') or \ -+ (value[1] != None and value[1] != '') or \ -+ (value[2] != None and value[2] != '')): -+ rule[key] = {} -+ rule[key][0] = str(value[0]) -+ rule[key][1] = str(value[1]) -+ rule[key][2] = str(value[2]) - for key, value in sorted(rule.items(), \ - cmp = self.__japanese_thumb_sort): - ls.append(['thumb', key, value[0], value[2], value[1]]) -@@ -846,7 +873,7 @@ class AnthySetup(object): - model_combobox = combobox.get_model() - method = model_combobox[id][1] - type = user_data -- section = None -+ section_base = None - key = input.get_text() - value = output.get_text() - left_text = left.get_text() -@@ -866,17 +893,27 @@ class AnthySetup(object): - return - - if type == 'romaji': -- section = 'romaji_typing_rule/' + method -+ section_base = 'romaji_typing_rule' - model.append([type, key, value]) - elif type == 'kana': -- section = 'kana_typing_rule/' + method -+ section_base = 'kana_typing_rule' - model.append([type, key, value]) - elif type == 'thumb': -- section = 'thumb_typing_rule/' + method -+ section_base = 'thumb_typing_rule' - model.append([type, key, value, left_text, right_text]) -- if section == None: -+ if section_base == None: - self.__run_message_dialog(_("Your custom key is not assigned in any sections. Maybe a bug.")) - return -+ section = section_base + '/' + method -+ if key not in prefs.keys(section): -+ # ibus does not support gconf_client_all_entries(). -+ # prefs.fetch_section() doesn't get the keys if they exist -+ # in gconf only. -+ # Use newkeys for that way. -+ newkeys = prefs.get_value(section_base, 'newkeys') -+ if key not in newkeys: -+ newkeys.append(key) -+ prefs.set_value(section_base, 'newkeys', newkeys) - if type != 'thumb': - prefs.set_value(section, key, value) - else: -@@ -897,16 +934,21 @@ class AnthySetup(object): - l, i = tv.get_selection().get_selected() - type = l[i][0] - key = l[i][1] -- section = None -+ section_base = None - if type == 'romaji': -- section = 'romaji_typing_rule/' + method -+ section_base = 'romaji_typing_rule' - elif type == 'kana': -- section = 'kana_typing_rule/' + method -+ section_base = 'kana_typing_rule' - elif type == 'thumb': -- section = 'thumb_typing_rule/' + method -- if section == None: -+ section_base = 'thumb_typing_rule' -+ if section_base == None: - self.__run_message_dialog(_("Your custom key is not assigned in any sections. Maybe a bug.")) - return -+ section = section_base + '/' + method -+ newkeys = prefs.get_value(section_base, 'newkeys') -+ if key in newkeys: -+ newkeys.remove(key) -+ prefs.set_value(section_base, 'newkeys', newkeys) - # config.set_value(key, None) is not supported. - if type != 'thumb': - prefs.set_value(section, key, '') -diff --git a/setup/prefs.py b/setup/prefs.py -index 66f2cd6..2b56908 100644 ---- a/setup/prefs.py -+++ b/setup/prefs.py -@@ -56,6 +56,12 @@ class Prefs(object): - except: - return self.default[section][key] - -+ def get_value_direct(self, section, key, default=None): -+ s = section -+ section = '/'.join( -+ [s for s in '/'.join([self._prefix, section]).split('/') if s]) -+ return self._config.get_value(section, key, default) -+ - def set_value(self, section, key, value): - if section not in self.sections(): - self.set_new_section(section) --- -1.7.2.1 - -From ef1a6edef6bd269677b57aa243dd6dd2e9a221a9 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 23 Nov 2010 18:33:58 +0900 -Subject: [PATCH] Fixed romaji_typing_rule and kana_typing_rule receives UTF-8 keys. (#1146) - ---- - engine/kana.py | 8 ++++++++ - engine/romaji.py | 8 ++++++++ - 2 files changed, 16 insertions(+), 0 deletions(-) - -diff --git a/engine/kana.py b/engine/kana.py -index d98852e..a2be52b 100644 ---- a/engine/kana.py -+++ b/engine/kana.py -@@ -23,6 +23,7 @@ - from ibus import unichar_half_to_full - from tables import * - import segment -+import sys - - _UNFINISHED_HIRAGANA = set(u"かきくけこさしすせそたちつてとはひふへほ") - -@@ -53,6 +54,13 @@ class KanaSegment(segment.Segment): - value = None - section = self._kana_typing_rule_section - if section != None: -+ try: -+ # U+A5 needs to be UTF-8 since gconf values are -+ # disk saved values. -+ enchars = enchars.encode('utf-8') -+ except: -+ print >> sys.stderr, \ -+ "Failed to encode UTF-8:", enchars - if enchars in prefs.keys(section): - value = unicode(str(prefs.get_value(section, enchars))) - else: -diff --git a/engine/romaji.py b/engine/romaji.py -index 3f28ff6..3e656fc 100644 ---- a/engine/romaji.py -+++ b/engine/romaji.py -@@ -23,6 +23,7 @@ - from ibus import unichar_half_to_full - from tables import * - import segment -+import sys - - def romaji_correction_rule_get(k, d): - return (u'ん', k[1:2]) if k[0:1] == u'n' and not k[1:2] in u"aiueony'" else d -@@ -56,6 +57,13 @@ class RomajiSegment(segment.Segment): - value = None - section = self._romaji_typing_rule_section - if section != None: -+ try: -+ # U+A5 needs to be UTF-8 since gconf values are -+ # disk saved values. -+ enchars = enchars.encode('utf-8') -+ except: -+ print >> sys.stderr, \ -+ "Failed to encode UTF-8:", enchars - if enchars in prefs.keys(section): - value = unicode(str(prefs.get_value(section, enchars))) - else: --- -1.7.2.1 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index a3f8274..8873739 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,14 +2,14 @@ %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 Name: ibus-anthy -Version: 1.2.4 -Release: 4%{?dist} +Version: 1.2.5 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -Patch0: ibus-anthy-HEAD.patch +# Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -32,7 +32,7 @@ libanthy. %prep %setup -q -%patch0 -p1 +# %patch0 -p1 %build %configure --disable-static @@ -60,8 +60,8 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog -* Tue Nov 23 2010 Takao Fujiwara - 1.2.4-4 -- Added ibus-anthy-HEAD.patch +* Wed Dec 01 2010 Takao Fujiwara - 1.2.5-1 +- Updated to 1.2.5 Fixed Bug 652881 - SEGV when key tables are customized in new gconf. Fixed Bug 654322 - new custom keys are not loaded. diff --git a/sources b/sources index 5ac4ccb..830a879 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -48e1133550fa6f1ed4fa8aea1a73dc10 ibus-anthy-1.2.4.tar.gz +00b44c874616d797a0117d087cf33341 ibus-anthy-1.2.5.tar.gz From 581de086e36b1fcfc098acfc62aa3c26c5e018ab Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 10 Dec 2010 12:09:31 +0900 Subject: [PATCH 048/202] Fixed Bug 661943 - the latest page_size for ibus.LookupTable. --- ibus-anthy-HEAD.patch | 25 +++++++++++++++++++++++++ ibus-anthy.spec | 10 +++++++--- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..f19804c 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,26 @@ +From 6dd2852a36654a4ba1a7c142431a713f10de60a9 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 10 Dec 2010 12:02:39 +0900 +Subject: [PATCH] Fixed the latest page_size for ibus.LookupTable. + +--- + engine/engine.py | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/engine/engine.py b/engine/engine.py +index c2bc8f0..2facf77 100644 +--- a/engine/engine.py ++++ b/engine/engine.py +@@ -168,6 +168,9 @@ class Engine(ibus.EngineBase): + self.__segments = list() + self.__lookup_table.clean() + self.__lookup_table_visible = False ++ size = self.__prefs.get_value('common', 'page_size') ++ if size != self.__lookup_table.get_page_size(): ++ self.__lookup_table.set_page_size(size) + self._MM = 0 + self._SS = 0 + self._H = 0 +-- +1.7.3.2 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 8873739..b38c06e 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,13 +3,13 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -# Patch0: ibus-anthy-HEAD.patch +Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -32,7 +32,7 @@ libanthy. %prep %setup -q -# %patch0 -p1 +%patch0 -p1 %build %configure --disable-static @@ -60,6 +60,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Dec 10 2010 Takao Fujiwara - 1.2.5-2 +- Added ibus-anthy-HEAD.patch + Fixed Bug 661943 - the latest page_size for ibus.LookupTable. + * Wed Dec 01 2010 Takao Fujiwara - 1.2.5-1 - Updated to 1.2.5 Fixed Bug 652881 - SEGV when key tables are customized in new gconf. From 965b5a2befc1a647cf0ab7a1bc55250bb9a6c3a8 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 10 Dec 2010 14:56:31 +0900 Subject: [PATCH 049/202] Fixed Bug 661943 - the latest page_size for ibus.LookupTable. --- ibus-anthy-HEAD.patch | 20 ++++++++++---------- ibus-anthy.spec | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index f19804c..241bfad 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,6 +1,6 @@ -From 6dd2852a36654a4ba1a7c142431a713f10de60a9 Mon Sep 17 00:00:00 2001 +From 70633cda85851e0cdd6353d553649cbb51200a5c Mon Sep 17 00:00:00 2001 From: fujiwarat -Date: Fri, 10 Dec 2010 12:02:39 +0900 +Date: Fri, 10 Dec 2010 14:54:15 +0900 Subject: [PATCH] Fixed the latest page_size for ibus.LookupTable. --- @@ -8,19 +8,19 @@ Subject: [PATCH] Fixed the latest page_size for ibus.LookupTable. 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/engine/engine.py b/engine/engine.py -index c2bc8f0..2facf77 100644 +index c2bc8f0..6dd4461 100644 --- a/engine/engine.py +++ b/engine/engine.py -@@ -168,6 +168,9 @@ class Engine(ibus.EngineBase): - self.__segments = list() - self.__lookup_table.clean() - self.__lookup_table_visible = False +@@ -756,6 +756,9 @@ class Engine(ibus.EngineBase): + self.__update_input_chars() + # self.__reset() + # self.__invalidate() + size = self.__prefs.get_value('common', 'page_size') + if size != self.__lookup_table.get_page_size(): + self.__lookup_table.set_page_size(size) - self._MM = 0 - self._SS = 0 - self._H = 0 + + def focus_out(self): + mode = self.__prefs.get_value('common', 'behavior_on_focus_out') -- 1.7.3.2 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index b38c06e..e895853 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,7 +3,7 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -60,7 +60,7 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog -* Fri Dec 10 2010 Takao Fujiwara - 1.2.5-2 +* Fri Dec 10 2010 Takao Fujiwara - 1.2.5-3 - Added ibus-anthy-HEAD.patch Fixed Bug 661943 - the latest page_size for ibus.LookupTable. From a590a5f4d62c41fd081f4f28106c9eee1a0795e7 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 9 Feb 2011 05:49:12 -0600 Subject: [PATCH 050/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e895853..2923460 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,7 +3,7 @@ %define require_pygtk2_version 2.15.2 Name: ibus-anthy Version: 1.2.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -60,6 +60,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Wed Feb 09 2011 Fedora Release Engineering - 1.2.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Fri Dec 10 2010 Takao Fujiwara - 1.2.5-3 - Added ibus-anthy-HEAD.patch Fixed Bug 661943 - the latest page_size for ibus.LookupTable. From f508c164f3816619b51f99540543c3a57f77cd81 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 16 May 2011 11:34:33 +0900 Subject: [PATCH 051/202] Bumped to 1.2.6 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 25 ------------------------- ibus-anthy.spec | 16 ++++++++-------- sources | 2 +- 4 files changed, 10 insertions(+), 34 deletions(-) diff --git a/.gitignore b/.gitignore index 1e83b70..996ea65 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ ibus-anthy.png /ibus-anthy-1.2.3.tar.gz /ibus-anthy-1.2.4.tar.gz /ibus-anthy-1.2.5.tar.gz +/ibus-anthy-1.2.6.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 241bfad..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,26 +1 @@ -From 70633cda85851e0cdd6353d553649cbb51200a5c Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 10 Dec 2010 14:54:15 +0900 -Subject: [PATCH] Fixed the latest page_size for ibus.LookupTable. - ---- - engine/engine.py | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/engine/engine.py b/engine/engine.py -index c2bc8f0..6dd4461 100644 ---- a/engine/engine.py -+++ b/engine/engine.py -@@ -756,6 +756,9 @@ class Engine(ibus.EngineBase): - self.__update_input_chars() - # self.__reset() - # self.__invalidate() -+ size = self.__prefs.get_value('common', 'page_size') -+ if size != self.__lookup_table.get_page_size(): -+ self.__lookup_table.set_page_size(size) - - def focus_out(self): - mode = self.__prefs.get_value('common', 'behavior_on_focus_out') --- -1.7.3.2 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 2923460..9dc44a3 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -2,14 +2,14 @@ %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 Name: ibus-anthy -Version: 1.2.5 -Release: 4%{?dist} +Version: 1.2.6 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -Patch0: ibus-anthy-HEAD.patch +# Patch0: ibus-anthy-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -32,7 +32,7 @@ libanthy. %prep %setup -q -%patch0 -p1 +# %patch0 -p1 %build %configure --disable-static @@ -60,13 +60,13 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Mon May 16 2011 Takao Fujiwara - 1.2.6-1 +- Bumped to 1.2.6 + Fixed Bug 661943 - the latest page_size for ibus.LookupTable. + * Wed Feb 09 2011 Fedora Release Engineering - 1.2.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild -* Fri Dec 10 2010 Takao Fujiwara - 1.2.5-3 -- Added ibus-anthy-HEAD.patch - Fixed Bug 661943 - the latest page_size for ibus.LookupTable. - * Wed Dec 01 2010 Takao Fujiwara - 1.2.5-1 - Updated to 1.2.5 Fixed Bug 652881 - SEGV when key tables are customized in new gconf. diff --git a/sources b/sources index 830a879..7e12f75 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -00b44c874616d797a0117d087cf33341 ibus-anthy-1.2.5.tar.gz +894c7311f4d5c96b1fdb8b3795446ead ibus-anthy-1.2.6.tar.gz From 1b976a952416257956372b392eba514f4f101f80 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 22 Jun 2011 13:45:22 +0900 Subject: [PATCH 052/202] Added ibus-anthy-xx-icon-symbol.patch --- ibus-anthy-xx-icon-symbol.patch | 76 +++++++++++++++++++++++++++++++++ ibus-anthy.spec | 16 ++++++- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 ibus-anthy-xx-icon-symbol.patch diff --git a/ibus-anthy-xx-icon-symbol.patch b/ibus-anthy-xx-icon-symbol.patch new file mode 100644 index 0000000..13b7914 --- /dev/null +++ b/ibus-anthy-xx-icon-symbol.patch @@ -0,0 +1,76 @@ +--- ibus-anthy-1.2.4/engine/anthy.xml.in.in.orig 2011-06-21 18:24:39.000000000 +0900 ++++ ibus-anthy-1.2.4/engine/anthy.xml.in.in 2011-06-22 12:56:29.000000000 +0900 +@@ -22,6 +22,8 @@ + Anthy + Anthy Input Method + 99 ++ @HOTKEYS@ ++ @ICON_SYMBOL@ + + + +--- ibus-anthy-1.2.4/engine/engine.py.orig 2011-06-22 13:16:30.000000000 +0900 ++++ ibus-anthy-1.2.4/engine/engine.py 2011-06-22 13:16:35.000000000 +0900 +@@ -626,6 +626,7 @@ class Engine(ibus.EngineBase): + self.__input_mode = mode + prop = self.__prop_dict[u"InputMode"] + prop.label = label ++ self.set_icon_symbol(label) + self.update_property(prop) + + self.__reset() +--- ibus-anthy-1.2.4/configure.ac.orig 2011-06-21 18:25:58.000000000 +0900 ++++ ibus-anthy-1.2.4/configure.ac 2011-06-22 13:14:26.000000000 +0900 +@@ -122,6 +122,36 @@ AC_ARG_WITH(kasumi-icon, + [KASUMI_ICON_FILE="$datadir/pixmaps/kasumi.png"]) + AC_SUBST(KASUMI_ICON_FILE) + ++dnl - check hotkeys for ibus-anthy which is used for ibus bridge mode. ++dnl - Normally you don't need this so could be HOTKEYS="no" ++AC_ARG_WITH(hotkeys, ++ [AC_HELP_STRING([--with-hotkeys=HOTKEYS], ++ [Use hotkeys for ibus bridge mode. (available value: yes/no/keys)])], ++ [HOTKEYS="$withval"], ++ [HOTKEYS="no"]) ++if test x"$HOTKEYS" = x"no"; then ++ HOTKEYS="" ++elif test x"$HOTKEYS" = x"yes"; then ++ HOTKEYS="Control+space,Zenkaku_Hankaku" ++elif test x"$HOTKEYS" = x; then ++ HOTKEYS="Control+space,Zenkaku_Hankaku" ++else ++ HOTKEYS="${HOTKEYS}" ++fi ++AC_SUBST(HOTKEYS) ++ ++ICON_SYMBOL_TEST="import ibus ++engine = ibus.EngineDesc('test') ++print hasattr(engine, 'icon_symbol') ++" ++HAS_ICON_SYMBOL=`$PYTHON -c "$ICON_SYMBOL_TEST"` ++if test x"$HAS_ICON_SYMBOL" = x"True"; then ++ ICON_SYMBOL="" ++else ++ ICON_SYMBOL="" ++fi ++AC_SUBST(ICON_SYMBOL) ++ + dnl - define GETTEXT_* variables + GETTEXT_PACKAGE=ibus-anthy + AC_SUBST(GETTEXT_PACKAGE) +@@ -146,3 +176,15 @@ m4/Makefile + ]) + + AC_OUTPUT ++echo " ++ IBus-Anthy version ibus_version ++ ++python-config: $PYTHON_CONFIG ++PYTHON_CFLAGS $PYTHON_CFLAGS ++PYTHON_LIBS $PYTHON_LIBS ++ANTHY_ZIPCODE_FILE $ANTHY_ZIPCODE_FILE ++KASUMI_EXEC_FILE $KASUMI_EXEC_FILE ++KASUMI_ICON_FILE $KASUMI_ICON_FILE ++HOTKEYS $HOTKEYS ++ICON_SYMBOL $ICON_SYMBOL ++" diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 9dc44a3..0063a5f 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,6 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 +%define have_bridge_hotkey 1 Name: ibus-anthy Version: 1.2.6 Release: 1%{?dist} @@ -10,6 +11,9 @@ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz # Patch0: ibus-anthy-HEAD.patch +%if %have_bridge_hotkey +Patch1: ibus-anthy-xx-icon-symbol.patch +%endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -33,9 +37,19 @@ libanthy. %prep %setup -q # %patch0 -p1 +%if %have_bridge_hotkey +%patch1 -p1 -b .icon-symbol +%endif %build -%configure --disable-static +%if %have_bridge_hotkey +autoreconf +%endif +%configure \ +%if %have_bridge_hotkey + --with-hotkeys \ +%endif + --disable-static # make -C po update-gmo make %{?_smp_mflags} From 9e2d96f8b375e62c7073ff9b3b44f206b26a807b Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 30 Jun 2011 18:17:33 +0900 Subject: [PATCH 053/202] Updated ibus-anthy-xx-icon-symbol.patch to replace icon_symbol with symbol. --- ibus-anthy-xx-icon-symbol.patch | 55 ++++++++++++++------------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/ibus-anthy-xx-icon-symbol.patch b/ibus-anthy-xx-icon-symbol.patch index 13b7914..75d0558 100644 --- a/ibus-anthy-xx-icon-symbol.patch +++ b/ibus-anthy-xx-icon-symbol.patch @@ -1,27 +1,6 @@ ---- ibus-anthy-1.2.4/engine/anthy.xml.in.in.orig 2011-06-21 18:24:39.000000000 +0900 -+++ ibus-anthy-1.2.4/engine/anthy.xml.in.in 2011-06-22 12:56:29.000000000 +0900 -@@ -22,6 +22,8 @@ - Anthy - Anthy Input Method - 99 -+ @HOTKEYS@ -+ @ICON_SYMBOL@ - - - ---- ibus-anthy-1.2.4/engine/engine.py.orig 2011-06-22 13:16:30.000000000 +0900 -+++ ibus-anthy-1.2.4/engine/engine.py 2011-06-22 13:16:35.000000000 +0900 -@@ -626,6 +626,7 @@ class Engine(ibus.EngineBase): - self.__input_mode = mode - prop = self.__prop_dict[u"InputMode"] - prop.label = label -+ self.set_icon_symbol(label) - self.update_property(prop) - - self.__reset() --- ibus-anthy-1.2.4/configure.ac.orig 2011-06-21 18:25:58.000000000 +0900 -+++ ibus-anthy-1.2.4/configure.ac 2011-06-22 13:14:26.000000000 +0900 -@@ -122,6 +122,36 @@ AC_ARG_WITH(kasumi-icon, ++++ ibus-anthy-1.2.4/configure.ac 2011-06-30 18:10:50.000000000 +0900 +@@ -122,6 +122,37 @@ AC_ARG_WITH(kasumi-icon, [KASUMI_ICON_FILE="$datadir/pixmaps/kasumi.png"]) AC_SUBST(KASUMI_ICON_FILE) @@ -43,22 +22,23 @@ +fi +AC_SUBST(HOTKEYS) + -+ICON_SYMBOL_TEST="import ibus ++SYMBOL_TEST="import ibus +engine = ibus.EngineDesc('test') -+print hasattr(engine, 'icon_symbol') ++exit(not hasattr(engine, 'symbol')) +" -+HAS_ICON_SYMBOL=`$PYTHON -c "$ICON_SYMBOL_TEST"` -+if test x"$HAS_ICON_SYMBOL" = x"True"; then -+ ICON_SYMBOL="" ++$PYTHON -c "$SYMBOL_TEST" ++if test $? -eq 0; then ++ SYMBOL="\xe3\x81\x82" +else -+ ICON_SYMBOL="" ++ SYMBOL="" +fi -+AC_SUBST(ICON_SYMBOL) ++SYMBOL=`printf "$SYMBOL"` ++AC_SUBST(SYMBOL) + dnl - define GETTEXT_* variables GETTEXT_PACKAGE=ibus-anthy AC_SUBST(GETTEXT_PACKAGE) -@@ -146,3 +176,15 @@ m4/Makefile +@@ -146,3 +177,15 @@ m4/Makefile ]) AC_OUTPUT @@ -72,5 +52,16 @@ +KASUMI_EXEC_FILE $KASUMI_EXEC_FILE +KASUMI_ICON_FILE $KASUMI_ICON_FILE +HOTKEYS $HOTKEYS -+ICON_SYMBOL $ICON_SYMBOL ++SYMBOL $SYMBOL +" +--- ibus-anthy-1.2.4/engine/anthy.xml.in.in.orig 2011-06-21 18:24:39.000000000 +0900 ++++ ibus-anthy-1.2.4/engine/anthy.xml.in.in 2011-06-30 17:37:45.000000000 +0900 +@@ -22,6 +22,8 @@ + Anthy + Anthy Input Method + 99 ++ @HOTKEYS@ ++ @SYMBOL@ + + + From 9e42bdb217537e8ba4ed90abfeb650715e0fe41c Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 4 Jul 2011 15:37:44 +0900 Subject: [PATCH 054/202] Added ibus-anthy-xx-icon-symbol.patch to enable the engine symbol & hotkeys. --- ibus-anthy.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 0063a5f..f1fef9c 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -4,7 +4,7 @@ %define have_bridge_hotkey 1 Name: ibus-anthy Version: 1.2.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -19,6 +19,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: anthy-devel BuildRequires: gettext-devel +%if %have_bridge_hotkey +BuildRequires: ibus +%endif BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig @@ -74,6 +77,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Mon Jul 04 2011 Takao Fujiwara - 1.2.6-2 +- Added ibus-anthy-xx-icon-symbol.patch to enable the engine symbol & hotkeys. + * Mon May 16 2011 Takao Fujiwara - 1.2.6-1 - Bumped to 1.2.6 Fixed Bug 661943 - the latest page_size for ibus.LookupTable. From 3f615590d2e2c7201db4677523b1a4cd2f3aa452 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 30 Jul 2011 00:09:04 +0900 Subject: [PATCH 055/202] Added --with-hotkeys for f16 or later. --- ibus-anthy-xx-icon-symbol.patch | 36 +++++++++++++++++---------------- ibus-anthy.spec | 19 +++++++++-------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/ibus-anthy-xx-icon-symbol.patch b/ibus-anthy-xx-icon-symbol.patch index 75d0558..9b3a2a5 100644 --- a/ibus-anthy-xx-icon-symbol.patch +++ b/ibus-anthy-xx-icon-symbol.patch @@ -1,6 +1,6 @@ --- ibus-anthy-1.2.4/configure.ac.orig 2011-06-21 18:25:58.000000000 +0900 -+++ ibus-anthy-1.2.4/configure.ac 2011-06-30 18:10:50.000000000 +0900 -@@ -122,6 +122,37 @@ AC_ARG_WITH(kasumi-icon, ++++ ibus-anthy-1.2.4/configure.ac 2011-07-29 23:37:19.000000000 +0900 +@@ -122,6 +122,39 @@ AC_ARG_WITH(kasumi-icon, [KASUMI_ICON_FILE="$datadir/pixmaps/kasumi.png"]) AC_SUBST(KASUMI_ICON_FILE) @@ -12,33 +12,35 @@ + [HOTKEYS="$withval"], + [HOTKEYS="no"]) +if test x"$HOTKEYS" = x"no"; then -+ HOTKEYS="" ++ HOTKEYS_XML="" +elif test x"$HOTKEYS" = x"yes"; then -+ HOTKEYS="Control+space,Zenkaku_Hankaku" ++ HOTKEYS_XML="Control+space,Zenkaku_Hankaku" +elif test x"$HOTKEYS" = x; then -+ HOTKEYS="Control+space,Zenkaku_Hankaku" ++ HOTKEYS_XML="Control+space,Zenkaku_Hankaku" ++elif test x"$HOTKEYS" = xnull; then ++ HOTKEYS_XML="" +else -+ HOTKEYS="${HOTKEYS}" ++ HOTKEYS_XML="${HOTKEYS}" +fi -+AC_SUBST(HOTKEYS) ++AC_SUBST(HOTKEYS_XML) + ++SYMBOL_CHAR='あ' +SYMBOL_TEST="import ibus +engine = ibus.EngineDesc('test') +exit(not hasattr(engine, 'symbol')) +" +$PYTHON -c "$SYMBOL_TEST" +if test $? -eq 0; then -+ SYMBOL="\xe3\x81\x82" ++ SYMBOL_XML="${SYMBOL_CHAR}" +else -+ SYMBOL="" ++ SYMBOL_XML="" +fi -+SYMBOL=`printf "$SYMBOL"` -+AC_SUBST(SYMBOL) ++AC_SUBST(SYMBOL_XML) + dnl - define GETTEXT_* variables GETTEXT_PACKAGE=ibus-anthy AC_SUBST(GETTEXT_PACKAGE) -@@ -146,3 +177,15 @@ m4/Makefile +@@ -146,3 +179,15 @@ m4/Makefile ]) AC_OUTPUT @@ -51,17 +53,17 @@ +ANTHY_ZIPCODE_FILE $ANTHY_ZIPCODE_FILE +KASUMI_EXEC_FILE $KASUMI_EXEC_FILE +KASUMI_ICON_FILE $KASUMI_ICON_FILE -+HOTKEYS $HOTKEYS -+SYMBOL $SYMBOL ++HOTKEYS_XML $HOTKEYS_XML ++SYMBOL_XML $SYMBOL_XML +" --- ibus-anthy-1.2.4/engine/anthy.xml.in.in.orig 2011-06-21 18:24:39.000000000 +0900 -+++ ibus-anthy-1.2.4/engine/anthy.xml.in.in 2011-06-30 17:37:45.000000000 +0900 ++++ ibus-anthy-1.2.4/engine/anthy.xml.in.in 2011-07-29 23:36:19.000000000 +0900 @@ -22,6 +22,8 @@ Anthy Anthy Input Method 99 -+ @HOTKEYS@ -+ @SYMBOL@ ++ @HOTKEYS_XML@ ++ @SYMBOL_XML@ diff --git a/ibus-anthy.spec b/ibus-anthy.spec index f1fef9c..d54a60c 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,27 +1,29 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 + +%if 0%{?fedora} > 15 %define have_bridge_hotkey 1 +%else +%define have_bridge_hotkey 0 +%endif + Name: ibus-anthy Version: 1.2.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz # Patch0: ibus-anthy-HEAD.patch -%if %have_bridge_hotkey Patch1: ibus-anthy-xx-icon-symbol.patch -%endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: anthy-devel BuildRequires: gettext-devel -%if %have_bridge_hotkey BuildRequires: ibus -%endif BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig @@ -40,14 +42,11 @@ libanthy. %prep %setup -q # %patch0 -p1 -%if %have_bridge_hotkey %patch1 -p1 -b .icon-symbol -%endif %build -%if %have_bridge_hotkey +# for .icon-symbol patch autoreconf -%endif %configure \ %if %have_bridge_hotkey --with-hotkeys \ @@ -77,7 +76,7 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog -* Mon Jul 04 2011 Takao Fujiwara - 1.2.6-2 +* Fri Jul 29 2011 Takao Fujiwara - 1.2.6-3 - Added ibus-anthy-xx-icon-symbol.patch to enable the engine symbol & hotkeys. * Mon May 16 2011 Takao Fujiwara - 1.2.6-1 From a65665ddc8f52d4c9581d57bc6f6c89968c4ac01 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 12 Jan 2012 23:36:25 -0600 Subject: [PATCH 056/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index d54a60c..4e979e6 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -10,7 +10,7 @@ Name: ibus-anthy Version: 1.2.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -76,6 +76,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Fri Jan 13 2012 Fedora Release Engineering - 1.2.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Fri Jul 29 2011 Takao Fujiwara - 1.2.6-3 - Added ibus-anthy-xx-icon-symbol.patch to enable the engine symbol & hotkeys. From 2de4fccc6ff60b24965360ae9bb38ac4535a211b Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 6 Feb 2012 11:45:11 +0900 Subject: [PATCH 057/202] Added ibus-anthy-xx-layout.patch to set 'default' layout in f17. --- ibus-anthy-xx-layout.patch | 40 ++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 19 ++++++++++++++++-- 2 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 ibus-anthy-xx-layout.patch diff --git a/ibus-anthy-xx-layout.patch b/ibus-anthy-xx-layout.patch new file mode 100644 index 0000000..20718c6 --- /dev/null +++ b/ibus-anthy-xx-layout.patch @@ -0,0 +1,40 @@ +--- ibus-anthy-1.2.6/configure.ac.orig 2012-02-06 11:08:11.937122266 +0900 ++++ ibus-anthy-1.2.6/configure.ac 2012-02-06 11:16:23.738872390 +0900 +@@ -155,6 +155,20 @@ else + fi + AC_SUBST(SYMBOL_XML) + ++dnl - set ibus-anthy layout ++AC_ARG_WITH(layout, ++ [AC_HELP_STRING([--with-layout=LAYOUT], ++ [Define the laoyut. the default is 'jp'. ++ Probably You could set 'default'.])], ++ [LAYOUT="$withval"], ++ [LAYOUT="jp"]) ++if test x"$LAYOUT" = x; then ++ LAYOUT_XML="jp" ++else ++ LAYOUT_XML="${LAYOUT}" ++fi ++AC_SUBST(LAYOUT_XML) ++ + dnl - define GETTEXT_* variables + GETTEXT_PACKAGE=ibus-anthy + AC_SUBST(GETTEXT_PACKAGE) +@@ -190,4 +204,5 @@ KASUMI_EXEC_FILE $KASUMI_EXEC_FI + KASUMI_ICON_FILE $KASUMI_ICON_FILE + HOTKEYS_XML $HOTKEYS_XML + SYMBOL_XML $SYMBOL_XML ++LAYOUT_XML $LAYOUT_XML + " +--- ibus-anthy-1.2.6/engine/anthy.xml.in.in.orig 2012-02-06 11:08:40.405570889 +0900 ++++ ibus-anthy-1.2.6/engine/anthy.xml.in.in 2012-02-06 11:15:21.085885067 +0900 +@@ -18,7 +18,7 @@ + GPL + Peng Huang <shawn.p.huang@gmail.com> + ${pkgdatadir}/icons/ibus-anthy.png +- jp ++ @LAYOUT_XML@ + Anthy + Anthy Input Method + 99 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 4e979e6..daef1bf 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,14 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%define require_ibus_version 1.2.0.20100111 +# %define require_ibus_version 1.2.0.20100111 %define require_pygtk2_version 2.15.2 +%if 0%{?fedora} > 16 +%define have_default_layout 1 +%define require_ibus_version 1.4.99.20120203 +%else +%define have_default_layout 0 +%define require_ibus_version 1.2.0.20100111 +%endif %if 0%{?fedora} > 15 %define have_bridge_hotkey 1 %else @@ -10,7 +17,7 @@ Name: ibus-anthy Version: 1.2.6 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -18,6 +25,7 @@ URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz # Patch0: ibus-anthy-HEAD.patch Patch1: ibus-anthy-xx-icon-symbol.patch +Patch2: ibus-anthy-xx-layout.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -43,11 +51,15 @@ libanthy. %setup -q # %patch0 -p1 %patch1 -p1 -b .icon-symbol +%patch2 -p1 -b .layout %build # for .icon-symbol patch autoreconf %configure \ +%if %have_default_layout + --with-layout='default' \ +%endif %if %have_bridge_hotkey --with-hotkeys \ %endif @@ -76,6 +88,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ibus/component/* %changelog +* Mon Feb 06 2012 Takao Fujiwara - 1.2.6-5 +- Added ibus-anthy-xx-layout.patch to set 'default' layout in f17. + * Fri Jan 13 2012 Fedora Release Engineering - 1.2.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild From aecf088fb62e25d907f1afa3f4a4505464bd0e75 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sun, 4 Mar 2012 22:58:08 +0900 Subject: [PATCH 058/202] Bumped to 1.3.99.20120304 --- .gitignore | 1 + ibus-anthy.spec | 57 ++++++++++++++++++++++++++----------------------- sources | 2 +- 3 files changed, 32 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 996ea65..253ebda 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ ibus-anthy.png /ibus-anthy-1.2.4.tar.gz /ibus-anthy-1.2.5.tar.gz /ibus-anthy-1.2.6.tar.gz +/ibus-anthy-1.3.99.20120304.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index daef1bf..8964649 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,61 +1,56 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -# %define require_ibus_version 1.2.0.20100111 -%define require_pygtk2_version 2.15.2 - -%if 0%{?fedora} > 16 -%define have_default_layout 1 %define require_ibus_version 1.4.99.20120203 -%else -%define have_default_layout 0 -%define require_ibus_version 1.2.0.20100111 -%endif -%if 0%{?fedora} > 15 + +%define sub_version 1.0 +%define have_default_layout 1 %define have_bridge_hotkey 1 -%else -%define have_bridge_hotkey 0 -%endif Name: ibus-anthy -Version: 1.2.6 -Release: 5%{?dist} +Version: 1.3.99.20120304 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz # Patch0: ibus-anthy-HEAD.patch -Patch1: ibus-anthy-xx-icon-symbol.patch -Patch2: ibus-anthy-xx-layout.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: anthy-devel BuildRequires: gettext-devel +BuildRequires: glib2-devel BuildRequires: ibus BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig -BuildRequires: python2-devel -BuildRequires: swig +BuildRequires: gobject-introspection-devel Requires: ibus >= %{require_ibus_version} Requires: anthy -Requires: pygtk2 >= %{require_pygtk2_version} Requires: kasumi +Requires: pygobject3 %description The Anthy engine for IBus platform. It provides Japanese input method from libanthy. +%package devel +Summary: Development tools for ibus +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: glib2-devel +Requires: anthy-devel + +%description devel +The ibus-anthy-devel package contains .so file and .gir files +for developers. + %prep %setup -q # %patch0 -p1 -%patch1 -p1 -b .icon-symbol -%patch2 -p1 -b .layout %build -# for .icon-symbol patch -autoreconf %configure \ %if %have_default_layout --with-layout='default' \ @@ -70,7 +65,7 @@ make %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make DESTDIR=${RPM_BUILD_ROOT} install -rm -f $RPM_BUILD_ROOT%{python_sitearch}/_anthy.la +rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la %find_lang %{name} @@ -81,13 +76,21 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc AUTHORS COPYING README # %dir %{python_sitearch}/ibus -%{python_sitearch}/anthy.py* -%{python_sitearch}/_anthy.so +%{_libdir}/libanthygobject-%{sub_version}.so.* +%{_libdir}/girepository-1.0/Anthy*.typelib %{_libexecdir}/ibus-*-anthy %{_datadir}/ibus-anthy %{_datadir}/ibus/component/* +%files devel +%{_datadir}/gir-1.0/Anthy*.gir +%{_includedir}/ibus-anthy-%{sub_version} +%{_libdir}/libanthygobject-%{sub_version}.so + %changelog +* Sun Mar 04 2012 Takao Fujiwara - 1.3.99.20120304-1 +- Bumped to 1.3.99.20120304 + * Mon Feb 06 2012 Takao Fujiwara - 1.2.6-5 - Added ibus-anthy-xx-layout.patch to set 'default' layout in f17. diff --git a/sources b/sources index 7e12f75..78a4e7b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -894c7311f4d5c96b1fdb8b3795446ead ibus-anthy-1.2.6.tar.gz +128766b4800c7b78771e2cf3cbf5fdb9 ibus-anthy-1.3.99.20120304.tar.gz From 387ecfbacc17a1a475216e5bc573059d014fe8ad Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 27 Mar 2012 13:39:08 +0900 Subject: [PATCH 059/202] Bumped to 1.4.99.20120327 --- .gitignore | 2 ++ ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 253ebda..52fd07d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,6 @@ ibus-anthy.png /ibus-anthy-1.2.4.tar.gz /ibus-anthy-1.2.5.tar.gz /ibus-anthy-1.2.6.tar.gz +/ibus-anthy-1.2.7.tar.gz /ibus-anthy-1.3.99.20120304.tar.gz +/ibus-anthy-1.4.99.20120327.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 8964649..eddb259 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -6,7 +6,7 @@ %define have_bridge_hotkey 1 Name: ibus-anthy -Version: 1.3.99.20120304 +Version: 1.4.99.20120327 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -88,6 +88,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Tue Mar 27 2012 Takao Fujiwara - 1.4.99.20120327-1 +- Bumped to 1.4.99.20120327 + * Sun Mar 04 2012 Takao Fujiwara - 1.3.99.20120304-1 - Bumped to 1.3.99.20120304 diff --git a/sources b/sources index 78a4e7b..f8bc049 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -128766b4800c7b78771e2cf3cbf5fdb9 ibus-anthy-1.3.99.20120304.tar.gz +c426152e1aaf6782443e114b78425501 ibus-anthy-1.4.99.20120327.tar.gz From b2bdc7cd39fc50581e83efb183522e73a0d6cc67 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 19 Jul 2012 09:22:53 -0500 Subject: [PATCH 060/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index eddb259..56f2025 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -7,7 +7,7 @@ Name: ibus-anthy Version: 1.4.99.20120327 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -88,6 +88,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Thu Jul 19 2012 Fedora Release Engineering - 1.4.99.20120327-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Tue Mar 27 2012 Takao Fujiwara - 1.4.99.20120327-1 - Bumped to 1.4.99.20120327 From e66e469c3b572692c83362978f399a5783c4b7a2 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 31 Jul 2012 22:18:34 +0900 Subject: [PATCH 061/202] Fixed a format. --- ibus-anthy.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 56f2025..e4d99ca 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -33,7 +33,7 @@ Requires: pygobject3 %description The Anthy engine for IBus platform. It provides Japanese input method from -libanthy. +a library of the Anthy. %package devel Summary: Development tools for ibus @@ -48,7 +48,7 @@ for developers. %prep %setup -q -# %patch0 -p1 +# patch0 -p1 %build %configure \ @@ -75,7 +75,7 @@ rm -rf $RPM_BUILD_ROOT %files -f %{name}.lang %defattr(-,root,root,-) %doc AUTHORS COPYING README -# %dir %{python_sitearch}/ibus +# dir {python_sitearch}/ibus %{_libdir}/libanthygobject-%{sub_version}.so.* %{_libdir}/girepository-1.0/Anthy*.typelib %{_libexecdir}/ibus-*-anthy From 50a115b4f67e759aedc564f567f914aef4db4213 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 6 Oct 2012 22:14:13 +0900 Subject: [PATCH 062/202] Bumped to 1.4.99.20121006 --- .gitignore | 1 + ibus-anthy-xx-disable-prop-symbol.patch | 83 +++++++++++++++++++++++++ ibus-anthy-xx-icon-symbol.patch | 69 -------------------- ibus-anthy-xx-layout.patch | 40 ------------ ibus-anthy.spec | 40 ++++++++++-- sources | 2 +- 6 files changed, 119 insertions(+), 116 deletions(-) create mode 100644 ibus-anthy-xx-disable-prop-symbol.patch delete mode 100644 ibus-anthy-xx-icon-symbol.patch delete mode 100644 ibus-anthy-xx-layout.patch diff --git a/.gitignore b/.gitignore index 52fd07d..5853bf2 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ ibus-anthy.png /ibus-anthy-1.2.7.tar.gz /ibus-anthy-1.3.99.20120304.tar.gz /ibus-anthy-1.4.99.20120327.tar.gz +/ibus-anthy-1.4.99.20121006.tar.gz diff --git a/ibus-anthy-xx-disable-prop-symbol.patch b/ibus-anthy-xx-disable-prop-symbol.patch new file mode 100644 index 0000000..649175a --- /dev/null +++ b/ibus-anthy-xx-disable-prop-symbol.patch @@ -0,0 +1,83 @@ +--- ibus-anthy/engine/engine.py.orig 2012-10-06 21:14:45.250978091 +0900 ++++ ibus-anthy/engine/engine.py 2012-10-06 21:20:31.325649562 +0900 +@@ -204,7 +204,7 @@ class Engine(IBus.EngineSimple): + { 'description' : _("Input mode"), 'symbol' : symbol } + input_mode_prop = IBus.Property(key=u'InputMode', + prop_type=IBus.PropType.MENU, +- label=IBus.Text.new_from_string(label), ++ label=IBus.Text.new_from_string(symbol), + symbol=IBus.Text.new_from_string(symbol), + icon='', + tooltip=IBus.Text.new_from_string(_("Switch input mode")), +@@ -278,7 +278,7 @@ class Engine(IBus.EngineSimple): + { 'description' : _("Typing method"), 'symbol' : symbol } + typing_mode_prop = IBus.Property(key=u'TypingMode', + prop_type=IBus.PropType.MENU, +- label=IBus.Text.new_from_string(label), ++ label=IBus.Text.new_from_string(symbol), + symbol=IBus.Text.new_from_string(symbol), + icon='', + tooltip=IBus.Text.new_from_string(_("Switch typing method")), +@@ -355,7 +355,7 @@ class Engine(IBus.EngineSimple): + { 'description' : _("Segment mode"), 'symbol' : symbol } + segment_mode_prop = IBus.Property(key=u'SegmentMode', + prop_type=IBus.PropType.MENU, +- label=IBus.Text.new_from_string(label), ++ label=IBus.Text.new_from_string(symbol), + symbol=IBus.Text.new_from_string(symbol), + icon=None, + tooltip=IBus.Text.new_from_string(_("Switch conversion mode")), +@@ -420,7 +420,7 @@ class Engine(IBus.EngineSimple): + { 'description' : _("Dictionary mode"), 'symbol' : short_label } + dict_mode_prop = IBus.Property(key=u'DictMode', + prop_type=IBus.PropType.MENU, +- label=IBus.Text.new_from_string(label), ++ label=IBus.Text.new_from_string(short_label), + symbol=IBus.Text.new_from_string(short_label), + icon=None, + tooltip=IBus.Text.new_from_string(_("Switch dictionary")), +@@ -743,7 +743,7 @@ class Engine(IBus.EngineSimple): + self.__input_mode = mode + prop = self.__prop_dict[u'InputMode'] + prop.set_symbol(IBus.Text.new_from_string(symbol)) +- prop.set_label(IBus.Text.new_from_string(label)) ++ prop.set_label(IBus.Text.new_from_string(symbol)) + self.update_property(prop) + + self.__reset() +@@ -771,7 +771,7 @@ class Engine(IBus.EngineSimple): + Engine.__typing_mode = mode + prop = self.__prop_dict[u'TypingMode'] + prop.set_symbol(IBus.Text.new_from_string(symbol)) +- prop.set_label(IBus.Text.new_from_string(label)) ++ prop.set_label(IBus.Text.new_from_string(symbol)) + self.update_property(prop) + + self.__reset() +@@ -793,7 +793,7 @@ class Engine(IBus.EngineSimple): + _prop.set_state(IBus.PropState.CHECKED) + self.update_property(_prop) + prop.set_symbol(IBus.Text.new_from_string(symbol)) +- prop.set_label(IBus.Text.new_from_string(label)) ++ prop.set_label(IBus.Text.new_from_string(symbol)) + self.update_property(prop) + + def __segment_mode_activate(self, prop_name, state): +@@ -818,7 +818,7 @@ class Engine(IBus.EngineSimple): + self.__segment_mode = mode + prop = self.__prop_dict[u'SegmentMode'] + prop.set_symbol(IBus.Text.new_from_string(symbol)) +- prop.set_label(IBus.Text.new_from_string(label)) ++ prop.set_label(IBus.Text.new_from_string(symbol)) + self.update_property(prop) + + self.__reset() +@@ -883,7 +883,7 @@ class Engine(IBus.EngineSimple): + label = _("%(description)s (%(symbol)s)") % \ + { 'description' : _("Dictionary mode"), 'symbol' : symbol } + prop.set_symbol(IBus.Text.new_from_string(symbol)) +- prop.set_label(IBus.Text.new_from_string(label)) ++ prop.set_label(IBus.Text.new_from_string(symbol)) + self.update_property(prop) + + def __argb(self, a, r, g, b): diff --git a/ibus-anthy-xx-icon-symbol.patch b/ibus-anthy-xx-icon-symbol.patch deleted file mode 100644 index 9b3a2a5..0000000 --- a/ibus-anthy-xx-icon-symbol.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- ibus-anthy-1.2.4/configure.ac.orig 2011-06-21 18:25:58.000000000 +0900 -+++ ibus-anthy-1.2.4/configure.ac 2011-07-29 23:37:19.000000000 +0900 -@@ -122,6 +122,39 @@ AC_ARG_WITH(kasumi-icon, - [KASUMI_ICON_FILE="$datadir/pixmaps/kasumi.png"]) - AC_SUBST(KASUMI_ICON_FILE) - -+dnl - check hotkeys for ibus-anthy which is used for ibus bridge mode. -+dnl - Normally you don't need this so could be HOTKEYS="no" -+AC_ARG_WITH(hotkeys, -+ [AC_HELP_STRING([--with-hotkeys=HOTKEYS], -+ [Use hotkeys for ibus bridge mode. (available value: yes/no/keys)])], -+ [HOTKEYS="$withval"], -+ [HOTKEYS="no"]) -+if test x"$HOTKEYS" = x"no"; then -+ HOTKEYS_XML="" -+elif test x"$HOTKEYS" = x"yes"; then -+ HOTKEYS_XML="Control+space,Zenkaku_Hankaku" -+elif test x"$HOTKEYS" = x; then -+ HOTKEYS_XML="Control+space,Zenkaku_Hankaku" -+elif test x"$HOTKEYS" = xnull; then -+ HOTKEYS_XML="" -+else -+ HOTKEYS_XML="${HOTKEYS}" -+fi -+AC_SUBST(HOTKEYS_XML) -+ -+SYMBOL_CHAR='あ' -+SYMBOL_TEST="import ibus -+engine = ibus.EngineDesc('test') -+exit(not hasattr(engine, 'symbol')) -+" -+$PYTHON -c "$SYMBOL_TEST" -+if test $? -eq 0; then -+ SYMBOL_XML="${SYMBOL_CHAR}" -+else -+ SYMBOL_XML="" -+fi -+AC_SUBST(SYMBOL_XML) -+ - dnl - define GETTEXT_* variables - GETTEXT_PACKAGE=ibus-anthy - AC_SUBST(GETTEXT_PACKAGE) -@@ -146,3 +179,15 @@ m4/Makefile - ]) - - AC_OUTPUT -+echo " -+ IBus-Anthy version ibus_version -+ -+python-config: $PYTHON_CONFIG -+PYTHON_CFLAGS $PYTHON_CFLAGS -+PYTHON_LIBS $PYTHON_LIBS -+ANTHY_ZIPCODE_FILE $ANTHY_ZIPCODE_FILE -+KASUMI_EXEC_FILE $KASUMI_EXEC_FILE -+KASUMI_ICON_FILE $KASUMI_ICON_FILE -+HOTKEYS_XML $HOTKEYS_XML -+SYMBOL_XML $SYMBOL_XML -+" ---- ibus-anthy-1.2.4/engine/anthy.xml.in.in.orig 2011-06-21 18:24:39.000000000 +0900 -+++ ibus-anthy-1.2.4/engine/anthy.xml.in.in 2011-07-29 23:36:19.000000000 +0900 -@@ -22,6 +22,8 @@ - Anthy - Anthy Input Method - 99 -+ @HOTKEYS_XML@ -+ @SYMBOL_XML@ - - - diff --git a/ibus-anthy-xx-layout.patch b/ibus-anthy-xx-layout.patch deleted file mode 100644 index 20718c6..0000000 --- a/ibus-anthy-xx-layout.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- ibus-anthy-1.2.6/configure.ac.orig 2012-02-06 11:08:11.937122266 +0900 -+++ ibus-anthy-1.2.6/configure.ac 2012-02-06 11:16:23.738872390 +0900 -@@ -155,6 +155,20 @@ else - fi - AC_SUBST(SYMBOL_XML) - -+dnl - set ibus-anthy layout -+AC_ARG_WITH(layout, -+ [AC_HELP_STRING([--with-layout=LAYOUT], -+ [Define the laoyut. the default is 'jp'. -+ Probably You could set 'default'.])], -+ [LAYOUT="$withval"], -+ [LAYOUT="jp"]) -+if test x"$LAYOUT" = x; then -+ LAYOUT_XML="jp" -+else -+ LAYOUT_XML="${LAYOUT}" -+fi -+AC_SUBST(LAYOUT_XML) -+ - dnl - define GETTEXT_* variables - GETTEXT_PACKAGE=ibus-anthy - AC_SUBST(GETTEXT_PACKAGE) -@@ -190,4 +204,5 @@ KASUMI_EXEC_FILE $KASUMI_EXEC_FI - KASUMI_ICON_FILE $KASUMI_ICON_FILE - HOTKEYS_XML $HOTKEYS_XML - SYMBOL_XML $SYMBOL_XML -+LAYOUT_XML $LAYOUT_XML - " ---- ibus-anthy-1.2.6/engine/anthy.xml.in.in.orig 2012-02-06 11:08:40.405570889 +0900 -+++ ibus-anthy-1.2.6/engine/anthy.xml.in.in 2012-02-06 11:15:21.085885067 +0900 -@@ -18,7 +18,7 @@ - GPL - Peng Huang <shawn.p.huang@gmail.com> - ${pkgdatadir}/icons/ibus-anthy.png -- jp -+ @LAYOUT_XML@ - Anthy - Anthy Input Method - 99 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e4d99ca..961e208 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,20 +1,26 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%define require_ibus_version 1.4.99.20120203 -%define sub_version 1.0 -%define have_default_layout 1 -%define have_bridge_hotkey 1 +%define sub_version 1.0 +%define require_ibus_version 1.4.99.20120203 +%define have_default_layout 1 +%define have_bridge_hotkey 1 Name: ibus-anthy -Version: 1.4.99.20120327 -Release: 2%{?dist} +Version: 1.4.99.20121006 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz + # Patch0: ibus-anthy-HEAD.patch +%if 0%{?fedora} <= 17 +# IBusProperty.symbol is not used by ibus-gjs +Patch91: ibus-anthy-xx-disable-prop-symbol.patch +%endif + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: anthy-devel @@ -50,6 +56,10 @@ for developers. %setup -q # patch0 -p1 +%if 0%{?fedora} <= 17 +%patch91 -p1 +%endif + %build %configure \ %if %have_default_layout @@ -72,6 +82,18 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la %clean rm -rf $RPM_BUILD_ROOT +%post +# recreate icon cache +touch --no-create %{_datadir}/icons/hicolor || : +[ -x %{_bindir}/gtk-update-icon-cache ] && \ + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + +%postun +# recreate icon cache +touch --no-create %{_datadir}/icons/hicolor || : +[ -x %{_bindir}/gtk-update-icon-cache ] && \ + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : + %files -f %{name}.lang %defattr(-,root,root,-) %doc AUTHORS COPYING README @@ -79,8 +101,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libanthygobject-%{sub_version}.so.* %{_libdir}/girepository-1.0/Anthy*.typelib %{_libexecdir}/ibus-*-anthy +%{_datadir}/applications/ibus-setup-anthy.desktop %{_datadir}/ibus-anthy %{_datadir}/ibus/component/* +%{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg %files devel %{_datadir}/gir-1.0/Anthy*.gir @@ -88,6 +112,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Sat Oct 06 2012 Takao Fujiwara - 1.4.99.20121006-1 +- Bumped to 1.4.99.20121006 +- Added ibus-anthy-xx-disable-prop-symbol.patch for Fedora 17 + * Thu Jul 19 2012 Fedora Release Engineering - 1.4.99.20120327-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild diff --git a/sources b/sources index f8bc049..20ba12e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c426152e1aaf6782443e114b78425501 ibus-anthy-1.4.99.20120327.tar.gz +518aa503ce40054e0027f2a79c9df640 ibus-anthy-1.4.99.20121006.tar.gz From 93a88c64279eeaabc2ecb8f2011e693793fa2196 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 19 Nov 2012 16:24:04 +0900 Subject: [PATCH 063/202] Fixed typo. --- ibus-anthy.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 961e208..588eea9 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -16,7 +16,7 @@ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz # Patch0: ibus-anthy-HEAD.patch -%if 0%{?fedora} <= 17 +%if (0%{?fedora} <= 17 && 0%{?rhel} < 7) # IBusProperty.symbol is not used by ibus-gjs Patch91: ibus-anthy-xx-disable-prop-symbol.patch %endif @@ -56,7 +56,7 @@ for developers. %setup -q # patch0 -p1 -%if 0%{?fedora} <= 17 +%if (0%{?fedora} <= 17 && 0%{?rhel} < 7) %patch91 -p1 %endif From 7f7ac75b4d9fd4c130fb8ba3a531baca31620a87 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 21 Nov 2012 19:51:51 +0900 Subject: [PATCH 064/202] Updated for a misc issue. --- ibus-anthy.spec | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 588eea9..34b2485 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,9 +1,9 @@ -%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%define sub_version 1.0 -%define require_ibus_version 1.4.99.20120203 -%define have_default_layout 1 -%define have_bridge_hotkey 1 +%global sub_version 1.0 +%global require_ibus_version 1.4.99.20120203 +%global have_default_layout 1 +%global have_bridge_hotkey 1 Name: ibus-anthy Version: 1.4.99.20121006 @@ -21,16 +21,16 @@ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz Patch91: ibus-anthy-xx-disable-prop-symbol.patch %endif -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - BuildRequires: anthy-devel +BuildRequires: desktop-file-utils BuildRequires: gettext-devel BuildRequires: glib2-devel +BuildRequires: gobject-introspection-devel BuildRequires: ibus BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig -BuildRequires: gobject-introspection-devel +BuildRequires: python2-devel Requires: ibus >= %{require_ibus_version} Requires: anthy @@ -73,22 +73,24 @@ for developers. make %{?_smp_mflags} %install -rm -rf $RPM_BUILD_ROOT -make DESTDIR=${RPM_BUILD_ROOT} install +make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la %find_lang %{name} -%clean -rm -rf $RPM_BUILD_ROOT +%check +desktop-file-validate \ + $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop %post +/sbin/ldconfig # recreate icon cache touch --no-create %{_datadir}/icons/hicolor || : [ -x %{_bindir}/gtk-update-icon-cache ] && \ %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %postun +/sbin/ldconfig # recreate icon cache touch --no-create %{_datadir}/icons/hicolor || : [ -x %{_bindir}/gtk-update-icon-cache ] && \ From 2264d1e1cab91363048aeeaaa30fb9543a09b724 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 22 Nov 2012 13:18:55 +0900 Subject: [PATCH 065/202] Updated to save the spec update. --- ibus-anthy.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 34b2485..1168d98 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,5 +1,3 @@ -%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} - %global sub_version 1.0 %global require_ibus_version 1.4.99.20120203 %global have_default_layout 1 @@ -7,7 +5,7 @@ Name: ibus-anthy Version: 1.4.99.20121006 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -99,7 +97,7 @@ touch --no-create %{_datadir}/icons/hicolor || : %files -f %{name}.lang %defattr(-,root,root,-) %doc AUTHORS COPYING README -# dir {python_sitearch}/ibus +# dir {python2_sitearch}/ibus %{_libdir}/libanthygobject-%{sub_version}.so.* %{_libdir}/girepository-1.0/Anthy*.typelib %{_libexecdir}/ibus-*-anthy @@ -114,6 +112,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Thu Nov 22 2012 Takao Fujiwara - 1.4.99.20121006-2 +- Updated to save the spec update. + * Sat Oct 06 2012 Takao Fujiwara - 1.4.99.20121006-1 - Bumped to 1.4.99.20121006 - Added ibus-anthy-xx-disable-prop-symbol.patch for Fedora 17 From 8672699f391656173d86488d4b8dcdd7c3770462 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 12 Dec 2012 21:33:26 +0900 Subject: [PATCH 066/202] Resolved #884031. Deleted arch depended files. --- ibus-anthy-HEAD.patch | 24 ++++++++++++++++++++++++ ibus-anthy.spec | 25 +++++++++++++++++++++---- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..9f50cfa 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,25 @@ +From 80853b7b8b1f7c7bfe9bfc125ad55491925f6c8c Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 12 Dec 2012 21:02:33 +0900 +Subject: [PATCH] Fixed to delete arch depended lines. (#884031) + +--- + engine/ibus-engine-anthy.in | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/engine/ibus-engine-anthy.in b/engine/ibus-engine-anthy.in +index 3b1c5fe..1b3fd68 100644 +--- a/engine/ibus-engine-anthy.in ++++ b/engine/ibus-engine-anthy.in +@@ -26,8 +26,6 @@ prefix=@prefix@ + datarootdir=@datarootdir@ + exec_prefix=@exec_prefix@ + libexecdir=@libexecdir@ +-pyexecdir=@pyexecdir@ +-export PYTHONPATH=@pyexecdir@:$PYTHONPATH + export IBUS_PREFIX=@prefix@ + export IBUS_ANTHY_PKGDATADIR=@datarootdir@/@PACKAGE@ + export LIBEXECDIR=$libexecdir +-- +1.8.0 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 1168d98..ddfd1e1 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -5,18 +5,20 @@ Name: ibus-anthy Version: 1.4.99.20121006 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -# Patch0: ibus-anthy-HEAD.patch +# Upstreamed patches. +# Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch %if (0%{?fedora} <= 17 && 0%{?rhel} < 7) # IBusProperty.symbol is not used by ibus-gjs -Patch91: ibus-anthy-xx-disable-prop-symbol.patch +Patch91: %{name}-xx-disable-prop-symbol.patch %endif BuildRequires: anthy-devel @@ -52,7 +54,8 @@ for developers. %prep %setup -q -# patch0 -p1 +# %%patch0 -p1 +%patch0 -p1 %if (0%{?fedora} <= 17 && 0%{?rhel} < 7) %patch91 -p1 @@ -70,6 +73,17 @@ for developers. # make -C po update-gmo make %{?_smp_mflags} +# home [dot] corp [dot] redhat [dot] com/wiki/rpmdiff-multilib +if test -f engine/_config.py.in -a -f engine/_config.py ; then + touch -r engine/_config.py.in engine/_config.py +fi +if test -f setup/_config.py.in -a -f setup/_config.py ; then + touch -r setup/_config.py.in setup/_config.py +fi +if test -f setup/anthyprefs.py.in -a -f setup/anthyprefs.py ; then + touch -r setup/anthyprefs.py.in setup/anthyprefs.py +fi + %install make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la @@ -112,6 +126,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Dec 12 2012 Takao Fujiwara - 1.4.99.20121006-3 +- Resolved #884031. Deleted arch depended files. + * Thu Nov 22 2012 Takao Fujiwara - 1.4.99.20121006-2 - Updated to save the spec update. From cb21fb20db401ab6169a629facb1c5944a97b263 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 16 Jan 2013 18:54:06 +0900 Subject: [PATCH 067/202] Bumped to 1.5.0 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 24 ----------------------- ibus-anthy-xx-disable-prop-symbol.patch | 26 ++++++++++++------------- ibus-anthy.spec | 11 ++++++----- sources | 2 +- 5 files changed, 21 insertions(+), 43 deletions(-) diff --git a/.gitignore b/.gitignore index 5853bf2..06d75ac 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ ibus-anthy.png /ibus-anthy-1.3.99.20120304.tar.gz /ibus-anthy-1.4.99.20120327.tar.gz /ibus-anthy-1.4.99.20121006.tar.gz +/ibus-anthy-1.5.0.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 9f50cfa..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,25 +1 @@ -From 80853b7b8b1f7c7bfe9bfc125ad55491925f6c8c Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 12 Dec 2012 21:02:33 +0900 -Subject: [PATCH] Fixed to delete arch depended lines. (#884031) - ---- - engine/ibus-engine-anthy.in | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/engine/ibus-engine-anthy.in b/engine/ibus-engine-anthy.in -index 3b1c5fe..1b3fd68 100644 ---- a/engine/ibus-engine-anthy.in -+++ b/engine/ibus-engine-anthy.in -@@ -26,8 +26,6 @@ prefix=@prefix@ - datarootdir=@datarootdir@ - exec_prefix=@exec_prefix@ - libexecdir=@libexecdir@ --pyexecdir=@pyexecdir@ --export PYTHONPATH=@pyexecdir@:$PYTHONPATH - export IBUS_PREFIX=@prefix@ - export IBUS_ANTHY_PKGDATADIR=@datarootdir@/@PACKAGE@ - export LIBEXECDIR=$libexecdir --- -1.8.0 diff --git a/ibus-anthy-xx-disable-prop-symbol.patch b/ibus-anthy-xx-disable-prop-symbol.patch index 649175a..6d7d43b 100644 --- a/ibus-anthy-xx-disable-prop-symbol.patch +++ b/ibus-anthy-xx-disable-prop-symbol.patch @@ -1,6 +1,6 @@ ---- ibus-anthy/engine/engine.py.orig 2012-10-06 21:14:45.250978091 +0900 -+++ ibus-anthy/engine/engine.py 2012-10-06 21:20:31.325649562 +0900 -@@ -204,7 +204,7 @@ class Engine(IBus.EngineSimple): +--- ibus-anthy/engine/engine.py.orig 2012-12-31 00:46:13.000000000 +0900 ++++ ibus-anthy/engine/engine.py 2013-01-16 17:53:40.922164419 +0900 +@@ -233,7 +233,7 @@ class Engine(IBus.EngineSimple): { 'description' : _("Input mode"), 'symbol' : symbol } input_mode_prop = IBus.Property(key=u'InputMode', prop_type=IBus.PropType.MENU, @@ -9,7 +9,7 @@ symbol=IBus.Text.new_from_string(symbol), icon='', tooltip=IBus.Text.new_from_string(_("Switch input mode")), -@@ -278,7 +278,7 @@ class Engine(IBus.EngineSimple): +@@ -321,7 +321,7 @@ class Engine(IBus.EngineSimple): { 'description' : _("Typing method"), 'symbol' : symbol } typing_mode_prop = IBus.Property(key=u'TypingMode', prop_type=IBus.PropType.MENU, @@ -18,7 +18,7 @@ symbol=IBus.Text.new_from_string(symbol), icon='', tooltip=IBus.Text.new_from_string(_("Switch typing method")), -@@ -355,7 +355,7 @@ class Engine(IBus.EngineSimple): +@@ -388,7 +388,7 @@ class Engine(IBus.EngineSimple): { 'description' : _("Segment mode"), 'symbol' : symbol } segment_mode_prop = IBus.Property(key=u'SegmentMode', prop_type=IBus.PropType.MENU, @@ -27,7 +27,7 @@ symbol=IBus.Text.new_from_string(symbol), icon=None, tooltip=IBus.Text.new_from_string(_("Switch conversion mode")), -@@ -420,7 +420,7 @@ class Engine(IBus.EngineSimple): +@@ -464,7 +464,7 @@ class Engine(IBus.EngineSimple): { 'description' : _("Dictionary mode"), 'symbol' : short_label } dict_mode_prop = IBus.Property(key=u'DictMode', prop_type=IBus.PropType.MENU, @@ -36,8 +36,8 @@ symbol=IBus.Text.new_from_string(short_label), icon=None, tooltip=IBus.Text.new_from_string(_("Switch dictionary")), -@@ -743,7 +743,7 @@ class Engine(IBus.EngineSimple): - self.__input_mode = mode +@@ -793,7 +793,7 @@ class Engine(IBus.EngineSimple): + Engine.__input_mode = mode prop = self.__prop_dict[u'InputMode'] prop.set_symbol(IBus.Text.new_from_string(symbol)) - prop.set_label(IBus.Text.new_from_string(label)) @@ -45,7 +45,7 @@ self.update_property(prop) self.__reset() -@@ -771,7 +771,7 @@ class Engine(IBus.EngineSimple): +@@ -821,7 +821,7 @@ class Engine(IBus.EngineSimple): Engine.__typing_mode = mode prop = self.__prop_dict[u'TypingMode'] prop.set_symbol(IBus.Text.new_from_string(symbol)) @@ -54,7 +54,7 @@ self.update_property(prop) self.__reset() -@@ -793,7 +793,7 @@ class Engine(IBus.EngineSimple): +@@ -846,7 +846,7 @@ class Engine(IBus.EngineSimple): _prop.set_state(IBus.PropState.CHECKED) self.update_property(_prop) prop.set_symbol(IBus.Text.new_from_string(symbol)) @@ -63,8 +63,8 @@ self.update_property(prop) def __segment_mode_activate(self, prop_name, state): -@@ -818,7 +818,7 @@ class Engine(IBus.EngineSimple): - self.__segment_mode = mode +@@ -871,7 +871,7 @@ class Engine(IBus.EngineSimple): + Engine.__segment_mode = mode prop = self.__prop_dict[u'SegmentMode'] prop.set_symbol(IBus.Text.new_from_string(symbol)) - prop.set_label(IBus.Text.new_from_string(label)) @@ -72,7 +72,7 @@ self.update_property(prop) self.__reset() -@@ -883,7 +883,7 @@ class Engine(IBus.EngineSimple): +@@ -936,7 +936,7 @@ class Engine(IBus.EngineSimple): label = _("%(description)s (%(symbol)s)") % \ { 'description' : _("Dictionary mode"), 'symbol' : symbol } prop.set_symbol(IBus.Text.new_from_string(symbol)) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index ddfd1e1..1b8ddf5 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,11 +1,11 @@ %global sub_version 1.0 -%global require_ibus_version 1.4.99.20120203 +%global require_ibus_version 1.5.1 %global have_default_layout 1 %global have_bridge_hotkey 1 Name: ibus-anthy -Version: 1.4.99.20121006 -Release: 3%{?dist} +Version: 1.5.0 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -14,7 +14,6 @@ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch %if (0%{?fedora} <= 17 && 0%{?rhel} < 7) # IBusProperty.symbol is not used by ibus-gjs @@ -55,7 +54,6 @@ for developers. %prep %setup -q # %%patch0 -p1 -%patch0 -p1 %if (0%{?fedora} <= 17 && 0%{?rhel} < 7) %patch91 -p1 @@ -126,6 +124,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Jan 16 2013 Takao Fujiwara - 1.5.0-1 +- Bumped to 1.5.0 + * Wed Dec 12 2012 Takao Fujiwara - 1.4.99.20121006-3 - Resolved #884031. Deleted arch depended files. diff --git a/sources b/sources index 20ba12e..9978262 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -518aa503ce40054e0027f2a79c9df640 ibus-anthy-1.4.99.20121006.tar.gz +4ff000bec3c342f5cd5a6d9e05a4abdf ibus-anthy-1.5.0.tar.gz From c7ef472a7d70479c8233b48421ad529c3690f683 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 13 Feb 2013 19:50:59 -0600 Subject: [PATCH 068/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 1b8ddf5..50d45e5 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -5,7 +5,7 @@ Name: ibus-anthy Version: 1.5.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -124,6 +124,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Thu Feb 14 2013 Fedora Release Engineering - 1.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Wed Jan 16 2013 Takao Fujiwara - 1.5.0-1 - Bumped to 1.5.0 From a8b6f5cf2dd0f1620dbf9d859024e44d27b512a0 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 11 May 2013 22:56:25 +0900 Subject: [PATCH 069/202] Bumped to 1.5.1 --- .gitignore | 1 + ibus-anthy.spec | 18 ++++++++++++++++-- sources | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 06d75ac..9d0daf4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ ibus-anthy.png /ibus-anthy-1.4.99.20120327.tar.gz /ibus-anthy-1.4.99.20121006.tar.gz /ibus-anthy-1.5.0.tar.gz +/ibus-anthy-1.5.1.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 50d45e5..a382415 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,9 +3,15 @@ %global have_default_layout 1 %global have_bridge_hotkey 1 +%if (0%{?fedora} > 18 || 0%{?rhel} > 6) +%global with_ctrl_space 1 +%else +%global with_ctrl_space 0 +%endif + Name: ibus-anthy -Version: 1.5.0 -Release: 2%{?dist} +Version: 1.5.1 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -66,6 +72,11 @@ for developers. %endif %if %have_bridge_hotkey --with-hotkeys \ +%endif +%if %with_ctrl_space + --with-on-off-keys="'Zenkaku_Hankaku', 'Ctrl+space', 'Ctrl+J'" \ +%else + --with-on-off-keys="'Ctrl+J'" \ %endif --disable-static # make -C po update-gmo @@ -124,6 +135,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Sat May 11 2013 Takao Fujiwara - 1.5.1-1 +- Bumped to 1.5.1 + * Thu Feb 14 2013 Fedora Release Engineering - 1.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild diff --git a/sources b/sources index 9978262..31814fb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4ff000bec3c342f5cd5a6d9e05a4abdf ibus-anthy-1.5.0.tar.gz +08cd077cd8f5ed6704ca2953f9dc19f3 ibus-anthy-1.5.1.tar.gz From 3b4c8c57bd947917148920c990312e5a6f46dc97 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 13 May 2013 14:20:45 +0900 Subject: [PATCH 070/202] Bumped to 1.5.2 --- .gitignore | 1 + ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9d0daf4..252383c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ ibus-anthy.png /ibus-anthy-1.4.99.20121006.tar.gz /ibus-anthy-1.5.0.tar.gz /ibus-anthy-1.5.1.tar.gz +/ibus-anthy-1.5.2.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index a382415..7bcab0c 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -10,7 +10,7 @@ %endif Name: ibus-anthy -Version: 1.5.1 +Version: 1.5.2 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -135,6 +135,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon May 13 2013 Takao Fujiwara - 1.5.2-1 +- Bumped to 1.5.2 + * Sat May 11 2013 Takao Fujiwara - 1.5.1-1 - Bumped to 1.5.1 diff --git a/sources b/sources index 31814fb..0b8e1eb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -08cd077cd8f5ed6704ca2953f9dc19f3 ibus-anthy-1.5.1.tar.gz +e0157fac7a98274038dbe22d50df47a2 ibus-anthy-1.5.2.tar.gz From 117835e184d337da72b7a99ad140ffb01db88cba Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 13 May 2013 15:10:59 +0900 Subject: [PATCH 071/202] Bumped to 1.5.3 --- .gitignore | 1 + ibus-anthy.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 252383c..1ef1fca 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ ibus-anthy.png /ibus-anthy-1.5.0.tar.gz /ibus-anthy-1.5.1.tar.gz /ibus-anthy-1.5.2.tar.gz +/ibus-anthy-1.5.3.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 7bcab0c..6355cad 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -10,7 +10,7 @@ %endif Name: ibus-anthy -Version: 1.5.2 +Version: 1.5.3 Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ @@ -135,6 +135,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon May 13 2013 Takao Fujiwara - 1.5.3-1 +- Bumped to 1.5.3 + * Mon May 13 2013 Takao Fujiwara - 1.5.2-1 - Bumped to 1.5.2 diff --git a/sources b/sources index 0b8e1eb..7fce213 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e0157fac7a98274038dbe22d50df47a2 ibus-anthy-1.5.2.tar.gz +ec8e7c499c80c0270be69d613dec4b87 ibus-anthy-1.5.3.tar.gz From d628c8fb36672b2dcb02812c73121a3031401511 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 3 Aug 2013 14:04:33 -0500 Subject: [PATCH 072/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 6355cad..1010cb5 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -11,7 +11,7 @@ Name: ibus-anthy Version: 1.5.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -135,6 +135,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 1.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Mon May 13 2013 Takao Fujiwara - 1.5.3-1 - Bumped to 1.5.3 From 880fbf693a196d579a0b9dfbda5f888adbf7b51b Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 9 Sep 2013 14:19:49 +0900 Subject: [PATCH 073/202] Bumped to 1.5.4 --- .gitignore | 1 + ibus-anthy-xx-disable-prop-symbol.patch | 83 ------------------- ibus-anthy.spec | 103 ++++++++++++++---------- sources | 2 +- 4 files changed, 64 insertions(+), 125 deletions(-) delete mode 100644 ibus-anthy-xx-disable-prop-symbol.patch diff --git a/.gitignore b/.gitignore index 1ef1fca..c900d47 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ ibus-anthy.png /ibus-anthy-1.5.1.tar.gz /ibus-anthy-1.5.2.tar.gz /ibus-anthy-1.5.3.tar.gz +/ibus-anthy-1.5.4.tar.gz diff --git a/ibus-anthy-xx-disable-prop-symbol.patch b/ibus-anthy-xx-disable-prop-symbol.patch deleted file mode 100644 index 6d7d43b..0000000 --- a/ibus-anthy-xx-disable-prop-symbol.patch +++ /dev/null @@ -1,83 +0,0 @@ ---- ibus-anthy/engine/engine.py.orig 2012-12-31 00:46:13.000000000 +0900 -+++ ibus-anthy/engine/engine.py 2013-01-16 17:53:40.922164419 +0900 -@@ -233,7 +233,7 @@ class Engine(IBus.EngineSimple): - { 'description' : _("Input mode"), 'symbol' : symbol } - input_mode_prop = IBus.Property(key=u'InputMode', - prop_type=IBus.PropType.MENU, -- label=IBus.Text.new_from_string(label), -+ label=IBus.Text.new_from_string(symbol), - symbol=IBus.Text.new_from_string(symbol), - icon='', - tooltip=IBus.Text.new_from_string(_("Switch input mode")), -@@ -321,7 +321,7 @@ class Engine(IBus.EngineSimple): - { 'description' : _("Typing method"), 'symbol' : symbol } - typing_mode_prop = IBus.Property(key=u'TypingMode', - prop_type=IBus.PropType.MENU, -- label=IBus.Text.new_from_string(label), -+ label=IBus.Text.new_from_string(symbol), - symbol=IBus.Text.new_from_string(symbol), - icon='', - tooltip=IBus.Text.new_from_string(_("Switch typing method")), -@@ -388,7 +388,7 @@ class Engine(IBus.EngineSimple): - { 'description' : _("Segment mode"), 'symbol' : symbol } - segment_mode_prop = IBus.Property(key=u'SegmentMode', - prop_type=IBus.PropType.MENU, -- label=IBus.Text.new_from_string(label), -+ label=IBus.Text.new_from_string(symbol), - symbol=IBus.Text.new_from_string(symbol), - icon=None, - tooltip=IBus.Text.new_from_string(_("Switch conversion mode")), -@@ -464,7 +464,7 @@ class Engine(IBus.EngineSimple): - { 'description' : _("Dictionary mode"), 'symbol' : short_label } - dict_mode_prop = IBus.Property(key=u'DictMode', - prop_type=IBus.PropType.MENU, -- label=IBus.Text.new_from_string(label), -+ label=IBus.Text.new_from_string(short_label), - symbol=IBus.Text.new_from_string(short_label), - icon=None, - tooltip=IBus.Text.new_from_string(_("Switch dictionary")), -@@ -793,7 +793,7 @@ class Engine(IBus.EngineSimple): - Engine.__input_mode = mode - prop = self.__prop_dict[u'InputMode'] - prop.set_symbol(IBus.Text.new_from_string(symbol)) -- prop.set_label(IBus.Text.new_from_string(label)) -+ prop.set_label(IBus.Text.new_from_string(symbol)) - self.update_property(prop) - - self.__reset() -@@ -821,7 +821,7 @@ class Engine(IBus.EngineSimple): - Engine.__typing_mode = mode - prop = self.__prop_dict[u'TypingMode'] - prop.set_symbol(IBus.Text.new_from_string(symbol)) -- prop.set_label(IBus.Text.new_from_string(label)) -+ prop.set_label(IBus.Text.new_from_string(symbol)) - self.update_property(prop) - - self.__reset() -@@ -846,7 +846,7 @@ class Engine(IBus.EngineSimple): - _prop.set_state(IBus.PropState.CHECKED) - self.update_property(_prop) - prop.set_symbol(IBus.Text.new_from_string(symbol)) -- prop.set_label(IBus.Text.new_from_string(label)) -+ prop.set_label(IBus.Text.new_from_string(symbol)) - self.update_property(prop) - - def __segment_mode_activate(self, prop_name, state): -@@ -871,7 +871,7 @@ class Engine(IBus.EngineSimple): - Engine.__segment_mode = mode - prop = self.__prop_dict[u'SegmentMode'] - prop.set_symbol(IBus.Text.new_from_string(symbol)) -- prop.set_label(IBus.Text.new_from_string(label)) -+ prop.set_label(IBus.Text.new_from_string(symbol)) - self.update_property(prop) - - self.__reset() -@@ -936,7 +936,7 @@ class Engine(IBus.EngineSimple): - label = _("%(description)s (%(symbol)s)") % \ - { 'description' : _("Dictionary mode"), 'symbol' : symbol } - prop.set_symbol(IBus.Text.new_from_string(symbol)) -- prop.set_label(IBus.Text.new_from_string(label)) -+ prop.set_label(IBus.Text.new_from_string(symbol)) - self.update_property(prop) - - def __argb(self, a, r, g, b): diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 1010cb5..91d728f 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,5 +1,5 @@ %global sub_version 1.0 -%global require_ibus_version 1.5.1 +%global require_ibus_version 1.5.3 %global have_default_layout 1 %global have_bridge_hotkey 1 @@ -9,22 +9,23 @@ %global with_ctrl_space 0 %endif -Name: ibus-anthy -Version: 1.5.3 -Release: 2%{?dist} -Summary: The Anthy engine for IBus input platform -License: GPLv2+ -Group: System Environment/Libraries -URL: http://code.google.com/p/ibus/ -Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz +%if (0%{?fedora} > 19 || 0%{?rhel} > 6) +%global with_python_pkg 1 +%else +%global with_python_pkg 0 +%endif + +Name: ibus-anthy +Version: 1.5.4 +Release: 1%{?dist} +Summary: The Anthy engine for IBus input platform +License: GPLv2+ +Group: System Environment/Libraries +URL: http://code.google.com/p/ibus/ +Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz # Upstreamed patches. -# Patch0: %%{name}-HEAD.patch - -%if (0%{?fedora} <= 17 && 0%{?rhel} < 7) -# IBusProperty.symbol is not used by ibus-gjs -Patch91: %{name}-xx-disable-prop-symbol.patch -%endif +# Patch0: %%{name}-HEAD.patch BuildRequires: anthy-devel BuildRequires: desktop-file-utils @@ -37,21 +38,34 @@ BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: python2-devel -Requires: ibus >= %{require_ibus_version} -Requires: anthy -Requires: kasumi -Requires: pygobject3 +Requires: ibus >= %{require_ibus_version} +Requires: kasumi +Requires: anthy +Requires: pygobject3 +%if %with_python_pkg +Requires: %{name}-python = %{version}-%{release} +%endif %description The Anthy engine for IBus platform. It provides Japanese input method from a library of the Anthy. +%if %with_python_pkg +%package python +Summary: Anthy Python files for IBus +Group: System Environment/Libraries +BuildArch: noarch + +%description python +This package contains the Anthy Python files for IBus +%endif + %package devel -Summary: Development tools for ibus -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} -Requires: glib2-devel -Requires: anthy-devel +Summary: Development tools for IBus +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: glib2-devel +Requires: anthy-devel %description devel The ibus-anthy-devel package contains .so file and .gir files @@ -61,10 +75,6 @@ for developers. %setup -q # %%patch0 -p1 -%if (0%{?fedora} <= 17 && 0%{?rhel} < 7) -%patch91 -p1 -%endif - %build %configure \ %if %have_default_layout @@ -82,17 +92,6 @@ for developers. # make -C po update-gmo make %{?_smp_mflags} -# home [dot] corp [dot] redhat [dot] com/wiki/rpmdiff-multilib -if test -f engine/_config.py.in -a -f engine/_config.py ; then - touch -r engine/_config.py.in engine/_config.py -fi -if test -f setup/_config.py.in -a -f setup/_config.py ; then - touch -r setup/_config.py.in setup/_config.py -fi -if test -f setup/anthyprefs.py.in -a -f setup/anthyprefs.py ; then - touch -r setup/anthyprefs.py.in setup/anthyprefs.py -fi - %install make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la @@ -109,6 +108,8 @@ desktop-file-validate \ touch --no-create %{_datadir}/icons/hicolor || : [ -x %{_bindir}/gtk-update-icon-cache ] && \ %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +[ -x %{_bindir}/ibus ] && \ + %{_bindir}/ibus write-cache --system &>/dev/null || : %postun /sbin/ldconfig @@ -116,25 +117,45 @@ touch --no-create %{_datadir}/icons/hicolor || : touch --no-create %{_datadir}/icons/hicolor || : [ -x %{_bindir}/gtk-update-icon-cache ] && \ %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +[ -x %{_bindir}/ibus ] && \ + %{_bindir}/ibus write-cache --system &>/dev/null || : %files -f %{name}.lang -%defattr(-,root,root,-) %doc AUTHORS COPYING README # dir {python2_sitearch}/ibus %{_libdir}/libanthygobject-%{sub_version}.so.* %{_libdir}/girepository-1.0/Anthy*.typelib +%if %with_python_pkg +%dir %{_datadir}/ibus-anthy +%{_datadir}/ibus-anthy/dicts +%else %{_libexecdir}/ibus-*-anthy %{_datadir}/applications/ibus-setup-anthy.desktop %{_datadir}/ibus-anthy %{_datadir}/ibus/component/* +%endif %{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg +%if %with_python_pkg +%files python +%{_libexecdir}/ibus-*-anthy +%{_datadir}/applications/ibus-setup-anthy.desktop +%{_datadir}/ibus-anthy/engine +%{_datadir}/ibus-anthy/setup +%{_datadir}/ibus/component/* +%endif + %files devel %{_datadir}/gir-1.0/Anthy*.gir %{_includedir}/ibus-anthy-%{sub_version} %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon Sep 09 2013 Takao Fujiwara - 1.5.4-1 +- Bumped to 1.5.4 +- Added ibus-anthy-python subpackage for noarch. +- Deleted ibus-anthy-xx-disable-prop-symbol.patch + * Sat Aug 03 2013 Fedora Release Engineering - 1.5.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild @@ -327,7 +348,7 @@ touch --no-create %{_datadir}/icons/hicolor || : * Fri Aug 15 2008 Peng Huang - 0.1.1.20080815-1 - Update to 0.1.1.20080815. -* Thu Aug 12 2008 Peng Huang - 0.1.1.20080812-1 +* Tue Aug 12 2008 Peng Huang - 0.1.1.20080812-1 - Update to 0.1.1.20080812. * Fri Aug 08 2008 Peng Huang - 0.1.0.20080810-1 diff --git a/sources b/sources index 7fce213..26c5fe4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ec8e7c499c80c0270be69d613dec4b87 ibus-anthy-1.5.3.tar.gz +50a4115ad9bf386daea1161eb0bf4435 ibus-anthy-1.5.4.tar.gz From cec2536615843ba868534f21b474e052518c1493 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 24 Dec 2013 12:48:43 +0900 Subject: [PATCH 074/202] Required ibus-anthy by ibus-anthy-python --- ibus-anthy.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 91d728f..d4d9351 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -17,7 +17,7 @@ Name: ibus-anthy Version: 1.5.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -55,6 +55,7 @@ a library of the Anthy. Summary: Anthy Python files for IBus Group: System Environment/Libraries BuildArch: noarch +Requires: %{name} = %{version}-%{release} %description python This package contains the Anthy Python files for IBus @@ -151,6 +152,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Tue Dec 24 2013 Takao Fujiwara - 1.5.4-2 +- Required ibus-anthy by ibus-anthy-python + * Mon Sep 09 2013 Takao Fujiwara - 1.5.4-1 - Bumped to 1.5.4 - Added ibus-anthy-python subpackage for noarch. From bc85845e07677fb7e9c64f61e7d3c1826ebff4ad Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 6 Feb 2014 12:35:24 +0900 Subject: [PATCH 075/202] Bumped to 1.5.5 --- .gitignore | 1 + ibus-anthy.spec | 30 +++++++++++++++--------------- sources | 2 +- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index c900d47..59e7307 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ ibus-anthy.png /ibus-anthy-1.5.2.tar.gz /ibus-anthy-1.5.3.tar.gz /ibus-anthy-1.5.4.tar.gz +/ibus-anthy-1.5.5.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index d4d9351..48acd6d 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,26 +3,24 @@ %global have_default_layout 1 %global have_bridge_hotkey 1 -%if (0%{?fedora} > 18 || 0%{?rhel} > 6) -%global with_ctrl_space 1 -%else -%global with_ctrl_space 0 -%endif - %if (0%{?fedora} > 19 || 0%{?rhel} > 6) %global with_python_pkg 1 %else %global with_python_pkg 0 %endif +# for bytecompile in %%{_datadir}/ibus-anthy +%global __python %{__python3} + Name: ibus-anthy -Version: 1.5.4 -Release: 2%{?dist} +Version: 1.5.5 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ -Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz +# https://docs.google.com/file/d/0B3GBdbLj_9YgY0tvRXdMWHVYd2s +Source0: %{name}-%{version}.tar.gz # Upstreamed patches. # Patch0: %%{name}-HEAD.patch @@ -36,12 +34,13 @@ BuildRequires: ibus BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig -BuildRequires: python2-devel +BuildRequires: python3-devel +BuildRequires: python3-gobject Requires: ibus >= %{require_ibus_version} Requires: kasumi Requires: anthy -Requires: pygobject3 +Requires: python3-gobject %if %with_python_pkg Requires: %{name}-python = %{version}-%{release} %endif @@ -84,11 +83,8 @@ for developers. %if %have_bridge_hotkey --with-hotkeys \ %endif -%if %with_ctrl_space --with-on-off-keys="'Zenkaku_Hankaku', 'Ctrl+space', 'Ctrl+J'" \ -%else - --with-on-off-keys="'Ctrl+J'" \ -%endif + --with-python=python3 \ --disable-static # make -C po update-gmo make %{?_smp_mflags} @@ -152,6 +148,10 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Feb 05 2014 Takao Fujiwara - 1.5.5-1 +- Bumped to 1.5.5 +- Enabled python3. + * Tue Dec 24 2013 Takao Fujiwara - 1.5.4-2 - Required ibus-anthy by ibus-anthy-python diff --git a/sources b/sources index 26c5fe4..8cf9c6e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -50a4115ad9bf386daea1161eb0bf4435 ibus-anthy-1.5.4.tar.gz +0d21a3e24cfd7be22521475a63392276 ibus-anthy-1.5.5.tar.gz From 1f83a3f51973b4016c28f5db7da2a5f332654adc Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 27 Feb 2014 19:31:25 +0900 Subject: [PATCH 076/202] Updated ibus-anthy-HEAD.patch to enable property icon. --- ibus-anthy-HEAD.patch | 2409 +++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 16 +- 2 files changed, 2423 insertions(+), 2 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..c12862d 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,2410 @@ +From ffd69683443c56910e6db6d4526992a92c222275 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 18 Feb 2014 17:36:45 +0900 +Subject: [PATCH] Fixed deprecated GtkHBox, GtkVBox and GtkStock since GTK+ + 3.10. + +--- + po/ibus-anthy.pot | 154 +++++++++++++++++++++----------- + setup/python2/main.py | 14 +-- + setup/python2/setup.ui | 237 +++++++++++++++++++++++++------------------------ + setup/python3/main.py | 10 +-- + setup/python3/setup.ui | 237 +++++++++++++++++++++++++------------------------ + 5 files changed, 361 insertions(+), 291 deletions(-) + +diff --git a/setup/python2/main.py b/setup/python2/main.py +index 98486ad..7c403b8 100644 +--- a/setup/python2/main.py ++++ b/setup/python2/main.py +@@ -4,8 +4,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -1416,14 +1416,14 @@ class AnthySetup(object): + dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), + parent=self.__builder.get_object('main'), + action=Gtk.FileChooserAction.OPEN, +- buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, +- Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) ++ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, ++ _("_Open"), Gtk.ResponseType.OK)) + if Gtk.Buildable.get_name(widget) == 'dict:btn_edit': + dlg = Gtk.Dialog(title=_("Edit Dictionary File"), + parent=self.__builder.get_object('main'), + flags=Gtk.DialogFlags.MODAL, +- buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, +- Gtk.STOCK_OK, Gtk.ResponseType.OK)) ++ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, ++ _("_OK"), Gtk.ResponseType.OK)) + + vbox = self.__builder.get_object('dict:add_extra_vbox') + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': +@@ -1518,7 +1518,7 @@ class AnthySetup(object): + dlg = Gtk.Dialog(title=_("View Dictionary File"), + parent=self.__builder.get_object('main'), + flags=Gtk.DialogFlags.MODAL, +- buttons=(Gtk.STOCK_OK, Gtk.ResponseType.OK)) ++ buttons=(_("_OK"), Gtk.ResponseType.OK)) + buffer = Gtk.TextBuffer() + buffer.set_text (lines) + text_view = Gtk.TextView.new_with_buffer(buffer) +diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui +index d9ec626..dc5e7e1 100644 +--- a/setup/python2/setup.ui ++++ b/setup/python2/setup.ui +@@ -195,16 +195,18 @@ + dialog + + +- ++ + True ++ vertical + + + True + True + 6 + +- ++ + True ++ vertical + 8 + + +@@ -355,8 +357,9 @@ + 8 + 12 + +- ++ + True ++ vertical + 4 + 4 + +@@ -409,8 +412,9 @@ + + + +- ++ + True ++ vertical + 8 + + +@@ -637,8 +641,9 @@ + 8 + 4 + +- ++ + True ++ horizontal + 8 + + +@@ -773,13 +778,15 @@ + + + +- ++ + True ++ vertical + 4 + 4 + +- ++ + True ++ horizontal + 8 + + +@@ -828,6 +835,7 @@ + automatic + automatic + in ++ 300 + + + True +@@ -843,53 +851,20 @@ + + + +- ++ + True ++ horizontal + 4 + end + + ++ De_fault ++ True + True + True + True + False + +- +- +- True +- 0 +- 0 +- +- +- True +- 2 +- +- +- True +- gtk-undo +- +- +- False +- False +- 0 +- +- +- +- +- True +- De_fault +- True +- +- +- False +- False +- 1 +- +- +- +- +- +- + + + False +@@ -899,12 +874,12 @@ + + + +- gtk-edit ++ _Edit ++ True + True + True + True + False +- True + + + +@@ -1352,8 +1327,9 @@ + + + +- ++ + True ++ horizontal + 8 + + +@@ -1393,13 +1369,14 @@ + + + +- ++ + True ++ horizontal + 8 + + + True +- gtk-dialog-info ++ dialog-information + + + False +@@ -1429,8 +1406,9 @@ + + + +- ++ + True ++ horizontal + 8 + + +@@ -1471,13 +1449,14 @@ + + + +- ++ + True ++ horizontal + 8 + + + True +- gtk-dialog-info ++ dialog-information + + + False +@@ -1605,8 +1584,9 @@ + + + +- ++ + True ++ vertical + 8 + 4 + +@@ -1620,8 +1600,9 @@ + 4 + 0 + +- ++ + True ++ vertical + 4 + 4 + +@@ -1777,8 +1758,9 @@ + 4 + 0 + +- ++ + True ++ vertical + 4 + 4 + +@@ -1801,8 +1783,9 @@ + + + +- ++ + True ++ horizontal + 4 + end + +@@ -1823,12 +1806,12 @@ + + + +- gtk-add ++ _Add ++ True + True + True + True + False +- True + + + +@@ -1839,12 +1822,12 @@ + + + +- gtk-edit ++ _Edit ++ True + True + True + True + False +- True + + + +@@ -1855,12 +1838,12 @@ + + + +- gtk-delete ++ _Delete ++ True + True + True + True + False +- True + + + +@@ -1877,19 +1860,20 @@ + + + +- ++ + True ++ horizontal + 4 + end + + +- gtk-go-up ++ _Up ++ True + You can change the order on language bar + True + True + True + False +- True + + + +@@ -1900,13 +1884,13 @@ + + + +- gtk-go-down ++ _Down ++ True + You can change the order on language bar + True + True + True + False +- True + + + +@@ -1953,7 +1937,7 @@ + + + +- ++ + True + vertical + 10 +@@ -1979,18 +1963,19 @@ + + + +- ++ + True ++ horizontal + end + + +- gtk-apply ++ _Apply ++ True + True + False + True + True + False +- True + + + +@@ -2001,12 +1986,12 @@ + + + +- gtk-cancel ++ _Cancel ++ True + True + True + True + False +- True + + + +@@ -2017,12 +2002,12 @@ + + + +- gtk-ok ++ _OK ++ True + True + True + True + False +- True + + + +@@ -2053,11 +2038,13 @@ + True + dialog + +- ++ + True ++ vertical + +- ++ + True ++ vertical + 5 + 6 + +@@ -2068,6 +2055,7 @@ + automatic + automatic + in ++ 150 + + + True +@@ -2081,8 +2069,9 @@ + + + +- ++ + True ++ horizontal + 8 + + +@@ -2128,8 +2117,9 @@ + + + +- ++ + True ++ horizontal + 8 + + +@@ -2143,8 +2133,9 @@ + + + +- ++ + True ++ horizontal + + + A_lternate +@@ -2197,19 +2188,20 @@ + + + +- ++ + True ++ horizontal + 6 + end + + +- gtk-add ++ _Add ++ True + True + False + True + True + False +- True + + + +@@ -2220,12 +2212,12 @@ + + + +- gtk-refresh ++ _Refresh ++ True + False + True + True + False +- True + + + +@@ -2236,13 +2228,13 @@ + + + +- gtk-delete ++ _Delete ++ True + True + False + True + True + False +- True + + + +@@ -2264,17 +2256,18 @@ + + + +- ++ + True ++ horizontal + end + + +- gtk-cancel ++ _Cancel ++ True + True + True + True + False +- True + + + False +@@ -2284,12 +2277,12 @@ + + + +- gtk-ok ++ _OK ++ True + True + True + True + False +- True + + + False +@@ -2318,13 +2311,15 @@ + True + dialog + +- ++ + True ++ vertical + 5 + 6 + +- ++ + True ++ horizontal + 5 + 6 + +@@ -2359,8 +2354,9 @@ + + + +- ++ + True ++ horizontal + 5 + 6 + +@@ -2371,6 +2367,8 @@ + automatic + automatic + in ++ 250 ++ 300 + + + True +@@ -2383,8 +2381,9 @@ + + + +- ++ + True ++ vertical + start + 6 + +@@ -2470,12 +2469,12 @@ + + + True +- gtk-add ++ _Add ++ True + True + True + True + False +- True + + + 8 +@@ -2484,12 +2483,12 @@ + + + True +- gtk-remove ++ _Remove ++ True + True + True + True + False +- True + + + 9 +@@ -2508,16 +2507,17 @@ + + + +- ++ + True ++ horizontal + end + + + True +- gtk-close ++ _Close ++ True + True + True +- True + True + + +@@ -2551,12 +2551,14 @@ + Confirmation + You are about to close the setup dialog, is that OK? + +- ++ + True ++ vertical + 2 + +- ++ + True ++ horizontal + end + + +@@ -2586,12 +2588,14 @@ + Notice! + You are about to close the setup dialog without saving your changes, is that OK? + +- ++ + True ++ vertical + 2 + +- ++ + True ++ horizontal + end + + +@@ -2622,12 +2626,14 @@ + + + +- ++ + True ++ vertical + 2 + +- ++ + True ++ horizontal + end + + +@@ -2657,12 +2663,14 @@ + Invalid keysym + This keysym is not valid + +- ++ + True ++ vertical + 2 + +- ++ + True ++ horizontal + end + + +@@ -2680,8 +2688,9 @@ + + + +- ++ + True ++ vertical + True + 10 + +@@ -2800,8 +2809,8 @@ + IBus-Anthy + Copyright © 2007–2008 Peng Huang + Copyright © 2009 Hideaki ABE +-Copyright © 2009–2013 Takao Fujiwara +-Copyright © 2007–2013 Red Hat, Inc. ++Copyright © 2009–2014 Takao Fujiwara ++Copyright © 2007–2014 Red Hat, Inc. + The Anthy engine for the IBus input platform + GPL + http://code.google.com/p/ibus/ +diff --git a/setup/python3/main.py b/setup/python3/main.py +index fec03a6..2073f59 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -1410,14 +1410,14 @@ class AnthySetup(object): + dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), + parent=self.__builder.get_object('main'), + action=Gtk.FileChooserAction.OPEN, +- buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, +- Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) ++ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, ++ _("_Open"), Gtk.ResponseType.OK)) + if Gtk.Buildable.get_name(widget) == 'dict:btn_edit': + dlg = Gtk.Dialog(title=_("Edit Dictionary File"), + parent=self.__builder.get_object('main'), + flags=Gtk.DialogFlags.MODAL, +- buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, +- Gtk.STOCK_OK, Gtk.ResponseType.OK)) ++ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, ++ _("_OK"), Gtk.ResponseType.OK)) + + vbox = self.__builder.get_object('dict:add_extra_vbox') + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': +@@ -1512,7 +1512,7 @@ class AnthySetup(object): + dlg = Gtk.Dialog(title=_("View Dictionary File"), + parent=self.__builder.get_object('main'), + flags=Gtk.DialogFlags.MODAL, +- buttons=(Gtk.STOCK_OK, Gtk.ResponseType.OK)) ++ buttons=(_("_OK"), Gtk.ResponseType.OK)) + buffer = Gtk.TextBuffer() + buffer.set_text (lines) + text_view = Gtk.TextView.new_with_buffer(buffer) +diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui +index d9ec626..dc5e7e1 100644 +--- a/setup/python3/setup.ui ++++ b/setup/python3/setup.ui +@@ -195,16 +195,18 @@ + dialog + + +- ++ + True ++ vertical + + + True + True + 6 + +- ++ + True ++ vertical + 8 + + +@@ -355,8 +357,9 @@ + 8 + 12 + +- ++ + True ++ vertical + 4 + 4 + +@@ -409,8 +412,9 @@ + + + +- ++ + True ++ vertical + 8 + + +@@ -637,8 +641,9 @@ + 8 + 4 + +- ++ + True ++ horizontal + 8 + + +@@ -773,13 +778,15 @@ + + + +- ++ + True ++ vertical + 4 + 4 + +- ++ + True ++ horizontal + 8 + + +@@ -828,6 +835,7 @@ + automatic + automatic + in ++ 300 + + + True +@@ -843,53 +851,20 @@ + + + +- ++ + True ++ horizontal + 4 + end + + ++ De_fault ++ True + True + True + True + False + +- +- +- True +- 0 +- 0 +- +- +- True +- 2 +- +- +- True +- gtk-undo +- +- +- False +- False +- 0 +- +- +- +- +- True +- De_fault +- True +- +- +- False +- False +- 1 +- +- +- +- +- +- + + + False +@@ -899,12 +874,12 @@ + + + +- gtk-edit ++ _Edit ++ True + True + True + True + False +- True + + + +@@ -1352,8 +1327,9 @@ + + + +- ++ + True ++ horizontal + 8 + + +@@ -1393,13 +1369,14 @@ + + + +- ++ + True ++ horizontal + 8 + + + True +- gtk-dialog-info ++ dialog-information + + + False +@@ -1429,8 +1406,9 @@ + + + +- ++ + True ++ horizontal + 8 + + +@@ -1471,13 +1449,14 @@ + + + +- ++ + True ++ horizontal + 8 + + + True +- gtk-dialog-info ++ dialog-information + + + False +@@ -1605,8 +1584,9 @@ + + + +- ++ + True ++ vertical + 8 + 4 + +@@ -1620,8 +1600,9 @@ + 4 + 0 + +- ++ + True ++ vertical + 4 + 4 + +@@ -1777,8 +1758,9 @@ + 4 + 0 + +- ++ + True ++ vertical + 4 + 4 + +@@ -1801,8 +1783,9 @@ + + + +- ++ + True ++ horizontal + 4 + end + +@@ -1823,12 +1806,12 @@ + + + +- gtk-add ++ _Add ++ True + True + True + True + False +- True + + + +@@ -1839,12 +1822,12 @@ + + + +- gtk-edit ++ _Edit ++ True + True + True + True + False +- True + + + +@@ -1855,12 +1838,12 @@ + + + +- gtk-delete ++ _Delete ++ True + True + True + True + False +- True + + + +@@ -1877,19 +1860,20 @@ + + + +- ++ + True ++ horizontal + 4 + end + + +- gtk-go-up ++ _Up ++ True + You can change the order on language bar + True + True + True + False +- True + + + +@@ -1900,13 +1884,13 @@ + + + +- gtk-go-down ++ _Down ++ True + You can change the order on language bar + True + True + True + False +- True + + + +@@ -1953,7 +1937,7 @@ + + + +- ++ + True + vertical + 10 +@@ -1979,18 +1963,19 @@ + + + +- ++ + True ++ horizontal + end + + +- gtk-apply ++ _Apply ++ True + True + False + True + True + False +- True + + + +@@ -2001,12 +1986,12 @@ + + + +- gtk-cancel ++ _Cancel ++ True + True + True + True + False +- True + + + +@@ -2017,12 +2002,12 @@ + + + +- gtk-ok ++ _OK ++ True + True + True + True + False +- True + + + +@@ -2053,11 +2038,13 @@ + True + dialog + +- ++ + True ++ vertical + +- ++ + True ++ vertical + 5 + 6 + +@@ -2068,6 +2055,7 @@ + automatic + automatic + in ++ 150 + + + True +@@ -2081,8 +2069,9 @@ + + + +- ++ + True ++ horizontal + 8 + + +@@ -2128,8 +2117,9 @@ + + + +- ++ + True ++ horizontal + 8 + + +@@ -2143,8 +2133,9 @@ + + + +- ++ + True ++ horizontal + + + A_lternate +@@ -2197,19 +2188,20 @@ + + + +- ++ + True ++ horizontal + 6 + end + + +- gtk-add ++ _Add ++ True + True + False + True + True + False +- True + + + +@@ -2220,12 +2212,12 @@ + + + +- gtk-refresh ++ _Refresh ++ True + False + True + True + False +- True + + + +@@ -2236,13 +2228,13 @@ + + + +- gtk-delete ++ _Delete ++ True + True + False + True + True + False +- True + + + +@@ -2264,17 +2256,18 @@ + + + +- ++ + True ++ horizontal + end + + +- gtk-cancel ++ _Cancel ++ True + True + True + True + False +- True + + + False +@@ -2284,12 +2277,12 @@ + + + +- gtk-ok ++ _OK ++ True + True + True + True + False +- True + + + False +@@ -2318,13 +2311,15 @@ + True + dialog + +- ++ + True ++ vertical + 5 + 6 + +- ++ + True ++ horizontal + 5 + 6 + +@@ -2359,8 +2354,9 @@ + + + +- ++ + True ++ horizontal + 5 + 6 + +@@ -2371,6 +2367,8 @@ + automatic + automatic + in ++ 250 ++ 300 + + + True +@@ -2383,8 +2381,9 @@ + + + +- ++ + True ++ vertical + start + 6 + +@@ -2470,12 +2469,12 @@ + + + True +- gtk-add ++ _Add ++ True + True + True + True + False +- True + + + 8 +@@ -2484,12 +2483,12 @@ + + + True +- gtk-remove ++ _Remove ++ True + True + True + True + False +- True + + + 9 +@@ -2508,16 +2507,17 @@ + + + +- ++ + True ++ horizontal + end + + + True +- gtk-close ++ _Close ++ True + True + True +- True + True + + +@@ -2551,12 +2551,14 @@ + Confirmation + You are about to close the setup dialog, is that OK? + +- ++ + True ++ vertical + 2 + +- ++ + True ++ horizontal + end + + +@@ -2586,12 +2588,14 @@ + Notice! + You are about to close the setup dialog without saving your changes, is that OK? + +- ++ + True ++ vertical + 2 + +- ++ + True ++ horizontal + end + + +@@ -2622,12 +2626,14 @@ + + + +- ++ + True ++ vertical + 2 + +- ++ + True ++ horizontal + end + + +@@ -2657,12 +2663,14 @@ + Invalid keysym + This keysym is not valid + +- ++ + True ++ vertical + 2 + +- ++ + True ++ horizontal + end + + +@@ -2680,8 +2688,9 @@ + + + +- ++ + True ++ vertical + True + 10 + +@@ -2800,8 +2809,8 @@ + IBus-Anthy + Copyright © 2007–2008 Peng Huang + Copyright © 2009 Hideaki ABE +-Copyright © 2009–2013 Takao Fujiwara +-Copyright © 2007–2013 Red Hat, Inc. ++Copyright © 2009–2014 Takao Fujiwara ++Copyright © 2007–2014 Red Hat, Inc. + The Anthy engine for the IBus input platform + GPL + http://code.google.com/p/ibus/ +-- +1.8.0 + +From 4d605b873bf4b0af2a337cd076175c8d0a703346 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 27 Feb 2014 18:32:01 +0900 +Subject: [PATCH] Added another status icon for input mode. + +--- + engine/python2/Makefile.am | 5 +- + engine/python2/engine.py | 94 ++++++++- + engine/python2/propertyicon.py | 81 ++++++++ + engine/python3/Makefile.am | 5 +- + engine/python3/engine.py | 92 ++++++++- + engine/python3/propertyicon.py | 81 ++++++++ + po/ibus-anthy.pot | 426 +++++++++++++++++++++-------------------- + setup/python2/anthyprefs.py.in | 6 +- + setup/python2/main.py | 6 +- + setup/python2/prefs.py | 32 +++- + setup/python2/setup.ui | 19 +- + setup/python3/anthyprefs.py.in | 2 + + setup/python3/main.py | 6 +- + setup/python3/prefs.py | 28 ++- + setup/python3/setup.ui | 19 +- + 15 files changed, 658 insertions(+), 244 deletions(-) + create mode 100644 engine/python2/propertyicon.py + create mode 100644 engine/python3/propertyicon.py + +diff --git a/engine/python2/Makefile.am b/engine/python2/Makefile.am +index a96f831..965d534 100644 +--- a/engine/python2/Makefile.am ++++ b/engine/python2/Makefile.am +@@ -3,8 +3,8 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ + jastring.py \ + kana.py \ + main.py \ ++ propertyicon.py \ + romaji.py \ + segment.py \ + tables.py \ +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 90a5750..c7a6fb3 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -4,8 +4,8 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -35,6 +35,7 @@ try: + except: + pass + ++from gi.repository import Gio + from gi.repository import GLib + from gi.repository import IBus + +@@ -117,6 +118,7 @@ class Engine(IBus.EngineSimple): + __keybind = {} + __thumb = None + __latin_with_shift = True ++ __input_mode_icon = None + + def __init__(self, bus, object_path): + super(Engine, self).__init__(engine_name="anthy", +@@ -170,6 +172,8 @@ class Engine(IBus.EngineSimple): + ibus_config.connect('value-changed', + self.__config_value_changed_cb) + ++ self.__run_input_mode_icon() ++ + def __get_ibus_version(self): + if self.__ibus_version == 0.0: + self.__ibus_version = \ +@@ -258,6 +262,73 @@ class Engine(IBus.EngineSimple): + signal.signal(signum, signal.SIG_DFL) + os.kill(os.getpid(), signum) + ++ def __is_gnome_shell_running(self): ++ connection = None ++ variant = None ++ ++ try: ++ connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) ++ variant = connection.call_sync('org.gnome.Shell', ++ '/org/gnome/Shell', ++ 'org.freedesktop.DBus.Peer', ++ 'Ping', ++ None, ++ None, ++ Gio.DBusCallFlags.NONE, ++ -1, ++ None) ++ except GLib.GError as e: ++ pass ++ ++ if connection != None: ++ try: ++ connection.flush_sync(None) ++ except GLib.GError as e: ++ printerr('GDBusConnection flush failed: ' + str(e)) ++ ++ if variant == None: ++ return False ++ return True ++ ++ def __run_input_mode_icon(self): ++ self.__input_mode_icon = None ++ ++ if self.__is_gnome_shell_running(): ++ return ++ try: ++ from gi.repository import Gdk ++ if Gdk.Display.get_default() == None: ++ return ++ except Exception as e: ++ printerr('import Gdk failed: ' + str(e)) ++ return ++ ++ if not self.__prefs.get_value('common', 'show-input-mode-icon'): ++ return ++ ++ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) ++ spec = self.__prefs.get_value('common', 'icon-str-rgba') ++ if not rgba.parse(spec): ++ printerr('invalid icon-str-rgba: %s' % spec) ++ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) ++ ++ modes = { ++ INPUT_MODE_HIRAGANA : 'あ', ++ INPUT_MODE_KATAKANA : 'ア', ++ INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', ++ INPUT_MODE_LATIN : '_A', ++ INPUT_MODE_WIDE_LATIN : 'A', ++ } ++ ++ try: ++ import propertyicon ++ self.__input_mode_icon = propertyicon.PropertyIcon(rgba) ++ self.__input_mode_icon.set_visible(True) ++ self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) ++ except Exception as e: ++ printerr('import PropertyIcon failed: ' + str(e)) ++ return ++ + def __set_input_mode_props(self, anthy_props): + # The class method is kept even if the engine is switched. + if Engine.__input_mode == None: +@@ -847,6 +918,9 @@ class Engine(IBus.EngineSimple): + prop.set_label(IBus.Text.new_from_string(label)) + self.update_property(prop) + ++ if self.__input_mode_icon != None: ++ self.__input_mode_icon.set_from_symbol(symbol) ++ + self.__reset() + self.__invalidate() + +@@ -1030,6 +1104,7 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. ++ self.__input_mode_icon = None + + def __join_all_segments(self): + while True: +@@ -1109,7 +1184,7 @@ class Engine(IBus.EngineSimple): + + # fill lookup_table + self.__lookup_table.clear() +- for i in xrange(0, seg_stat.nr_predictions): ++ for i in xrange(0, nr_predictions): + buf = self.__context.get_prediction(i) + candidate = UN(buf) + self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) +@@ -1220,6 +1295,12 @@ class Engine(IBus.EngineSimple): + def __update_anthy_convert_chars(self): + self.__convert_chars = u'' + pos = 0 ++ ++ (seg_index, text) = self.__segments[self.__cursor_pos] ++ # prediction lookup window + BackSpace will return None ++ if text == None: ++ return ++ + for i, (seg_index, text) in enumerate(self.__segments): + self.__convert_chars += text + if i < self.__cursor_pos: +@@ -2110,6 +2191,13 @@ class Engine(IBus.EngineSimple): + self.__fetch_dict_values(base_sec) + self.__prefs.set_value(base_sec, name, value) + self.__set_dict_mode_props(self.__prop_list, True) ++ elif base_sec == 'common': ++ if name == 'show_input_mode_icon': ++ name = 'show-input-mode-icon' ++ self.__prefs.set_value(base_sec, name, value) ++ self.__run_input_mode_icon() ++ else: ++ self.__prefs.set_value(base_sec, name, value) + elif base_sec: + self.__prefs.set_value(base_sec, name, value) + else: +diff --git a/engine/python2/propertyicon.py b/engine/python2/propertyicon.py +new file mode 100644 +index 0000000..fa5f34f +--- /dev/null ++++ b/engine/python2/propertyicon.py +@@ -0,0 +1,81 @@ ++# vim:set et sts=4 sw=4: ++# -*- coding: utf-8 -*- ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2014 Takao Fujiwara ++# Copyright (c) 2014 Red Hat, Inc. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++# for python2 ++from __future__ import print_function ++ ++import cairo ++import sys ++ ++from gi.repository import Gdk ++from gi.repository import Gio ++from gi.repository import GLib ++from gi.repository import Gtk ++from gi.repository import Pango ++from gi.repository import PangoCairo ++ ++class PropertyIcon(Gtk.StatusIcon): ++ __xkb_icon_pixbufs = {} ++ __xkb_icon_rgba = None ++ ++ def __init__(self, rgba): ++ super(Gtk.StatusIcon, self).__init__() ++ self.__xkb_icon_rgba = rgba ++ ++ def __context_render_string(self, cr, symbol, image_width, image_height): ++ lwidth = 0 ++ lheight = 0 ++ desc = Pango.FontDescription.from_string('Monospace Bold 22') ++ layout = PangoCairo.create_layout(cr) ++ ++ layout.set_font_description(desc) ++ layout.set_text(symbol, -1) ++ (lwidth, lheight) = layout.get_size() ++ cr.move_to((image_width - lwidth / Pango.SCALE) / 2, ++ (image_height - lheight / Pango.SCALE) / 2) ++ cr.set_source_rgba(self.__xkb_icon_rgba.red, ++ self.__xkb_icon_rgba.green, ++ self.__xkb_icon_rgba.blue, ++ self.__xkb_icon_rgba.alpha) ++ PangoCairo.show_layout(cr, layout) ++ ++ def __create_icon_pixbuf_with_string(self, symbol): ++ if symbol in self.__xkb_icon_pixbufs: ++ return self.__xkb_icon_pixbufs[symbol] ++ ++ image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) ++ cr = cairo.Context(image) ++ width = image.get_width() ++ height = image.get_height() ++ ++ cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) ++ cr.set_operator(cairo.OPERATOR_SOURCE) ++ cr.paint() ++ cr.set_operator(cairo.OPERATOR_OVER) ++ self.__context_render_string(cr, symbol, width, height) ++ pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) ++ self.__xkb_icon_pixbufs[symbol] = pixbuf ++ return pixbuf ++ ++ def set_from_symbol(self, symbol): ++ pixbuf = self.__create_icon_pixbuf_with_string(symbol) ++ self.set_from_pixbuf(pixbuf) +diff --git a/engine/python3/Makefile.am b/engine/python3/Makefile.am +index a96f831..965d534 100644 +--- a/engine/python3/Makefile.am ++++ b/engine/python3/Makefile.am +@@ -3,8 +3,8 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ + jastring.py \ + kana.py \ + main.py \ ++ propertyicon.py \ + romaji.py \ + segment.py \ + tables.py \ +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 7eadf23..6563087 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -36,6 +36,7 @@ try: + except: + pass + ++from gi.repository import Gio + from gi.repository import GLib + from gi.repository import IBus + +@@ -118,6 +119,7 @@ class Engine(IBus.EngineSimple): + __keybind = {} + __thumb = None + __latin_with_shift = True ++ __input_mode_icon = None + + def __init__(self, bus, object_path): + super(Engine, self).__init__(engine_name="anthy", +@@ -171,6 +173,8 @@ class Engine(IBus.EngineSimple): + ibus_config.connect('value-changed', + self.__config_value_changed_cb) + ++ self.__run_input_mode_icon() ++ + def __get_ibus_version(self): + if self.__ibus_version == 0.0: + self.__ibus_version = \ +@@ -259,6 +263,73 @@ class Engine(IBus.EngineSimple): + signal.signal(signum, signal.SIG_DFL) + os.kill(os.getpid(), signum) + ++ def __is_gnome_shell_running(self): ++ connection = None ++ variant = None ++ ++ try: ++ connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) ++ variant = connection.call_sync('org.gnome.Shell', ++ '/org/gnome/Shell', ++ 'org.freedesktop.DBus.Peer', ++ 'Ping', ++ None, ++ None, ++ Gio.DBusCallFlags.NONE, ++ -1, ++ None) ++ except GLib.GError as e: ++ pass ++ ++ if connection != None: ++ try: ++ connection.flush_sync(None) ++ except GLib.GError as e: ++ printerr('GDBusConnection flush failed: ' + str(e)) ++ ++ if variant == None: ++ return False ++ return True ++ ++ def __run_input_mode_icon(self): ++ self.__input_mode_icon = None ++ ++ if self.__is_gnome_shell_running(): ++ return ++ try: ++ from gi.repository import Gdk ++ if Gdk.Display.get_default() == None: ++ return ++ except Exception as e: ++ printerr('import Gdk failed: ' + str(e)) ++ return ++ ++ if not self.__prefs.get_value('common', 'show-input-mode-icon'): ++ return ++ ++ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) ++ spec = self.__prefs.get_value('common', 'icon-str-rgba') ++ if not rgba.parse(spec): ++ printerr('invalid icon-str-rgba: %s' % spec) ++ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) ++ ++ modes = { ++ INPUT_MODE_HIRAGANA : 'あ', ++ INPUT_MODE_KATAKANA : 'ア', ++ INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', ++ INPUT_MODE_LATIN : '_A', ++ INPUT_MODE_WIDE_LATIN : 'A', ++ } ++ ++ try: ++ import propertyicon ++ self.__input_mode_icon = propertyicon.PropertyIcon(rgba) ++ self.__input_mode_icon.set_visible(True) ++ self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) ++ except Exception as e: ++ printerr('import PropertyIcon failed: ' + str(e)) ++ return ++ + def __set_input_mode_props(self, anthy_props): + # The class method is kept even if the engine is switched. + if Engine.__input_mode == None: +@@ -842,6 +913,9 @@ class Engine(IBus.EngineSimple): + prop.set_label(IBus.Text.new_from_string(label)) + self.update_property(prop) + ++ if self.__input_mode_icon != None: ++ self.__input_mode_icon.set_from_symbol(symbol) ++ + self.__reset() + self.__invalidate() + +@@ -1025,6 +1099,7 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. ++ self.__input_mode_icon = None + + def __join_all_segments(self): + while True: +@@ -1104,7 +1179,7 @@ class Engine(IBus.EngineSimple): + + # fill lookup_table + self.__lookup_table.clear() +- for i in range(0, seg_stat.nr_predictions): ++ for i in range(0, nr_predictions): + buf = self.__context.get_prediction(i) + candidate = buf + self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) +@@ -1215,6 +1290,12 @@ class Engine(IBus.EngineSimple): + def __update_anthy_convert_chars(self): + self.__convert_chars = '' + pos = 0 ++ ++ (seg_index, text) = self.__segments[self.__cursor_pos] ++ # prediction lookup window + BackSpace will return None ++ if text == None: ++ return ++ + for i, (seg_index, text) in enumerate(self.__segments): + self.__convert_chars += text + if i < self.__cursor_pos: +@@ -2104,6 +2185,13 @@ class Engine(IBus.EngineSimple): + self.__fetch_dict_values(base_sec) + self.__prefs.set_value(base_sec, name, value) + self.__set_dict_mode_props(self.__prop_list, True) ++ elif base_sec == 'common': ++ if name == 'show_input_mode_icon': ++ name = 'show-input-mode-icon' ++ self.__prefs.set_value(base_sec, name, value) ++ self.__run_input_mode_icon() ++ else: ++ self.__prefs.set_value(base_sec, name, value) + elif base_sec: + self.__prefs.set_value(base_sec, name, value) + else: +@@ -2312,7 +2400,7 @@ class Engine(IBus.EngineSimple): + nr_predictions = self.__context.get_nr_predictions() + + # for i in range(nr_predictions): +-# print self.__context.get_prediction(i) ++# print(self.__context.get_prediction(i)) + + buf = self.__context.get_prediction(0) + if not buf: +diff --git a/engine/python3/propertyicon.py b/engine/python3/propertyicon.py +new file mode 100644 +index 0000000..fa5f34f +--- /dev/null ++++ b/engine/python3/propertyicon.py +@@ -0,0 +1,81 @@ ++# vim:set et sts=4 sw=4: ++# -*- coding: utf-8 -*- ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2014 Takao Fujiwara ++# Copyright (c) 2014 Red Hat, Inc. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++# for python2 ++from __future__ import print_function ++ ++import cairo ++import sys ++ ++from gi.repository import Gdk ++from gi.repository import Gio ++from gi.repository import GLib ++from gi.repository import Gtk ++from gi.repository import Pango ++from gi.repository import PangoCairo ++ ++class PropertyIcon(Gtk.StatusIcon): ++ __xkb_icon_pixbufs = {} ++ __xkb_icon_rgba = None ++ ++ def __init__(self, rgba): ++ super(Gtk.StatusIcon, self).__init__() ++ self.__xkb_icon_rgba = rgba ++ ++ def __context_render_string(self, cr, symbol, image_width, image_height): ++ lwidth = 0 ++ lheight = 0 ++ desc = Pango.FontDescription.from_string('Monospace Bold 22') ++ layout = PangoCairo.create_layout(cr) ++ ++ layout.set_font_description(desc) ++ layout.set_text(symbol, -1) ++ (lwidth, lheight) = layout.get_size() ++ cr.move_to((image_width - lwidth / Pango.SCALE) / 2, ++ (image_height - lheight / Pango.SCALE) / 2) ++ cr.set_source_rgba(self.__xkb_icon_rgba.red, ++ self.__xkb_icon_rgba.green, ++ self.__xkb_icon_rgba.blue, ++ self.__xkb_icon_rgba.alpha) ++ PangoCairo.show_layout(cr, layout) ++ ++ def __create_icon_pixbuf_with_string(self, symbol): ++ if symbol in self.__xkb_icon_pixbufs: ++ return self.__xkb_icon_pixbufs[symbol] ++ ++ image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) ++ cr = cairo.Context(image) ++ width = image.get_width() ++ height = image.get_height() ++ ++ cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) ++ cr.set_operator(cairo.OPERATOR_SOURCE) ++ cr.paint() ++ cr.set_operator(cairo.OPERATOR_OVER) ++ self.__context_render_string(cr, symbol, width, height) ++ pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) ++ self.__xkb_icon_pixbufs[symbol] = pixbuf ++ return pixbuf ++ ++ def set_from_symbol(self, symbol): ++ pixbuf = self.__create_icon_pixbuf_with_string(symbol) ++ self.set_from_pixbuf(pixbuf) +diff --git a/setup/python2/anthyprefs.py.in b/setup/python2/anthyprefs.py.in +index a685da1..883fb23 100644 +--- a/setup/python2/anthyprefs.py.in ++++ b/setup/python2/anthyprefs.py.in +@@ -5,8 +5,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -362,6 +362,8 @@ _config = { + 'show-dict-mode': True, + 'show-dict-config': False, + 'show-preferences': True, ++ 'show-input-mode-icon': True, ++ 'icon-str-rgba': '#41507a', + + 'period_style': 0, + 'symbol_style': 1, +diff --git a/setup/python2/main.py b/setup/python2/main.py +index 7c403b8..0e7c62e 100644 +--- a/setup/python2/main.py ++++ b/setup/python2/main.py +@@ -144,7 +144,8 @@ class AnthySetup(object): + 'half_width_symbol', 'half_width_number', 'half_width_space', + 'latin_with_shift', + 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', +- 'thumb:fmv_extension', 'thumb:handakuten']: ++ 'thumb:fmv_extension', 'thumb:handakuten', ++ 'show_input_mode_icon']: + section, key = self.__get_section_key(name) + builder.get_object(name).set_active(prefs.get_value(section, key)) + +@@ -322,6 +323,9 @@ class AnthySetup(object): + else: + section = 'common' + key = name ++ if section == 'common': ++ if name == 'show_input_mode_icon': ++ key = 'show-input-mode-icon' + return (section, key) + + def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): +diff --git a/setup/python2/prefs.py b/setup/python2/prefs.py +index 1b88908..9a147ee 100644 +--- a/setup/python2/prefs.py ++++ b/setup/python2/prefs.py +@@ -4,8 +4,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -145,15 +145,27 @@ class Prefs(object): + variant = self._config.get_values(s) + for key in variant.keys(): + v = variant[key] ++ # FIXME: ibus-dconf converts the keys. ++ #if key.find('_') >= 0: ++ # key = key.replace('_', '-') ++ if section == 'common': ++ if key == 'show_input_mode': ++ key = 'show-input-mode' ++ elif key == 'show_typing_method': ++ key = 'show-typing-method' ++ elif key == 'show_segment_mode': ++ key = 'show-segment-mode' ++ elif key == 'show_dict_mode': ++ key = 'show-dict-mode' ++ elif key == 'show_dict_config': ++ key = 'show-dict-config' ++ elif key == 'show_preferences': ++ key = 'show-preferences' ++ elif key == 'show_input_mode_icon': ++ key = 'show-input-mode-icon' ++ elif key == 'icon_str_rgba': ++ key = 'icon-str-rgba' + self.modified.setdefault(section, {})[key] = v if v != [''] else [] +- # FIXME: ibus-dconf converts the keys. +- if section == 'common': +- self.fetch_item(section, 'show-input-mode') +- self.fetch_item(section, 'show-typing-method') +- self.fetch_item(section, 'show-segment-mode') +- self.fetch_item(section, 'show-dict-mode') +- self.fetch_item(section, 'show-dict-config') +- self.fetch_item(section, 'show-preferences') + + def fetch_item(self, section, key, readonly=False): + if self._config == None: +diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui +index dc5e7e1..edd6cfa 100644 +--- a/setup/python2/setup.ui ++++ b/setup/python2/setup.ui +@@ -346,6 +346,23 @@ + + + ++ ++ _Show input mode icon ++ True ++ True ++ False ++ True ++ True ++ ++ ++ ++ ++ False ++ False ++ 1 ++ ++ ++ + + True + 0 +@@ -396,7 +413,7 @@ + + False + False +- 1 ++ 2 + + + +diff --git a/setup/python3/anthyprefs.py.in b/setup/python3/anthyprefs.py.in +index 53c9d1d..b9032f2 100644 +--- a/setup/python3/anthyprefs.py.in ++++ b/setup/python3/anthyprefs.py.in +@@ -355,6 +355,8 @@ _config = { + 'show-dict-mode': True, + 'show-dict-config': False, + 'show-preferences': True, ++ 'show-input-mode-icon': True, ++ 'icon-str-rgba': '#41507a', + + 'period_style': 0, + 'symbol_style': 1, +diff --git a/setup/python3/main.py b/setup/python3/main.py +index 2073f59..f70bc1f 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -147,7 +147,8 @@ class AnthySetup(object): + 'half_width_symbol', 'half_width_number', 'half_width_space', + 'latin_with_shift', + 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', +- 'thumb:fmv_extension', 'thumb:handakuten']: ++ 'thumb:fmv_extension', 'thumb:handakuten', ++ 'show_input_mode_icon']: + section, key = self.__get_section_key(name) + builder.get_object(name).set_active(prefs.get_value(section, key)) + +@@ -325,6 +326,9 @@ class AnthySetup(object): + else: + section = 'common' + key = name ++ if section == 'common': ++ if name == 'show_input_mode_icon': ++ key = 'show-input-mode-icon' + return (section, key) + + def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): +diff --git a/setup/python3/prefs.py b/setup/python3/prefs.py +index a4af88d..2b3f4ea 100644 +--- a/setup/python3/prefs.py ++++ b/setup/python3/prefs.py +@@ -145,15 +145,27 @@ class Prefs(object): + variant = self._config.get_values(s) + for key in list(variant.keys()): + v = variant[key] ++ # FIXME: ibus-dconf converts the keys. ++ #if key.find('_') >= 0: ++ # key = key.replace('_', '-') ++ if section == 'common': ++ if key == 'show_input_mode': ++ key = 'show-input-mode' ++ elif key == 'show_typing_method': ++ key = 'show-typing-method' ++ elif key == 'show_segment_mode': ++ key = 'show-segment-mode' ++ elif key == 'show_dict_mode': ++ key = 'show-dict-mode' ++ elif key == 'show_dict_config': ++ key = 'show-dict-config' ++ elif key == 'show_preferences': ++ key = 'show-preferences' ++ elif key == 'show_input_mode_icon': ++ key = 'show-input-mode-icon' ++ elif key == 'icon_str_rgba': ++ key = 'icon-str-rgba' + self.modified.setdefault(section, {})[key] = v if v != [''] else [] +- # FIXME: ibus-dconf converts the keys. +- if section == 'common': +- self.fetch_item(section, 'show-input-mode') +- self.fetch_item(section, 'show-typing-method') +- self.fetch_item(section, 'show-segment-mode') +- self.fetch_item(section, 'show-dict-mode') +- self.fetch_item(section, 'show-dict-config') +- self.fetch_item(section, 'show-preferences') + + def fetch_item(self, section, key, readonly=False): + if self._config == None: +diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui +index dc5e7e1..edd6cfa 100644 +--- a/setup/python3/setup.ui ++++ b/setup/python3/setup.ui +@@ -346,6 +346,23 @@ + + + ++ ++ _Show input mode icon ++ True ++ True ++ False ++ True ++ True ++ ++ ++ ++ ++ False ++ False ++ 1 ++ ++ ++ + + True + 0 +@@ -396,7 +413,7 @@ + + False + False +- 1 ++ 2 + + + +-- +1.8.0 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 48acd6d..2ad29d4 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,7 +14,7 @@ Name: ibus-anthy Version: 1.5.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -24,6 +24,7 @@ Source0: %{name}-%{version}.tar.gz # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch BuildRequires: anthy-devel BuildRequires: desktop-file-utils @@ -40,9 +41,12 @@ BuildRequires: python3-gobject Requires: ibus >= %{require_ibus_version} Requires: kasumi Requires: anthy -Requires: python3-gobject %if %with_python_pkg Requires: %{name}-python = %{version}-%{release} +%else +Requires: gtk3 +Requires: python3-cairo +Requires: python3-gobject %endif %description @@ -55,6 +59,9 @@ Summary: Anthy Python files for IBus Group: System Environment/Libraries BuildArch: noarch Requires: %{name} = %{version}-%{release} +Requires: gtk3 +Requires: python3-cairo +Requires: python3-gobject %description python This package contains the Anthy Python files for IBus @@ -74,8 +81,10 @@ for developers. %prep %setup -q # %%patch0 -p1 +%patch0 -p1 %build +autoreconf %configure \ %if %have_default_layout --with-layout='default' \ @@ -148,6 +157,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Thu Feb 27 2014 Takao Fujiwara - 1.5.5-2 +- Updated ibus-anthy-HEAD.patch to enable property icon. + * Wed Feb 05 2014 Takao Fujiwara - 1.5.5-1 - Bumped to 1.5.5 - Enabled python3. From 51673816f263aa641d8621779d03799709c4df89 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 21 Apr 2014 17:23:28 +0900 Subject: [PATCH 077/202] Updated ibus-anthy-HEAD.patch to unref pixbuf on destroy. --- ibus-anthy-HEAD.patch | 73 +++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 ++- 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index c12862d..9f66c40 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -2408,3 +2408,76 @@ index dc5e7e1..edd6cfa 100644 -- 1.8.0 +From c13d52a823ee2b084e57bde3859ead64f94bd437 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Mon, 21 Apr 2014 17:05:19 +0900 +Subject: [PATCH] Fix to unref pixbuf when propery icon is unrefed. + +--- + engine/python2/engine.py | 1 + + engine/python2/propertyicon.py | 6 ++++++ + engine/python3/engine.py | 1 + + engine/python3/propertyicon.py | 6 ++++++ + 4 files changed, 14 insertions(+) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index c7a6fb3..68a4b48 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -1104,6 +1104,7 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. ++ self.__input_mode_icon.clear() + self.__input_mode_icon = None + + def __join_all_segments(self): +diff --git a/engine/python2/propertyicon.py b/engine/python2/propertyicon.py +index fa5f34f..437e94c 100644 +--- a/engine/python2/propertyicon.py ++++ b/engine/python2/propertyicon.py +@@ -76,6 +76,12 @@ class PropertyIcon(Gtk.StatusIcon): + self.__xkb_icon_pixbufs[symbol] = pixbuf + return pixbuf + ++ def clear(self): ++ self.set_from_icon_name('') ++ self.set_visible(False) ++ self.__xkb_icon_pixbufs = {} ++ self.__xkb_icon_rgba = None ++ + def set_from_symbol(self, symbol): + pixbuf = self.__create_icon_pixbuf_with_string(symbol) + self.set_from_pixbuf(pixbuf) +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 6563087..67370d8 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -1099,6 +1099,7 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. ++ self.__input_mode_icon.clear() + self.__input_mode_icon = None + + def __join_all_segments(self): +diff --git a/engine/python3/propertyicon.py b/engine/python3/propertyicon.py +index fa5f34f..437e94c 100644 +--- a/engine/python3/propertyicon.py ++++ b/engine/python3/propertyicon.py +@@ -76,6 +76,12 @@ class PropertyIcon(Gtk.StatusIcon): + self.__xkb_icon_pixbufs[symbol] = pixbuf + return pixbuf + ++ def clear(self): ++ self.set_from_icon_name('') ++ self.set_visible(False) ++ self.__xkb_icon_pixbufs = {} ++ self.__xkb_icon_rgba = None ++ + def set_from_symbol(self, symbol): + pixbuf = self.__create_icon_pixbuf_with_string(symbol) + self.set_from_pixbuf(pixbuf) +-- +1.8.5.3 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 2ad29d4..e398500 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,7 +14,7 @@ Name: ibus-anthy Version: 1.5.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -157,6 +157,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon Apr 21 2014 Takao Fujiwara - 1.5.5-3 +- Updated ibus-anthy-HEAD.patch to unref pixbuf on destroy. + * Thu Feb 27 2014 Takao Fujiwara - 1.5.5-2 - Updated ibus-anthy-HEAD.patch to enable property icon. From 5d417498fa893bf6d4809da9302f63aa93ad7cb4 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 19 May 2014 12:20:08 +0900 Subject: [PATCH 078/202] Updated ibus-anthy-HEAD.patch to fix clear() in input mode. --- ibus-anthy-HEAD.patch | 41 +++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 ++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 9f66c40..4c6f72b 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -2481,3 +2481,44 @@ index fa5f34f..437e94c 100644 -- 1.8.5.3 +From b852cfb6061259e4fd7198e3a2579b4495e15ecd Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Mon, 19 May 2014 12:01:22 +0900 +Subject: [PATCH] Fix None object has clear() in input mode icon. (#1097364) + +--- + engine/python2/engine.py | 3 ++- + engine/python3/engine.py | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 68a4b48..68e898b 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -1104,7 +1104,8 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. +- self.__input_mode_icon.clear() ++ if self.__input_mode_icon != None: ++ self.__input_mode_icon.clear() + self.__input_mode_icon = None + + def __join_all_segments(self): +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 67370d8..517a64a 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -1099,7 +1099,8 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. +- self.__input_mode_icon.clear() ++ if self.__input_mode_icon != None: ++ self.__input_mode_icon.clear() + self.__input_mode_icon = None + + def __join_all_segments(self): +-- +1.8.5.3 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e398500..7c62a5f 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,7 +14,7 @@ Name: ibus-anthy Version: 1.5.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -157,6 +157,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon May 19 2014 Takao Fujiwara - 1.5.5-4 +- Updated ibus-anthy-HEAD.patch to fix clear() in input mode. + * Mon Apr 21 2014 Takao Fujiwara - 1.5.5-3 - Updated ibus-anthy-HEAD.patch to unref pixbuf on destroy. From 0bb170fdc99c2146f4f31ac557f7a22d7761734a Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 16:44:30 -0500 Subject: [PATCH 079/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 7c62a5f..6a78fe2 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,7 +14,7 @@ Name: ibus-anthy Version: 1.5.5 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -157,6 +157,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 1.5.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Mon May 19 2014 Takao Fujiwara - 1.5.5-4 - Updated ibus-anthy-HEAD.patch to fix clear() in input mode. From bf7fb8f542ff24e8c6f4cd20d77584979e1d1516 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 14 Jul 2014 17:35:32 +0900 Subject: [PATCH 080/202] Updated ibus-anthy-HEAD.patch Fixed deprecated warnings with python3-gobject 3.13.3. Set max-width-chars in ibus-anthy-setup wrapped GtkLabel. Set 'IBUS_SETUP_XID' environment variable in setup. --- ibus-anthy-HEAD.patch | 368 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 8 +- 2 files changed, 375 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 4c6f72b..efd1d11 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1576,6 +1576,374 @@ index d9ec626..dc5e7e1 100644 -- 1.8.0 +From 8a79278d6fadecd4bdcebb32f33d19ee72e1e933 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 10 Jul 2014 13:50:54 +0900 +Subject: [PATCH] Fixed deprecated warnings with python3-gobject 3.13.3. + +python3-gobject adds several warnings in gi/overrides/Gtk.py + +/usr/share/ibus-anthy/setup/main.py:1519: PyGTKDeprecationWarning: +The "buttons" argument must be a Gtk.ButtonsType enum value. Please +use the "add_buttons" method for adding buttons. +See: https://wiki.gnome.org/PyGObject/InitializerDeprecations + +/usr/lib64/python3.4/site-packages/gi/overrides/Gtk.py:537: +PyGTKDeprecationWarning: The keyword(s) "parent" have been deprecated +in favor of "transient_for" respectively. +See: https://wiki.gnome.org/PyGObject/InitializerDeprecations +--- + setup/python2/main.py | 30 +++++++++++++++++++----------- + setup/python3/main.py | 30 +++++++++++++++++++----------- + 2 files changed, 38 insertions(+), 22 deletions(-) + +diff --git a/setup/python2/main.py b/setup/python2/main.py +index 7c403b8..5df1cdd 100644 +--- a/setup/python2/main.py ++++ b/setup/python2/main.py +@@ -420,6 +420,7 @@ class AnthySetup(object): + for key, value in sorted(rule.items(), \ + cmp = self.__japanese_tuple_sort): + ls.append(['romaji', key, value]) ++ tv.set_model(None) + tv.append_column(Gtk.TreeViewColumn(_(_("Input Chars")), + Gtk.CellRendererText(), text=1)) + tv.append_column(Gtk.TreeViewColumn(_(_("Output Chars")), +@@ -455,6 +456,7 @@ class AnthySetup(object): + for key, value in sorted(rule.items(), \ + cmp = self.__japanese_tuple_sort): + ls.append(['kana', key, value]) ++ tv.set_model(None) + tv.append_column(Gtk.TreeViewColumn(_(_("Input Chars")), + Gtk.CellRendererText(), text=1)) + tv.append_column(Gtk.TreeViewColumn(_(_("Output Chars")), +@@ -502,6 +504,7 @@ class AnthySetup(object): + for key, value in sorted(rule.items(), \ + cmp = self.__japanese_thumb_sort): + ls.append(['thumb', key, value[0], value[2], value[1]]) ++ tv.set_model(None) + tv.append_column(Gtk.TreeViewColumn(_(_("Input")), + Gtk.CellRendererText(), text=1)) + tv.append_column(Gtk.TreeViewColumn(_(_("Single")), +@@ -585,6 +588,7 @@ class AnthySetup(object): + def __run_dialog_custom_key_table(self, mode): + prefs = self.prefs + dlg = self.__builder.get_object('dialog_custom_key_table') ++ dlg.set_transient_for(self.__builder.get_object('main')) + label = self.__builder.get_object('label_custom_key_table') + label_output = self.__builder.get_object('label_output_custom_key') + list_labels = [] +@@ -1225,6 +1229,7 @@ class AnthySetup(object): + for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: + self.__builder.get_object(w).set_active(False) + dlg = self.__builder.get_object('edit_shortcut') ++ dlg.set_transient_for(self.__builder.get_object('main')) + id = dlg.run() + dlg.hide() + if id == Gtk.ResponseType.OK: +@@ -1380,6 +1385,7 @@ class AnthySetup(object): + for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: + self.__builder.get_object(w).set_active(False) + dlg = self.__builder.get_object('edit_shortcut') ++ dlg.set_transient_for(self.__builder.get_object('main')) + id = dlg.run() + dlg.hide() + self.__builder.get_object('es:button_add').show() +@@ -1414,16 +1420,17 @@ class AnthySetup(object): + + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': + dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), +- parent=self.__builder.get_object('main'), +- action=Gtk.FileChooserAction.OPEN, +- buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, +- _("_Open"), Gtk.ResponseType.OK)) ++ transient_for=self.__builder.get_object('main'), ++ action=Gtk.FileChooserAction.OPEN) ++ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, ++ _("_Open"), Gtk.ResponseType.OK) ++ dlg.add_buttons(*buttons) + if Gtk.Buildable.get_name(widget) == 'dict:btn_edit': + dlg = Gtk.Dialog(title=_("Edit Dictionary File"), +- parent=self.__builder.get_object('main'), +- flags=Gtk.DialogFlags.MODAL, +- buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, +- _("_OK"), Gtk.ResponseType.OK)) ++ transient_for=self.__builder.get_object('main')) ++ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, ++ _("_OK"), Gtk.ResponseType.OK) ++ dlg.add_buttons(*buttons) + + vbox = self.__builder.get_object('dict:add_extra_vbox') + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': +@@ -1516,9 +1523,9 @@ class AnthySetup(object): + lines = unicode(lines, encoding).encode('utf-8') + + dlg = Gtk.Dialog(title=_("View Dictionary File"), +- parent=self.__builder.get_object('main'), +- flags=Gtk.DialogFlags.MODAL, +- buttons=(_("_OK"), Gtk.ResponseType.OK)) ++ transient_for=self.__builder.get_object('main')) ++ buttons=(_("_OK"), Gtk.ResponseType.OK) ++ dlg.add_buttons(*buttons) + buffer = Gtk.TextBuffer() + buffer.set_text (lines) + text_view = Gtk.TextView.new_with_buffer(buffer) +@@ -1666,6 +1673,7 @@ class AnthySetup(object): + + def on_es_button_run_input_clicked(self, widget): + dlg = self.__builder.get_object('key_input_dialog') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Please press a key (or a key combination)")) + dlg.format_secondary_text(_("The dialog will be closed when the key is released")) + id = dlg.run() +diff --git a/setup/python3/main.py b/setup/python3/main.py +index 2073f59..8921402 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -425,6 +425,7 @@ class AnthySetup(object): + for key, value in sorted(list(rule.items()), \ + key = functools.cmp_to_key(self.__japanese_tuple_sort)): + ls.append(['romaji', key, value]) ++ tv.set_model(None) + tv.append_column(Gtk.TreeViewColumn(_(_("Input Chars")), + Gtk.CellRendererText(), text=1)) + tv.append_column(Gtk.TreeViewColumn(_(_("Output Chars")), +@@ -460,6 +461,7 @@ class AnthySetup(object): + for key, value in sorted(list(rule.items()), \ + key = functools.cmp_to_key(self.__japanese_tuple_sort)): + ls.append(['kana', key, value]) ++ tv.set_model(None) + tv.append_column(Gtk.TreeViewColumn(_(_("Input Chars")), + Gtk.CellRendererText(), text=1)) + tv.append_column(Gtk.TreeViewColumn(_(_("Output Chars")), +@@ -507,6 +509,7 @@ class AnthySetup(object): + for key, value in sorted(list(rule.items()), \ + key = functools.cmp_to_key(self.__japanese_thumb_sort)): + ls.append(['thumb', key, value[0], value[2], value[1]]) ++ tv.set_model(None) + tv.append_column(Gtk.TreeViewColumn(_(_("Input")), + Gtk.CellRendererText(), text=1)) + tv.append_column(Gtk.TreeViewColumn(_(_("Single")), +@@ -590,6 +593,7 @@ class AnthySetup(object): + def __run_dialog_custom_key_table(self, mode): + prefs = self.prefs + dlg = self.__builder.get_object('dialog_custom_key_table') ++ dlg.set_transient_for(self.__builder.get_object('main')) + label = self.__builder.get_object('label_custom_key_table') + label_output = self.__builder.get_object('label_output_custom_key') + list_labels = [] +@@ -1219,6 +1223,7 @@ class AnthySetup(object): + for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: + self.__builder.get_object(w).set_active(False) + dlg = self.__builder.get_object('edit_shortcut') ++ dlg.set_transient_for(self.__builder.get_object('main')) + id = dlg.run() + dlg.hide() + if id == Gtk.ResponseType.OK: +@@ -1374,6 +1379,7 @@ class AnthySetup(object): + for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: + self.__builder.get_object(w).set_active(False) + dlg = self.__builder.get_object('edit_shortcut') ++ dlg.set_transient_for(self.__builder.get_object('main')) + id = dlg.run() + dlg.hide() + self.__builder.get_object('es:button_add').show() +@@ -1408,16 +1414,17 @@ class AnthySetup(object): + + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': + dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), +- parent=self.__builder.get_object('main'), +- action=Gtk.FileChooserAction.OPEN, +- buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, +- _("_Open"), Gtk.ResponseType.OK)) ++ transient_for=self.__builder.get_object('main'), ++ action=Gtk.FileChooserAction.OPEN) ++ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, ++ _("_Open"), Gtk.ResponseType.OK) ++ dlg.add_buttons(*buttons) + if Gtk.Buildable.get_name(widget) == 'dict:btn_edit': + dlg = Gtk.Dialog(title=_("Edit Dictionary File"), +- parent=self.__builder.get_object('main'), +- flags=Gtk.DialogFlags.MODAL, +- buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, +- _("_OK"), Gtk.ResponseType.OK)) ++ transient_for=self.__builder.get_object('main')) ++ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, ++ _("_OK"), Gtk.ResponseType.OK) ++ dlg.add_buttons(*buttons) + + vbox = self.__builder.get_object('dict:add_extra_vbox') + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': +@@ -1510,9 +1517,9 @@ class AnthySetup(object): + lines = str(lines, encoding) + + dlg = Gtk.Dialog(title=_("View Dictionary File"), +- parent=self.__builder.get_object('main'), +- flags=Gtk.DialogFlags.MODAL, +- buttons=(_("_OK"), Gtk.ResponseType.OK)) ++ transient_for=self.__builder.get_object('main')) ++ buttons=(_("_OK"), Gtk.ResponseType.OK) ++ dlg.add_buttons(*buttons) + buffer = Gtk.TextBuffer() + buffer.set_text (lines) + text_view = Gtk.TextView.new_with_buffer(buffer) +@@ -1660,6 +1667,7 @@ class AnthySetup(object): + + def on_es_button_run_input_clicked(self, widget): + dlg = self.__builder.get_object('key_input_dialog') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Please press a key (or a key combination)")) + dlg.format_secondary_text(_("The dialog will be closed when the key is released")) + id = dlg.run() +-- +1.8.5.3 + +From 981c40b4a8cf42ffde07dcf5925539f337461f61 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 10 Jul 2014 17:13:49 +0900 +Subject: [PATCH] Set max-width-chars property in ibus-anthy-setup wrapped + GtkLabel. + +--- + setup/python2/setup.ui | 1 + + setup/python3/setup.ui | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui +index dc5e7e1..b6d8ef2 100644 +--- a/setup/python2/setup.ui ++++ b/setup/python2/setup.ui +@@ -1469,6 +1469,7 @@ + True + 0 + True ++ 74 + You do not have to reconfigure the system keyboard layout for "Additional Key Arrangement" since this option changes input method layout only in case input method is turned on. + You do not have to reconfigure XKB since this option changes IM layout only with IM on. + +diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui +index dc5e7e1..b6d8ef2 100644 +--- a/setup/python3/setup.ui ++++ b/setup/python3/setup.ui +@@ -1469,6 +1469,7 @@ + True + 0 + True ++ 74 + You do not have to reconfigure the system keyboard layout for "Additional Key Arrangement" since this option changes input method layout only in case input method is turned on. + You do not have to reconfigure XKB since this option changes IM layout only with IM on. + +-- +1.8.5.3 + +From a1e5f1ce7b87a37cab7ba458ad2343fc20056f47 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 11 Jul 2014 12:11:53 +0900 +Subject: [PATCH] Set a parent window from 'IBUS_SETUP_XID' environment + variable in setup. + +--- + setup/python2/main.py | 25 ++++++++++++++++++++----- + setup/python3/main.py | 25 ++++++++++++++++++++----- + 2 files changed, 40 insertions(+), 10 deletions(-) + +diff --git a/setup/python2/main.py b/setup/python2/main.py +index 5df1cdd..cdfdc4d 100644 +--- a/setup/python2/main.py ++++ b/setup/python2/main.py +@@ -82,22 +82,37 @@ class AnthySetup(object): + builder.add_from_file(builder_file) + + toplevel = builder.get_object('main') ++ parent_xid = 0 ++ parent_wmname = None ++ parent_wmclass = None + + try: +- gnome_control_center_xid = int(environ['GNOME_CONTROL_CENTER_XID']) ++ parent_xid = int(environ['IBUS_SETUP_XID']) ++ if parent_xid != 0: ++ parent_wmname = 'ibus-setup' ++ parent_wmclass = 'Ibus-setup' + except: +- gnome_control_center_xid = 0 ++ pass ++ ++ try: ++ if parent_xid == 0: ++ parent_xid = int(environ['GNOME_CONTROL_CENTER_XID']) ++ if parent_xid != 0: ++ parent_wmname = 'gnome-conrol-center' ++ parent_wmclass = 'Gnome-conrol-center' ++ except: ++ pass + +- if gnome_control_center_xid != 0: ++ if parent_xid != 0: + def set_transient(obj, pspec): + window = toplevel.get_window() + if window == None: + return + parent_window = GdkX11.X11Window.foreign_new_for_display(Gdk.Display.get_default(), +- gnome_control_center_xid) ++ parent_xid) + if parent_window != None: + window.set_transient_for(parent_window) +- toplevel.set_wmclass('gnome-control-center', 'Gnome-control-center') ++ toplevel.set_wmclass(parent_wmname, parent_wmclass) + toplevel.set_modal(True) + toplevel.set_type_hint(Gdk.WindowTypeHint.DIALOG) + toplevel.connect('notify::window', set_transient) +diff --git a/setup/python3/main.py b/setup/python3/main.py +index 8921402..3141bb8 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -85,22 +85,37 @@ class AnthySetup(object): + builder.add_from_file(builder_file) + + toplevel = builder.get_object('main') ++ parent_xid = 0 ++ parent_wmname = None ++ parent_wmclass = None + + try: +- gnome_control_center_xid = int(environ['GNOME_CONTROL_CENTER_XID']) ++ parent_xid = int(environ['IBUS_SETUP_XID']) ++ if parent_xid != 0: ++ parent_wmname = 'ibus-setup' ++ parent_wmclass = 'Ibus-setup' + except: +- gnome_control_center_xid = 0 ++ pass ++ ++ try: ++ if parent_xid == 0: ++ parent_xid = int(environ['GNOME_CONTROL_CENTER_XID']) ++ if parent_xid != 0: ++ parent_wmname = 'gnome-conrol-center' ++ parent_wmclass = 'Gnome-conrol-center' ++ except: ++ pass + +- if gnome_control_center_xid != 0: ++ if parent_xid != 0: + def set_transient(obj, pspec): + window = toplevel.get_window() + if window == None: + return + parent_window = GdkX11.X11Window.foreign_new_for_display(Gdk.Display.get_default(), +- gnome_control_center_xid) ++ parent_xid) + if parent_window != None: + window.set_transient_for(parent_window) +- toplevel.set_wmclass('gnome-control-center', 'Gnome-control-center') ++ toplevel.set_wmclass(parent_wmname, parent_wmclass) + toplevel.set_modal(True) + toplevel.set_type_hint(Gdk.WindowTypeHint.DIALOG) + toplevel.connect('notify::window', set_transient) +-- +1.8.5.3 + From 4d605b873bf4b0af2a337cd076175c8d0a703346 Mon Sep 17 00:00:00 2001 From: fujiwarat Date: Thu, 27 Feb 2014 18:32:01 +0900 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 6a78fe2..b1ea126 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,7 +14,7 @@ Name: ibus-anthy Version: 1.5.5 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -157,6 +157,12 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-6 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + Set max-width-chars in ibus-anthy-setup wrapped GtkLabel. + Set 'IBUS_SETUP_XID' environment variable in setup. + * Sat Jun 07 2014 Fedora Release Engineering - 1.5.5-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From 1b9a10ec0e1b0fc411b88965ed517f46034f005c Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 16 Jul 2014 15:16:50 +0900 Subject: [PATCH 081/202] Updated ibus-anthy-HEAD.patch Fixed deprecated warnings with python3-gobject 3.13.3. --- ibus-anthy-HEAD.patch | 206 +++++++++++++++++++++++++++++++++++------- ibus-anthy.spec | 6 +- 2 files changed, 178 insertions(+), 34 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index efd1d11..2b36e99 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1576,9 +1576,9 @@ index d9ec626..dc5e7e1 100644 -- 1.8.0 -From 8a79278d6fadecd4bdcebb32f33d19ee72e1e933 Mon Sep 17 00:00:00 2001 +From c7caeaf8dc3aaaf5b1d546ffb418aae52b8905a4 Mon Sep 17 00:00:00 2001 From: fujiwarat -Date: Thu, 10 Jul 2014 13:50:54 +0900 +Date: Wed, 16 Jul 2014 14:57:07 +0900 Subject: [PATCH] Fixed deprecated warnings with python3-gobject 3.13.3. python3-gobject adds several warnings in gi/overrides/Gtk.py @@ -1593,14 +1593,31 @@ PyGTKDeprecationWarning: The keyword(s) "parent" have been deprecated in favor of "transient_for" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations --- - setup/python2/main.py | 30 +++++++++++++++++++----------- - setup/python3/main.py | 30 +++++++++++++++++++----------- - 2 files changed, 38 insertions(+), 22 deletions(-) + setup/python2/main.py | 52 +++++++++++++++++++++++++++++++-------------------- + setup/python3/main.py | 52 +++++++++++++++++++++++++++++++-------------------- + 2 files changed, 64 insertions(+), 40 deletions(-) diff --git a/setup/python2/main.py b/setup/python2/main.py -index 7c403b8..5df1cdd 100644 +index 7c403b8..424e703 100644 --- a/setup/python2/main.py +++ b/setup/python2/main.py +@@ -325,11 +325,11 @@ class AnthySetup(object): + return (section, key) + + def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): +- dlg = Gtk.MessageDialog(parent=self.__builder.get_object('main'), +- flags=Gtk.DialogFlags.MODAL, +- message_type=type, +- buttons=Gtk.ButtonsType.OK, +- message_format=message) ++ dlg = Gtk.MessageDialog( ++ transient_for=self.__builder.get_object('main'), ++ message_type=type, ++ buttons=Gtk.ButtonsType.OK, ++ text=message) + dlg.run() + dlg.destroy() + @@ -420,6 +420,7 @@ class AnthySetup(object): for key, value in sorted(rule.items(), \ cmp = self.__japanese_tuple_sort): @@ -1625,31 +1642,68 @@ index 7c403b8..5df1cdd 100644 tv.append_column(Gtk.TreeViewColumn(_(_("Input")), Gtk.CellRendererText(), text=1)) tv.append_column(Gtk.TreeViewColumn(_(_("Single")), -@@ -585,6 +588,7 @@ class AnthySetup(object): - def __run_dialog_custom_key_table(self, mode): +@@ -582,9 +585,10 @@ class AnthySetup(object): + combobox.clear() + combobox.disconnect_by_func(self.on_cb_custom_key_table_changed) + +- def __run_dialog_custom_key_table(self, mode): ++ def __run_dialog_custom_key_table(self, widget, mode): prefs = self.prefs dlg = self.__builder.get_object('dialog_custom_key_table') -+ dlg.set_transient_for(self.__builder.get_object('main')) ++ dlg.set_transient_for(widget.get_toplevel()) label = self.__builder.get_object('label_custom_key_table') label_output = self.__builder.get_object('label_output_custom_key') list_labels = [] -@@ -1225,6 +1229,7 @@ class AnthySetup(object): +@@ -1134,6 +1138,7 @@ class AnthySetup(object): + Gtk.main_quit() + return True + dlg = self.__builder.get_object('quit_check') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Confirmation")) + dlg.format_secondary_text( + _("You are about to close the setup dialog, is that OK?")) +@@ -1150,6 +1155,7 @@ class AnthySetup(object): + Gtk.main_quit() + return True + dlg = self.__builder.get_object('quit_check_without_save') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Notice!")) + dlg.format_secondary_text( + _("You are about to close the setup dialog without saving your changes, is that OK?")) +@@ -1225,6 +1231,7 @@ class AnthySetup(object): for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: self.__builder.get_object(w).set_active(False) dlg = self.__builder.get_object('edit_shortcut') -+ dlg.set_transient_for(self.__builder.get_object('main')) ++ dlg.set_transient_for(widget.get_toplevel()) id = dlg.run() dlg.hide() if id == Gtk.ResponseType.OK: -@@ -1380,6 +1385,7 @@ class AnthySetup(object): +@@ -1245,13 +1252,13 @@ class AnthySetup(object): + self.__builder.get_object('btn_apply').set_sensitive(True) + + def on_btn_romaji_custom_table_clicked(self, widget): +- self.__run_dialog_custom_key_table('romaji') ++ self.__run_dialog_custom_key_table(widget, 'romaji') + + def on_btn_kana_custom_table_clicked(self, widget): +- self.__run_dialog_custom_key_table('kana') ++ self.__run_dialog_custom_key_table(widget, 'kana') + + def on_btn_thumb_custom_table_clicked(self, widget): +- self.__run_dialog_custom_key_table('thumb') ++ self.__run_dialog_custom_key_table(widget, 'thumb') + + def on_btn_add_custom_key(self, widget, user_data): + prefs = self.prefs +@@ -1380,6 +1387,7 @@ class AnthySetup(object): for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: self.__builder.get_object(w).set_active(False) dlg = self.__builder.get_object('edit_shortcut') -+ dlg.set_transient_for(self.__builder.get_object('main')) ++ dlg.set_transient_for(widget.get_toplevel()) id = dlg.run() dlg.hide() self.__builder.get_object('es:button_add').show() -@@ -1414,16 +1420,17 @@ class AnthySetup(object): +@@ -1414,16 +1422,17 @@ class AnthySetup(object): if Gtk.Buildable.get_name(widget) == 'dict:btn_add': dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), @@ -1657,7 +1711,7 @@ index 7c403b8..5df1cdd 100644 - action=Gtk.FileChooserAction.OPEN, - buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, - _("_Open"), Gtk.ResponseType.OK)) -+ transient_for=self.__builder.get_object('main'), ++ transient_for=widget.get_toplevel(), + action=Gtk.FileChooserAction.OPEN) + buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, + _("_Open"), Gtk.ResponseType.OK) @@ -1668,27 +1722,27 @@ index 7c403b8..5df1cdd 100644 - flags=Gtk.DialogFlags.MODAL, - buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, - _("_OK"), Gtk.ResponseType.OK)) -+ transient_for=self.__builder.get_object('main')) ++ transient_for=widget.get_toplevel()) + buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, + _("_OK"), Gtk.ResponseType.OK) + dlg.add_buttons(*buttons) vbox = self.__builder.get_object('dict:add_extra_vbox') if Gtk.Buildable.get_name(widget) == 'dict:btn_add': -@@ -1516,9 +1523,9 @@ class AnthySetup(object): +@@ -1516,9 +1525,9 @@ class AnthySetup(object): lines = unicode(lines, encoding).encode('utf-8') dlg = Gtk.Dialog(title=_("View Dictionary File"), - parent=self.__builder.get_object('main'), - flags=Gtk.DialogFlags.MODAL, - buttons=(_("_OK"), Gtk.ResponseType.OK)) -+ transient_for=self.__builder.get_object('main')) ++ transient_for=widget.get_toplevel()) + buttons=(_("_OK"), Gtk.ResponseType.OK) + dlg.add_buttons(*buttons) buffer = Gtk.TextBuffer() buffer.set_text (lines) text_view = Gtk.TextView.new_with_buffer(buffer) -@@ -1666,6 +1673,7 @@ class AnthySetup(object): +@@ -1666,6 +1675,7 @@ class AnthySetup(object): def on_es_button_run_input_clicked(self, widget): dlg = self.__builder.get_object('key_input_dialog') @@ -1696,10 +1750,43 @@ index 7c403b8..5df1cdd 100644 dlg.set_markup('%s' % _("Please press a key (or a key combination)")) dlg.format_secondary_text(_("The dialog will be closed when the key is released")) id = dlg.run() +@@ -1686,6 +1696,7 @@ class AnthySetup(object): + s = self.__builder.get_object('es:entry').get_text() + if not s or not IBus.keyval_from_name(s): + dlg = self.__builder.get_object('invalid_keysym') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Invalid keysym")) + dlg.format_secondary_text(_("This keysym is not valid")) + dlg.run() +@@ -1706,6 +1717,7 @@ class AnthySetup(object): + s = self.__builder.get_object('es:entry').get_text() + if not s or not IBus.keyval_from_name(s): + dlg = self.__builder.get_object('invalid_keysym') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Invalid keysym")) + dlg.format_secondary_text(_("This keysym is not valid")) + dlg.run() diff --git a/setup/python3/main.py b/setup/python3/main.py -index 2073f59..8921402 100644 +index 2073f59..e1ca22e 100644 --- a/setup/python3/main.py +++ b/setup/python3/main.py +@@ -328,11 +328,11 @@ class AnthySetup(object): + return (section, key) + + def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): +- dlg = Gtk.MessageDialog(parent=self.__builder.get_object('main'), +- flags=Gtk.DialogFlags.MODAL, +- message_type=type, +- buttons=Gtk.ButtonsType.OK, +- message_format=message) ++ dlg = Gtk.MessageDialog( ++ transient_for=self.__builder.get_object('main'), ++ message_type=type, ++ buttons=Gtk.ButtonsType.OK, ++ text=message) + dlg.run() + dlg.destroy() + @@ -425,6 +425,7 @@ class AnthySetup(object): for key, value in sorted(list(rule.items()), \ key = functools.cmp_to_key(self.__japanese_tuple_sort)): @@ -1724,31 +1811,68 @@ index 2073f59..8921402 100644 tv.append_column(Gtk.TreeViewColumn(_(_("Input")), Gtk.CellRendererText(), text=1)) tv.append_column(Gtk.TreeViewColumn(_(_("Single")), -@@ -590,6 +593,7 @@ class AnthySetup(object): - def __run_dialog_custom_key_table(self, mode): +@@ -587,9 +590,10 @@ class AnthySetup(object): + combobox.clear() + combobox.disconnect_by_func(self.on_cb_custom_key_table_changed) + +- def __run_dialog_custom_key_table(self, mode): ++ def __run_dialog_custom_key_table(self, widget, mode): prefs = self.prefs dlg = self.__builder.get_object('dialog_custom_key_table') -+ dlg.set_transient_for(self.__builder.get_object('main')) ++ dlg.set_transient_for(widget.get_toplevel()) label = self.__builder.get_object('label_custom_key_table') label_output = self.__builder.get_object('label_output_custom_key') list_labels = [] -@@ -1219,6 +1223,7 @@ class AnthySetup(object): +@@ -1128,6 +1132,7 @@ class AnthySetup(object): + Gtk.main_quit() + return True + dlg = self.__builder.get_object('quit_check') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Confirmation")) + dlg.format_secondary_text( + _("You are about to close the setup dialog, is that OK?")) +@@ -1144,6 +1149,7 @@ class AnthySetup(object): + Gtk.main_quit() + return True + dlg = self.__builder.get_object('quit_check_without_save') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Notice!")) + dlg.format_secondary_text( + _("You are about to close the setup dialog without saving your changes, is that OK?")) +@@ -1219,6 +1225,7 @@ class AnthySetup(object): for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: self.__builder.get_object(w).set_active(False) dlg = self.__builder.get_object('edit_shortcut') -+ dlg.set_transient_for(self.__builder.get_object('main')) ++ dlg.set_transient_for(widget.get_toplevel()) id = dlg.run() dlg.hide() if id == Gtk.ResponseType.OK: -@@ -1374,6 +1379,7 @@ class AnthySetup(object): +@@ -1239,13 +1246,13 @@ class AnthySetup(object): + self.__builder.get_object('btn_apply').set_sensitive(True) + + def on_btn_romaji_custom_table_clicked(self, widget): +- self.__run_dialog_custom_key_table('romaji') ++ self.__run_dialog_custom_key_table(widget, 'romaji') + + def on_btn_kana_custom_table_clicked(self, widget): +- self.__run_dialog_custom_key_table('kana') ++ self.__run_dialog_custom_key_table(widget, 'kana') + + def on_btn_thumb_custom_table_clicked(self, widget): +- self.__run_dialog_custom_key_table('thumb') ++ self.__run_dialog_custom_key_table(widget, 'thumb') + + def on_btn_add_custom_key(self, widget, user_data): + prefs = self.prefs +@@ -1374,6 +1381,7 @@ class AnthySetup(object): for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: self.__builder.get_object(w).set_active(False) dlg = self.__builder.get_object('edit_shortcut') -+ dlg.set_transient_for(self.__builder.get_object('main')) ++ dlg.set_transient_for(widget.get_toplevel()) id = dlg.run() dlg.hide() self.__builder.get_object('es:button_add').show() -@@ -1408,16 +1414,17 @@ class AnthySetup(object): +@@ -1408,16 +1416,17 @@ class AnthySetup(object): if Gtk.Buildable.get_name(widget) == 'dict:btn_add': dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), @@ -1756,7 +1880,7 @@ index 2073f59..8921402 100644 - action=Gtk.FileChooserAction.OPEN, - buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, - _("_Open"), Gtk.ResponseType.OK)) -+ transient_for=self.__builder.get_object('main'), ++ transient_for=widget.get_toplevel(), + action=Gtk.FileChooserAction.OPEN) + buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, + _("_Open"), Gtk.ResponseType.OK) @@ -1767,27 +1891,27 @@ index 2073f59..8921402 100644 - flags=Gtk.DialogFlags.MODAL, - buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, - _("_OK"), Gtk.ResponseType.OK)) -+ transient_for=self.__builder.get_object('main')) ++ transient_for=widget.get_toplevel()) + buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, + _("_OK"), Gtk.ResponseType.OK) + dlg.add_buttons(*buttons) vbox = self.__builder.get_object('dict:add_extra_vbox') if Gtk.Buildable.get_name(widget) == 'dict:btn_add': -@@ -1510,9 +1517,9 @@ class AnthySetup(object): +@@ -1510,9 +1519,9 @@ class AnthySetup(object): lines = str(lines, encoding) dlg = Gtk.Dialog(title=_("View Dictionary File"), - parent=self.__builder.get_object('main'), - flags=Gtk.DialogFlags.MODAL, - buttons=(_("_OK"), Gtk.ResponseType.OK)) -+ transient_for=self.__builder.get_object('main')) ++ transient_for=widget.get_toplevel()) + buttons=(_("_OK"), Gtk.ResponseType.OK) + dlg.add_buttons(*buttons) buffer = Gtk.TextBuffer() buffer.set_text (lines) text_view = Gtk.TextView.new_with_buffer(buffer) -@@ -1660,6 +1667,7 @@ class AnthySetup(object): +@@ -1660,6 +1669,7 @@ class AnthySetup(object): def on_es_button_run_input_clicked(self, widget): dlg = self.__builder.get_object('key_input_dialog') @@ -1795,6 +1919,22 @@ index 2073f59..8921402 100644 dlg.set_markup('%s' % _("Please press a key (or a key combination)")) dlg.format_secondary_text(_("The dialog will be closed when the key is released")) id = dlg.run() +@@ -1680,6 +1690,7 @@ class AnthySetup(object): + s = self.__builder.get_object('es:entry').get_text() + if not s or not IBus.keyval_from_name(s): + dlg = self.__builder.get_object('invalid_keysym') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Invalid keysym")) + dlg.format_secondary_text(_("This keysym is not valid")) + dlg.run() +@@ -1700,6 +1711,7 @@ class AnthySetup(object): + s = self.__builder.get_object('es:entry').get_text() + if not s or not IBus.keyval_from_name(s): + dlg = self.__builder.get_object('invalid_keysym') ++ dlg.set_transient_for(widget.get_toplevel()) + dlg.set_markup('%s' % _("Invalid keysym")) + dlg.format_secondary_text(_("This keysym is not valid")) + dlg.run() -- 1.8.5.3 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index b1ea126..ce19083 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,7 +14,7 @@ Name: ibus-anthy Version: 1.5.5 -Release: 6%{?dist} +Release: 7%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -157,6 +157,10 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-7 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + * Mon Jul 14 2014 Takao Fujiwara - 1.5.5-6 - Updated ibus-anthy-HEAD.patch Fixed deprecated warnings with python3-gobject 3.13.3. From 7fe88e4303781d80d90919c778022b0d63fcaef3 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Tue, 22 Jul 2014 19:23:53 +0200 Subject: [PATCH 082/202] Rebuilt for gobject-introspection 1.41.4 --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index ce19083..8995306 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,7 +14,7 @@ Name: ibus-anthy Version: 1.5.5 -Release: 7%{?dist} +Release: 8%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -157,6 +157,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Tue Jul 22 2014 Kalev Lember - 1.5.5-8 +- Rebuilt for gobject-introspection 1.41.4 + * Mon Jul 14 2014 Takao Fujiwara - 1.5.5-7 - Updated ibus-anthy-HEAD.patch Fixed deprecated warnings with python3-gobject 3.13.3. From 9f5eef8cd1018e85056cb23ad829e996d85c1b3f Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sat, 16 Aug 2014 21:01:12 +0000 Subject: [PATCH 083/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 8995306..e6b83a8 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,7 +14,7 @@ Name: ibus-anthy Version: 1.5.5 -Release: 8%{?dist} +Release: 9%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -157,6 +157,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Sat Aug 16 2014 Fedora Release Engineering - 1.5.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Tue Jul 22 2014 Kalev Lember - 1.5.5-8 - Rebuilt for gobject-introspection 1.41.4 From a97628d7b5c5f40d18be1d1edf6a9fad7a274a6e Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 16 Sep 2014 14:38:04 +0900 Subject: [PATCH 084/202] Bumped to 1.5.6 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 3031 ------------------- ibus-anthy-xx-input-mode.patch | 4997 ++++++++++++++++++++++++++++++++ ibus-anthy.spec | 13 +- sources | 2 +- 5 files changed, 5008 insertions(+), 3036 deletions(-) create mode 100644 ibus-anthy-xx-input-mode.patch diff --git a/.gitignore b/.gitignore index 59e7307..22c7a15 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ ibus-anthy.png /ibus-anthy-1.5.3.tar.gz /ibus-anthy-1.5.4.tar.gz /ibus-anthy-1.5.5.tar.gz +/ibus-anthy-1.5.6.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 2b36e99..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,3032 +1 @@ -From ffd69683443c56910e6db6d4526992a92c222275 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 18 Feb 2014 17:36:45 +0900 -Subject: [PATCH] Fixed deprecated GtkHBox, GtkVBox and GtkStock since GTK+ - 3.10. - ---- - po/ibus-anthy.pot | 154 +++++++++++++++++++++----------- - setup/python2/main.py | 14 +-- - setup/python2/setup.ui | 237 +++++++++++++++++++++++++------------------------ - setup/python3/main.py | 10 +-- - setup/python3/setup.ui | 237 +++++++++++++++++++++++++------------------------ - 5 files changed, 361 insertions(+), 291 deletions(-) - -diff --git a/setup/python2/main.py b/setup/python2/main.py -index 98486ad..7c403b8 100644 ---- a/setup/python2/main.py -+++ b/setup/python2/main.py -@@ -4,8 +4,8 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -1416,14 +1416,14 @@ class AnthySetup(object): - dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), - parent=self.__builder.get_object('main'), - action=Gtk.FileChooserAction.OPEN, -- buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, -- Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) -+ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -+ _("_Open"), Gtk.ResponseType.OK)) - if Gtk.Buildable.get_name(widget) == 'dict:btn_edit': - dlg = Gtk.Dialog(title=_("Edit Dictionary File"), - parent=self.__builder.get_object('main'), - flags=Gtk.DialogFlags.MODAL, -- buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, -- Gtk.STOCK_OK, Gtk.ResponseType.OK)) -+ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -+ _("_OK"), Gtk.ResponseType.OK)) - - vbox = self.__builder.get_object('dict:add_extra_vbox') - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': -@@ -1518,7 +1518,7 @@ class AnthySetup(object): - dlg = Gtk.Dialog(title=_("View Dictionary File"), - parent=self.__builder.get_object('main'), - flags=Gtk.DialogFlags.MODAL, -- buttons=(Gtk.STOCK_OK, Gtk.ResponseType.OK)) -+ buttons=(_("_OK"), Gtk.ResponseType.OK)) - buffer = Gtk.TextBuffer() - buffer.set_text (lines) - text_view = Gtk.TextView.new_with_buffer(buffer) -diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui -index d9ec626..dc5e7e1 100644 ---- a/setup/python2/setup.ui -+++ b/setup/python2/setup.ui -@@ -195,16 +195,18 @@ - dialog - - -- -+ - True -+ vertical - - - True - True - 6 - -- -+ - True -+ vertical - 8 - - -@@ -355,8 +357,9 @@ - 8 - 12 - -- -+ - True -+ vertical - 4 - 4 - -@@ -409,8 +412,9 @@ - - - -- -+ - True -+ vertical - 8 - - -@@ -637,8 +641,9 @@ - 8 - 4 - -- -+ - True -+ horizontal - 8 - - -@@ -773,13 +778,15 @@ - - - -- -+ - True -+ vertical - 4 - 4 - -- -+ - True -+ horizontal - 8 - - -@@ -828,6 +835,7 @@ - automatic - automatic - in -+ 300 - - - True -@@ -843,53 +851,20 @@ - - - -- -+ - True -+ horizontal - 4 - end - - -+ De_fault -+ True - True - True - True - False - -- -- -- True -- 0 -- 0 -- -- -- True -- 2 -- -- -- True -- gtk-undo -- -- -- False -- False -- 0 -- -- -- -- -- True -- De_fault -- True -- -- -- False -- False -- 1 -- -- -- -- -- -- - - - False -@@ -899,12 +874,12 @@ - - - -- gtk-edit -+ _Edit -+ True - True - True - True - False -- True - - - -@@ -1352,8 +1327,9 @@ - - - -- -+ - True -+ horizontal - 8 - - -@@ -1393,13 +1369,14 @@ - - - -- -+ - True -+ horizontal - 8 - - - True -- gtk-dialog-info -+ dialog-information - - - False -@@ -1429,8 +1406,9 @@ - - - -- -+ - True -+ horizontal - 8 - - -@@ -1471,13 +1449,14 @@ - - - -- -+ - True -+ horizontal - 8 - - - True -- gtk-dialog-info -+ dialog-information - - - False -@@ -1605,8 +1584,9 @@ - - - -- -+ - True -+ vertical - 8 - 4 - -@@ -1620,8 +1600,9 @@ - 4 - 0 - -- -+ - True -+ vertical - 4 - 4 - -@@ -1777,8 +1758,9 @@ - 4 - 0 - -- -+ - True -+ vertical - 4 - 4 - -@@ -1801,8 +1783,9 @@ - - - -- -+ - True -+ horizontal - 4 - end - -@@ -1823,12 +1806,12 @@ - - - -- gtk-add -+ _Add -+ True - True - True - True - False -- True - - - -@@ -1839,12 +1822,12 @@ - - - -- gtk-edit -+ _Edit -+ True - True - True - True - False -- True - - - -@@ -1855,12 +1838,12 @@ - - - -- gtk-delete -+ _Delete -+ True - True - True - True - False -- True - - - -@@ -1877,19 +1860,20 @@ - - - -- -+ - True -+ horizontal - 4 - end - - -- gtk-go-up -+ _Up -+ True - You can change the order on language bar - True - True - True - False -- True - - - -@@ -1900,13 +1884,13 @@ - - - -- gtk-go-down -+ _Down -+ True - You can change the order on language bar - True - True - True - False -- True - - - -@@ -1953,7 +1937,7 @@ - - - -- -+ - True - vertical - 10 -@@ -1979,18 +1963,19 @@ - - - -- -+ - True -+ horizontal - end - - -- gtk-apply -+ _Apply -+ True - True - False - True - True - False -- True - - - -@@ -2001,12 +1986,12 @@ - - - -- gtk-cancel -+ _Cancel -+ True - True - True - True - False -- True - - - -@@ -2017,12 +2002,12 @@ - - - -- gtk-ok -+ _OK -+ True - True - True - True - False -- True - - - -@@ -2053,11 +2038,13 @@ - True - dialog - -- -+ - True -+ vertical - -- -+ - True -+ vertical - 5 - 6 - -@@ -2068,6 +2055,7 @@ - automatic - automatic - in -+ 150 - - - True -@@ -2081,8 +2069,9 @@ - - - -- -+ - True -+ horizontal - 8 - - -@@ -2128,8 +2117,9 @@ - - - -- -+ - True -+ horizontal - 8 - - -@@ -2143,8 +2133,9 @@ - - - -- -+ - True -+ horizontal - - - A_lternate -@@ -2197,19 +2188,20 @@ - - - -- -+ - True -+ horizontal - 6 - end - - -- gtk-add -+ _Add -+ True - True - False - True - True - False -- True - - - -@@ -2220,12 +2212,12 @@ - - - -- gtk-refresh -+ _Refresh -+ True - False - True - True - False -- True - - - -@@ -2236,13 +2228,13 @@ - - - -- gtk-delete -+ _Delete -+ True - True - False - True - True - False -- True - - - -@@ -2264,17 +2256,18 @@ - - - -- -+ - True -+ horizontal - end - - -- gtk-cancel -+ _Cancel -+ True - True - True - True - False -- True - - - False -@@ -2284,12 +2277,12 @@ - - - -- gtk-ok -+ _OK -+ True - True - True - True - False -- True - - - False -@@ -2318,13 +2311,15 @@ - True - dialog - -- -+ - True -+ vertical - 5 - 6 - -- -+ - True -+ horizontal - 5 - 6 - -@@ -2359,8 +2354,9 @@ - - - -- -+ - True -+ horizontal - 5 - 6 - -@@ -2371,6 +2367,8 @@ - automatic - automatic - in -+ 250 -+ 300 - - - True -@@ -2383,8 +2381,9 @@ - - - -- -+ - True -+ vertical - start - 6 - -@@ -2470,12 +2469,12 @@ - - - True -- gtk-add -+ _Add -+ True - True - True - True - False -- True - - - 8 -@@ -2484,12 +2483,12 @@ - - - True -- gtk-remove -+ _Remove -+ True - True - True - True - False -- True - - - 9 -@@ -2508,16 +2507,17 @@ - - - -- -+ - True -+ horizontal - end - - - True -- gtk-close -+ _Close -+ True - True - True -- True - True - - -@@ -2551,12 +2551,14 @@ - Confirmation - You are about to close the setup dialog, is that OK? - -- -+ - True -+ vertical - 2 - -- -+ - True -+ horizontal - end - - -@@ -2586,12 +2588,14 @@ - Notice! - You are about to close the setup dialog without saving your changes, is that OK? - -- -+ - True -+ vertical - 2 - -- -+ - True -+ horizontal - end - - -@@ -2622,12 +2626,14 @@ - - - -- -+ - True -+ vertical - 2 - -- -+ - True -+ horizontal - end - - -@@ -2657,12 +2663,14 @@ - Invalid keysym - This keysym is not valid - -- -+ - True -+ vertical - 2 - -- -+ - True -+ horizontal - end - - -@@ -2680,8 +2688,9 @@ - - - -- -+ - True -+ vertical - True - 10 - -@@ -2800,8 +2809,8 @@ - IBus-Anthy - Copyright © 2007–2008 Peng Huang - Copyright © 2009 Hideaki ABE --Copyright © 2009–2013 Takao Fujiwara --Copyright © 2007–2013 Red Hat, Inc. -+Copyright © 2009–2014 Takao Fujiwara -+Copyright © 2007–2014 Red Hat, Inc. - The Anthy engine for the IBus input platform - GPL - http://code.google.com/p/ibus/ -diff --git a/setup/python3/main.py b/setup/python3/main.py -index fec03a6..2073f59 100644 ---- a/setup/python3/main.py -+++ b/setup/python3/main.py -@@ -1410,14 +1410,14 @@ class AnthySetup(object): - dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), - parent=self.__builder.get_object('main'), - action=Gtk.FileChooserAction.OPEN, -- buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, -- Gtk.STOCK_OPEN, Gtk.ResponseType.OK)) -+ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -+ _("_Open"), Gtk.ResponseType.OK)) - if Gtk.Buildable.get_name(widget) == 'dict:btn_edit': - dlg = Gtk.Dialog(title=_("Edit Dictionary File"), - parent=self.__builder.get_object('main'), - flags=Gtk.DialogFlags.MODAL, -- buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL, -- Gtk.STOCK_OK, Gtk.ResponseType.OK)) -+ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -+ _("_OK"), Gtk.ResponseType.OK)) - - vbox = self.__builder.get_object('dict:add_extra_vbox') - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': -@@ -1512,7 +1512,7 @@ class AnthySetup(object): - dlg = Gtk.Dialog(title=_("View Dictionary File"), - parent=self.__builder.get_object('main'), - flags=Gtk.DialogFlags.MODAL, -- buttons=(Gtk.STOCK_OK, Gtk.ResponseType.OK)) -+ buttons=(_("_OK"), Gtk.ResponseType.OK)) - buffer = Gtk.TextBuffer() - buffer.set_text (lines) - text_view = Gtk.TextView.new_with_buffer(buffer) -diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui -index d9ec626..dc5e7e1 100644 ---- a/setup/python3/setup.ui -+++ b/setup/python3/setup.ui -@@ -195,16 +195,18 @@ - dialog - - -- -+ - True -+ vertical - - - True - True - 6 - -- -+ - True -+ vertical - 8 - - -@@ -355,8 +357,9 @@ - 8 - 12 - -- -+ - True -+ vertical - 4 - 4 - -@@ -409,8 +412,9 @@ - - - -- -+ - True -+ vertical - 8 - - -@@ -637,8 +641,9 @@ - 8 - 4 - -- -+ - True -+ horizontal - 8 - - -@@ -773,13 +778,15 @@ - - - -- -+ - True -+ vertical - 4 - 4 - -- -+ - True -+ horizontal - 8 - - -@@ -828,6 +835,7 @@ - automatic - automatic - in -+ 300 - - - True -@@ -843,53 +851,20 @@ - - - -- -+ - True -+ horizontal - 4 - end - - -+ De_fault -+ True - True - True - True - False - -- -- -- True -- 0 -- 0 -- -- -- True -- 2 -- -- -- True -- gtk-undo -- -- -- False -- False -- 0 -- -- -- -- -- True -- De_fault -- True -- -- -- False -- False -- 1 -- -- -- -- -- -- - - - False -@@ -899,12 +874,12 @@ - - - -- gtk-edit -+ _Edit -+ True - True - True - True - False -- True - - - -@@ -1352,8 +1327,9 @@ - - - -- -+ - True -+ horizontal - 8 - - -@@ -1393,13 +1369,14 @@ - - - -- -+ - True -+ horizontal - 8 - - - True -- gtk-dialog-info -+ dialog-information - - - False -@@ -1429,8 +1406,9 @@ - - - -- -+ - True -+ horizontal - 8 - - -@@ -1471,13 +1449,14 @@ - - - -- -+ - True -+ horizontal - 8 - - - True -- gtk-dialog-info -+ dialog-information - - - False -@@ -1605,8 +1584,9 @@ - - - -- -+ - True -+ vertical - 8 - 4 - -@@ -1620,8 +1600,9 @@ - 4 - 0 - -- -+ - True -+ vertical - 4 - 4 - -@@ -1777,8 +1758,9 @@ - 4 - 0 - -- -+ - True -+ vertical - 4 - 4 - -@@ -1801,8 +1783,9 @@ - - - -- -+ - True -+ horizontal - 4 - end - -@@ -1823,12 +1806,12 @@ - - - -- gtk-add -+ _Add -+ True - True - True - True - False -- True - - - -@@ -1839,12 +1822,12 @@ - - - -- gtk-edit -+ _Edit -+ True - True - True - True - False -- True - - - -@@ -1855,12 +1838,12 @@ - - - -- gtk-delete -+ _Delete -+ True - True - True - True - False -- True - - - -@@ -1877,19 +1860,20 @@ - - - -- -+ - True -+ horizontal - 4 - end - - -- gtk-go-up -+ _Up -+ True - You can change the order on language bar - True - True - True - False -- True - - - -@@ -1900,13 +1884,13 @@ - - - -- gtk-go-down -+ _Down -+ True - You can change the order on language bar - True - True - True - False -- True - - - -@@ -1953,7 +1937,7 @@ - - - -- -+ - True - vertical - 10 -@@ -1979,18 +1963,19 @@ - - - -- -+ - True -+ horizontal - end - - -- gtk-apply -+ _Apply -+ True - True - False - True - True - False -- True - - - -@@ -2001,12 +1986,12 @@ - - - -- gtk-cancel -+ _Cancel -+ True - True - True - True - False -- True - - - -@@ -2017,12 +2002,12 @@ - - - -- gtk-ok -+ _OK -+ True - True - True - True - False -- True - - - -@@ -2053,11 +2038,13 @@ - True - dialog - -- -+ - True -+ vertical - -- -+ - True -+ vertical - 5 - 6 - -@@ -2068,6 +2055,7 @@ - automatic - automatic - in -+ 150 - - - True -@@ -2081,8 +2069,9 @@ - - - -- -+ - True -+ horizontal - 8 - - -@@ -2128,8 +2117,9 @@ - - - -- -+ - True -+ horizontal - 8 - - -@@ -2143,8 +2133,9 @@ - - - -- -+ - True -+ horizontal - - - A_lternate -@@ -2197,19 +2188,20 @@ - - - -- -+ - True -+ horizontal - 6 - end - - -- gtk-add -+ _Add -+ True - True - False - True - True - False -- True - - - -@@ -2220,12 +2212,12 @@ - - - -- gtk-refresh -+ _Refresh -+ True - False - True - True - False -- True - - - -@@ -2236,13 +2228,13 @@ - - - -- gtk-delete -+ _Delete -+ True - True - False - True - True - False -- True - - - -@@ -2264,17 +2256,18 @@ - - - -- -+ - True -+ horizontal - end - - -- gtk-cancel -+ _Cancel -+ True - True - True - True - False -- True - - - False -@@ -2284,12 +2277,12 @@ - - - -- gtk-ok -+ _OK -+ True - True - True - True - False -- True - - - False -@@ -2318,13 +2311,15 @@ - True - dialog - -- -+ - True -+ vertical - 5 - 6 - -- -+ - True -+ horizontal - 5 - 6 - -@@ -2359,8 +2354,9 @@ - - - -- -+ - True -+ horizontal - 5 - 6 - -@@ -2371,6 +2367,8 @@ - automatic - automatic - in -+ 250 -+ 300 - - - True -@@ -2383,8 +2381,9 @@ - - - -- -+ - True -+ vertical - start - 6 - -@@ -2470,12 +2469,12 @@ - - - True -- gtk-add -+ _Add -+ True - True - True - True - False -- True - - - 8 -@@ -2484,12 +2483,12 @@ - - - True -- gtk-remove -+ _Remove -+ True - True - True - True - False -- True - - - 9 -@@ -2508,16 +2507,17 @@ - - - -- -+ - True -+ horizontal - end - - - True -- gtk-close -+ _Close -+ True - True - True -- True - True - - -@@ -2551,12 +2551,14 @@ - Confirmation - You are about to close the setup dialog, is that OK? - -- -+ - True -+ vertical - 2 - -- -+ - True -+ horizontal - end - - -@@ -2586,12 +2588,14 @@ - Notice! - You are about to close the setup dialog without saving your changes, is that OK? - -- -+ - True -+ vertical - 2 - -- -+ - True -+ horizontal - end - - -@@ -2622,12 +2626,14 @@ - - - -- -+ - True -+ vertical - 2 - -- -+ - True -+ horizontal - end - - -@@ -2657,12 +2663,14 @@ - Invalid keysym - This keysym is not valid - -- -+ - True -+ vertical - 2 - -- -+ - True -+ horizontal - end - - -@@ -2680,8 +2688,9 @@ - - - -- -+ - True -+ vertical - True - 10 - -@@ -2800,8 +2809,8 @@ - IBus-Anthy - Copyright © 2007–2008 Peng Huang - Copyright © 2009 Hideaki ABE --Copyright © 2009–2013 Takao Fujiwara --Copyright © 2007–2013 Red Hat, Inc. -+Copyright © 2009–2014 Takao Fujiwara -+Copyright © 2007–2014 Red Hat, Inc. - The Anthy engine for the IBus input platform - GPL - http://code.google.com/p/ibus/ --- -1.8.0 - -From c7caeaf8dc3aaaf5b1d546ffb418aae52b8905a4 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 16 Jul 2014 14:57:07 +0900 -Subject: [PATCH] Fixed deprecated warnings with python3-gobject 3.13.3. - -python3-gobject adds several warnings in gi/overrides/Gtk.py - -/usr/share/ibus-anthy/setup/main.py:1519: PyGTKDeprecationWarning: -The "buttons" argument must be a Gtk.ButtonsType enum value. Please -use the "add_buttons" method for adding buttons. -See: https://wiki.gnome.org/PyGObject/InitializerDeprecations - -/usr/lib64/python3.4/site-packages/gi/overrides/Gtk.py:537: -PyGTKDeprecationWarning: The keyword(s) "parent" have been deprecated -in favor of "transient_for" respectively. -See: https://wiki.gnome.org/PyGObject/InitializerDeprecations ---- - setup/python2/main.py | 52 +++++++++++++++++++++++++++++++-------------------- - setup/python3/main.py | 52 +++++++++++++++++++++++++++++++-------------------- - 2 files changed, 64 insertions(+), 40 deletions(-) - -diff --git a/setup/python2/main.py b/setup/python2/main.py -index 7c403b8..424e703 100644 ---- a/setup/python2/main.py -+++ b/setup/python2/main.py -@@ -325,11 +325,11 @@ class AnthySetup(object): - return (section, key) - - def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): -- dlg = Gtk.MessageDialog(parent=self.__builder.get_object('main'), -- flags=Gtk.DialogFlags.MODAL, -- message_type=type, -- buttons=Gtk.ButtonsType.OK, -- message_format=message) -+ dlg = Gtk.MessageDialog( -+ transient_for=self.__builder.get_object('main'), -+ message_type=type, -+ buttons=Gtk.ButtonsType.OK, -+ text=message) - dlg.run() - dlg.destroy() - -@@ -420,6 +420,7 @@ class AnthySetup(object): - for key, value in sorted(rule.items(), \ - cmp = self.__japanese_tuple_sort): - ls.append(['romaji', key, value]) -+ tv.set_model(None) - tv.append_column(Gtk.TreeViewColumn(_(_("Input Chars")), - Gtk.CellRendererText(), text=1)) - tv.append_column(Gtk.TreeViewColumn(_(_("Output Chars")), -@@ -455,6 +456,7 @@ class AnthySetup(object): - for key, value in sorted(rule.items(), \ - cmp = self.__japanese_tuple_sort): - ls.append(['kana', key, value]) -+ tv.set_model(None) - tv.append_column(Gtk.TreeViewColumn(_(_("Input Chars")), - Gtk.CellRendererText(), text=1)) - tv.append_column(Gtk.TreeViewColumn(_(_("Output Chars")), -@@ -502,6 +504,7 @@ class AnthySetup(object): - for key, value in sorted(rule.items(), \ - cmp = self.__japanese_thumb_sort): - ls.append(['thumb', key, value[0], value[2], value[1]]) -+ tv.set_model(None) - tv.append_column(Gtk.TreeViewColumn(_(_("Input")), - Gtk.CellRendererText(), text=1)) - tv.append_column(Gtk.TreeViewColumn(_(_("Single")), -@@ -582,9 +585,10 @@ class AnthySetup(object): - combobox.clear() - combobox.disconnect_by_func(self.on_cb_custom_key_table_changed) - -- def __run_dialog_custom_key_table(self, mode): -+ def __run_dialog_custom_key_table(self, widget, mode): - prefs = self.prefs - dlg = self.__builder.get_object('dialog_custom_key_table') -+ dlg.set_transient_for(widget.get_toplevel()) - label = self.__builder.get_object('label_custom_key_table') - label_output = self.__builder.get_object('label_output_custom_key') - list_labels = [] -@@ -1134,6 +1138,7 @@ class AnthySetup(object): - Gtk.main_quit() - return True - dlg = self.__builder.get_object('quit_check') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Confirmation")) - dlg.format_secondary_text( - _("You are about to close the setup dialog, is that OK?")) -@@ -1150,6 +1155,7 @@ class AnthySetup(object): - Gtk.main_quit() - return True - dlg = self.__builder.get_object('quit_check_without_save') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Notice!")) - dlg.format_secondary_text( - _("You are about to close the setup dialog without saving your changes, is that OK?")) -@@ -1225,6 +1231,7 @@ class AnthySetup(object): - for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: - self.__builder.get_object(w).set_active(False) - dlg = self.__builder.get_object('edit_shortcut') -+ dlg.set_transient_for(widget.get_toplevel()) - id = dlg.run() - dlg.hide() - if id == Gtk.ResponseType.OK: -@@ -1245,13 +1252,13 @@ class AnthySetup(object): - self.__builder.get_object('btn_apply').set_sensitive(True) - - def on_btn_romaji_custom_table_clicked(self, widget): -- self.__run_dialog_custom_key_table('romaji') -+ self.__run_dialog_custom_key_table(widget, 'romaji') - - def on_btn_kana_custom_table_clicked(self, widget): -- self.__run_dialog_custom_key_table('kana') -+ self.__run_dialog_custom_key_table(widget, 'kana') - - def on_btn_thumb_custom_table_clicked(self, widget): -- self.__run_dialog_custom_key_table('thumb') -+ self.__run_dialog_custom_key_table(widget, 'thumb') - - def on_btn_add_custom_key(self, widget, user_data): - prefs = self.prefs -@@ -1380,6 +1387,7 @@ class AnthySetup(object): - for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: - self.__builder.get_object(w).set_active(False) - dlg = self.__builder.get_object('edit_shortcut') -+ dlg.set_transient_for(widget.get_toplevel()) - id = dlg.run() - dlg.hide() - self.__builder.get_object('es:button_add').show() -@@ -1414,16 +1422,17 @@ class AnthySetup(object): - - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': - dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), -- parent=self.__builder.get_object('main'), -- action=Gtk.FileChooserAction.OPEN, -- buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -- _("_Open"), Gtk.ResponseType.OK)) -+ transient_for=widget.get_toplevel(), -+ action=Gtk.FileChooserAction.OPEN) -+ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -+ _("_Open"), Gtk.ResponseType.OK) -+ dlg.add_buttons(*buttons) - if Gtk.Buildable.get_name(widget) == 'dict:btn_edit': - dlg = Gtk.Dialog(title=_("Edit Dictionary File"), -- parent=self.__builder.get_object('main'), -- flags=Gtk.DialogFlags.MODAL, -- buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -- _("_OK"), Gtk.ResponseType.OK)) -+ transient_for=widget.get_toplevel()) -+ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -+ _("_OK"), Gtk.ResponseType.OK) -+ dlg.add_buttons(*buttons) - - vbox = self.__builder.get_object('dict:add_extra_vbox') - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': -@@ -1516,9 +1525,9 @@ class AnthySetup(object): - lines = unicode(lines, encoding).encode('utf-8') - - dlg = Gtk.Dialog(title=_("View Dictionary File"), -- parent=self.__builder.get_object('main'), -- flags=Gtk.DialogFlags.MODAL, -- buttons=(_("_OK"), Gtk.ResponseType.OK)) -+ transient_for=widget.get_toplevel()) -+ buttons=(_("_OK"), Gtk.ResponseType.OK) -+ dlg.add_buttons(*buttons) - buffer = Gtk.TextBuffer() - buffer.set_text (lines) - text_view = Gtk.TextView.new_with_buffer(buffer) -@@ -1666,6 +1675,7 @@ class AnthySetup(object): - - def on_es_button_run_input_clicked(self, widget): - dlg = self.__builder.get_object('key_input_dialog') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Please press a key (or a key combination)")) - dlg.format_secondary_text(_("The dialog will be closed when the key is released")) - id = dlg.run() -@@ -1686,6 +1696,7 @@ class AnthySetup(object): - s = self.__builder.get_object('es:entry').get_text() - if not s or not IBus.keyval_from_name(s): - dlg = self.__builder.get_object('invalid_keysym') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Invalid keysym")) - dlg.format_secondary_text(_("This keysym is not valid")) - dlg.run() -@@ -1706,6 +1717,7 @@ class AnthySetup(object): - s = self.__builder.get_object('es:entry').get_text() - if not s or not IBus.keyval_from_name(s): - dlg = self.__builder.get_object('invalid_keysym') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Invalid keysym")) - dlg.format_secondary_text(_("This keysym is not valid")) - dlg.run() -diff --git a/setup/python3/main.py b/setup/python3/main.py -index 2073f59..e1ca22e 100644 ---- a/setup/python3/main.py -+++ b/setup/python3/main.py -@@ -328,11 +328,11 @@ class AnthySetup(object): - return (section, key) - - def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): -- dlg = Gtk.MessageDialog(parent=self.__builder.get_object('main'), -- flags=Gtk.DialogFlags.MODAL, -- message_type=type, -- buttons=Gtk.ButtonsType.OK, -- message_format=message) -+ dlg = Gtk.MessageDialog( -+ transient_for=self.__builder.get_object('main'), -+ message_type=type, -+ buttons=Gtk.ButtonsType.OK, -+ text=message) - dlg.run() - dlg.destroy() - -@@ -425,6 +425,7 @@ class AnthySetup(object): - for key, value in sorted(list(rule.items()), \ - key = functools.cmp_to_key(self.__japanese_tuple_sort)): - ls.append(['romaji', key, value]) -+ tv.set_model(None) - tv.append_column(Gtk.TreeViewColumn(_(_("Input Chars")), - Gtk.CellRendererText(), text=1)) - tv.append_column(Gtk.TreeViewColumn(_(_("Output Chars")), -@@ -460,6 +461,7 @@ class AnthySetup(object): - for key, value in sorted(list(rule.items()), \ - key = functools.cmp_to_key(self.__japanese_tuple_sort)): - ls.append(['kana', key, value]) -+ tv.set_model(None) - tv.append_column(Gtk.TreeViewColumn(_(_("Input Chars")), - Gtk.CellRendererText(), text=1)) - tv.append_column(Gtk.TreeViewColumn(_(_("Output Chars")), -@@ -507,6 +509,7 @@ class AnthySetup(object): - for key, value in sorted(list(rule.items()), \ - key = functools.cmp_to_key(self.__japanese_thumb_sort)): - ls.append(['thumb', key, value[0], value[2], value[1]]) -+ tv.set_model(None) - tv.append_column(Gtk.TreeViewColumn(_(_("Input")), - Gtk.CellRendererText(), text=1)) - tv.append_column(Gtk.TreeViewColumn(_(_("Single")), -@@ -587,9 +590,10 @@ class AnthySetup(object): - combobox.clear() - combobox.disconnect_by_func(self.on_cb_custom_key_table_changed) - -- def __run_dialog_custom_key_table(self, mode): -+ def __run_dialog_custom_key_table(self, widget, mode): - prefs = self.prefs - dlg = self.__builder.get_object('dialog_custom_key_table') -+ dlg.set_transient_for(widget.get_toplevel()) - label = self.__builder.get_object('label_custom_key_table') - label_output = self.__builder.get_object('label_output_custom_key') - list_labels = [] -@@ -1128,6 +1132,7 @@ class AnthySetup(object): - Gtk.main_quit() - return True - dlg = self.__builder.get_object('quit_check') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Confirmation")) - dlg.format_secondary_text( - _("You are about to close the setup dialog, is that OK?")) -@@ -1144,6 +1149,7 @@ class AnthySetup(object): - Gtk.main_quit() - return True - dlg = self.__builder.get_object('quit_check_without_save') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Notice!")) - dlg.format_secondary_text( - _("You are about to close the setup dialog without saving your changes, is that OK?")) -@@ -1219,6 +1225,7 @@ class AnthySetup(object): - for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: - self.__builder.get_object(w).set_active(False) - dlg = self.__builder.get_object('edit_shortcut') -+ dlg.set_transient_for(widget.get_toplevel()) - id = dlg.run() - dlg.hide() - if id == Gtk.ResponseType.OK: -@@ -1239,13 +1246,13 @@ class AnthySetup(object): - self.__builder.get_object('btn_apply').set_sensitive(True) - - def on_btn_romaji_custom_table_clicked(self, widget): -- self.__run_dialog_custom_key_table('romaji') -+ self.__run_dialog_custom_key_table(widget, 'romaji') - - def on_btn_kana_custom_table_clicked(self, widget): -- self.__run_dialog_custom_key_table('kana') -+ self.__run_dialog_custom_key_table(widget, 'kana') - - def on_btn_thumb_custom_table_clicked(self, widget): -- self.__run_dialog_custom_key_table('thumb') -+ self.__run_dialog_custom_key_table(widget, 'thumb') - - def on_btn_add_custom_key(self, widget, user_data): - prefs = self.prefs -@@ -1374,6 +1381,7 @@ class AnthySetup(object): - for w in ['es:checkbutton_ctrl', 'es:checkbutton_alt', 'es:checkbutton_shift']: - self.__builder.get_object(w).set_active(False) - dlg = self.__builder.get_object('edit_shortcut') -+ dlg.set_transient_for(widget.get_toplevel()) - id = dlg.run() - dlg.hide() - self.__builder.get_object('es:button_add').show() -@@ -1408,16 +1416,17 @@ class AnthySetup(object): - - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': - dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), -- parent=self.__builder.get_object('main'), -- action=Gtk.FileChooserAction.OPEN, -- buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -- _("_Open"), Gtk.ResponseType.OK)) -+ transient_for=widget.get_toplevel(), -+ action=Gtk.FileChooserAction.OPEN) -+ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -+ _("_Open"), Gtk.ResponseType.OK) -+ dlg.add_buttons(*buttons) - if Gtk.Buildable.get_name(widget) == 'dict:btn_edit': - dlg = Gtk.Dialog(title=_("Edit Dictionary File"), -- parent=self.__builder.get_object('main'), -- flags=Gtk.DialogFlags.MODAL, -- buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -- _("_OK"), Gtk.ResponseType.OK)) -+ transient_for=widget.get_toplevel()) -+ buttons=(_("_Cancel"), Gtk.ResponseType.CANCEL, -+ _("_OK"), Gtk.ResponseType.OK) -+ dlg.add_buttons(*buttons) - - vbox = self.__builder.get_object('dict:add_extra_vbox') - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': -@@ -1510,9 +1519,9 @@ class AnthySetup(object): - lines = str(lines, encoding) - - dlg = Gtk.Dialog(title=_("View Dictionary File"), -- parent=self.__builder.get_object('main'), -- flags=Gtk.DialogFlags.MODAL, -- buttons=(_("_OK"), Gtk.ResponseType.OK)) -+ transient_for=widget.get_toplevel()) -+ buttons=(_("_OK"), Gtk.ResponseType.OK) -+ dlg.add_buttons(*buttons) - buffer = Gtk.TextBuffer() - buffer.set_text (lines) - text_view = Gtk.TextView.new_with_buffer(buffer) -@@ -1660,6 +1669,7 @@ class AnthySetup(object): - - def on_es_button_run_input_clicked(self, widget): - dlg = self.__builder.get_object('key_input_dialog') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Please press a key (or a key combination)")) - dlg.format_secondary_text(_("The dialog will be closed when the key is released")) - id = dlg.run() -@@ -1680,6 +1690,7 @@ class AnthySetup(object): - s = self.__builder.get_object('es:entry').get_text() - if not s or not IBus.keyval_from_name(s): - dlg = self.__builder.get_object('invalid_keysym') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Invalid keysym")) - dlg.format_secondary_text(_("This keysym is not valid")) - dlg.run() -@@ -1700,6 +1711,7 @@ class AnthySetup(object): - s = self.__builder.get_object('es:entry').get_text() - if not s or not IBus.keyval_from_name(s): - dlg = self.__builder.get_object('invalid_keysym') -+ dlg.set_transient_for(widget.get_toplevel()) - dlg.set_markup('%s' % _("Invalid keysym")) - dlg.format_secondary_text(_("This keysym is not valid")) - dlg.run() --- -1.8.5.3 - -From 981c40b4a8cf42ffde07dcf5925539f337461f61 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 10 Jul 2014 17:13:49 +0900 -Subject: [PATCH] Set max-width-chars property in ibus-anthy-setup wrapped - GtkLabel. - ---- - setup/python2/setup.ui | 1 + - setup/python3/setup.ui | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui -index dc5e7e1..b6d8ef2 100644 ---- a/setup/python2/setup.ui -+++ b/setup/python2/setup.ui -@@ -1469,6 +1469,7 @@ - True - 0 - True -+ 74 - You do not have to reconfigure the system keyboard layout for "Additional Key Arrangement" since this option changes input method layout only in case input method is turned on. - You do not have to reconfigure XKB since this option changes IM layout only with IM on. - -diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui -index dc5e7e1..b6d8ef2 100644 ---- a/setup/python3/setup.ui -+++ b/setup/python3/setup.ui -@@ -1469,6 +1469,7 @@ - True - 0 - True -+ 74 - You do not have to reconfigure the system keyboard layout for "Additional Key Arrangement" since this option changes input method layout only in case input method is turned on. - You do not have to reconfigure XKB since this option changes IM layout only with IM on. - --- -1.8.5.3 - -From a1e5f1ce7b87a37cab7ba458ad2343fc20056f47 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 11 Jul 2014 12:11:53 +0900 -Subject: [PATCH] Set a parent window from 'IBUS_SETUP_XID' environment - variable in setup. - ---- - setup/python2/main.py | 25 ++++++++++++++++++++----- - setup/python3/main.py | 25 ++++++++++++++++++++----- - 2 files changed, 40 insertions(+), 10 deletions(-) - -diff --git a/setup/python2/main.py b/setup/python2/main.py -index 5df1cdd..cdfdc4d 100644 ---- a/setup/python2/main.py -+++ b/setup/python2/main.py -@@ -82,22 +82,37 @@ class AnthySetup(object): - builder.add_from_file(builder_file) - - toplevel = builder.get_object('main') -+ parent_xid = 0 -+ parent_wmname = None -+ parent_wmclass = None - - try: -- gnome_control_center_xid = int(environ['GNOME_CONTROL_CENTER_XID']) -+ parent_xid = int(environ['IBUS_SETUP_XID']) -+ if parent_xid != 0: -+ parent_wmname = 'ibus-setup' -+ parent_wmclass = 'Ibus-setup' - except: -- gnome_control_center_xid = 0 -+ pass -+ -+ try: -+ if parent_xid == 0: -+ parent_xid = int(environ['GNOME_CONTROL_CENTER_XID']) -+ if parent_xid != 0: -+ parent_wmname = 'gnome-conrol-center' -+ parent_wmclass = 'Gnome-conrol-center' -+ except: -+ pass - -- if gnome_control_center_xid != 0: -+ if parent_xid != 0: - def set_transient(obj, pspec): - window = toplevel.get_window() - if window == None: - return - parent_window = GdkX11.X11Window.foreign_new_for_display(Gdk.Display.get_default(), -- gnome_control_center_xid) -+ parent_xid) - if parent_window != None: - window.set_transient_for(parent_window) -- toplevel.set_wmclass('gnome-control-center', 'Gnome-control-center') -+ toplevel.set_wmclass(parent_wmname, parent_wmclass) - toplevel.set_modal(True) - toplevel.set_type_hint(Gdk.WindowTypeHint.DIALOG) - toplevel.connect('notify::window', set_transient) -diff --git a/setup/python3/main.py b/setup/python3/main.py -index 8921402..3141bb8 100644 ---- a/setup/python3/main.py -+++ b/setup/python3/main.py -@@ -85,22 +85,37 @@ class AnthySetup(object): - builder.add_from_file(builder_file) - - toplevel = builder.get_object('main') -+ parent_xid = 0 -+ parent_wmname = None -+ parent_wmclass = None - - try: -- gnome_control_center_xid = int(environ['GNOME_CONTROL_CENTER_XID']) -+ parent_xid = int(environ['IBUS_SETUP_XID']) -+ if parent_xid != 0: -+ parent_wmname = 'ibus-setup' -+ parent_wmclass = 'Ibus-setup' - except: -- gnome_control_center_xid = 0 -+ pass -+ -+ try: -+ if parent_xid == 0: -+ parent_xid = int(environ['GNOME_CONTROL_CENTER_XID']) -+ if parent_xid != 0: -+ parent_wmname = 'gnome-conrol-center' -+ parent_wmclass = 'Gnome-conrol-center' -+ except: -+ pass - -- if gnome_control_center_xid != 0: -+ if parent_xid != 0: - def set_transient(obj, pspec): - window = toplevel.get_window() - if window == None: - return - parent_window = GdkX11.X11Window.foreign_new_for_display(Gdk.Display.get_default(), -- gnome_control_center_xid) -+ parent_xid) - if parent_window != None: - window.set_transient_for(parent_window) -- toplevel.set_wmclass('gnome-control-center', 'Gnome-control-center') -+ toplevel.set_wmclass(parent_wmname, parent_wmclass) - toplevel.set_modal(True) - toplevel.set_type_hint(Gdk.WindowTypeHint.DIALOG) - toplevel.connect('notify::window', set_transient) --- -1.8.5.3 - -From 4d605b873bf4b0af2a337cd076175c8d0a703346 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 27 Feb 2014 18:32:01 +0900 -Subject: [PATCH] Added another status icon for input mode. - ---- - engine/python2/Makefile.am | 5 +- - engine/python2/engine.py | 94 ++++++++- - engine/python2/propertyicon.py | 81 ++++++++ - engine/python3/Makefile.am | 5 +- - engine/python3/engine.py | 92 ++++++++- - engine/python3/propertyicon.py | 81 ++++++++ - po/ibus-anthy.pot | 426 +++++++++++++++++++++-------------------- - setup/python2/anthyprefs.py.in | 6 +- - setup/python2/main.py | 6 +- - setup/python2/prefs.py | 32 +++- - setup/python2/setup.ui | 19 +- - setup/python3/anthyprefs.py.in | 2 + - setup/python3/main.py | 6 +- - setup/python3/prefs.py | 28 ++- - setup/python3/setup.ui | 19 +- - 15 files changed, 658 insertions(+), 244 deletions(-) - create mode 100644 engine/python2/propertyicon.py - create mode 100644 engine/python3/propertyicon.py - -diff --git a/engine/python2/Makefile.am b/engine/python2/Makefile.am -index a96f831..965d534 100644 ---- a/engine/python2/Makefile.am -+++ b/engine/python2/Makefile.am -@@ -3,8 +3,8 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ - jastring.py \ - kana.py \ - main.py \ -+ propertyicon.py \ - romaji.py \ - segment.py \ - tables.py \ -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 90a5750..c7a6fb3 100644 ---- a/engine/python2/engine.py -+++ b/engine/python2/engine.py -@@ -4,8 +4,8 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -35,6 +35,7 @@ try: - except: - pass - -+from gi.repository import Gio - from gi.repository import GLib - from gi.repository import IBus - -@@ -117,6 +118,7 @@ class Engine(IBus.EngineSimple): - __keybind = {} - __thumb = None - __latin_with_shift = True -+ __input_mode_icon = None - - def __init__(self, bus, object_path): - super(Engine, self).__init__(engine_name="anthy", -@@ -170,6 +172,8 @@ class Engine(IBus.EngineSimple): - ibus_config.connect('value-changed', - self.__config_value_changed_cb) - -+ self.__run_input_mode_icon() -+ - def __get_ibus_version(self): - if self.__ibus_version == 0.0: - self.__ibus_version = \ -@@ -258,6 +262,73 @@ class Engine(IBus.EngineSimple): - signal.signal(signum, signal.SIG_DFL) - os.kill(os.getpid(), signum) - -+ def __is_gnome_shell_running(self): -+ connection = None -+ variant = None -+ -+ try: -+ connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) -+ variant = connection.call_sync('org.gnome.Shell', -+ '/org/gnome/Shell', -+ 'org.freedesktop.DBus.Peer', -+ 'Ping', -+ None, -+ None, -+ Gio.DBusCallFlags.NONE, -+ -1, -+ None) -+ except GLib.GError as e: -+ pass -+ -+ if connection != None: -+ try: -+ connection.flush_sync(None) -+ except GLib.GError as e: -+ printerr('GDBusConnection flush failed: ' + str(e)) -+ -+ if variant == None: -+ return False -+ return True -+ -+ def __run_input_mode_icon(self): -+ self.__input_mode_icon = None -+ -+ if self.__is_gnome_shell_running(): -+ return -+ try: -+ from gi.repository import Gdk -+ if Gdk.Display.get_default() == None: -+ return -+ except Exception as e: -+ printerr('import Gdk failed: ' + str(e)) -+ return -+ -+ if not self.__prefs.get_value('common', 'show-input-mode-icon'): -+ return -+ -+ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) -+ spec = self.__prefs.get_value('common', 'icon-str-rgba') -+ if not rgba.parse(spec): -+ printerr('invalid icon-str-rgba: %s' % spec) -+ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) -+ -+ modes = { -+ INPUT_MODE_HIRAGANA : 'あ', -+ INPUT_MODE_KATAKANA : 'ア', -+ INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', -+ INPUT_MODE_LATIN : '_A', -+ INPUT_MODE_WIDE_LATIN : 'A', -+ } -+ -+ try: -+ import propertyicon -+ self.__input_mode_icon = propertyicon.PropertyIcon(rgba) -+ self.__input_mode_icon.set_visible(True) -+ self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) -+ except Exception as e: -+ printerr('import PropertyIcon failed: ' + str(e)) -+ return -+ - def __set_input_mode_props(self, anthy_props): - # The class method is kept even if the engine is switched. - if Engine.__input_mode == None: -@@ -847,6 +918,9 @@ class Engine(IBus.EngineSimple): - prop.set_label(IBus.Text.new_from_string(label)) - self.update_property(prop) - -+ if self.__input_mode_icon != None: -+ self.__input_mode_icon.set_from_symbol(symbol) -+ - self.__reset() - self.__invalidate() - -@@ -1030,6 +1104,7 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -+ self.__input_mode_icon = None - - def __join_all_segments(self): - while True: -@@ -1109,7 +1184,7 @@ class Engine(IBus.EngineSimple): - - # fill lookup_table - self.__lookup_table.clear() -- for i in xrange(0, seg_stat.nr_predictions): -+ for i in xrange(0, nr_predictions): - buf = self.__context.get_prediction(i) - candidate = UN(buf) - self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) -@@ -1220,6 +1295,12 @@ class Engine(IBus.EngineSimple): - def __update_anthy_convert_chars(self): - self.__convert_chars = u'' - pos = 0 -+ -+ (seg_index, text) = self.__segments[self.__cursor_pos] -+ # prediction lookup window + BackSpace will return None -+ if text == None: -+ return -+ - for i, (seg_index, text) in enumerate(self.__segments): - self.__convert_chars += text - if i < self.__cursor_pos: -@@ -2110,6 +2191,13 @@ class Engine(IBus.EngineSimple): - self.__fetch_dict_values(base_sec) - self.__prefs.set_value(base_sec, name, value) - self.__set_dict_mode_props(self.__prop_list, True) -+ elif base_sec == 'common': -+ if name == 'show_input_mode_icon': -+ name = 'show-input-mode-icon' -+ self.__prefs.set_value(base_sec, name, value) -+ self.__run_input_mode_icon() -+ else: -+ self.__prefs.set_value(base_sec, name, value) - elif base_sec: - self.__prefs.set_value(base_sec, name, value) - else: -diff --git a/engine/python2/propertyicon.py b/engine/python2/propertyicon.py -new file mode 100644 -index 0000000..fa5f34f ---- /dev/null -+++ b/engine/python2/propertyicon.py -@@ -0,0 +1,81 @@ -+# vim:set et sts=4 sw=4: -+# -*- coding: utf-8 -*- -+# -+# ibus-anthy - The Anthy engine for IBus -+# -+# Copyright (c) 2014 Takao Fujiwara -+# Copyright (c) 2014 Red Hat, Inc. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License along -+# with this program; if not, write to the Free Software Foundation, Inc., -+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ -+# for python2 -+from __future__ import print_function -+ -+import cairo -+import sys -+ -+from gi.repository import Gdk -+from gi.repository import Gio -+from gi.repository import GLib -+from gi.repository import Gtk -+from gi.repository import Pango -+from gi.repository import PangoCairo -+ -+class PropertyIcon(Gtk.StatusIcon): -+ __xkb_icon_pixbufs = {} -+ __xkb_icon_rgba = None -+ -+ def __init__(self, rgba): -+ super(Gtk.StatusIcon, self).__init__() -+ self.__xkb_icon_rgba = rgba -+ -+ def __context_render_string(self, cr, symbol, image_width, image_height): -+ lwidth = 0 -+ lheight = 0 -+ desc = Pango.FontDescription.from_string('Monospace Bold 22') -+ layout = PangoCairo.create_layout(cr) -+ -+ layout.set_font_description(desc) -+ layout.set_text(symbol, -1) -+ (lwidth, lheight) = layout.get_size() -+ cr.move_to((image_width - lwidth / Pango.SCALE) / 2, -+ (image_height - lheight / Pango.SCALE) / 2) -+ cr.set_source_rgba(self.__xkb_icon_rgba.red, -+ self.__xkb_icon_rgba.green, -+ self.__xkb_icon_rgba.blue, -+ self.__xkb_icon_rgba.alpha) -+ PangoCairo.show_layout(cr, layout) -+ -+ def __create_icon_pixbuf_with_string(self, symbol): -+ if symbol in self.__xkb_icon_pixbufs: -+ return self.__xkb_icon_pixbufs[symbol] -+ -+ image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) -+ cr = cairo.Context(image) -+ width = image.get_width() -+ height = image.get_height() -+ -+ cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) -+ cr.set_operator(cairo.OPERATOR_SOURCE) -+ cr.paint() -+ cr.set_operator(cairo.OPERATOR_OVER) -+ self.__context_render_string(cr, symbol, width, height) -+ pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) -+ self.__xkb_icon_pixbufs[symbol] = pixbuf -+ return pixbuf -+ -+ def set_from_symbol(self, symbol): -+ pixbuf = self.__create_icon_pixbuf_with_string(symbol) -+ self.set_from_pixbuf(pixbuf) -diff --git a/engine/python3/Makefile.am b/engine/python3/Makefile.am -index a96f831..965d534 100644 ---- a/engine/python3/Makefile.am -+++ b/engine/python3/Makefile.am -@@ -3,8 +3,8 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ - jastring.py \ - kana.py \ - main.py \ -+ propertyicon.py \ - romaji.py \ - segment.py \ - tables.py \ -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index 7eadf23..6563087 100644 ---- a/engine/python3/engine.py -+++ b/engine/python3/engine.py -@@ -36,6 +36,7 @@ try: - except: - pass - -+from gi.repository import Gio - from gi.repository import GLib - from gi.repository import IBus - -@@ -118,6 +119,7 @@ class Engine(IBus.EngineSimple): - __keybind = {} - __thumb = None - __latin_with_shift = True -+ __input_mode_icon = None - - def __init__(self, bus, object_path): - super(Engine, self).__init__(engine_name="anthy", -@@ -171,6 +173,8 @@ class Engine(IBus.EngineSimple): - ibus_config.connect('value-changed', - self.__config_value_changed_cb) - -+ self.__run_input_mode_icon() -+ - def __get_ibus_version(self): - if self.__ibus_version == 0.0: - self.__ibus_version = \ -@@ -259,6 +263,73 @@ class Engine(IBus.EngineSimple): - signal.signal(signum, signal.SIG_DFL) - os.kill(os.getpid(), signum) - -+ def __is_gnome_shell_running(self): -+ connection = None -+ variant = None -+ -+ try: -+ connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) -+ variant = connection.call_sync('org.gnome.Shell', -+ '/org/gnome/Shell', -+ 'org.freedesktop.DBus.Peer', -+ 'Ping', -+ None, -+ None, -+ Gio.DBusCallFlags.NONE, -+ -1, -+ None) -+ except GLib.GError as e: -+ pass -+ -+ if connection != None: -+ try: -+ connection.flush_sync(None) -+ except GLib.GError as e: -+ printerr('GDBusConnection flush failed: ' + str(e)) -+ -+ if variant == None: -+ return False -+ return True -+ -+ def __run_input_mode_icon(self): -+ self.__input_mode_icon = None -+ -+ if self.__is_gnome_shell_running(): -+ return -+ try: -+ from gi.repository import Gdk -+ if Gdk.Display.get_default() == None: -+ return -+ except Exception as e: -+ printerr('import Gdk failed: ' + str(e)) -+ return -+ -+ if not self.__prefs.get_value('common', 'show-input-mode-icon'): -+ return -+ -+ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) -+ spec = self.__prefs.get_value('common', 'icon-str-rgba') -+ if not rgba.parse(spec): -+ printerr('invalid icon-str-rgba: %s' % spec) -+ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) -+ -+ modes = { -+ INPUT_MODE_HIRAGANA : 'あ', -+ INPUT_MODE_KATAKANA : 'ア', -+ INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', -+ INPUT_MODE_LATIN : '_A', -+ INPUT_MODE_WIDE_LATIN : 'A', -+ } -+ -+ try: -+ import propertyicon -+ self.__input_mode_icon = propertyicon.PropertyIcon(rgba) -+ self.__input_mode_icon.set_visible(True) -+ self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) -+ except Exception as e: -+ printerr('import PropertyIcon failed: ' + str(e)) -+ return -+ - def __set_input_mode_props(self, anthy_props): - # The class method is kept even if the engine is switched. - if Engine.__input_mode == None: -@@ -842,6 +913,9 @@ class Engine(IBus.EngineSimple): - prop.set_label(IBus.Text.new_from_string(label)) - self.update_property(prop) - -+ if self.__input_mode_icon != None: -+ self.__input_mode_icon.set_from_symbol(symbol) -+ - self.__reset() - self.__invalidate() - -@@ -1025,6 +1099,7 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -+ self.__input_mode_icon = None - - def __join_all_segments(self): - while True: -@@ -1104,7 +1179,7 @@ class Engine(IBus.EngineSimple): - - # fill lookup_table - self.__lookup_table.clear() -- for i in range(0, seg_stat.nr_predictions): -+ for i in range(0, nr_predictions): - buf = self.__context.get_prediction(i) - candidate = buf - self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) -@@ -1215,6 +1290,12 @@ class Engine(IBus.EngineSimple): - def __update_anthy_convert_chars(self): - self.__convert_chars = '' - pos = 0 -+ -+ (seg_index, text) = self.__segments[self.__cursor_pos] -+ # prediction lookup window + BackSpace will return None -+ if text == None: -+ return -+ - for i, (seg_index, text) in enumerate(self.__segments): - self.__convert_chars += text - if i < self.__cursor_pos: -@@ -2104,6 +2185,13 @@ class Engine(IBus.EngineSimple): - self.__fetch_dict_values(base_sec) - self.__prefs.set_value(base_sec, name, value) - self.__set_dict_mode_props(self.__prop_list, True) -+ elif base_sec == 'common': -+ if name == 'show_input_mode_icon': -+ name = 'show-input-mode-icon' -+ self.__prefs.set_value(base_sec, name, value) -+ self.__run_input_mode_icon() -+ else: -+ self.__prefs.set_value(base_sec, name, value) - elif base_sec: - self.__prefs.set_value(base_sec, name, value) - else: -@@ -2312,7 +2400,7 @@ class Engine(IBus.EngineSimple): - nr_predictions = self.__context.get_nr_predictions() - - # for i in range(nr_predictions): --# print self.__context.get_prediction(i) -+# print(self.__context.get_prediction(i)) - - buf = self.__context.get_prediction(0) - if not buf: -diff --git a/engine/python3/propertyicon.py b/engine/python3/propertyicon.py -new file mode 100644 -index 0000000..fa5f34f ---- /dev/null -+++ b/engine/python3/propertyicon.py -@@ -0,0 +1,81 @@ -+# vim:set et sts=4 sw=4: -+# -*- coding: utf-8 -*- -+# -+# ibus-anthy - The Anthy engine for IBus -+# -+# Copyright (c) 2014 Takao Fujiwara -+# Copyright (c) 2014 Red Hat, Inc. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License along -+# with this program; if not, write to the Free Software Foundation, Inc., -+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ -+# for python2 -+from __future__ import print_function -+ -+import cairo -+import sys -+ -+from gi.repository import Gdk -+from gi.repository import Gio -+from gi.repository import GLib -+from gi.repository import Gtk -+from gi.repository import Pango -+from gi.repository import PangoCairo -+ -+class PropertyIcon(Gtk.StatusIcon): -+ __xkb_icon_pixbufs = {} -+ __xkb_icon_rgba = None -+ -+ def __init__(self, rgba): -+ super(Gtk.StatusIcon, self).__init__() -+ self.__xkb_icon_rgba = rgba -+ -+ def __context_render_string(self, cr, symbol, image_width, image_height): -+ lwidth = 0 -+ lheight = 0 -+ desc = Pango.FontDescription.from_string('Monospace Bold 22') -+ layout = PangoCairo.create_layout(cr) -+ -+ layout.set_font_description(desc) -+ layout.set_text(symbol, -1) -+ (lwidth, lheight) = layout.get_size() -+ cr.move_to((image_width - lwidth / Pango.SCALE) / 2, -+ (image_height - lheight / Pango.SCALE) / 2) -+ cr.set_source_rgba(self.__xkb_icon_rgba.red, -+ self.__xkb_icon_rgba.green, -+ self.__xkb_icon_rgba.blue, -+ self.__xkb_icon_rgba.alpha) -+ PangoCairo.show_layout(cr, layout) -+ -+ def __create_icon_pixbuf_with_string(self, symbol): -+ if symbol in self.__xkb_icon_pixbufs: -+ return self.__xkb_icon_pixbufs[symbol] -+ -+ image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) -+ cr = cairo.Context(image) -+ width = image.get_width() -+ height = image.get_height() -+ -+ cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) -+ cr.set_operator(cairo.OPERATOR_SOURCE) -+ cr.paint() -+ cr.set_operator(cairo.OPERATOR_OVER) -+ self.__context_render_string(cr, symbol, width, height) -+ pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) -+ self.__xkb_icon_pixbufs[symbol] = pixbuf -+ return pixbuf -+ -+ def set_from_symbol(self, symbol): -+ pixbuf = self.__create_icon_pixbuf_with_string(symbol) -+ self.set_from_pixbuf(pixbuf) -diff --git a/setup/python2/anthyprefs.py.in b/setup/python2/anthyprefs.py.in -index a685da1..883fb23 100644 ---- a/setup/python2/anthyprefs.py.in -+++ b/setup/python2/anthyprefs.py.in -@@ -5,8 +5,8 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -362,6 +362,8 @@ _config = { - 'show-dict-mode': True, - 'show-dict-config': False, - 'show-preferences': True, -+ 'show-input-mode-icon': True, -+ 'icon-str-rgba': '#41507a', - - 'period_style': 0, - 'symbol_style': 1, -diff --git a/setup/python2/main.py b/setup/python2/main.py -index 7c403b8..0e7c62e 100644 ---- a/setup/python2/main.py -+++ b/setup/python2/main.py -@@ -144,7 +144,8 @@ class AnthySetup(object): - 'half_width_symbol', 'half_width_number', 'half_width_space', - 'latin_with_shift', - 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', -- 'thumb:fmv_extension', 'thumb:handakuten']: -+ 'thumb:fmv_extension', 'thumb:handakuten', -+ 'show_input_mode_icon']: - section, key = self.__get_section_key(name) - builder.get_object(name).set_active(prefs.get_value(section, key)) - -@@ -322,6 +323,9 @@ class AnthySetup(object): - else: - section = 'common' - key = name -+ if section == 'common': -+ if name == 'show_input_mode_icon': -+ key = 'show-input-mode-icon' - return (section, key) - - def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): -diff --git a/setup/python2/prefs.py b/setup/python2/prefs.py -index 1b88908..9a147ee 100644 ---- a/setup/python2/prefs.py -+++ b/setup/python2/prefs.py -@@ -4,8 +4,8 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -145,15 +145,27 @@ class Prefs(object): - variant = self._config.get_values(s) - for key in variant.keys(): - v = variant[key] -+ # FIXME: ibus-dconf converts the keys. -+ #if key.find('_') >= 0: -+ # key = key.replace('_', '-') -+ if section == 'common': -+ if key == 'show_input_mode': -+ key = 'show-input-mode' -+ elif key == 'show_typing_method': -+ key = 'show-typing-method' -+ elif key == 'show_segment_mode': -+ key = 'show-segment-mode' -+ elif key == 'show_dict_mode': -+ key = 'show-dict-mode' -+ elif key == 'show_dict_config': -+ key = 'show-dict-config' -+ elif key == 'show_preferences': -+ key = 'show-preferences' -+ elif key == 'show_input_mode_icon': -+ key = 'show-input-mode-icon' -+ elif key == 'icon_str_rgba': -+ key = 'icon-str-rgba' - self.modified.setdefault(section, {})[key] = v if v != [''] else [] -- # FIXME: ibus-dconf converts the keys. -- if section == 'common': -- self.fetch_item(section, 'show-input-mode') -- self.fetch_item(section, 'show-typing-method') -- self.fetch_item(section, 'show-segment-mode') -- self.fetch_item(section, 'show-dict-mode') -- self.fetch_item(section, 'show-dict-config') -- self.fetch_item(section, 'show-preferences') - - def fetch_item(self, section, key, readonly=False): - if self._config == None: -diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui -index dc5e7e1..edd6cfa 100644 ---- a/setup/python2/setup.ui -+++ b/setup/python2/setup.ui -@@ -346,6 +346,23 @@ - - - -+ -+ _Show input mode icon -+ True -+ True -+ False -+ True -+ True -+ -+ -+ -+ -+ False -+ False -+ 1 -+ -+ -+ - - True - 0 -@@ -396,7 +413,7 @@ - - False - False -- 1 -+ 2 - - - -diff --git a/setup/python3/anthyprefs.py.in b/setup/python3/anthyprefs.py.in -index 53c9d1d..b9032f2 100644 ---- a/setup/python3/anthyprefs.py.in -+++ b/setup/python3/anthyprefs.py.in -@@ -355,6 +355,8 @@ _config = { - 'show-dict-mode': True, - 'show-dict-config': False, - 'show-preferences': True, -+ 'show-input-mode-icon': True, -+ 'icon-str-rgba': '#41507a', - - 'period_style': 0, - 'symbol_style': 1, -diff --git a/setup/python3/main.py b/setup/python3/main.py -index 2073f59..f70bc1f 100644 ---- a/setup/python3/main.py -+++ b/setup/python3/main.py -@@ -147,7 +147,8 @@ class AnthySetup(object): - 'half_width_symbol', 'half_width_number', 'half_width_space', - 'latin_with_shift', - 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', -- 'thumb:fmv_extension', 'thumb:handakuten']: -+ 'thumb:fmv_extension', 'thumb:handakuten', -+ 'show_input_mode_icon']: - section, key = self.__get_section_key(name) - builder.get_object(name).set_active(prefs.get_value(section, key)) - -@@ -325,6 +326,9 @@ class AnthySetup(object): - else: - section = 'common' - key = name -+ if section == 'common': -+ if name == 'show_input_mode_icon': -+ key = 'show-input-mode-icon' - return (section, key) - - def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): -diff --git a/setup/python3/prefs.py b/setup/python3/prefs.py -index a4af88d..2b3f4ea 100644 ---- a/setup/python3/prefs.py -+++ b/setup/python3/prefs.py -@@ -145,15 +145,27 @@ class Prefs(object): - variant = self._config.get_values(s) - for key in list(variant.keys()): - v = variant[key] -+ # FIXME: ibus-dconf converts the keys. -+ #if key.find('_') >= 0: -+ # key = key.replace('_', '-') -+ if section == 'common': -+ if key == 'show_input_mode': -+ key = 'show-input-mode' -+ elif key == 'show_typing_method': -+ key = 'show-typing-method' -+ elif key == 'show_segment_mode': -+ key = 'show-segment-mode' -+ elif key == 'show_dict_mode': -+ key = 'show-dict-mode' -+ elif key == 'show_dict_config': -+ key = 'show-dict-config' -+ elif key == 'show_preferences': -+ key = 'show-preferences' -+ elif key == 'show_input_mode_icon': -+ key = 'show-input-mode-icon' -+ elif key == 'icon_str_rgba': -+ key = 'icon-str-rgba' - self.modified.setdefault(section, {})[key] = v if v != [''] else [] -- # FIXME: ibus-dconf converts the keys. -- if section == 'common': -- self.fetch_item(section, 'show-input-mode') -- self.fetch_item(section, 'show-typing-method') -- self.fetch_item(section, 'show-segment-mode') -- self.fetch_item(section, 'show-dict-mode') -- self.fetch_item(section, 'show-dict-config') -- self.fetch_item(section, 'show-preferences') - - def fetch_item(self, section, key, readonly=False): - if self._config == None: -diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui -index dc5e7e1..edd6cfa 100644 ---- a/setup/python3/setup.ui -+++ b/setup/python3/setup.ui -@@ -346,6 +346,23 @@ - - - -+ -+ _Show input mode icon -+ True -+ True -+ False -+ True -+ True -+ -+ -+ -+ -+ False -+ False -+ 1 -+ -+ -+ - - True - 0 -@@ -396,7 +413,7 @@ - - False - False -- 1 -+ 2 - - - --- -1.8.0 - -From c13d52a823ee2b084e57bde3859ead64f94bd437 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Mon, 21 Apr 2014 17:05:19 +0900 -Subject: [PATCH] Fix to unref pixbuf when propery icon is unrefed. - ---- - engine/python2/engine.py | 1 + - engine/python2/propertyicon.py | 6 ++++++ - engine/python3/engine.py | 1 + - engine/python3/propertyicon.py | 6 ++++++ - 4 files changed, 14 insertions(+) - -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index c7a6fb3..68a4b48 100644 ---- a/engine/python2/engine.py -+++ b/engine/python2/engine.py -@@ -1104,6 +1104,7 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -+ self.__input_mode_icon.clear() - self.__input_mode_icon = None - - def __join_all_segments(self): -diff --git a/engine/python2/propertyicon.py b/engine/python2/propertyicon.py -index fa5f34f..437e94c 100644 ---- a/engine/python2/propertyicon.py -+++ b/engine/python2/propertyicon.py -@@ -76,6 +76,12 @@ class PropertyIcon(Gtk.StatusIcon): - self.__xkb_icon_pixbufs[symbol] = pixbuf - return pixbuf - -+ def clear(self): -+ self.set_from_icon_name('') -+ self.set_visible(False) -+ self.__xkb_icon_pixbufs = {} -+ self.__xkb_icon_rgba = None -+ - def set_from_symbol(self, symbol): - pixbuf = self.__create_icon_pixbuf_with_string(symbol) - self.set_from_pixbuf(pixbuf) -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index 6563087..67370d8 100644 ---- a/engine/python3/engine.py -+++ b/engine/python3/engine.py -@@ -1099,6 +1099,7 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -+ self.__input_mode_icon.clear() - self.__input_mode_icon = None - - def __join_all_segments(self): -diff --git a/engine/python3/propertyicon.py b/engine/python3/propertyicon.py -index fa5f34f..437e94c 100644 ---- a/engine/python3/propertyicon.py -+++ b/engine/python3/propertyicon.py -@@ -76,6 +76,12 @@ class PropertyIcon(Gtk.StatusIcon): - self.__xkb_icon_pixbufs[symbol] = pixbuf - return pixbuf - -+ def clear(self): -+ self.set_from_icon_name('') -+ self.set_visible(False) -+ self.__xkb_icon_pixbufs = {} -+ self.__xkb_icon_rgba = None -+ - def set_from_symbol(self, symbol): - pixbuf = self.__create_icon_pixbuf_with_string(symbol) - self.set_from_pixbuf(pixbuf) --- -1.8.5.3 - -From b852cfb6061259e4fd7198e3a2579b4495e15ecd Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Mon, 19 May 2014 12:01:22 +0900 -Subject: [PATCH] Fix None object has clear() in input mode icon. (#1097364) - ---- - engine/python2/engine.py | 3 ++- - engine/python3/engine.py | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 68a4b48..68e898b 100644 ---- a/engine/python2/engine.py -+++ b/engine/python2/engine.py -@@ -1104,7 +1104,8 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -- self.__input_mode_icon.clear() -+ if self.__input_mode_icon != None: -+ self.__input_mode_icon.clear() - self.__input_mode_icon = None - - def __join_all_segments(self): -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index 67370d8..517a64a 100644 ---- a/engine/python3/engine.py -+++ b/engine/python3/engine.py -@@ -1099,7 +1099,8 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -- self.__input_mode_icon.clear() -+ if self.__input_mode_icon != None: -+ self.__input_mode_icon.clear() - self.__input_mode_icon = None - - def __join_all_segments(self): --- -1.8.5.3 diff --git a/ibus-anthy-xx-input-mode.patch b/ibus-anthy-xx-input-mode.patch new file mode 100644 index 0000000..2782ba1 --- /dev/null +++ b/ibus-anthy-xx-input-mode.patch @@ -0,0 +1,4997 @@ +From d43fff0f30ed2d4221a0d431bfbd230b097e9881 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 21 Aug 2014 19:24:41 +0900 +Subject: [PATCH 1/4] Added another status icon for input mode. + +--- + engine/python2/Makefile.am | 5 +- + engine/python2/engine.py | 94 ++++++++- + engine/python2/propertyicon.py | 81 ++++++++ + engine/python3/Makefile.am | 5 +- + engine/python3/engine.py | 92 ++++++++- + engine/python3/propertyicon.py | 81 ++++++++ + setup/python2/anthyprefs.py.in | 6 +- + setup/python2/main.py | 6 +- + setup/python2/prefs.py | 32 ++- + setup/python2/setup.ui | 19 +- + setup/python3/anthyprefs.py.in | 2 + + setup/python3/main.py | 6 +- + setup/python3/prefs.py | 28 ++- + setup/python3/setup.ui | 19 +- + 15 files changed, 660 insertions(+), 246 deletions(-) + create mode 100644 engine/python2/propertyicon.py + create mode 100644 engine/python3/propertyicon.py + +diff --git a/engine/python2/Makefile.am b/engine/python2/Makefile.am +index a96f831..965d534 100644 +--- a/engine/python2/Makefile.am ++++ b/engine/python2/Makefile.am +@@ -3,8 +3,8 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ + jastring.py \ + kana.py \ + main.py \ ++ propertyicon.py \ + romaji.py \ + segment.py \ + tables.py \ +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index b298c9c..3339eda 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -4,8 +4,8 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -35,6 +35,7 @@ try: + except: + pass + ++from gi.repository import Gio + from gi.repository import GLib + from gi.repository import IBus + +@@ -117,6 +118,7 @@ class Engine(IBus.EngineSimple): + __keybind = {} + __thumb = None + __latin_with_shift = True ++ __input_mode_icon = None + + def __init__(self, bus, object_path): + super(Engine, self).__init__(engine_name="anthy", +@@ -170,6 +172,8 @@ class Engine(IBus.EngineSimple): + ibus_config.connect('value-changed', + self.__config_value_changed_cb) + ++ self.__run_input_mode_icon() ++ + def __get_ibus_version(self): + if self.__ibus_version == 0.0: + self.__ibus_version = \ +@@ -258,6 +262,73 @@ class Engine(IBus.EngineSimple): + signal.signal(signum, signal.SIG_DFL) + os.kill(os.getpid(), signum) + ++ def __is_gnome_shell_running(self): ++ connection = None ++ variant = None ++ ++ try: ++ connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) ++ variant = connection.call_sync('org.gnome.Shell', ++ '/org/gnome/Shell', ++ 'org.freedesktop.DBus.Peer', ++ 'Ping', ++ None, ++ None, ++ Gio.DBusCallFlags.NONE, ++ -1, ++ None) ++ except GLib.GError as e: ++ pass ++ ++ if connection != None: ++ try: ++ connection.flush_sync(None) ++ except GLib.GError as e: ++ printerr('GDBusConnection flush failed: ' + str(e)) ++ ++ if variant == None: ++ return False ++ return True ++ ++ def __run_input_mode_icon(self): ++ self.__input_mode_icon = None ++ ++ if self.__is_gnome_shell_running(): ++ return ++ try: ++ from gi.repository import Gdk ++ if Gdk.Display.get_default() == None: ++ return ++ except Exception as e: ++ printerr('import Gdk failed: ' + str(e)) ++ return ++ ++ if not self.__prefs.get_value('common', 'show-input-mode-icon'): ++ return ++ ++ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) ++ spec = self.__prefs.get_value('common', 'icon-str-rgba') ++ if not rgba.parse(spec): ++ printerr('invalid icon-str-rgba: %s' % spec) ++ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) ++ ++ modes = { ++ INPUT_MODE_HIRAGANA : 'あ', ++ INPUT_MODE_KATAKANA : 'ア', ++ INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', ++ INPUT_MODE_LATIN : '_A', ++ INPUT_MODE_WIDE_LATIN : 'A', ++ } ++ ++ try: ++ import propertyicon ++ self.__input_mode_icon = propertyicon.PropertyIcon(rgba) ++ self.__input_mode_icon.set_visible(True) ++ self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) ++ except Exception as e: ++ printerr('import PropertyIcon failed: ' + str(e)) ++ return ++ + def __set_input_mode_props(self, anthy_props): + # The class method is kept even if the engine is switched. + if Engine.__input_mode == None: +@@ -847,6 +918,9 @@ class Engine(IBus.EngineSimple): + prop.set_label(IBus.Text.new_from_string(label)) + self.update_property(prop) + ++ if self.__input_mode_icon != None: ++ self.__input_mode_icon.set_from_symbol(symbol) ++ + self.__reset() + self.__invalidate() + +@@ -1030,6 +1104,7 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. ++ self.__input_mode_icon = None + + def __join_all_segments(self): + while True: +@@ -1109,7 +1184,7 @@ class Engine(IBus.EngineSimple): + + # fill lookup_table + self.__lookup_table.clear() +- for i in xrange(0, seg_stat.nr_predictions): ++ for i in xrange(0, nr_predictions): + buf = self.__context.get_prediction(i) + candidate = UN(buf) + self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) +@@ -1220,6 +1295,12 @@ class Engine(IBus.EngineSimple): + def __update_anthy_convert_chars(self): + self.__convert_chars = u'' + pos = 0 ++ ++ (seg_index, text) = self.__segments[self.__cursor_pos] ++ # prediction lookup window + BackSpace will return None ++ if text == None: ++ return ++ + for i, (seg_index, text) in enumerate(self.__segments): + self.__convert_chars += text + if i < self.__cursor_pos: +@@ -2110,6 +2191,13 @@ class Engine(IBus.EngineSimple): + self.__fetch_dict_values(base_sec) + self.__prefs.set_value(base_sec, name, value) + self.__set_dict_mode_props(self.__prop_list, True) ++ elif base_sec == 'common': ++ if name == 'show_input_mode_icon': ++ name = 'show-input-mode-icon' ++ self.__prefs.set_value(base_sec, name, value) ++ self.__run_input_mode_icon() ++ else: ++ self.__prefs.set_value(base_sec, name, value) + elif base_sec: + self.__prefs.set_value(base_sec, name, value) + else: +diff --git a/engine/python2/propertyicon.py b/engine/python2/propertyicon.py +new file mode 100644 +index 0000000..fa5f34f +--- /dev/null ++++ b/engine/python2/propertyicon.py +@@ -0,0 +1,81 @@ ++# vim:set et sts=4 sw=4: ++# -*- coding: utf-8 -*- ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2014 Takao Fujiwara ++# Copyright (c) 2014 Red Hat, Inc. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++# for python2 ++from __future__ import print_function ++ ++import cairo ++import sys ++ ++from gi.repository import Gdk ++from gi.repository import Gio ++from gi.repository import GLib ++from gi.repository import Gtk ++from gi.repository import Pango ++from gi.repository import PangoCairo ++ ++class PropertyIcon(Gtk.StatusIcon): ++ __xkb_icon_pixbufs = {} ++ __xkb_icon_rgba = None ++ ++ def __init__(self, rgba): ++ super(Gtk.StatusIcon, self).__init__() ++ self.__xkb_icon_rgba = rgba ++ ++ def __context_render_string(self, cr, symbol, image_width, image_height): ++ lwidth = 0 ++ lheight = 0 ++ desc = Pango.FontDescription.from_string('Monospace Bold 22') ++ layout = PangoCairo.create_layout(cr) ++ ++ layout.set_font_description(desc) ++ layout.set_text(symbol, -1) ++ (lwidth, lheight) = layout.get_size() ++ cr.move_to((image_width - lwidth / Pango.SCALE) / 2, ++ (image_height - lheight / Pango.SCALE) / 2) ++ cr.set_source_rgba(self.__xkb_icon_rgba.red, ++ self.__xkb_icon_rgba.green, ++ self.__xkb_icon_rgba.blue, ++ self.__xkb_icon_rgba.alpha) ++ PangoCairo.show_layout(cr, layout) ++ ++ def __create_icon_pixbuf_with_string(self, symbol): ++ if symbol in self.__xkb_icon_pixbufs: ++ return self.__xkb_icon_pixbufs[symbol] ++ ++ image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) ++ cr = cairo.Context(image) ++ width = image.get_width() ++ height = image.get_height() ++ ++ cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) ++ cr.set_operator(cairo.OPERATOR_SOURCE) ++ cr.paint() ++ cr.set_operator(cairo.OPERATOR_OVER) ++ self.__context_render_string(cr, symbol, width, height) ++ pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) ++ self.__xkb_icon_pixbufs[symbol] = pixbuf ++ return pixbuf ++ ++ def set_from_symbol(self, symbol): ++ pixbuf = self.__create_icon_pixbuf_with_string(symbol) ++ self.set_from_pixbuf(pixbuf) +diff --git a/engine/python3/Makefile.am b/engine/python3/Makefile.am +index a96f831..965d534 100644 +--- a/engine/python3/Makefile.am ++++ b/engine/python3/Makefile.am +@@ -3,8 +3,8 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ + jastring.py \ + kana.py \ + main.py \ ++ propertyicon.py \ + romaji.py \ + segment.py \ + tables.py \ +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index cc1a8c8..ab9e8fa 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -36,6 +36,7 @@ try: + except: + pass + ++from gi.repository import Gio + from gi.repository import GLib + from gi.repository import IBus + +@@ -118,6 +119,7 @@ class Engine(IBus.EngineSimple): + __keybind = {} + __thumb = None + __latin_with_shift = True ++ __input_mode_icon = None + + def __init__(self, bus, object_path): + super(Engine, self).__init__(engine_name="anthy", +@@ -171,6 +173,8 @@ class Engine(IBus.EngineSimple): + ibus_config.connect('value-changed', + self.__config_value_changed_cb) + ++ self.__run_input_mode_icon() ++ + def __get_ibus_version(self): + if self.__ibus_version == 0.0: + self.__ibus_version = \ +@@ -259,6 +263,73 @@ class Engine(IBus.EngineSimple): + signal.signal(signum, signal.SIG_DFL) + os.kill(os.getpid(), signum) + ++ def __is_gnome_shell_running(self): ++ connection = None ++ variant = None ++ ++ try: ++ connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) ++ variant = connection.call_sync('org.gnome.Shell', ++ '/org/gnome/Shell', ++ 'org.freedesktop.DBus.Peer', ++ 'Ping', ++ None, ++ None, ++ Gio.DBusCallFlags.NONE, ++ -1, ++ None) ++ except GLib.GError as e: ++ pass ++ ++ if connection != None: ++ try: ++ connection.flush_sync(None) ++ except GLib.GError as e: ++ printerr('GDBusConnection flush failed: ' + str(e)) ++ ++ if variant == None: ++ return False ++ return True ++ ++ def __run_input_mode_icon(self): ++ self.__input_mode_icon = None ++ ++ if self.__is_gnome_shell_running(): ++ return ++ try: ++ from gi.repository import Gdk ++ if Gdk.Display.get_default() == None: ++ return ++ except Exception as e: ++ printerr('import Gdk failed: ' + str(e)) ++ return ++ ++ if not self.__prefs.get_value('common', 'show-input-mode-icon'): ++ return ++ ++ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) ++ spec = self.__prefs.get_value('common', 'icon-str-rgba') ++ if not rgba.parse(spec): ++ printerr('invalid icon-str-rgba: %s' % spec) ++ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) ++ ++ modes = { ++ INPUT_MODE_HIRAGANA : 'あ', ++ INPUT_MODE_KATAKANA : 'ア', ++ INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', ++ INPUT_MODE_LATIN : '_A', ++ INPUT_MODE_WIDE_LATIN : 'A', ++ } ++ ++ try: ++ import propertyicon ++ self.__input_mode_icon = propertyicon.PropertyIcon(rgba) ++ self.__input_mode_icon.set_visible(True) ++ self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) ++ except Exception as e: ++ printerr('import PropertyIcon failed: ' + str(e)) ++ return ++ + def __set_input_mode_props(self, anthy_props): + # The class method is kept even if the engine is switched. + if Engine.__input_mode == None: +@@ -842,6 +913,9 @@ class Engine(IBus.EngineSimple): + prop.set_label(IBus.Text.new_from_string(label)) + self.update_property(prop) + ++ if self.__input_mode_icon != None: ++ self.__input_mode_icon.set_from_symbol(symbol) ++ + self.__reset() + self.__invalidate() + +@@ -1025,6 +1099,7 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. ++ self.__input_mode_icon = None + + def __join_all_segments(self): + while True: +@@ -1104,7 +1179,7 @@ class Engine(IBus.EngineSimple): + + # fill lookup_table + self.__lookup_table.clear() +- for i in range(0, seg_stat.nr_predictions): ++ for i in range(0, nr_predictions): + buf = self.__context.get_prediction(i) + candidate = buf + self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) +@@ -1215,6 +1290,12 @@ class Engine(IBus.EngineSimple): + def __update_anthy_convert_chars(self): + self.__convert_chars = '' + pos = 0 ++ ++ (seg_index, text) = self.__segments[self.__cursor_pos] ++ # prediction lookup window + BackSpace will return None ++ if text == None: ++ return ++ + for i, (seg_index, text) in enumerate(self.__segments): + self.__convert_chars += text + if i < self.__cursor_pos: +@@ -2104,6 +2185,13 @@ class Engine(IBus.EngineSimple): + self.__fetch_dict_values(base_sec) + self.__prefs.set_value(base_sec, name, value) + self.__set_dict_mode_props(self.__prop_list, True) ++ elif base_sec == 'common': ++ if name == 'show_input_mode_icon': ++ name = 'show-input-mode-icon' ++ self.__prefs.set_value(base_sec, name, value) ++ self.__run_input_mode_icon() ++ else: ++ self.__prefs.set_value(base_sec, name, value) + elif base_sec: + self.__prefs.set_value(base_sec, name, value) + else: +@@ -2312,7 +2400,7 @@ class Engine(IBus.EngineSimple): + nr_predictions = self.__context.get_nr_predictions() + + # for i in range(nr_predictions): +-# print self.__context.get_prediction(i) ++# print(self.__context.get_prediction(i)) + + buf = self.__context.get_prediction(0) + if not buf: +diff --git a/engine/python3/propertyicon.py b/engine/python3/propertyicon.py +new file mode 100644 +index 0000000..fa5f34f +--- /dev/null ++++ b/engine/python3/propertyicon.py +@@ -0,0 +1,81 @@ ++# vim:set et sts=4 sw=4: ++# -*- coding: utf-8 -*- ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2014 Takao Fujiwara ++# Copyright (c) 2014 Red Hat, Inc. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++# for python2 ++from __future__ import print_function ++ ++import cairo ++import sys ++ ++from gi.repository import Gdk ++from gi.repository import Gio ++from gi.repository import GLib ++from gi.repository import Gtk ++from gi.repository import Pango ++from gi.repository import PangoCairo ++ ++class PropertyIcon(Gtk.StatusIcon): ++ __xkb_icon_pixbufs = {} ++ __xkb_icon_rgba = None ++ ++ def __init__(self, rgba): ++ super(Gtk.StatusIcon, self).__init__() ++ self.__xkb_icon_rgba = rgba ++ ++ def __context_render_string(self, cr, symbol, image_width, image_height): ++ lwidth = 0 ++ lheight = 0 ++ desc = Pango.FontDescription.from_string('Monospace Bold 22') ++ layout = PangoCairo.create_layout(cr) ++ ++ layout.set_font_description(desc) ++ layout.set_text(symbol, -1) ++ (lwidth, lheight) = layout.get_size() ++ cr.move_to((image_width - lwidth / Pango.SCALE) / 2, ++ (image_height - lheight / Pango.SCALE) / 2) ++ cr.set_source_rgba(self.__xkb_icon_rgba.red, ++ self.__xkb_icon_rgba.green, ++ self.__xkb_icon_rgba.blue, ++ self.__xkb_icon_rgba.alpha) ++ PangoCairo.show_layout(cr, layout) ++ ++ def __create_icon_pixbuf_with_string(self, symbol): ++ if symbol in self.__xkb_icon_pixbufs: ++ return self.__xkb_icon_pixbufs[symbol] ++ ++ image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) ++ cr = cairo.Context(image) ++ width = image.get_width() ++ height = image.get_height() ++ ++ cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) ++ cr.set_operator(cairo.OPERATOR_SOURCE) ++ cr.paint() ++ cr.set_operator(cairo.OPERATOR_OVER) ++ self.__context_render_string(cr, symbol, width, height) ++ pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) ++ self.__xkb_icon_pixbufs[symbol] = pixbuf ++ return pixbuf ++ ++ def set_from_symbol(self, symbol): ++ pixbuf = self.__create_icon_pixbuf_with_string(symbol) ++ self.set_from_pixbuf(pixbuf) +diff --git a/setup/python2/anthyprefs.py.in b/setup/python2/anthyprefs.py.in +index c29926a..82e9fcf 100644 +--- a/setup/python2/anthyprefs.py.in ++++ b/setup/python2/anthyprefs.py.in +@@ -5,8 +5,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -362,6 +362,8 @@ _config = { + 'show-dict-mode': True, + 'show-dict-config': False, + 'show-preferences': True, ++ 'show-input-mode-icon': True, ++ 'icon-str-rgba': '#41507a', + + 'period_style': 0, + 'symbol_style': 1, +diff --git a/setup/python2/main.py b/setup/python2/main.py +index cc3af4c..69ad703 100644 +--- a/setup/python2/main.py ++++ b/setup/python2/main.py +@@ -159,7 +159,8 @@ class AnthySetup(object): + 'half_width_symbol', 'half_width_number', 'half_width_space', + 'latin_with_shift', + 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', +- 'thumb:fmv_extension', 'thumb:handakuten']: ++ 'thumb:fmv_extension', 'thumb:handakuten', ++ 'show_input_mode_icon']: + section, key = self.__get_section_key(name) + builder.get_object(name).set_active(prefs.get_value(section, key)) + +@@ -337,6 +338,9 @@ class AnthySetup(object): + else: + section = 'common' + key = name ++ if section == 'common': ++ if name == 'show_input_mode_icon': ++ key = 'show-input-mode-icon' + return (section, key) + + def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): +diff --git a/setup/python2/prefs.py b/setup/python2/prefs.py +index 1b88908..9a147ee 100644 +--- a/setup/python2/prefs.py ++++ b/setup/python2/prefs.py +@@ -4,8 +4,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2014 Takao Fujiwara ++# Copyright (c) 2007-2014 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -145,15 +145,27 @@ class Prefs(object): + variant = self._config.get_values(s) + for key in variant.keys(): + v = variant[key] ++ # FIXME: ibus-dconf converts the keys. ++ #if key.find('_') >= 0: ++ # key = key.replace('_', '-') ++ if section == 'common': ++ if key == 'show_input_mode': ++ key = 'show-input-mode' ++ elif key == 'show_typing_method': ++ key = 'show-typing-method' ++ elif key == 'show_segment_mode': ++ key = 'show-segment-mode' ++ elif key == 'show_dict_mode': ++ key = 'show-dict-mode' ++ elif key == 'show_dict_config': ++ key = 'show-dict-config' ++ elif key == 'show_preferences': ++ key = 'show-preferences' ++ elif key == 'show_input_mode_icon': ++ key = 'show-input-mode-icon' ++ elif key == 'icon_str_rgba': ++ key = 'icon-str-rgba' + self.modified.setdefault(section, {})[key] = v if v != [''] else [] +- # FIXME: ibus-dconf converts the keys. +- if section == 'common': +- self.fetch_item(section, 'show-input-mode') +- self.fetch_item(section, 'show-typing-method') +- self.fetch_item(section, 'show-segment-mode') +- self.fetch_item(section, 'show-dict-mode') +- self.fetch_item(section, 'show-dict-config') +- self.fetch_item(section, 'show-preferences') + + def fetch_item(self, section, key, readonly=False): + if self._config == None: +diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui +index b6d8ef2..54916ec 100644 +--- a/setup/python2/setup.ui ++++ b/setup/python2/setup.ui +@@ -346,6 +346,23 @@ + + + ++ ++ _Show input mode icon ++ True ++ True ++ False ++ True ++ True ++ ++ ++ ++ ++ False ++ False ++ 1 ++ ++ ++ + + True + 0 +@@ -396,7 +413,7 @@ + + False + False +- 1 ++ 2 + + + +diff --git a/setup/python3/anthyprefs.py.in b/setup/python3/anthyprefs.py.in +index 3198a8c..441c4a2 100644 +--- a/setup/python3/anthyprefs.py.in ++++ b/setup/python3/anthyprefs.py.in +@@ -355,6 +355,8 @@ _config = { + 'show-dict-mode': True, + 'show-dict-config': False, + 'show-preferences': True, ++ 'show-input-mode-icon': True, ++ 'icon-str-rgba': '#41507a', + + 'period_style': 0, + 'symbol_style': 1, +diff --git a/setup/python3/main.py b/setup/python3/main.py +index d33b90b..a2fa761 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -162,7 +162,8 @@ class AnthySetup(object): + 'half_width_symbol', 'half_width_number', 'half_width_space', + 'latin_with_shift', + 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', +- 'thumb:fmv_extension', 'thumb:handakuten']: ++ 'thumb:fmv_extension', 'thumb:handakuten', ++ 'show_input_mode_icon']: + section, key = self.__get_section_key(name) + builder.get_object(name).set_active(prefs.get_value(section, key)) + +@@ -340,6 +341,9 @@ class AnthySetup(object): + else: + section = 'common' + key = name ++ if section == 'common': ++ if name == 'show_input_mode_icon': ++ key = 'show-input-mode-icon' + return (section, key) + + def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): +diff --git a/setup/python3/prefs.py b/setup/python3/prefs.py +index a4af88d..2b3f4ea 100644 +--- a/setup/python3/prefs.py ++++ b/setup/python3/prefs.py +@@ -145,15 +145,27 @@ class Prefs(object): + variant = self._config.get_values(s) + for key in list(variant.keys()): + v = variant[key] ++ # FIXME: ibus-dconf converts the keys. ++ #if key.find('_') >= 0: ++ # key = key.replace('_', '-') ++ if section == 'common': ++ if key == 'show_input_mode': ++ key = 'show-input-mode' ++ elif key == 'show_typing_method': ++ key = 'show-typing-method' ++ elif key == 'show_segment_mode': ++ key = 'show-segment-mode' ++ elif key == 'show_dict_mode': ++ key = 'show-dict-mode' ++ elif key == 'show_dict_config': ++ key = 'show-dict-config' ++ elif key == 'show_preferences': ++ key = 'show-preferences' ++ elif key == 'show_input_mode_icon': ++ key = 'show-input-mode-icon' ++ elif key == 'icon_str_rgba': ++ key = 'icon-str-rgba' + self.modified.setdefault(section, {})[key] = v if v != [''] else [] +- # FIXME: ibus-dconf converts the keys. +- if section == 'common': +- self.fetch_item(section, 'show-input-mode') +- self.fetch_item(section, 'show-typing-method') +- self.fetch_item(section, 'show-segment-mode') +- self.fetch_item(section, 'show-dict-mode') +- self.fetch_item(section, 'show-dict-config') +- self.fetch_item(section, 'show-preferences') + + def fetch_item(self, section, key, readonly=False): + if self._config == None: +diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui +index b6d8ef2..54916ec 100644 +--- a/setup/python3/setup.ui ++++ b/setup/python3/setup.ui +@@ -346,6 +346,23 @@ + + + ++ ++ _Show input mode icon ++ True ++ True ++ False ++ True ++ True ++ ++ ++ ++ ++ False ++ False ++ 1 ++ ++ ++ + + True + 0 +@@ -396,7 +413,7 @@ + + False + False +- 1 ++ 2 + + + +-- +1.8.5.3 + +From 0205371bf3c2fa3aeb0192f7aabc584aade7d158 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 21 Aug 2014 19:31:27 +0900 +Subject: [PATCH 2/4] Updated translations. + +--- + po/el.po | 433 ++++++++++++++++++++++++++++++------------------------------ + po/fr.po | 433 ++++++++++++++++++++++++++++++------------------------------ + po/ja.po | 430 +++++++++++++++++++++++++++++------------------------------ + po/zh_CN.po | 433 ++++++++++++++++++++++++++++++------------------------------ + 4 files changed, 874 insertions(+), 855 deletions(-) + +diff --git a/po/el.po b/po/el.po +index 030a86f..ec26051 100644 +--- a/po/el.po ++++ b/po/el.po +@@ -10,17 +10,17 @@ msgid "" + msgstr "" + "Project-Id-Version: IBus-Anthy\n" + "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" +-"POT-Creation-Date: 2014-08-21 18:57+0900\n" ++"POT-Creation-Date: 2014-08-21 19:30+0900\n" + "PO-Revision-Date: 2014-02-18 08:42+0000\n" + "Last-Translator: dm3k \n" + "Language-Team: Greek\n" ++"Language: el\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Language: el\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + +-#: ../engine/python2/engine.py:193 ../engine/python3/engine.py:194 ++#: ../engine/python2/engine.py:197 ../engine/python3/engine.py:198 + msgid "" + "Could not enable Anthy.\n" + "The end of the content of the file .anthy/last-record2_default.utf8 in your " +@@ -28,188 +28,188 @@ msgid "" + "Please fix the file or remove it by manual and restart IBus." + msgstr "" + +-#: ../engine/python2/engine.py:241 ../engine/python3/engine.py:242 +-#: ../setup/python2/main.py:408 ../setup/python3/main.py:413 ++#: ../engine/python2/engine.py:245 ../engine/python3/engine.py:246 ++#: ../setup/python2/main.py:412 ../setup/python3/main.py:417 + msgid "Preferences - Anthy" + msgstr "Προτιμήσεις - Anthy " + +-#: ../engine/python2/engine.py:243 ../engine/python3/engine.py:244 ++#: ../engine/python2/engine.py:247 ../engine/python3/engine.py:248 + msgid "Configure Anthy" + msgstr "Ρυθμίσεις Anthy" + + #. Translators: Specify the order of %s with your translation. + #. It will be "Input Mode (A)" for example. +-#: ../engine/python2/engine.py:280 ../engine/python2/engine.py:368 +-#: ../engine/python2/engine.py:435 ../engine/python2/engine.py:511 +-#: ../engine/python2/engine.py:842 ../engine/python2/engine.py:870 +-#: ../engine/python2/engine.py:894 ../engine/python2/engine.py:920 +-#: ../engine/python2/engine.py:982 ../engine/python3/engine.py:281 +-#: ../engine/python3/engine.py:369 ../engine/python3/engine.py:436 +-#: ../engine/python3/engine.py:512 ../engine/python3/engine.py:837 +-#: ../engine/python3/engine.py:865 ../engine/python3/engine.py:889 +-#: ../engine/python3/engine.py:915 ../engine/python3/engine.py:977 ++#: ../engine/python2/engine.py:351 ../engine/python2/engine.py:439 ++#: ../engine/python2/engine.py:506 ../engine/python2/engine.py:582 ++#: ../engine/python2/engine.py:913 ../engine/python2/engine.py:944 ++#: ../engine/python2/engine.py:968 ../engine/python2/engine.py:994 ++#: ../engine/python2/engine.py:1056 ../engine/python3/engine.py:352 ++#: ../engine/python3/engine.py:440 ../engine/python3/engine.py:507 ++#: ../engine/python3/engine.py:583 ../engine/python3/engine.py:908 ++#: ../engine/python3/engine.py:939 ../engine/python3/engine.py:963 ++#: ../engine/python3/engine.py:989 ../engine/python3/engine.py:1051 + #, python-format + msgid "%(description)s (%(symbol)s)" + msgstr "" + +-#: ../engine/python2/engine.py:281 ../engine/python2/engine.py:843 +-#: ../engine/python3/engine.py:282 ../engine/python3/engine.py:838 +-#: ../setup/python2/main.py:393 ../setup/python3/main.py:398 ++#: ../engine/python2/engine.py:352 ../engine/python2/engine.py:914 ++#: ../engine/python3/engine.py:353 ../engine/python3/engine.py:909 ++#: ../setup/python2/main.py:397 ../setup/python3/main.py:402 + msgid "Input mode" + msgstr "" + +-#: ../engine/python2/engine.py:287 ../engine/python3/engine.py:288 ++#: ../engine/python2/engine.py:358 ../engine/python3/engine.py:359 + msgid "Switch input mode" + msgstr "Αλλαγή μεθόδου εισαγωγής" + +-#: ../engine/python2/engine.py:297 ../engine/python3/engine.py:298 ++#: ../engine/python2/engine.py:368 ../engine/python3/engine.py:369 + #: ../setup/python2/setup.ui.h:1 ../setup/python3/setup.ui.h:1 + msgid "Hiragana" + msgstr "Χιραγκάνα" + +-#: ../engine/python2/engine.py:306 ../engine/python3/engine.py:307 ++#: ../engine/python2/engine.py:377 ../engine/python3/engine.py:378 + #: ../setup/python2/setup.ui.h:2 ../setup/python3/setup.ui.h:2 + msgid "Katakana" + msgstr "Κατακάνα" + +-#: ../engine/python2/engine.py:315 ../engine/python3/engine.py:316 ++#: ../engine/python2/engine.py:386 ../engine/python3/engine.py:387 + #: ../setup/python2/setup.ui.h:3 ../setup/python3/setup.ui.h:3 + msgid "Halfwidth Katakana" + msgstr "" + +-#: ../engine/python2/engine.py:324 ../engine/python3/engine.py:325 ++#: ../engine/python2/engine.py:395 ../engine/python3/engine.py:396 + #: ../setup/python2/setup.ui.h:4 ../setup/python3/setup.ui.h:4 + msgid "Latin" + msgstr "Λατινικοί χαρακτήρες" + +-#: ../engine/python2/engine.py:333 ../engine/python3/engine.py:334 ++#: ../engine/python2/engine.py:404 ../engine/python3/engine.py:405 + #: ../setup/python2/setup.ui.h:5 ../setup/python3/setup.ui.h:5 + msgid "Wide Latin" + msgstr "Λατινικοί πλήρους πλάτους" + +-#: ../engine/python2/engine.py:369 ../engine/python2/engine.py:871 +-#: ../engine/python2/engine.py:895 ../engine/python3/engine.py:370 +-#: ../engine/python3/engine.py:866 ../engine/python3/engine.py:890 +-#: ../setup/python2/main.py:396 ../setup/python3/main.py:401 ++#: ../engine/python2/engine.py:440 ../engine/python2/engine.py:945 ++#: ../engine/python2/engine.py:969 ../engine/python3/engine.py:441 ++#: ../engine/python3/engine.py:940 ../engine/python3/engine.py:964 ++#: ../setup/python2/main.py:400 ../setup/python3/main.py:405 + msgid "Typing method" + msgstr "" + +-#: ../engine/python2/engine.py:375 ../engine/python3/engine.py:376 ++#: ../engine/python2/engine.py:446 ../engine/python3/engine.py:447 + msgid "Switch typing method" + msgstr "" + +-#: ../engine/python2/engine.py:385 ../engine/python3/engine.py:386 ++#: ../engine/python2/engine.py:456 ../engine/python3/engine.py:457 + #: ../setup/python2/setup.ui.h:12 ../setup/python3/setup.ui.h:12 + msgid "Romaji" + msgstr "Ρομάτζι" + +-#: ../engine/python2/engine.py:394 ../engine/python3/engine.py:395 ++#: ../engine/python2/engine.py:465 ../engine/python3/engine.py:466 + #: ../setup/python2/setup.ui.h:13 ../setup/python3/setup.ui.h:13 + msgid "Kana" + msgstr "Κάνα" + +-#: ../engine/python2/engine.py:403 ../engine/python3/engine.py:404 ++#: ../engine/python2/engine.py:474 ../engine/python3/engine.py:475 + #: ../setup/python2/setup.ui.h:14 ../setup/python3/setup.ui.h:14 + msgid "Thumb shift" + msgstr "Μέθοδος thumb shift" + +-#: ../engine/python2/engine.py:436 ../engine/python2/engine.py:921 +-#: ../engine/python3/engine.py:437 ../engine/python3/engine.py:916 +-#: ../setup/python2/main.py:399 ../setup/python3/main.py:404 ++#: ../engine/python2/engine.py:507 ../engine/python2/engine.py:995 ++#: ../engine/python3/engine.py:508 ../engine/python3/engine.py:990 ++#: ../setup/python2/main.py:403 ../setup/python3/main.py:408 + msgid "Segment mode" + msgstr "" + +-#: ../engine/python2/engine.py:442 ../engine/python3/engine.py:443 ++#: ../engine/python2/engine.py:513 ../engine/python3/engine.py:514 + msgid "Switch conversion mode" + msgstr "Αλλαγή μεθόδου μετατροπής" + +-#: ../engine/python2/engine.py:452 ../engine/python3/engine.py:453 ++#: ../engine/python2/engine.py:523 ../engine/python3/engine.py:524 + #: ../setup/python2/setup.ui.h:15 ../setup/python3/setup.ui.h:15 + msgid "Multiple segment" + msgstr "Πολλαπλά τμήματα" + +-#: ../engine/python2/engine.py:461 ../engine/python3/engine.py:462 ++#: ../engine/python2/engine.py:532 ../engine/python3/engine.py:533 + #: ../setup/python2/setup.ui.h:16 ../setup/python3/setup.ui.h:16 + msgid "Single segment" + msgstr "Μοναδικό τμήμα" + +-#: ../engine/python2/engine.py:470 ../engine/python3/engine.py:471 ++#: ../engine/python2/engine.py:541 ../engine/python3/engine.py:542 + #: ../setup/python2/setup.ui.h:17 ../setup/python3/setup.ui.h:17 + msgid "Immediate conversion (multiple segment)" + msgstr "" + +-#: ../engine/python2/engine.py:479 ../engine/python3/engine.py:480 ++#: ../engine/python2/engine.py:550 ../engine/python3/engine.py:551 + #: ../setup/python2/setup.ui.h:18 ../setup/python3/setup.ui.h:18 + msgid "Immediate conversion (single segment)" + msgstr "" + +-#: ../engine/python2/engine.py:512 ../engine/python2/engine.py:983 +-#: ../engine/python3/engine.py:513 ../engine/python3/engine.py:978 +-#: ../setup/python2/main.py:402 ../setup/python3/main.py:407 ++#: ../engine/python2/engine.py:583 ../engine/python2/engine.py:1057 ++#: ../engine/python3/engine.py:584 ../engine/python3/engine.py:1052 ++#: ../setup/python2/main.py:406 ../setup/python3/main.py:411 + msgid "Dictionary mode" + msgstr "" + +-#: ../engine/python2/engine.py:518 ../engine/python3/engine.py:519 ++#: ../engine/python2/engine.py:589 ../engine/python3/engine.py:590 + msgid "Switch dictionary" + msgstr "" + +-#: ../engine/python2/engine.py:601 ../engine/python3/engine.py:601 +-#: ../setup/python2/main.py:405 ../setup/python3/main.py:410 ++#: ../engine/python2/engine.py:672 ../engine/python3/engine.py:672 ++#: ../setup/python2/main.py:409 ../setup/python3/main.py:414 + msgid "Dictionary - Anthy" + msgstr "Λεξικό - Anthy" + + #. Translators: "Dic" means 'dictionary', One kanji may be good. +-#: ../engine/python2/engine.py:607 ../engine/python3/engine.py:606 ++#: ../engine/python2/engine.py:678 ../engine/python3/engine.py:677 + msgid "Dic" + msgstr "Λξκ" + +-#: ../engine/python2/engine.py:614 ../engine/python3/engine.py:613 ++#: ../engine/python2/engine.py:685 ../engine/python3/engine.py:684 + msgid "Configure dictionaries" + msgstr "Ρυθμίσεις λεξικών" + +-#: ../engine/python2/engine.py:624 ../engine/python3/engine.py:623 ++#: ../engine/python2/engine.py:695 ../engine/python3/engine.py:694 + msgid "Edit dictionaries" + msgstr "Επεξεργασία λεξικών" + +-#: ../engine/python2/engine.py:626 ../engine/python3/engine.py:625 ++#: ../engine/python2/engine.py:697 ../engine/python3/engine.py:696 + msgid "Launch the dictionary tool" + msgstr "Εκκίνηση εργαλείου λεξικού" + +-#: ../engine/python2/engine.py:633 ../engine/python3/engine.py:632 ++#: ../engine/python2/engine.py:704 ../engine/python3/engine.py:703 + msgid "Add words" + msgstr "Προσθήκη λέξεων" + +-#: ../engine/python2/engine.py:635 ../engine/python3/engine.py:634 ++#: ../engine/python2/engine.py:706 ../engine/python3/engine.py:705 + msgid "Add words to the dictionary" + msgstr "" + +-#: ../setup/python2/anthyprefs.py.in:1104 ../setup/python2/setup.ui.h:35 +-#: ../setup/python3/anthyprefs.py.in:1097 ../setup/python3/setup.ui.h:35 ++#: ../setup/python2/anthyprefs.py.in:1106 ../setup/python2/setup.ui.h:36 ++#: ../setup/python3/anthyprefs.py.in:1099 ../setup/python3/setup.ui.h:36 + msgid "General" + msgstr "Γενικό" + +-#: ../setup/python2/anthyprefs.py.in:1115 +-#: ../setup/python3/anthyprefs.py.in:1108 ++#: ../setup/python2/anthyprefs.py.in:1117 ++#: ../setup/python3/anthyprefs.py.in:1110 + msgid "Zip Code Conversion" + msgstr "Μετατροπή ταχυδρομικών κωδικών" + +-#: ../setup/python2/anthyprefs.py.in:1126 +-#: ../setup/python3/anthyprefs.py.in:1119 ++#: ../setup/python2/anthyprefs.py.in:1128 ++#: ../setup/python3/anthyprefs.py.in:1121 + msgid "Symbol" + msgstr "Σύμβολα" + +-#: ../setup/python2/anthyprefs.py.in:1137 +-#: ../setup/python3/anthyprefs.py.in:1130 ++#: ../setup/python2/anthyprefs.py.in:1139 ++#: ../setup/python3/anthyprefs.py.in:1132 + msgid "Old Character Style" + msgstr "Παλιές μορφές χαρακτήρων" + +-#: ../setup/python2/anthyprefs.py.in:1147 +-#: ../setup/python3/anthyprefs.py.in:1140 ++#: ../setup/python2/anthyprefs.py.in:1149 ++#: ../setup/python3/anthyprefs.py.in:1142 + msgid "Era" + msgstr "" + +-#: ../setup/python2/anthyprefs.py.in:1157 +-#: ../setup/python3/anthyprefs.py.in:1150 ++#: ../setup/python2/anthyprefs.py.in:1159 ++#: ../setup/python3/anthyprefs.py.in:1152 + msgid "Emoji" + msgstr "" + +@@ -228,276 +228,276 @@ msgstr "" + msgid "ibus is not running." + msgstr "" + +-#: ../setup/python2/main.py:180 ../setup/python3/main.py:183 ++#: ../setup/python2/main.py:181 ../setup/python3/main.py:184 + msgid "Menu label" + msgstr "" + +-#: ../setup/python2/main.py:199 ../setup/python3/main.py:202 ++#: ../setup/python2/main.py:200 ../setup/python3/main.py:203 + msgid "Command" + msgstr "Εντολή" + +-#: ../setup/python2/main.py:203 ../setup/python3/main.py:206 ++#: ../setup/python2/main.py:204 ../setup/python3/main.py:207 + msgid "Shortcut" + msgstr "Συντόμευση" + +-#: ../setup/python2/main.py:248 ../setup/python3/main.py:251 ++#: ../setup/python2/main.py:249 ../setup/python3/main.py:252 + msgid "Description" + msgstr "Περιγραφή " + + #. Translators: "Embd" is an abbreviation of "embedded". +-#: ../setup/python2/main.py:256 ../setup/python3/main.py:259 ++#: ../setup/python2/main.py:257 ../setup/python3/main.py:260 + msgid "Embd" + msgstr "Ενσμ." + + #. Translators: "Sgl" is an abbreviation of "single". +-#: ../setup/python2/main.py:264 ../setup/python3/main.py:267 ++#: ../setup/python2/main.py:265 ../setup/python3/main.py:268 + msgid "Sgl" + msgstr "Μν." + +-#: ../setup/python2/main.py:439 ../setup/python2/main.py:475 +-#: ../setup/python3/main.py:444 ../setup/python3/main.py:480 ++#: ../setup/python2/main.py:443 ../setup/python2/main.py:479 ++#: ../setup/python3/main.py:448 ../setup/python3/main.py:484 + msgid "Input Chars" + msgstr "Εισ. Χαρακτήρες" + +-#: ../setup/python2/main.py:441 ../setup/python2/main.py:477 +-#: ../setup/python3/main.py:446 ../setup/python3/main.py:482 ++#: ../setup/python2/main.py:445 ../setup/python2/main.py:481 ++#: ../setup/python3/main.py:450 ../setup/python3/main.py:486 + msgid "Output Chars" + msgstr "Εξ. Χαρακτήρες" + +-#: ../setup/python2/main.py:523 ../setup/python3/main.py:528 ++#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 + msgid "Input" + msgstr "Εισαγωγή" + +-#: ../setup/python2/main.py:525 ../setup/python3/main.py:530 ++#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 + msgid "Single" + msgstr "Μονό" + +-#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 ++#: ../setup/python2/main.py:531 ../setup/python3/main.py:536 + msgid "Left" + msgstr "Αριστερά" + +-#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 ++#: ../setup/python2/main.py:533 ../setup/python3/main.py:538 + msgid "Right" + msgstr "Δεξιά" + +-#: ../setup/python2/main.py:611 ../setup/python3/main.py:616 ++#: ../setup/python2/main.py:615 ../setup/python3/main.py:620 + msgid "Customize Romaji Key Table" + msgstr "Προσαρμογή πληκτρολογίου Ρομάτζι" + +-#: ../setup/python2/main.py:612 ../setup/python2/setup.ui.h:53 +-#: ../setup/python3/main.py:617 ../setup/python3/setup.ui.h:53 ++#: ../setup/python2/main.py:616 ../setup/python2/setup.ui.h:54 ++#: ../setup/python3/main.py:621 ../setup/python3/setup.ui.h:54 + msgid "_Romaji Key Table:" + msgstr "Πίνακας πλήκτρων _Ρομάτζι" + +-#: ../setup/python2/main.py:613 ../setup/python2/main.py:619 +-#: ../setup/python3/main.py:618 ../setup/python3/main.py:624 ++#: ../setup/python2/main.py:617 ../setup/python2/main.py:623 ++#: ../setup/python3/main.py:622 ../setup/python3/main.py:628 + msgid "_Output Chars" + msgstr "Αποτέλεσμα _εξόδου" + +-#: ../setup/python2/main.py:614 ../setup/python2/main.py:1114 +-#: ../setup/python2/main.py:1196 ../setup/python2/setup.ui.h:26 +-#: ../setup/python3/main.py:619 ../setup/python3/main.py:1108 +-#: ../setup/python3/main.py:1190 ../setup/python3/setup.ui.h:26 ++#: ../setup/python2/main.py:618 ../setup/python2/main.py:1118 ++#: ../setup/python2/main.py:1200 ../setup/python2/setup.ui.h:26 ++#: ../setup/python3/main.py:623 ../setup/python3/main.py:1112 ++#: ../setup/python3/main.py:1194 ../setup/python3/setup.ui.h:26 + msgid "Default" + msgstr "Προεπιλογή" + +-#: ../setup/python2/main.py:617 ../setup/python3/main.py:622 ++#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 + msgid "Customize Kana Key Table" + msgstr "Προσαρμογή πληκτρολογίου Κάνα" + +-#: ../setup/python2/main.py:618 ../setup/python2/setup.ui.h:55 +-#: ../setup/python3/main.py:623 ../setup/python3/setup.ui.h:55 ++#: ../setup/python2/main.py:622 ../setup/python2/setup.ui.h:56 ++#: ../setup/python3/main.py:627 ../setup/python3/setup.ui.h:56 + msgid "_Kana Key Table:" + msgstr "Πίνακας πλήκτρων _Κάνα" + +-#: ../setup/python2/main.py:620 ../setup/python3/main.py:625 ++#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 + msgid "Japanese Keyboard Layout" + msgstr "" + +-#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 ++#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 + msgid "U.S. Keyboard Layout" + msgstr "" + +-#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 ++#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 + msgid "Customize Thumb Shift Key Table" + msgstr "Προσαρμογή πληκτρολογίου Thumb Shift" + +-#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 ++#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 + msgid "_Thumb Shift Key Table:" + msgstr "Πίνακας πλήκτρων _Thumb Shift" + +-#: ../setup/python2/main.py:626 ../setup/python3/main.py:631 ++#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 + msgid "Single _Output Chars" + msgstr "Μονοί χαρακτήρες _Εξόδου" + +-#: ../setup/python2/main.py:627 ../setup/python3/main.py:632 ++#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 + msgid "Base" + msgstr "Βάση" + +-#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 ++#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 + msgid "NICOLA-J key extension" + msgstr "Επεκτάσεις πλήκτρων NICOLA-J" + +-#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 ++#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 + msgid "NICOLA-A key extension" + msgstr "Επεκτάσεις πλήκτρων NICOLA-A" + +-#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 ++#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 + msgid "NICOLA-F key extension" + msgstr "Επεκτάσεις πλήκτρων NICOLA-F" + +-#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 ++#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 + msgid "FMV KB231-J key extension" + msgstr "Επεκτάσεις πλήκτρων FMV KB231-J" + +-#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 ++#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 + msgid "FMV KB231-A key extension" + msgstr "Επεκτάσεις πλήκτρων FMV KB231-A" + +-#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 ++#: ../setup/python2/main.py:637 ../setup/python3/main.py:642 + msgid "FMV KB231-F key extension" + msgstr "Επεκτάσεις πλήκτρων FMV KB231-F" + +-#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 ++#: ../setup/python2/main.py:638 ../setup/python3/main.py:643 + msgid "FMV KB611-J key extension" + msgstr "" + +-#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 ++#: ../setup/python2/main.py:639 ../setup/python3/main.py:644 + msgid "FMV KB611-A key extension" + msgstr "" + +-#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 ++#: ../setup/python2/main.py:640 ../setup/python3/main.py:645 + msgid "FMV KB611-F key extension" + msgstr "" + +-#: ../setup/python2/main.py:780 ../setup/python3/main.py:785 ++#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 + msgid "Your choosed file has already been added: " + msgstr "" + +-#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 ++#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 + msgid "The file you have chosen does not exist: " + msgstr "" + +-#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 ++#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 + msgid "Your choosed file is a directory: " + msgstr "" + +-#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 ++#: ../setup/python2/main.py:796 ../setup/python3/main.py:801 + msgid "You cannot add dictionaries in the anthy private directory: " + msgstr "" + +-#: ../setup/python2/main.py:799 ../setup/python3/main.py:804 ++#: ../setup/python2/main.py:803 ../setup/python3/main.py:808 + msgid "Your file path is not good: " + msgstr "" + +-#: ../setup/python2/main.py:978 ../setup/python3/main.py:981 ++#: ../setup/python2/main.py:982 ../setup/python3/main.py:985 + msgid "The engine xml file does not exist: " + msgstr "" + +-#: ../setup/python2/main.py:1094 ../setup/python3/main.py:1088 ++#: ../setup/python2/main.py:1098 ../setup/python3/main.py:1092 + msgid "" + "Anthy keyboard layout is changed. Please restart ibus to reload the layout." + msgstr "" + +-#: ../setup/python2/main.py:1157 ../setup/python3/main.py:1151 ++#: ../setup/python2/main.py:1161 ../setup/python3/main.py:1155 + msgid "Confirmation" + msgstr "" + +-#: ../setup/python2/main.py:1159 ../setup/python3/main.py:1153 ++#: ../setup/python2/main.py:1163 ../setup/python3/main.py:1157 + msgid "You are about to close the setup dialog, is that OK?" + msgstr "" + +-#: ../setup/python2/main.py:1174 ../setup/python3/main.py:1168 ++#: ../setup/python2/main.py:1178 ../setup/python3/main.py:1172 + msgid "Notice!" + msgstr "" + +-#: ../setup/python2/main.py:1176 ../setup/python3/main.py:1170 ++#: ../setup/python2/main.py:1180 ../setup/python3/main.py:1174 + msgid "" + "You are about to close the setup dialog without saving your changes, is that " + "OK?" + msgstr "" + +-#: ../setup/python2/main.py:1297 ../setup/python3/main.py:1291 ++#: ../setup/python2/main.py:1301 ../setup/python3/main.py:1295 + msgid "Please specify Input Chars" + msgstr "" + +-#: ../setup/python2/main.py:1300 ../setup/python3/main.py:1294 ++#: ../setup/python2/main.py:1304 ../setup/python3/main.py:1298 + msgid "Please specify Output Chars" + msgstr "" + +-#: ../setup/python2/main.py:1303 ../setup/python3/main.py:1297 ++#: ../setup/python2/main.py:1307 ../setup/python3/main.py:1301 + msgid "Please specify Left Thumb Shift Chars" + msgstr "" + +-#: ../setup/python2/main.py:1306 ../setup/python3/main.py:1300 ++#: ../setup/python2/main.py:1310 ../setup/python3/main.py:1304 + msgid "Please specify Right Thumb Shift Chars" + msgstr "" + +-#: ../setup/python2/main.py:1319 ../setup/python2/main.py:1363 +-#: ../setup/python3/main.py:1313 ../setup/python3/main.py:1357 ++#: ../setup/python2/main.py:1323 ../setup/python2/main.py:1367 ++#: ../setup/python3/main.py:1317 ../setup/python3/main.py:1361 + msgid "Your custom key is not assigned in any sections. Maybe a bug." + msgstr "" + +-#: ../setup/python2/main.py:1429 ../setup/python2/main.py:1516 +-#: ../setup/python3/main.py:1423 ../setup/python3/main.py:1510 ++#: ../setup/python2/main.py:1433 ../setup/python2/main.py:1520 ++#: ../setup/python3/main.py:1427 ../setup/python3/main.py:1514 + msgid "Your file does not exist: " + msgstr "" + +-#: ../setup/python2/main.py:1439 ../setup/python3/main.py:1433 ++#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 + msgid "Open Dictionary File" + msgstr "" + +-#: ../setup/python2/main.py:1442 ../setup/python2/main.py:1448 +-#: ../setup/python2/setup.ui.h:89 ../setup/python3/main.py:1436 +-#: ../setup/python3/main.py:1442 ../setup/python3/setup.ui.h:89 ++#: ../setup/python2/main.py:1446 ../setup/python2/main.py:1452 ++#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1440 ++#: ../setup/python3/main.py:1446 ../setup/python3/setup.ui.h:90 + msgid "_Cancel" + msgstr "_Ακύρωση" + +-#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 ++#: ../setup/python2/main.py:1447 ../setup/python3/main.py:1441 + msgid "_Open" + msgstr "Άν_οιγμα" + +-#: ../setup/python2/main.py:1446 ../setup/python3/main.py:1440 ++#: ../setup/python2/main.py:1450 ../setup/python3/main.py:1444 + msgid "Edit Dictionary File" + msgstr "" + +-#: ../setup/python2/main.py:1449 ../setup/python2/main.py:1544 +-#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1443 +-#: ../setup/python3/main.py:1538 ../setup/python3/setup.ui.h:90 ++#: ../setup/python2/main.py:1453 ../setup/python2/main.py:1548 ++#: ../setup/python2/setup.ui.h:91 ../setup/python3/main.py:1447 ++#: ../setup/python3/main.py:1542 ../setup/python3/setup.ui.h:91 + msgid "_OK" + msgstr "_Εντάξει" + +-#: ../setup/python2/main.py:1460 ../setup/python3/main.py:1454 ++#: ../setup/python2/main.py:1464 ../setup/python3/main.py:1458 + msgid "Your choosed file is not correct." + msgstr "" + +-#: ../setup/python2/main.py:1489 ../setup/python3/main.py:1483 ++#: ../setup/python2/main.py:1493 ../setup/python3/main.py:1487 + msgid "You cannot delete the system dictionary." + msgstr "" + +-#: ../setup/python2/main.py:1512 ../setup/python3/main.py:1506 ++#: ../setup/python2/main.py:1516 ../setup/python3/main.py:1510 + msgid "Your file is not good." + msgstr "" + +-#: ../setup/python2/main.py:1542 ../setup/python3/main.py:1536 ++#: ../setup/python2/main.py:1546 ../setup/python3/main.py:1540 + msgid "View Dictionary File" + msgstr "" + +-#: ../setup/python2/main.py:1694 ../setup/python3/main.py:1688 ++#: ../setup/python2/main.py:1698 ../setup/python3/main.py:1692 + msgid "Please press a key (or a key combination)" + msgstr "" + +-#: ../setup/python2/main.py:1695 ../setup/python3/main.py:1689 ++#: ../setup/python2/main.py:1699 ../setup/python3/main.py:1693 + msgid "The dialog will be closed when the key is released" + msgstr "" + +-#: ../setup/python2/main.py:1715 ../setup/python2/main.py:1736 +-#: ../setup/python3/main.py:1709 ../setup/python3/main.py:1730 ++#: ../setup/python2/main.py:1719 ../setup/python2/main.py:1740 ++#: ../setup/python3/main.py:1713 ../setup/python3/main.py:1734 + msgid "Invalid keysym" + msgstr "" + +-#: ../setup/python2/main.py:1716 ../setup/python2/main.py:1737 +-#: ../setup/python3/main.py:1710 ../setup/python3/main.py:1731 ++#: ../setup/python2/main.py:1720 ../setup/python2/main.py:1741 ++#: ../setup/python3/main.py:1714 ../setup/python3/main.py:1735 + msgid "This keysym is not valid" + msgstr "" + +@@ -582,298 +582,303 @@ msgid "Initial Setting" + msgstr "" + + #: ../setup/python2/setup.ui.h:34 ../setup/python3/setup.ui.h:34 ++#, fuzzy ++msgid "_Show input mode icon" ++msgstr "Αλλαγή μεθόδου εισαγωγής" ++ ++#: ../setup/python2/setup.ui.h:35 ../setup/python3/setup.ui.h:35 + msgid "Menu Visibility on Status Icon" + msgstr "" + +-#: ../setup/python2/setup.ui.h:36 ../setup/python3/setup.ui.h:36 ++#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 + msgid "_Period Style:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 ++#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 + msgid "Symbo_l Style:" + msgstr "Στιλ Συμβό_λου:" + +-#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 ++#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 + msgid "Numpad _Key Type:" + msgstr "Συμπεριφορά _αριθμητικού πληκτρολογίου:" + +-#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 ++#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 + msgid "_Behavior on Period:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 ++#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 + msgid "Behavior on _Focus Out:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 ++#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 + msgid "Behavior" + msgstr "" + +-#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 ++#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 + msgid "Candidate _Window Page Size:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 ++#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 + msgid "Convert _symbols with the one column width" + msgstr "" + +-#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 ++#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 + msgid "Convert _numbers with the one column width" + msgstr "" + +-#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 ++#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 + msgid "Con_vert spaces with the one column width" + msgstr "" + +-#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 ++#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 + msgid "" + "Swi_tch “Hiragana” and “Latin” with Shift key and Hiragana–Katakana key in " + "preedit" + msgstr "" + +-#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 ++#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 + msgid "Other" + msgstr "" + +-#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 ++#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 + msgid "Conversion" + msgstr "" + +-#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 ++#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 + msgid "_Shortcut Type:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 ++#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 + msgid "De_fault" + msgstr "" + +-#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 ++#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 + msgid "_Edit" + msgstr "_Επεξεργασία" + +-#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 ++#: ../setup/python2/setup.ui.h:53 ../setup/python3/setup.ui.h:53 + msgid "Key Binding" + msgstr "" + +-#: ../setup/python2/setup.ui.h:54 ../setup/python3/setup.ui.h:54 ++#: ../setup/python2/setup.ui.h:55 ../setup/python3/setup.ui.h:55 + msgid "Romaji" + msgstr "" + +-#: ../setup/python2/setup.ui.h:56 ../setup/python3/setup.ui.h:56 ++#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 + msgid "Kana" + msgstr "" + +-#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 ++#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 + msgid "Keyboad _layout:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 ++#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 + msgid "Keyboard layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 ++#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 + msgid "Typing Method" + msgstr "" + +-#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 ++#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 + msgid "_Left Thumb Shift Key:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 ++#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 + msgid "Right _Thumb Shift Key:" + msgstr "Δεξί _Thumb Shift:" + +-#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 ++#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 + msgid "Adjust _input method layout to system keyboard layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 ++#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 + msgid "Adjust IM layout to XKB layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 ++#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 + msgid "Input _Method Layout:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 ++#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 + msgid "Restart IBus when you change the keyboard layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 ++#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 + msgid "Restart IBus when you change XKB" + msgstr "" + +-#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 ++#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 + msgid "_Additional Key Arrangement:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 ++#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 + msgid "" + "'~', '『', '¢', '£' and so on can be output with " + "Thumb Shift key" + msgstr "" + +-#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 ++#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 + msgid "" + "You do not have to reconfigure the system keyboard layout for \"Additional " + "Key Arrangement\" since this option changes input method layout only in case " + "input method is turned on." + msgstr "" + +-#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 ++#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 + msgid "" + "You do not have to reconfigure XKB since this option changes IM layout only " + "with IM on." + msgstr "" + +-#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 ++#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 + msgid "_Enable semi-voiced sound mark with Shift key" + msgstr "" + +-#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 ++#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 + msgid "Seion + Shift can output Handakuon" + msgstr "Το Seion + Shift εισάγουν handakuon" + +-#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 ++#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 + msgid "Thumb _Shift Key Table:" + msgstr "Πίνακας πλήκτρων Thumb _Shift:" + +-#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 ++#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 + msgid "Thumb Shift Layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 ++#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 + msgid "Thumb Shift" + msgstr "" + +-#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 ++#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 + msgid "_Edit Dictionary Command:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 ++#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 + msgid "_Add Word Command:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 ++#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 + msgid "Default Dictionary Configuration" + msgstr "" + +-#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 ++#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 + msgid "_View" + msgstr "" + +-#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 ++#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 + msgid "_Add" + msgstr "_Προσθήκη" + +-#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 ++#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 + msgid "_Delete" + msgstr "_Διαγραφή" + +-#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 ++#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 + msgid "_Up" + msgstr "Πά_νω" + +-#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 ++#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 + msgid "You can change the order on language bar" + msgstr "" + +-#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 ++#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 + msgid "_Down" + msgstr "_Κάτω" + +-#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 ++#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 + msgid "Extended Dictionaries" + msgstr "" + +-#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 ++#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 + msgid "Dictionary" + msgstr "" + +-#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 ++#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 + msgid "About" + msgstr "" + +-#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 ++#: ../setup/python2/setup.ui.h:89 ../setup/python3/setup.ui.h:89 + msgid "_Apply" + msgstr "_Εφαρμογή" + +-#: ../setup/python2/setup.ui.h:91 ../setup/python3/setup.ui.h:91 ++#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 + msgid "Edit Shortcut" + msgstr "" + +-#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 ++#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 + msgid "Key Code:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 ++#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 + msgid "Modifier:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 ++#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 + msgid "A_lternate" + msgstr "" + +-#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 ++#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 + msgid "Co_ntrol" + msgstr "" + +-#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 ++#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 + msgid "_Shift" + msgstr "" + +-#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 ++#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 + msgid "_Refresh" + msgstr "_Ανανέωση" + +-#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 ++#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 + msgid "_Input Characters" + msgstr "" + +-#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 ++#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 + msgid "_Output Characters" + msgstr "" + +-#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 ++#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 + msgid "_Left Thumb Shift" + msgstr "" + +-#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 ++#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 + msgid "_Right Thumb Shift" + msgstr "" + +-#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 ++#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 + msgid "_Remove" + msgstr "_Αφαίρεση" + +-#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 ++#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 + msgid "_Close" + msgstr "_Κλείσιμο" + +-#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 ++#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 + msgid "_Short Label:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 ++#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 + msgid "_Description:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 ++#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 + msgid "_Use your dictionary alone with switching dictionaries" + msgstr "" + +-#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 ++#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 + msgid "_Embed your dictionary in the system dictionary" + msgstr "" + +-#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 ++#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 + msgid "Enable the _reverse conversion" + msgstr "" + +-#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 ++#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 + msgid "The Anthy engine for the IBus input platform" + msgstr "" + +-#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 ++#: ../setup/python2/setup.ui.h:111 ../setup/python3/setup.ui.h:111 + msgid "translator_credits" + msgstr "" +diff --git a/po/fr.po b/po/fr.po +index a539258..515df3a 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -9,18 +9,18 @@ msgid "" + msgstr "" + "Project-Id-Version: IBus-Anthy\n" + "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" +-"POT-Creation-Date: 2014-08-21 18:57+0900\n" ++"POT-Creation-Date: 2014-08-21 19:30+0900\n" + "PO-Revision-Date: 2014-02-20 10:01+0100\n" + "Last-Translator: Julien Humbert \n" + "Language-Team: French \n" ++"Language: fr\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Language: fr\n" + "Plural-Forms: nplurals=2; plural=(n > 1);\n" + "X-Generator: Poedit 1.6.4\n" + +-#: ../engine/python2/engine.py:193 ../engine/python3/engine.py:194 ++#: ../engine/python2/engine.py:197 ../engine/python3/engine.py:198 + msgid "" + "Could not enable Anthy.\n" + "The end of the content of the file .anthy/last-record2_default.utf8 in your " +@@ -34,188 +34,188 @@ msgstr "" + "Veuillez corriger le fichier ou le supprimer manuellement, puis redémarrer " + "IBus." + +-#: ../engine/python2/engine.py:241 ../engine/python3/engine.py:242 +-#: ../setup/python2/main.py:408 ../setup/python3/main.py:413 ++#: ../engine/python2/engine.py:245 ../engine/python3/engine.py:246 ++#: ../setup/python2/main.py:412 ../setup/python3/main.py:417 + msgid "Preferences - Anthy" + msgstr "Préférences – Anthy" + +-#: ../engine/python2/engine.py:243 ../engine/python3/engine.py:244 ++#: ../engine/python2/engine.py:247 ../engine/python3/engine.py:248 + msgid "Configure Anthy" + msgstr "Configurer Anthy" + + #. Translators: Specify the order of %s with your translation. + #. It will be "Input Mode (A)" for example. +-#: ../engine/python2/engine.py:280 ../engine/python2/engine.py:368 +-#: ../engine/python2/engine.py:435 ../engine/python2/engine.py:511 +-#: ../engine/python2/engine.py:842 ../engine/python2/engine.py:870 +-#: ../engine/python2/engine.py:894 ../engine/python2/engine.py:920 +-#: ../engine/python2/engine.py:982 ../engine/python3/engine.py:281 +-#: ../engine/python3/engine.py:369 ../engine/python3/engine.py:436 +-#: ../engine/python3/engine.py:512 ../engine/python3/engine.py:837 +-#: ../engine/python3/engine.py:865 ../engine/python3/engine.py:889 +-#: ../engine/python3/engine.py:915 ../engine/python3/engine.py:977 ++#: ../engine/python2/engine.py:351 ../engine/python2/engine.py:439 ++#: ../engine/python2/engine.py:506 ../engine/python2/engine.py:582 ++#: ../engine/python2/engine.py:913 ../engine/python2/engine.py:944 ++#: ../engine/python2/engine.py:968 ../engine/python2/engine.py:994 ++#: ../engine/python2/engine.py:1056 ../engine/python3/engine.py:352 ++#: ../engine/python3/engine.py:440 ../engine/python3/engine.py:507 ++#: ../engine/python3/engine.py:583 ../engine/python3/engine.py:908 ++#: ../engine/python3/engine.py:939 ../engine/python3/engine.py:963 ++#: ../engine/python3/engine.py:989 ../engine/python3/engine.py:1051 + #, python-format + msgid "%(description)s (%(symbol)s)" + msgstr "%(description)s (%(symbol)s)" + +-#: ../engine/python2/engine.py:281 ../engine/python2/engine.py:843 +-#: ../engine/python3/engine.py:282 ../engine/python3/engine.py:838 +-#: ../setup/python2/main.py:393 ../setup/python3/main.py:398 ++#: ../engine/python2/engine.py:352 ../engine/python2/engine.py:914 ++#: ../engine/python3/engine.py:353 ../engine/python3/engine.py:909 ++#: ../setup/python2/main.py:397 ../setup/python3/main.py:402 + msgid "Input mode" + msgstr "Mode de saisie" + +-#: ../engine/python2/engine.py:287 ../engine/python3/engine.py:288 ++#: ../engine/python2/engine.py:358 ../engine/python3/engine.py:359 + msgid "Switch input mode" + msgstr "Changer de mode de saisie" + +-#: ../engine/python2/engine.py:297 ../engine/python3/engine.py:298 ++#: ../engine/python2/engine.py:368 ../engine/python3/engine.py:369 + #: ../setup/python2/setup.ui.h:1 ../setup/python3/setup.ui.h:1 + msgid "Hiragana" + msgstr "Hiragana" + +-#: ../engine/python2/engine.py:306 ../engine/python3/engine.py:307 ++#: ../engine/python2/engine.py:377 ../engine/python3/engine.py:378 + #: ../setup/python2/setup.ui.h:2 ../setup/python3/setup.ui.h:2 + msgid "Katakana" + msgstr "Katakana" + +-#: ../engine/python2/engine.py:315 ../engine/python3/engine.py:316 ++#: ../engine/python2/engine.py:386 ../engine/python3/engine.py:387 + #: ../setup/python2/setup.ui.h:3 ../setup/python3/setup.ui.h:3 + msgid "Halfwidth Katakana" + msgstr "Katakana demi-largeur" + +-#: ../engine/python2/engine.py:324 ../engine/python3/engine.py:325 ++#: ../engine/python2/engine.py:395 ../engine/python3/engine.py:396 + #: ../setup/python2/setup.ui.h:4 ../setup/python3/setup.ui.h:4 + msgid "Latin" + msgstr "Alphabet" + +-#: ../engine/python2/engine.py:333 ../engine/python3/engine.py:334 ++#: ../engine/python2/engine.py:404 ../engine/python3/engine.py:405 + #: ../setup/python2/setup.ui.h:5 ../setup/python3/setup.ui.h:5 + msgid "Wide Latin" + msgstr "Alphabet pleine largeur" + +-#: ../engine/python2/engine.py:369 ../engine/python2/engine.py:871 +-#: ../engine/python2/engine.py:895 ../engine/python3/engine.py:370 +-#: ../engine/python3/engine.py:866 ../engine/python3/engine.py:890 +-#: ../setup/python2/main.py:396 ../setup/python3/main.py:401 ++#: ../engine/python2/engine.py:440 ../engine/python2/engine.py:945 ++#: ../engine/python2/engine.py:969 ../engine/python3/engine.py:441 ++#: ../engine/python3/engine.py:940 ../engine/python3/engine.py:964 ++#: ../setup/python2/main.py:400 ../setup/python3/main.py:405 + msgid "Typing method" + msgstr "Méthode de saisie" + +-#: ../engine/python2/engine.py:375 ../engine/python3/engine.py:376 ++#: ../engine/python2/engine.py:446 ../engine/python3/engine.py:447 + msgid "Switch typing method" + msgstr "Changer de méthode de saisie" + +-#: ../engine/python2/engine.py:385 ../engine/python3/engine.py:386 ++#: ../engine/python2/engine.py:456 ../engine/python3/engine.py:457 + #: ../setup/python2/setup.ui.h:12 ../setup/python3/setup.ui.h:12 + msgid "Romaji" + msgstr "Romaji" + +-#: ../engine/python2/engine.py:394 ../engine/python3/engine.py:395 ++#: ../engine/python2/engine.py:465 ../engine/python3/engine.py:466 + #: ../setup/python2/setup.ui.h:13 ../setup/python3/setup.ui.h:13 + msgid "Kana" + msgstr "Kana" + +-#: ../engine/python2/engine.py:403 ../engine/python3/engine.py:404 ++#: ../engine/python2/engine.py:474 ../engine/python3/engine.py:475 + #: ../setup/python2/setup.ui.h:14 ../setup/python3/setup.ui.h:14 + msgid "Thumb shift" + msgstr "Thumb shift" + +-#: ../engine/python2/engine.py:436 ../engine/python2/engine.py:921 +-#: ../engine/python3/engine.py:437 ../engine/python3/engine.py:916 +-#: ../setup/python2/main.py:399 ../setup/python3/main.py:404 ++#: ../engine/python2/engine.py:507 ../engine/python2/engine.py:995 ++#: ../engine/python3/engine.py:508 ../engine/python3/engine.py:990 ++#: ../setup/python2/main.py:403 ../setup/python3/main.py:408 + msgid "Segment mode" + msgstr "Mode segments" + +-#: ../engine/python2/engine.py:442 ../engine/python3/engine.py:443 ++#: ../engine/python2/engine.py:513 ../engine/python3/engine.py:514 + msgid "Switch conversion mode" + msgstr "Changer de méthode de conversion" + +-#: ../engine/python2/engine.py:452 ../engine/python3/engine.py:453 ++#: ../engine/python2/engine.py:523 ../engine/python3/engine.py:524 + #: ../setup/python2/setup.ui.h:15 ../setup/python3/setup.ui.h:15 + msgid "Multiple segment" + msgstr "Segments multiples" + +-#: ../engine/python2/engine.py:461 ../engine/python3/engine.py:462 ++#: ../engine/python2/engine.py:532 ../engine/python3/engine.py:533 + #: ../setup/python2/setup.ui.h:16 ../setup/python3/setup.ui.h:16 + msgid "Single segment" + msgstr "Segments simples" + +-#: ../engine/python2/engine.py:470 ../engine/python3/engine.py:471 ++#: ../engine/python2/engine.py:541 ../engine/python3/engine.py:542 + #: ../setup/python2/setup.ui.h:17 ../setup/python3/setup.ui.h:17 + msgid "Immediate conversion (multiple segment)" + msgstr "Conversion immédiate (segments multiples)" + +-#: ../engine/python2/engine.py:479 ../engine/python3/engine.py:480 ++#: ../engine/python2/engine.py:550 ../engine/python3/engine.py:551 + #: ../setup/python2/setup.ui.h:18 ../setup/python3/setup.ui.h:18 + msgid "Immediate conversion (single segment)" + msgstr "Conversion immédiate (segments simples)" + +-#: ../engine/python2/engine.py:512 ../engine/python2/engine.py:983 +-#: ../engine/python3/engine.py:513 ../engine/python3/engine.py:978 +-#: ../setup/python2/main.py:402 ../setup/python3/main.py:407 ++#: ../engine/python2/engine.py:583 ../engine/python2/engine.py:1057 ++#: ../engine/python3/engine.py:584 ../engine/python3/engine.py:1052 ++#: ../setup/python2/main.py:406 ../setup/python3/main.py:411 + msgid "Dictionary mode" + msgstr "Mode dictionnaire" + +-#: ../engine/python2/engine.py:518 ../engine/python3/engine.py:519 ++#: ../engine/python2/engine.py:589 ../engine/python3/engine.py:590 + msgid "Switch dictionary" + msgstr "Changer de dictionnaire" + +-#: ../engine/python2/engine.py:601 ../engine/python3/engine.py:601 +-#: ../setup/python2/main.py:405 ../setup/python3/main.py:410 ++#: ../engine/python2/engine.py:672 ../engine/python3/engine.py:672 ++#: ../setup/python2/main.py:409 ../setup/python3/main.py:414 + msgid "Dictionary - Anthy" + msgstr "Dictionnaire – Anthy" + + #. Translators: "Dic" means 'dictionary', One kanji may be good. +-#: ../engine/python2/engine.py:607 ../engine/python3/engine.py:606 ++#: ../engine/python2/engine.py:678 ../engine/python3/engine.py:677 + msgid "Dic" + msgstr "Dico" + +-#: ../engine/python2/engine.py:614 ../engine/python3/engine.py:613 ++#: ../engine/python2/engine.py:685 ../engine/python3/engine.py:684 + msgid "Configure dictionaries" + msgstr "Configurer les dictionnaires" + +-#: ../engine/python2/engine.py:624 ../engine/python3/engine.py:623 ++#: ../engine/python2/engine.py:695 ../engine/python3/engine.py:694 + msgid "Edit dictionaries" + msgstr "Modifier les dictionnaires" + +-#: ../engine/python2/engine.py:626 ../engine/python3/engine.py:625 ++#: ../engine/python2/engine.py:697 ../engine/python3/engine.py:696 + msgid "Launch the dictionary tool" + msgstr "Lancer l’utilitaire de modification de dictionnaires" + +-#: ../engine/python2/engine.py:633 ../engine/python3/engine.py:632 ++#: ../engine/python2/engine.py:704 ../engine/python3/engine.py:703 + msgid "Add words" + msgstr "Ajouter de nouveaux mots" + +-#: ../engine/python2/engine.py:635 ../engine/python3/engine.py:634 ++#: ../engine/python2/engine.py:706 ../engine/python3/engine.py:705 + msgid "Add words to the dictionary" + msgstr "Ajouter de nouveaux mots dans le dictionnaire" + +-#: ../setup/python2/anthyprefs.py.in:1104 ../setup/python2/setup.ui.h:35 +-#: ../setup/python3/anthyprefs.py.in:1097 ../setup/python3/setup.ui.h:35 ++#: ../setup/python2/anthyprefs.py.in:1106 ../setup/python2/setup.ui.h:36 ++#: ../setup/python3/anthyprefs.py.in:1099 ../setup/python3/setup.ui.h:36 + msgid "General" + msgstr "Paramètres généraux" + +-#: ../setup/python2/anthyprefs.py.in:1115 +-#: ../setup/python3/anthyprefs.py.in:1108 ++#: ../setup/python2/anthyprefs.py.in:1117 ++#: ../setup/python3/anthyprefs.py.in:1110 + msgid "Zip Code Conversion" + msgstr "Conversion des codes postaux" + +-#: ../setup/python2/anthyprefs.py.in:1126 +-#: ../setup/python3/anthyprefs.py.in:1119 ++#: ../setup/python2/anthyprefs.py.in:1128 ++#: ../setup/python3/anthyprefs.py.in:1121 + msgid "Symbol" + msgstr "Symboles" + +-#: ../setup/python2/anthyprefs.py.in:1137 +-#: ../setup/python3/anthyprefs.py.in:1130 ++#: ../setup/python2/anthyprefs.py.in:1139 ++#: ../setup/python3/anthyprefs.py.in:1132 + msgid "Old Character Style" + msgstr "Anciens caractères" + +-#: ../setup/python2/anthyprefs.py.in:1147 +-#: ../setup/python3/anthyprefs.py.in:1140 ++#: ../setup/python2/anthyprefs.py.in:1149 ++#: ../setup/python3/anthyprefs.py.in:1142 + msgid "Era" + msgstr "Ère" + +-#: ../setup/python2/anthyprefs.py.in:1157 +-#: ../setup/python3/anthyprefs.py.in:1150 ++#: ../setup/python2/anthyprefs.py.in:1159 ++#: ../setup/python3/anthyprefs.py.in:1152 + msgid "Emoji" + msgstr "" + +@@ -234,193 +234,193 @@ msgstr "Configuration du moteur IBus Anthy" + msgid "ibus is not running." + msgstr "ibus n’est pas lancé." + +-#: ../setup/python2/main.py:180 ../setup/python3/main.py:183 ++#: ../setup/python2/main.py:181 ../setup/python3/main.py:184 + msgid "Menu label" + msgstr "Label du menu" + +-#: ../setup/python2/main.py:199 ../setup/python3/main.py:202 ++#: ../setup/python2/main.py:200 ../setup/python3/main.py:203 + msgid "Command" + msgstr "Commande" + +-#: ../setup/python2/main.py:203 ../setup/python3/main.py:206 ++#: ../setup/python2/main.py:204 ../setup/python3/main.py:207 + msgid "Shortcut" + msgstr "Raccourci" + +-#: ../setup/python2/main.py:248 ../setup/python3/main.py:251 ++#: ../setup/python2/main.py:249 ../setup/python3/main.py:252 + msgid "Description" + msgstr "Description" + + #. Translators: "Embd" is an abbreviation of "embedded". +-#: ../setup/python2/main.py:256 ../setup/python3/main.py:259 ++#: ../setup/python2/main.py:257 ../setup/python3/main.py:260 + msgid "Embd" + msgstr "Incorporé" + + #. Translators: "Sgl" is an abbreviation of "single". +-#: ../setup/python2/main.py:264 ../setup/python3/main.py:267 ++#: ../setup/python2/main.py:265 ../setup/python3/main.py:268 + msgid "Sgl" + msgstr "Seul" + +-#: ../setup/python2/main.py:439 ../setup/python2/main.py:475 +-#: ../setup/python3/main.py:444 ../setup/python3/main.py:480 ++#: ../setup/python2/main.py:443 ../setup/python2/main.py:479 ++#: ../setup/python3/main.py:448 ../setup/python3/main.py:484 + msgid "Input Chars" + msgstr "Caractère(s) d’entrée" + +-#: ../setup/python2/main.py:441 ../setup/python2/main.py:477 +-#: ../setup/python3/main.py:446 ../setup/python3/main.py:482 ++#: ../setup/python2/main.py:445 ../setup/python2/main.py:481 ++#: ../setup/python3/main.py:450 ../setup/python3/main.py:486 + msgid "Output Chars" + msgstr "Caractère(s) de sortie" + +-#: ../setup/python2/main.py:523 ../setup/python3/main.py:528 ++#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 + msgid "Input" + msgstr "Entrée" + +-#: ../setup/python2/main.py:525 ../setup/python3/main.py:530 ++#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 + msgid "Single" + msgstr "Seul" + +-#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 ++#: ../setup/python2/main.py:531 ../setup/python3/main.py:536 + msgid "Left" + msgstr "Gauche" + +-#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 ++#: ../setup/python2/main.py:533 ../setup/python3/main.py:538 + msgid "Right" + msgstr "Droite" + +-#: ../setup/python2/main.py:611 ../setup/python3/main.py:616 ++#: ../setup/python2/main.py:615 ../setup/python3/main.py:620 + msgid "Customize Romaji Key Table" + msgstr "Modifier la table des touches Romaji" + +-#: ../setup/python2/main.py:612 ../setup/python2/setup.ui.h:53 +-#: ../setup/python3/main.py:617 ../setup/python3/setup.ui.h:53 ++#: ../setup/python2/main.py:616 ../setup/python2/setup.ui.h:54 ++#: ../setup/python3/main.py:621 ../setup/python3/setup.ui.h:54 + msgid "_Romaji Key Table:" + msgstr "Table des touches _Romaji :" + +-#: ../setup/python2/main.py:613 ../setup/python2/main.py:619 +-#: ../setup/python3/main.py:618 ../setup/python3/main.py:624 ++#: ../setup/python2/main.py:617 ../setup/python2/main.py:623 ++#: ../setup/python3/main.py:622 ../setup/python3/main.py:628 + msgid "_Output Chars" + msgstr "Caractère(s) de _sortie" + +-#: ../setup/python2/main.py:614 ../setup/python2/main.py:1114 +-#: ../setup/python2/main.py:1196 ../setup/python2/setup.ui.h:26 +-#: ../setup/python3/main.py:619 ../setup/python3/main.py:1108 +-#: ../setup/python3/main.py:1190 ../setup/python3/setup.ui.h:26 ++#: ../setup/python2/main.py:618 ../setup/python2/main.py:1118 ++#: ../setup/python2/main.py:1200 ../setup/python2/setup.ui.h:26 ++#: ../setup/python3/main.py:623 ../setup/python3/main.py:1112 ++#: ../setup/python3/main.py:1194 ../setup/python3/setup.ui.h:26 + msgid "Default" + msgstr "Par défaut" + +-#: ../setup/python2/main.py:617 ../setup/python3/main.py:622 ++#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 + msgid "Customize Kana Key Table" + msgstr "Modifier la table des touches Kana" + +-#: ../setup/python2/main.py:618 ../setup/python2/setup.ui.h:55 +-#: ../setup/python3/main.py:623 ../setup/python3/setup.ui.h:55 ++#: ../setup/python2/main.py:622 ../setup/python2/setup.ui.h:56 ++#: ../setup/python3/main.py:627 ../setup/python3/setup.ui.h:56 + msgid "_Kana Key Table:" + msgstr "Table des touches _Kana :" + +-#: ../setup/python2/main.py:620 ../setup/python3/main.py:625 ++#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 + msgid "Japanese Keyboard Layout" + msgstr "Disposition clavier japonais" + +-#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 ++#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 + msgid "U.S. Keyboard Layout" + msgstr "Disposition clavier américain" + +-#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 ++#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 + msgid "Customize Thumb Shift Key Table" + msgstr "Modifier la table des touches de la méthode Thumb Shift" + +-#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 ++#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 + msgid "_Thumb Shift Key Table:" + msgstr "Table des touches de la méthode Thumb _Shift :" + +-#: ../setup/python2/main.py:626 ../setup/python3/main.py:631 ++#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 + msgid "Single _Output Chars" + msgstr "Caractère(s) de s_ortie unique(s)" + +-#: ../setup/python2/main.py:627 ../setup/python3/main.py:632 ++#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 + msgid "Base" + msgstr "Basique" + +-#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 ++#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 + msgid "NICOLA-J key extension" + msgstr "Extension de touches NICOLA-J" + +-#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 ++#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 + msgid "NICOLA-A key extension" + msgstr "Extension de touches NICOLA-A" + +-#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 ++#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 + msgid "NICOLA-F key extension" + msgstr "Extension de touches NICOLA-F" + +-#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 ++#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 + msgid "FMV KB231-J key extension" + msgstr "Extension de touches FMV KB231-J" + +-#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 ++#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 + msgid "FMV KB231-A key extension" + msgstr "Extension de touches FMV KB231-A" + +-#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 ++#: ../setup/python2/main.py:637 ../setup/python3/main.py:642 + msgid "FMV KB231-F key extension" + msgstr "Extension de touches FMV KB231-F" + +-#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 ++#: ../setup/python2/main.py:638 ../setup/python3/main.py:643 + msgid "FMV KB611-J key extension" + msgstr "Extension de touches FMV KB611-J" + +-#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 ++#: ../setup/python2/main.py:639 ../setup/python3/main.py:644 + msgid "FMV KB611-A key extension" + msgstr "Extension de touches FMV KB611-A" + +-#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 ++#: ../setup/python2/main.py:640 ../setup/python3/main.py:645 + msgid "FMV KB611-F key extension" + msgstr "Extension de touches FMV KB611-F" + +-#: ../setup/python2/main.py:780 ../setup/python3/main.py:785 ++#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 + msgid "Your choosed file has already been added: " + msgstr "Le fichier que vous avez sélectionné a déjà été ajouté : " + +-#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 ++#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 + msgid "The file you have chosen does not exist: " + msgstr "Le fichier que vous avez sélectionné n’existe pas : " + +-#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 ++#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 + msgid "Your choosed file is a directory: " + msgstr "Le fichier que vous avez sélectionné est un dossier : " + +-#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 ++#: ../setup/python2/main.py:796 ../setup/python3/main.py:801 + msgid "You cannot add dictionaries in the anthy private directory: " + msgstr "" + "Vous ne pouvez pas ajouter de dictionnaire dans le dossier privé d’Anthy : " + +-#: ../setup/python2/main.py:799 ../setup/python3/main.py:804 ++#: ../setup/python2/main.py:803 ../setup/python3/main.py:808 + msgid "Your file path is not good: " + msgstr "Le chemin du fichier sélectionné est incorrect : " + +-#: ../setup/python2/main.py:978 ../setup/python3/main.py:981 ++#: ../setup/python2/main.py:982 ../setup/python3/main.py:985 + msgid "The engine xml file does not exist: " + msgstr "Le fichier xml du moteur n’existe pas : " + +-#: ../setup/python2/main.py:1094 ../setup/python3/main.py:1088 ++#: ../setup/python2/main.py:1098 ../setup/python3/main.py:1092 + msgid "" + "Anthy keyboard layout is changed. Please restart ibus to reload the layout." + msgstr "" + "La disposition clavier Anthy a changée. Veuillez redémarrer ibus pour " + "charger la nouvelle disposition." + +-#: ../setup/python2/main.py:1157 ../setup/python3/main.py:1151 ++#: ../setup/python2/main.py:1161 ../setup/python3/main.py:1155 + msgid "Confirmation" + msgstr "Confirmer" + +-#: ../setup/python2/main.py:1159 ../setup/python3/main.py:1153 ++#: ../setup/python2/main.py:1163 ../setup/python3/main.py:1157 + msgid "You are about to close the setup dialog, is that OK?" + msgstr "Êtes-vous sûr de bien vouloir fermer la fenêtre de configuration ?" + +-#: ../setup/python2/main.py:1174 ../setup/python3/main.py:1168 ++#: ../setup/python2/main.py:1178 ../setup/python3/main.py:1172 + msgid "Notice!" + msgstr "Attention !" + +-#: ../setup/python2/main.py:1176 ../setup/python3/main.py:1170 ++#: ../setup/python2/main.py:1180 ../setup/python3/main.py:1174 + msgid "" + "You are about to close the setup dialog without saving your changes, is that " + "OK?" +@@ -428,89 +428,89 @@ msgstr "" + "Êtes-vous sûr de vouloir fermer la fenêtre de configuration sans sauver les " + "modifications ?" + +-#: ../setup/python2/main.py:1297 ../setup/python3/main.py:1291 ++#: ../setup/python2/main.py:1301 ../setup/python3/main.py:1295 + msgid "Please specify Input Chars" + msgstr "Veuillez spécifier les caractères d’entrée" + +-#: ../setup/python2/main.py:1300 ../setup/python3/main.py:1294 ++#: ../setup/python2/main.py:1304 ../setup/python3/main.py:1298 + msgid "Please specify Output Chars" + msgstr "Veuillez spécifier les caractères de sortie" + +-#: ../setup/python2/main.py:1303 ../setup/python3/main.py:1297 ++#: ../setup/python2/main.py:1307 ../setup/python3/main.py:1301 + msgid "Please specify Left Thumb Shift Chars" + msgstr "Veuillez spécifier les caractères Thumb Shift Gauche" + +-#: ../setup/python2/main.py:1306 ../setup/python3/main.py:1300 ++#: ../setup/python2/main.py:1310 ../setup/python3/main.py:1304 + msgid "Please specify Right Thumb Shift Chars" + msgstr "Veuillez spécifier les caractères Thumb Shift Droit" + +-#: ../setup/python2/main.py:1319 ../setup/python2/main.py:1363 +-#: ../setup/python3/main.py:1313 ../setup/python3/main.py:1357 ++#: ../setup/python2/main.py:1323 ../setup/python2/main.py:1367 ++#: ../setup/python3/main.py:1317 ../setup/python3/main.py:1361 + msgid "Your custom key is not assigned in any sections. Maybe a bug." + msgstr "" + "Votre touche personnalisée n’est assignée à aucune section. Cela est sans " + "doute un bogue." + +-#: ../setup/python2/main.py:1429 ../setup/python2/main.py:1516 +-#: ../setup/python3/main.py:1423 ../setup/python3/main.py:1510 ++#: ../setup/python2/main.py:1433 ../setup/python2/main.py:1520 ++#: ../setup/python3/main.py:1427 ../setup/python3/main.py:1514 + msgid "Your file does not exist: " + msgstr "Le fichier que vous avez sélectionné n’existe pas : " + +-#: ../setup/python2/main.py:1439 ../setup/python3/main.py:1433 ++#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 + msgid "Open Dictionary File" + msgstr "Ouvrir un fichier de dictionnaire" + +-#: ../setup/python2/main.py:1442 ../setup/python2/main.py:1448 +-#: ../setup/python2/setup.ui.h:89 ../setup/python3/main.py:1436 +-#: ../setup/python3/main.py:1442 ../setup/python3/setup.ui.h:89 ++#: ../setup/python2/main.py:1446 ../setup/python2/main.py:1452 ++#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1440 ++#: ../setup/python3/main.py:1446 ../setup/python3/setup.ui.h:90 + msgid "_Cancel" + msgstr "A_nnuler" + +-#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 ++#: ../setup/python2/main.py:1447 ../setup/python3/main.py:1441 + msgid "_Open" + msgstr "_Ouvrir" + +-#: ../setup/python2/main.py:1446 ../setup/python3/main.py:1440 ++#: ../setup/python2/main.py:1450 ../setup/python3/main.py:1444 + msgid "Edit Dictionary File" + msgstr "Modifier le fichier de dictionnaire" + +-#: ../setup/python2/main.py:1449 ../setup/python2/main.py:1544 +-#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1443 +-#: ../setup/python3/main.py:1538 ../setup/python3/setup.ui.h:90 ++#: ../setup/python2/main.py:1453 ../setup/python2/main.py:1548 ++#: ../setup/python2/setup.ui.h:91 ../setup/python3/main.py:1447 ++#: ../setup/python3/main.py:1542 ../setup/python3/setup.ui.h:91 + msgid "_OK" + msgstr "_Valider" + +-#: ../setup/python2/main.py:1460 ../setup/python3/main.py:1454 ++#: ../setup/python2/main.py:1464 ../setup/python3/main.py:1458 + msgid "Your choosed file is not correct." + msgstr "Le fichier que vous avez sélectionné est incorrect." + +-#: ../setup/python2/main.py:1489 ../setup/python3/main.py:1483 ++#: ../setup/python2/main.py:1493 ../setup/python3/main.py:1487 + msgid "You cannot delete the system dictionary." + msgstr "Vous ne pouvez pas supprimer le dictionnaire système." + +-#: ../setup/python2/main.py:1512 ../setup/python3/main.py:1506 ++#: ../setup/python2/main.py:1516 ../setup/python3/main.py:1510 + msgid "Your file is not good." + msgstr "Le fichier que vous avez sélectionné n’est pas bon." + +-#: ../setup/python2/main.py:1542 ../setup/python3/main.py:1536 ++#: ../setup/python2/main.py:1546 ../setup/python3/main.py:1540 + msgid "View Dictionary File" + msgstr "Voir le fichier de dictionnaire" + +-#: ../setup/python2/main.py:1694 ../setup/python3/main.py:1688 ++#: ../setup/python2/main.py:1698 ../setup/python3/main.py:1692 + msgid "Please press a key (or a key combination)" + msgstr "Veuillez appuyer sur une touche (ou une combinaison de touches)" + +-#: ../setup/python2/main.py:1695 ../setup/python3/main.py:1689 ++#: ../setup/python2/main.py:1699 ../setup/python3/main.py:1693 + msgid "The dialog will be closed when the key is released" + msgstr "La fenêtre se fermera lorsque la touche sera relâchée" + +-#: ../setup/python2/main.py:1715 ../setup/python2/main.py:1736 +-#: ../setup/python3/main.py:1709 ../setup/python3/main.py:1730 ++#: ../setup/python2/main.py:1719 ../setup/python2/main.py:1740 ++#: ../setup/python3/main.py:1713 ../setup/python3/main.py:1734 + msgid "Invalid keysym" + msgstr "« keysym » invalide" + +-#: ../setup/python2/main.py:1716 ../setup/python2/main.py:1737 +-#: ../setup/python3/main.py:1710 ../setup/python3/main.py:1731 ++#: ../setup/python2/main.py:1720 ../setup/python2/main.py:1741 ++#: ../setup/python3/main.py:1714 ../setup/python3/main.py:1735 + msgid "This keysym is not valid" + msgstr "Ce « keysym » n’est pas valide" + +@@ -595,50 +595,55 @@ msgid "Initial Setting" + msgstr "Configuration initiale" + + #: ../setup/python2/setup.ui.h:34 ../setup/python3/setup.ui.h:34 ++#, fuzzy ++msgid "_Show input mode icon" ++msgstr "Changer de mode de saisie" ++ ++#: ../setup/python2/setup.ui.h:35 ../setup/python3/setup.ui.h:35 + msgid "Menu Visibility on Status Icon" + msgstr "Visibilité du menu sur l’icône de statut" + +-#: ../setup/python2/setup.ui.h:36 ../setup/python3/setup.ui.h:36 ++#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 + msgid "_Period Style:" + msgstr "Style de _Ponctuation :" + +-#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 ++#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 + msgid "Symbo_l Style:" + msgstr "Style de _Symboles :" + +-#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 ++#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 + msgid "Numpad _Key Type:" + msgstr "Touches du pa_vé numérique :" + +-#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 ++#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 + msgid "_Behavior on Period:" + msgstr "Comportement _lors de la ponctuation :" + +-#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 ++#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 + msgid "Behavior on _Focus Out:" + msgstr "Comportement à la perte du _focus :" + +-#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 ++#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 + msgid "Behavior" + msgstr "Comportement" + +-#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 ++#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 + msgid "Candidate _Window Page Size:" + msgstr "_Taille de la fenêtre de la liste des candidats :" + +-#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 ++#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 + msgid "Convert _symbols with the one column width" + msgstr "Convertir les s_ymboles en symboles d’une seule colonne de largeur" + +-#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 ++#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 + msgid "Convert _numbers with the one column width" + msgstr "Convertir les ch_iffres en chiffres d’une seule colonne de largeur" + +-#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 ++#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 + msgid "Con_vert spaces with the one column width" + msgstr "Convertir les _espaces en espaces d’une seule colonne de largeur" + +-#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 ++#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 + msgid "" + "Swi_tch “Hiragana” and “Latin” with Shift key and Hiragana–Katakana key in " + "preedit" +@@ -646,83 +651,83 @@ msgstr "" + "Permuter entre les modes « Hiragana » et « Latin » avec la touche Maj et la " + "touche Hiragana-Katakana en pré-édition" + +-#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 ++#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 + msgid "Other" + msgstr "Autres options" + +-#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 ++#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 + msgid "Conversion" + msgstr "Mode de conversion " + +-#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 ++#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 + msgid "_Shortcut Type:" + msgstr "Raccourcis _claviers :" + +-#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 ++#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 + msgid "De_fault" + msgstr "Par dé_faut" + +-#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 ++#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 + msgid "_Edit" + msgstr "_Modifier" + +-#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 ++#: ../setup/python2/setup.ui.h:53 ../setup/python3/setup.ui.h:53 + msgid "Key Binding" + msgstr "Raccourcis claviers" + +-#: ../setup/python2/setup.ui.h:54 ../setup/python3/setup.ui.h:54 ++#: ../setup/python2/setup.ui.h:55 ../setup/python3/setup.ui.h:55 + msgid "Romaji" + msgstr "Romaji" + +-#: ../setup/python2/setup.ui.h:56 ../setup/python3/setup.ui.h:56 ++#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 + msgid "Kana" + msgstr "Kana" + +-#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 ++#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 + msgid "Keyboad _layout:" + msgstr "Disposition c_lavier :" + +-#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 ++#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 + msgid "Keyboard layout" + msgstr "Disposition clavier" + +-#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 ++#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 + msgid "Typing Method" + msgstr "Méthode de saisie" + +-#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 ++#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 + msgid "_Left Thumb Shift Key:" + msgstr "Touche Thumb Shift _Gauche :" + +-#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 ++#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 + msgid "Right _Thumb Shift Key:" + msgstr "Touche Thumb Shift _Droite :" + +-#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 ++#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 + msgid "Adjust _input method layout to system keyboard layout" + msgstr "Utiliser la disposition clavier système pour la méthode d’entrée" + +-#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 ++#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 + msgid "Adjust IM layout to XKB layout" + msgstr "Utilise la disposition clavier utilisée par XKB pour l’IME" + +-#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 ++#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 + msgid "Input _Method Layout:" + msgstr "Disposition de la _Méthode de saisie :" + +-#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 ++#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 + msgid "Restart IBus when you change the keyboard layout" + msgstr "Redémarrez IBus lorsque vous changer la disposition clavier système." + +-#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 ++#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 + msgid "Restart IBus when you change XKB" + msgstr "Redémarrez IBus lorsque vous changer la configuration XKB" + +-#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 ++#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 + msgid "_Additional Key Arrangement:" + msgstr "_Arrangements des Touches Additionnelles :" + +-#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 ++#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 + msgid "" + "'~', '『', '¢', '£' and so on can be output with " + "Thumb Shift key" +@@ -730,7 +735,7 @@ msgstr "" + "'~', '『', '¢', '£', etc. peuvent être tapés avec la " + "méthode Thumb Shift" + +-#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 ++#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 + msgid "" + "You do not have to reconfigure the system keyboard layout for \"Additional " + "Key Arrangement\" since this option changes input method layout only in case " +@@ -741,7 +746,7 @@ msgstr "" + "option ne change la disposition de la méthode de saisie que lorsque la " + "méthode de saisie est activée." + +-#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 ++#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 + msgid "" + "You do not have to reconfigure XKB since this option changes IM layout only " + "with IM on." +@@ -749,155 +754,155 @@ msgstr "" + "Vous n’avez pas besoin de reconfigurer XKB, puisque cette option ne change " + "que la disposition de l’IME lorsque l’IME est activé." + +-#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 ++#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 + msgid "_Enable semi-voiced sound mark with Shift key" + msgstr "Activer les « semi-_voiced sound mark » avec la touche Majuscule" + +-#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 ++#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 + msgid "Seion + Shift can output Handakuon" + msgstr "Seion + Majuscule peut imprimer Handakuon" + +-#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 ++#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 + msgid "Thumb _Shift Key Table:" + msgstr "Table des touches Thumb _Shift :" + +-#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 ++#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 + msgid "Thumb Shift Layout" + msgstr "Disposition Thumb Shift" + +-#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 ++#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 + msgid "Thumb Shift" + msgstr "Thumb Shift" + +-#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 ++#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 + msgid "_Edit Dictionary Command:" + msgstr "Commande permettant l’éd_ition du Dictionnaire :" + +-#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 ++#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 + msgid "_Add Word Command:" + msgstr "Commande permettant l’a_jout d’un mot :" + +-#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 ++#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 + msgid "Default Dictionary Configuration" + msgstr "Configuration du Dictionnaire par Défaut" + +-#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 ++#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 + msgid "_View" + msgstr "_Voir" + +-#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 ++#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 + msgid "_Add" + msgstr "A_jouter" + +-#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 ++#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 + msgid "_Delete" + msgstr "_Supprimer" + +-#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 ++#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 + msgid "_Up" + msgstr "_Monter" + +-#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 ++#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 + msgid "You can change the order on language bar" + msgstr "Vous pouvez changer l’ordre dans la barre de langue" + +-#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 ++#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 + msgid "_Down" + msgstr "_Descendre" + +-#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 ++#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 + msgid "Extended Dictionaries" + msgstr "Dictionnaires supplémentaires" + +-#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 ++#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 + msgid "Dictionary" + msgstr "Dictionnaire" + +-#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 ++#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 + msgid "About" + msgstr "À propos" + +-#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 ++#: ../setup/python2/setup.ui.h:89 ../setup/python3/setup.ui.h:89 + msgid "_Apply" + msgstr "A_ppliquer" + +-#: ../setup/python2/setup.ui.h:91 ../setup/python3/setup.ui.h:91 ++#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 + msgid "Edit Shortcut" + msgstr "Éditer le raccourci" + +-#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 ++#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 + msgid "Key Code:" + msgstr "Touche :" + +-#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 ++#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 + msgid "Modifier:" + msgstr "Modificateur :" + +-#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 ++#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 + msgid "A_lternate" + msgstr "A_lternatif" + +-#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 ++#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 + msgid "Co_ntrol" + msgstr "Co_ntrol" + +-#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 ++#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 + msgid "_Shift" + msgstr "_Majuscule" + +-#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 ++#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 + msgid "_Refresh" + msgstr "A_ctualiser" + +-#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 ++#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 + msgid "_Input Characters" + msgstr "Caractère(s) d’_entrée" + +-#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 ++#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 + msgid "_Output Characters" + msgstr "Caractères de s_ortie" + +-#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 ++#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 + msgid "_Left Thumb Shift" + msgstr "Thumb Shift _Gauche" + +-#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 ++#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 + msgid "_Right Thumb Shift" + msgstr "Thumb Shift D_roit" + +-#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 ++#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 + msgid "_Remove" + msgstr "_Enlever" + +-#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 ++#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 + msgid "_Close" + msgstr "_Fermer" + +-#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 ++#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 + msgid "_Short Label:" + msgstr "_Label court :" + +-#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 ++#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 + msgid "_Description:" + msgstr "_Description :" + +-#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 ++#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 + msgid "_Use your dictionary alone with switching dictionaries" + msgstr "" + "_Utiliser votre dictionnaire tout seul lors du basculement des dictionnaires" + +-#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 ++#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 + msgid "_Embed your dictionary in the system dictionary" + msgstr "Inclur_e votre dictionnaire dans le dictionnaire système" + +-#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 ++#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 + msgid "Enable the _reverse conversion" + msgstr "Activer la conversion inversée" + +-#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 ++#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 + msgid "The Anthy engine for the IBus input platform" + msgstr "Le moteur Anthy pour la plateforme de saisie IBus" + +-#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 ++#: ../setup/python2/setup.ui.h:111 ../setup/python3/setup.ui.h:111 + msgid "translator_credits" + msgstr "Julien Humbert " +diff --git a/po/ja.po b/po/ja.po +index 408955d..9167d20 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -9,7 +9,7 @@ msgid "" + msgstr "" + "Project-Id-Version: IBus-Anthy\n" + "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" +-"POT-Creation-Date: 2014-08-21 18:57+0900\n" ++"POT-Creation-Date: 2014-08-21 19:25+0900\n" + "PO-Revision-Date: 2014-02-18 08:42+0000\n" + "Last-Translator: UTUMI Hirosi \n" + "Language-Team: Japanese \n" +@@ -19,7 +19,7 @@ msgstr "" + "Language: ja\n" + "Plural-Forms: nplurals=1; plural=0;\n" + +-#: ../engine/python2/engine.py:193 ../engine/python3/engine.py:194 ++#: ../engine/python2/engine.py:197 ../engine/python3/engine.py:198 + msgid "" + "Could not enable Anthy.\n" + "The end of the content of the file .anthy/last-record2_default.utf8 in your " +@@ -27,188 +27,188 @@ msgid "" + "Please fix the file or remove it by manual and restart IBus." + msgstr "Anthy を有効にできませんでした。\nホームディレクトリにある .anthy/last-record2_default.utf8 の中身の最後が '\\n' でありません。つまり正しくないテキストフォーマットです。\n手動でファイルを修正するか削除して IBus をリスタートしてください。" + +-#: ../engine/python2/engine.py:241 ../engine/python3/engine.py:242 +-#: ../setup/python2/main.py:408 ../setup/python3/main.py:413 ++#: ../engine/python2/engine.py:245 ../engine/python3/engine.py:246 ++#: ../setup/python2/main.py:412 ../setup/python3/main.py:417 + msgid "Preferences - Anthy" + msgstr "設定 - Anthy" + +-#: ../engine/python2/engine.py:243 ../engine/python3/engine.py:244 ++#: ../engine/python2/engine.py:247 ../engine/python3/engine.py:248 + msgid "Configure Anthy" + msgstr "Anthy を構成します" + + #. Translators: Specify the order of %s with your translation. + #. It will be "Input Mode (A)" for example. +-#: ../engine/python2/engine.py:280 ../engine/python2/engine.py:368 +-#: ../engine/python2/engine.py:435 ../engine/python2/engine.py:511 +-#: ../engine/python2/engine.py:842 ../engine/python2/engine.py:870 +-#: ../engine/python2/engine.py:894 ../engine/python2/engine.py:920 +-#: ../engine/python2/engine.py:982 ../engine/python3/engine.py:281 +-#: ../engine/python3/engine.py:369 ../engine/python3/engine.py:436 +-#: ../engine/python3/engine.py:512 ../engine/python3/engine.py:837 +-#: ../engine/python3/engine.py:865 ../engine/python3/engine.py:889 +-#: ../engine/python3/engine.py:915 ../engine/python3/engine.py:977 ++#: ../engine/python2/engine.py:351 ../engine/python2/engine.py:439 ++#: ../engine/python2/engine.py:506 ../engine/python2/engine.py:582 ++#: ../engine/python2/engine.py:913 ../engine/python2/engine.py:944 ++#: ../engine/python2/engine.py:968 ../engine/python2/engine.py:994 ++#: ../engine/python2/engine.py:1056 ../engine/python3/engine.py:352 ++#: ../engine/python3/engine.py:440 ../engine/python3/engine.py:507 ++#: ../engine/python3/engine.py:583 ../engine/python3/engine.py:908 ++#: ../engine/python3/engine.py:939 ../engine/python3/engine.py:963 ++#: ../engine/python3/engine.py:989 ../engine/python3/engine.py:1051 + #, python-format + msgid "%(description)s (%(symbol)s)" + msgstr "%(description)s (%(symbol)s)" + +-#: ../engine/python2/engine.py:281 ../engine/python2/engine.py:843 +-#: ../engine/python3/engine.py:282 ../engine/python3/engine.py:838 +-#: ../setup/python2/main.py:393 ../setup/python3/main.py:398 ++#: ../engine/python2/engine.py:352 ../engine/python2/engine.py:914 ++#: ../engine/python3/engine.py:353 ../engine/python3/engine.py:909 ++#: ../setup/python2/main.py:397 ../setup/python3/main.py:402 + msgid "Input mode" + msgstr "入力モード" + +-#: ../engine/python2/engine.py:287 ../engine/python3/engine.py:288 ++#: ../engine/python2/engine.py:358 ../engine/python3/engine.py:359 + msgid "Switch input mode" + msgstr "入力モードを切り替えます" + +-#: ../engine/python2/engine.py:297 ../engine/python3/engine.py:298 ++#: ../engine/python2/engine.py:368 ../engine/python3/engine.py:369 + #: ../setup/python2/setup.ui.h:1 ../setup/python3/setup.ui.h:1 + msgid "Hiragana" + msgstr "ひらがな" + +-#: ../engine/python2/engine.py:306 ../engine/python3/engine.py:307 ++#: ../engine/python2/engine.py:377 ../engine/python3/engine.py:378 + #: ../setup/python2/setup.ui.h:2 ../setup/python3/setup.ui.h:2 + msgid "Katakana" + msgstr "カタカナ" + +-#: ../engine/python2/engine.py:315 ../engine/python3/engine.py:316 ++#: ../engine/python2/engine.py:386 ../engine/python3/engine.py:387 + #: ../setup/python2/setup.ui.h:3 ../setup/python3/setup.ui.h:3 + msgid "Halfwidth Katakana" + msgstr "半角カタカナ" + +-#: ../engine/python2/engine.py:324 ../engine/python3/engine.py:325 ++#: ../engine/python2/engine.py:395 ../engine/python3/engine.py:396 + #: ../setup/python2/setup.ui.h:4 ../setup/python3/setup.ui.h:4 + msgid "Latin" + msgstr "英数" + +-#: ../engine/python2/engine.py:333 ../engine/python3/engine.py:334 ++#: ../engine/python2/engine.py:404 ../engine/python3/engine.py:405 + #: ../setup/python2/setup.ui.h:5 ../setup/python3/setup.ui.h:5 + msgid "Wide Latin" + msgstr "全角英数" + +-#: ../engine/python2/engine.py:369 ../engine/python2/engine.py:871 +-#: ../engine/python2/engine.py:895 ../engine/python3/engine.py:370 +-#: ../engine/python3/engine.py:866 ../engine/python3/engine.py:890 +-#: ../setup/python2/main.py:396 ../setup/python3/main.py:401 ++#: ../engine/python2/engine.py:440 ../engine/python2/engine.py:945 ++#: ../engine/python2/engine.py:969 ../engine/python3/engine.py:441 ++#: ../engine/python3/engine.py:940 ../engine/python3/engine.py:964 ++#: ../setup/python2/main.py:400 ../setup/python3/main.py:405 + msgid "Typing method" + msgstr "入力タイプ" + +-#: ../engine/python2/engine.py:375 ../engine/python3/engine.py:376 ++#: ../engine/python2/engine.py:446 ../engine/python3/engine.py:447 + msgid "Switch typing method" + msgstr "入力タイプを切り替えます" + +-#: ../engine/python2/engine.py:385 ../engine/python3/engine.py:386 ++#: ../engine/python2/engine.py:456 ../engine/python3/engine.py:457 + #: ../setup/python2/setup.ui.h:12 ../setup/python3/setup.ui.h:12 + msgid "Romaji" + msgstr "ローマ字" + +-#: ../engine/python2/engine.py:394 ../engine/python3/engine.py:395 ++#: ../engine/python2/engine.py:465 ../engine/python3/engine.py:466 + #: ../setup/python2/setup.ui.h:13 ../setup/python3/setup.ui.h:13 + msgid "Kana" + msgstr "かな" + +-#: ../engine/python2/engine.py:403 ../engine/python3/engine.py:404 ++#: ../engine/python2/engine.py:474 ../engine/python3/engine.py:475 + #: ../setup/python2/setup.ui.h:14 ../setup/python3/setup.ui.h:14 + msgid "Thumb shift" + msgstr "親指シフト" + +-#: ../engine/python2/engine.py:436 ../engine/python2/engine.py:921 +-#: ../engine/python3/engine.py:437 ../engine/python3/engine.py:916 +-#: ../setup/python2/main.py:399 ../setup/python3/main.py:404 ++#: ../engine/python2/engine.py:507 ../engine/python2/engine.py:995 ++#: ../engine/python3/engine.py:508 ../engine/python3/engine.py:990 ++#: ../setup/python2/main.py:403 ../setup/python3/main.py:408 + msgid "Segment mode" + msgstr "文節モード" + +-#: ../engine/python2/engine.py:442 ../engine/python3/engine.py:443 ++#: ../engine/python2/engine.py:513 ../engine/python3/engine.py:514 + msgid "Switch conversion mode" + msgstr "変換モードを切り替えます" + +-#: ../engine/python2/engine.py:452 ../engine/python3/engine.py:453 ++#: ../engine/python2/engine.py:523 ../engine/python3/engine.py:524 + #: ../setup/python2/setup.ui.h:15 ../setup/python3/setup.ui.h:15 + msgid "Multiple segment" + msgstr "連文節" + +-#: ../engine/python2/engine.py:461 ../engine/python3/engine.py:462 ++#: ../engine/python2/engine.py:532 ../engine/python3/engine.py:533 + #: ../setup/python2/setup.ui.h:16 ../setup/python3/setup.ui.h:16 + msgid "Single segment" + msgstr "単文節" + +-#: ../engine/python2/engine.py:470 ../engine/python3/engine.py:471 ++#: ../engine/python2/engine.py:541 ../engine/python3/engine.py:542 + #: ../setup/python2/setup.ui.h:17 ../setup/python3/setup.ui.h:17 + msgid "Immediate conversion (multiple segment)" + msgstr "逐次変換 (連文節)" + +-#: ../engine/python2/engine.py:479 ../engine/python3/engine.py:480 ++#: ../engine/python2/engine.py:550 ../engine/python3/engine.py:551 + #: ../setup/python2/setup.ui.h:18 ../setup/python3/setup.ui.h:18 + msgid "Immediate conversion (single segment)" + msgstr "逐次変換 (単文節)" + +-#: ../engine/python2/engine.py:512 ../engine/python2/engine.py:983 +-#: ../engine/python3/engine.py:513 ../engine/python3/engine.py:978 +-#: ../setup/python2/main.py:402 ../setup/python3/main.py:407 ++#: ../engine/python2/engine.py:583 ../engine/python2/engine.py:1057 ++#: ../engine/python3/engine.py:584 ../engine/python3/engine.py:1052 ++#: ../setup/python2/main.py:406 ../setup/python3/main.py:411 + msgid "Dictionary mode" + msgstr "辞書モード" + +-#: ../engine/python2/engine.py:518 ../engine/python3/engine.py:519 ++#: ../engine/python2/engine.py:589 ../engine/python3/engine.py:590 + msgid "Switch dictionary" + msgstr "辞書を切り替えます" + +-#: ../engine/python2/engine.py:601 ../engine/python3/engine.py:601 +-#: ../setup/python2/main.py:405 ../setup/python3/main.py:410 ++#: ../engine/python2/engine.py:672 ../engine/python3/engine.py:672 ++#: ../setup/python2/main.py:409 ../setup/python3/main.py:414 + msgid "Dictionary - Anthy" + msgstr "辞書 - Anthy" + + #. Translators: "Dic" means 'dictionary', One kanji may be good. +-#: ../engine/python2/engine.py:607 ../engine/python3/engine.py:606 ++#: ../engine/python2/engine.py:678 ../engine/python3/engine.py:677 + msgid "Dic" + msgstr "辞" + +-#: ../engine/python2/engine.py:614 ../engine/python3/engine.py:613 ++#: ../engine/python2/engine.py:685 ../engine/python3/engine.py:684 + msgid "Configure dictionaries" + msgstr "辞書を構成します" + +-#: ../engine/python2/engine.py:624 ../engine/python3/engine.py:623 ++#: ../engine/python2/engine.py:695 ../engine/python3/engine.py:694 + msgid "Edit dictionaries" + msgstr "辞書を編集する" + +-#: ../engine/python2/engine.py:626 ../engine/python3/engine.py:625 ++#: ../engine/python2/engine.py:697 ../engine/python3/engine.py:696 + msgid "Launch the dictionary tool" + msgstr "辞書ツールを起動する" + +-#: ../engine/python2/engine.py:633 ../engine/python3/engine.py:632 ++#: ../engine/python2/engine.py:704 ../engine/python3/engine.py:703 + msgid "Add words" + msgstr "単語を追加する" + +-#: ../engine/python2/engine.py:635 ../engine/python3/engine.py:634 ++#: ../engine/python2/engine.py:706 ../engine/python3/engine.py:705 + msgid "Add words to the dictionary" + msgstr "辞書に単語を追加する" + +-#: ../setup/python2/anthyprefs.py.in:1104 ../setup/python2/setup.ui.h:35 +-#: ../setup/python3/anthyprefs.py.in:1097 ../setup/python3/setup.ui.h:35 ++#: ../setup/python2/anthyprefs.py.in:1106 ../setup/python2/setup.ui.h:36 ++#: ../setup/python3/anthyprefs.py.in:1099 ../setup/python3/setup.ui.h:36 + msgid "General" + msgstr "一般" + +-#: ../setup/python2/anthyprefs.py.in:1115 +-#: ../setup/python3/anthyprefs.py.in:1108 ++#: ../setup/python2/anthyprefs.py.in:1117 ++#: ../setup/python3/anthyprefs.py.in:1110 + msgid "Zip Code Conversion" + msgstr "郵便番号変換" + +-#: ../setup/python2/anthyprefs.py.in:1126 +-#: ../setup/python3/anthyprefs.py.in:1119 ++#: ../setup/python2/anthyprefs.py.in:1128 ++#: ../setup/python3/anthyprefs.py.in:1121 + msgid "Symbol" + msgstr "記号" + +-#: ../setup/python2/anthyprefs.py.in:1137 +-#: ../setup/python3/anthyprefs.py.in:1130 ++#: ../setup/python2/anthyprefs.py.in:1139 ++#: ../setup/python3/anthyprefs.py.in:1132 + msgid "Old Character Style" + msgstr "旧字体" + +-#: ../setup/python2/anthyprefs.py.in:1147 +-#: ../setup/python3/anthyprefs.py.in:1140 ++#: ../setup/python2/anthyprefs.py.in:1149 ++#: ../setup/python3/anthyprefs.py.in:1142 + msgid "Era" + msgstr "年号" + +-#: ../setup/python2/anthyprefs.py.in:1157 +-#: ../setup/python3/anthyprefs.py.in:1150 ++#: ../setup/python2/anthyprefs.py.in:1159 ++#: ../setup/python3/anthyprefs.py.in:1152 + msgid "Emoji" + msgstr "絵文字" + +@@ -227,276 +227,276 @@ msgstr "IBus Anthy エンジンの設定" + msgid "ibus is not running." + msgstr "ibus が起動していません。" + +-#: ../setup/python2/main.py:180 ../setup/python3/main.py:183 ++#: ../setup/python2/main.py:181 ../setup/python3/main.py:184 + msgid "Menu label" + msgstr "メニューラベル" + +-#: ../setup/python2/main.py:199 ../setup/python3/main.py:202 ++#: ../setup/python2/main.py:200 ../setup/python3/main.py:203 + msgid "Command" + msgstr "コマンド" + +-#: ../setup/python2/main.py:203 ../setup/python3/main.py:206 ++#: ../setup/python2/main.py:204 ../setup/python3/main.py:207 + msgid "Shortcut" + msgstr "ショートカット" + +-#: ../setup/python2/main.py:248 ../setup/python3/main.py:251 ++#: ../setup/python2/main.py:249 ../setup/python3/main.py:252 + msgid "Description" + msgstr "説明" + + #. Translators: "Embd" is an abbreviation of "embedded". +-#: ../setup/python2/main.py:256 ../setup/python3/main.py:259 ++#: ../setup/python2/main.py:257 ../setup/python3/main.py:260 + msgid "Embd" + msgstr "組" + + #. Translators: "Sgl" is an abbreviation of "single". +-#: ../setup/python2/main.py:264 ../setup/python3/main.py:267 ++#: ../setup/python2/main.py:265 ../setup/python3/main.py:268 + msgid "Sgl" + msgstr "単" + +-#: ../setup/python2/main.py:439 ../setup/python2/main.py:475 +-#: ../setup/python3/main.py:444 ../setup/python3/main.py:480 ++#: ../setup/python2/main.py:443 ../setup/python2/main.py:479 ++#: ../setup/python3/main.py:448 ../setup/python3/main.py:484 + msgid "Input Chars" + msgstr "入力文字" + +-#: ../setup/python2/main.py:441 ../setup/python2/main.py:477 +-#: ../setup/python3/main.py:446 ../setup/python3/main.py:482 ++#: ../setup/python2/main.py:445 ../setup/python2/main.py:481 ++#: ../setup/python3/main.py:450 ../setup/python3/main.py:486 + msgid "Output Chars" + msgstr "出力文字" + +-#: ../setup/python2/main.py:523 ../setup/python3/main.py:528 ++#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 + msgid "Input" + msgstr "入力" + +-#: ../setup/python2/main.py:525 ../setup/python3/main.py:530 ++#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 + msgid "Single" + msgstr "単" + +-#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 ++#: ../setup/python2/main.py:531 ../setup/python3/main.py:536 + msgid "Left" + msgstr "左" + +-#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 ++#: ../setup/python2/main.py:533 ../setup/python3/main.py:538 + msgid "Right" + msgstr "右" + +-#: ../setup/python2/main.py:611 ../setup/python3/main.py:616 ++#: ../setup/python2/main.py:615 ../setup/python3/main.py:620 + msgid "Customize Romaji Key Table" + msgstr "ローマ字キーテーブルのカスタマイズ" + +-#: ../setup/python2/main.py:612 ../setup/python2/setup.ui.h:53 +-#: ../setup/python3/main.py:617 ../setup/python3/setup.ui.h:53 ++#: ../setup/python2/main.py:616 ../setup/python2/setup.ui.h:54 ++#: ../setup/python3/main.py:621 ../setup/python3/setup.ui.h:54 + msgid "_Romaji Key Table:" + msgstr "ローマ字キーテーブル(_R):" + +-#: ../setup/python2/main.py:613 ../setup/python2/main.py:619 +-#: ../setup/python3/main.py:618 ../setup/python3/main.py:624 ++#: ../setup/python2/main.py:617 ../setup/python2/main.py:623 ++#: ../setup/python3/main.py:622 ../setup/python3/main.py:628 + msgid "_Output Chars" + msgstr "出力文字(_O)" + +-#: ../setup/python2/main.py:614 ../setup/python2/main.py:1114 +-#: ../setup/python2/main.py:1196 ../setup/python2/setup.ui.h:26 +-#: ../setup/python3/main.py:619 ../setup/python3/main.py:1108 +-#: ../setup/python3/main.py:1190 ../setup/python3/setup.ui.h:26 ++#: ../setup/python2/main.py:618 ../setup/python2/main.py:1118 ++#: ../setup/python2/main.py:1200 ../setup/python2/setup.ui.h:26 ++#: ../setup/python3/main.py:623 ../setup/python3/main.py:1112 ++#: ../setup/python3/main.py:1194 ../setup/python3/setup.ui.h:26 + msgid "Default" + msgstr "デフォルト" + +-#: ../setup/python2/main.py:617 ../setup/python3/main.py:622 ++#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 + msgid "Customize Kana Key Table" + msgstr "かなキーテーブルのカスタマイズ" + +-#: ../setup/python2/main.py:618 ../setup/python2/setup.ui.h:55 +-#: ../setup/python3/main.py:623 ../setup/python3/setup.ui.h:55 ++#: ../setup/python2/main.py:622 ../setup/python2/setup.ui.h:56 ++#: ../setup/python3/main.py:627 ../setup/python3/setup.ui.h:56 + msgid "_Kana Key Table:" + msgstr "かなキーテーブル(_K):" + +-#: ../setup/python2/main.py:620 ../setup/python3/main.py:625 ++#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 + msgid "Japanese Keyboard Layout" + msgstr "日本語キーボードレイアウト" + +-#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 ++#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 + msgid "U.S. Keyboard Layout" + msgstr "U.S. キーボードレイアウト" + +-#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 ++#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 + msgid "Customize Thumb Shift Key Table" + msgstr "親指シフトキーテーブルのカスタマイズ" + +-#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 ++#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 + msgid "_Thumb Shift Key Table:" + msgstr "親指シフトキーテーブル(_T):" + +-#: ../setup/python2/main.py:626 ../setup/python3/main.py:631 ++#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 + msgid "Single _Output Chars" + msgstr "単出力文字(_O)" + +-#: ../setup/python2/main.py:627 ../setup/python3/main.py:632 ++#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 + msgid "Base" + msgstr "基本" + +-#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 ++#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 + msgid "NICOLA-J key extension" + msgstr "NICOLA-J キー拡張" + +-#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 ++#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 + msgid "NICOLA-A key extension" + msgstr "NICOLA-A キー拡張" + +-#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 ++#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 + msgid "NICOLA-F key extension" + msgstr "NICOLA-F キー拡張" + +-#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 ++#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 + msgid "FMV KB231-J key extension" + msgstr "FMV KB231-J キー拡張" + +-#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 ++#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 + msgid "FMV KB231-A key extension" + msgstr "FMV KB231-A キー拡張" + +-#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 ++#: ../setup/python2/main.py:637 ../setup/python3/main.py:642 + msgid "FMV KB231-F key extension" + msgstr "FMV KB231-F キー拡張" + +-#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 ++#: ../setup/python2/main.py:638 ../setup/python3/main.py:643 + msgid "FMV KB611-J key extension" + msgstr "FMV KB611-J キー拡張" + +-#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 ++#: ../setup/python2/main.py:639 ../setup/python3/main.py:644 + msgid "FMV KB611-A key extension" + msgstr "FMV KB611-A キー拡張" + +-#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 ++#: ../setup/python2/main.py:640 ../setup/python3/main.py:645 + msgid "FMV KB611-F key extension" + msgstr "FMV KB611-F キー拡張" + +-#: ../setup/python2/main.py:780 ../setup/python3/main.py:785 ++#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 + msgid "Your choosed file has already been added: " + msgstr "選択したファイルはすでに追加されています: " + +-#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 ++#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 + msgid "The file you have chosen does not exist: " + msgstr "選択したファイルは存在しません: " + +-#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 ++#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 + msgid "Your choosed file is a directory: " + msgstr "選択したファイルはディレクトリです: " + +-#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 ++#: ../setup/python2/main.py:796 ../setup/python3/main.py:801 + msgid "You cannot add dictionaries in the anthy private directory: " + msgstr "Anthy 私用ディレクトリにあるファイルを追加することはできません: " + +-#: ../setup/python2/main.py:799 ../setup/python3/main.py:804 ++#: ../setup/python2/main.py:803 ../setup/python3/main.py:808 + msgid "Your file path is not good: " + msgstr "ファイルパスはよくないです: " + +-#: ../setup/python2/main.py:978 ../setup/python3/main.py:981 ++#: ../setup/python2/main.py:982 ../setup/python3/main.py:985 + msgid "The engine xml file does not exist: " + msgstr "エンジン xml ファイルは存在しません: " + +-#: ../setup/python2/main.py:1094 ../setup/python3/main.py:1088 ++#: ../setup/python2/main.py:1098 ../setup/python3/main.py:1092 + msgid "" + "Anthy keyboard layout is changed. Please restart ibus to reload the layout." + msgstr "Anthy キーボードレイアウトが変更されました。レイアウトを再読み込みするために ibus を再起動してください。" + +-#: ../setup/python2/main.py:1157 ../setup/python3/main.py:1151 ++#: ../setup/python2/main.py:1161 ../setup/python3/main.py:1155 + msgid "Confirmation" + msgstr "確認" + +-#: ../setup/python2/main.py:1159 ../setup/python3/main.py:1153 ++#: ../setup/python2/main.py:1163 ../setup/python3/main.py:1157 + msgid "You are about to close the setup dialog, is that OK?" + msgstr "この設定ツールを終了します。よろしいですか?" + +-#: ../setup/python2/main.py:1174 ../setup/python3/main.py:1168 ++#: ../setup/python2/main.py:1178 ../setup/python3/main.py:1172 + msgid "Notice!" + msgstr "注意!" + +-#: ../setup/python2/main.py:1176 ../setup/python3/main.py:1170 ++#: ../setup/python2/main.py:1180 ../setup/python3/main.py:1174 + msgid "" + "You are about to close the setup dialog without saving your changes, is that " + "OK?" + msgstr "変更を保存せずに終了します。よろしいですか?" + +-#: ../setup/python2/main.py:1297 ../setup/python3/main.py:1291 ++#: ../setup/python2/main.py:1301 ../setup/python3/main.py:1295 + msgid "Please specify Input Chars" + msgstr "入力文字を指定してください" + +-#: ../setup/python2/main.py:1300 ../setup/python3/main.py:1294 ++#: ../setup/python2/main.py:1304 ../setup/python3/main.py:1298 + msgid "Please specify Output Chars" + msgstr "出力文字を指定してください" + +-#: ../setup/python2/main.py:1303 ../setup/python3/main.py:1297 ++#: ../setup/python2/main.py:1307 ../setup/python3/main.py:1301 + msgid "Please specify Left Thumb Shift Chars" + msgstr "左親指シフト文字を指定してください" + +-#: ../setup/python2/main.py:1306 ../setup/python3/main.py:1300 ++#: ../setup/python2/main.py:1310 ../setup/python3/main.py:1304 + msgid "Please specify Right Thumb Shift Chars" + msgstr "右親指シフト文字を指定してください" + +-#: ../setup/python2/main.py:1319 ../setup/python2/main.py:1363 +-#: ../setup/python3/main.py:1313 ../setup/python3/main.py:1357 ++#: ../setup/python2/main.py:1323 ../setup/python2/main.py:1367 ++#: ../setup/python3/main.py:1317 ../setup/python3/main.py:1361 + msgid "Your custom key is not assigned in any sections. Maybe a bug." + msgstr "カスタムキーがどのセクションにも割り当てられていません。たぶんバグです。" + +-#: ../setup/python2/main.py:1429 ../setup/python2/main.py:1516 +-#: ../setup/python3/main.py:1423 ../setup/python3/main.py:1510 ++#: ../setup/python2/main.py:1433 ../setup/python2/main.py:1520 ++#: ../setup/python3/main.py:1427 ../setup/python3/main.py:1514 + msgid "Your file does not exist: " + msgstr "ファイルは存在しません: " + +-#: ../setup/python2/main.py:1439 ../setup/python3/main.py:1433 ++#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 + msgid "Open Dictionary File" + msgstr "辞書ファイルを開く" + +-#: ../setup/python2/main.py:1442 ../setup/python2/main.py:1448 +-#: ../setup/python2/setup.ui.h:89 ../setup/python3/main.py:1436 +-#: ../setup/python3/main.py:1442 ../setup/python3/setup.ui.h:89 ++#: ../setup/python2/main.py:1446 ../setup/python2/main.py:1452 ++#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1440 ++#: ../setup/python3/main.py:1446 ../setup/python3/setup.ui.h:90 + msgid "_Cancel" + msgstr "キャンセル(_C)" + +-#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 ++#: ../setup/python2/main.py:1447 ../setup/python3/main.py:1441 + msgid "_Open" + msgstr "開く(_O)" + +-#: ../setup/python2/main.py:1446 ../setup/python3/main.py:1440 ++#: ../setup/python2/main.py:1450 ../setup/python3/main.py:1444 + msgid "Edit Dictionary File" + msgstr "辞書ファイルの編集" + +-#: ../setup/python2/main.py:1449 ../setup/python2/main.py:1544 +-#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1443 +-#: ../setup/python3/main.py:1538 ../setup/python3/setup.ui.h:90 ++#: ../setup/python2/main.py:1453 ../setup/python2/main.py:1548 ++#: ../setup/python2/setup.ui.h:91 ../setup/python3/main.py:1447 ++#: ../setup/python3/main.py:1542 ../setup/python3/setup.ui.h:91 + msgid "_OK" + msgstr "OK(_O)" + +-#: ../setup/python2/main.py:1460 ../setup/python3/main.py:1454 ++#: ../setup/python2/main.py:1464 ../setup/python3/main.py:1458 + msgid "Your choosed file is not correct." + msgstr "選択したファイルは正しくありません。" + +-#: ../setup/python2/main.py:1489 ../setup/python3/main.py:1483 ++#: ../setup/python2/main.py:1493 ../setup/python3/main.py:1487 + msgid "You cannot delete the system dictionary." + msgstr "システム辞書を削除することはできません。" + +-#: ../setup/python2/main.py:1512 ../setup/python3/main.py:1506 ++#: ../setup/python2/main.py:1516 ../setup/python3/main.py:1510 + msgid "Your file is not good." + msgstr "ファイルは良くないです。" + +-#: ../setup/python2/main.py:1542 ../setup/python3/main.py:1536 ++#: ../setup/python2/main.py:1546 ../setup/python3/main.py:1540 + msgid "View Dictionary File" + msgstr "辞書ファイルの表示" + +-#: ../setup/python2/main.py:1694 ../setup/python3/main.py:1688 ++#: ../setup/python2/main.py:1698 ../setup/python3/main.py:1692 + msgid "Please press a key (or a key combination)" + msgstr "キーを入力してください" + +-#: ../setup/python2/main.py:1695 ../setup/python3/main.py:1689 ++#: ../setup/python2/main.py:1699 ../setup/python3/main.py:1693 + msgid "The dialog will be closed when the key is released" + msgstr "このダイアログはキーリリース時に閉じられます" + +-#: ../setup/python2/main.py:1715 ../setup/python2/main.py:1736 +-#: ../setup/python3/main.py:1709 ../setup/python3/main.py:1730 ++#: ../setup/python2/main.py:1719 ../setup/python2/main.py:1740 ++#: ../setup/python3/main.py:1713 ../setup/python3/main.py:1734 + msgid "Invalid keysym" + msgstr "無効なキーシンボル" + +-#: ../setup/python2/main.py:1716 ../setup/python2/main.py:1737 +-#: ../setup/python3/main.py:1710 ../setup/python3/main.py:1731 ++#: ../setup/python2/main.py:1720 ../setup/python2/main.py:1741 ++#: ../setup/python3/main.py:1714 ../setup/python3/main.py:1735 + msgid "This keysym is not valid" + msgstr "このキーシンボルは有効ではありません" + +@@ -581,298 +581,302 @@ msgid "Initial Setting" + msgstr "初期値の設定" + + #: ../setup/python2/setup.ui.h:34 ../setup/python3/setup.ui.h:34 ++msgid "_Show input mode icon" ++msgstr "入力モードのアイコンを表示する(_S)" ++ ++#: ../setup/python2/setup.ui.h:35 ../setup/python3/setup.ui.h:35 + msgid "Menu Visibility on Status Icon" + msgstr "ステータスアイコン上のメニューの表示" + +-#: ../setup/python2/setup.ui.h:36 ../setup/python3/setup.ui.h:36 ++#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 + msgid "_Period Style:" + msgstr "句読点スタイル(_P):" + +-#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 ++#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 + msgid "Symbo_l Style:" + msgstr "記号スタイル(_L):" + +-#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 ++#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 + msgid "Numpad _Key Type:" + msgstr "テンキータイプ(_K):" + +-#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 ++#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 + msgid "_Behavior on Period:" + msgstr "句読点入力時の動作(_B):" + +-#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 ++#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 + msgid "Behavior on _Focus Out:" + msgstr "フォーカスアウト時の動作(_F):" + +-#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 ++#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 + msgid "Behavior" + msgstr "動作" + +-#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 ++#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 + msgid "Candidate _Window Page Size:" + msgstr "候補ウインドウの項目数(_W):" + +-#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 ++#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 + msgid "Convert _symbols with the one column width" + msgstr "記号を半角で変換する(_S)" + +-#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 ++#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 + msgid "Convert _numbers with the one column width" + msgstr "数字を半角で変換する(_N)" + +-#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 ++#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 + msgid "Con_vert spaces with the one column width" + msgstr "空白を半角で変換する(_V)" + +-#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 ++#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 + msgid "" + "Swi_tch “Hiragana” and “Latin” with Shift key and Hiragana–Katakana key in " + "preedit" + msgstr "前変換候補において「ひらがな」と「英数」をシフトキーとひらがな・カタカナキーで切り替える(_T)" + +-#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 ++#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 + msgid "Other" + msgstr "その他" + +-#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 ++#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 + msgid "Conversion" + msgstr "変換" + +-#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 ++#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 + msgid "_Shortcut Type:" + msgstr "ショートカットタイプ(_S):" + +-#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 ++#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 + msgid "De_fault" + msgstr "デフォルト(_F)" + +-#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 ++#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 + msgid "_Edit" + msgstr "編集(_E)" + +-#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 ++#: ../setup/python2/setup.ui.h:53 ../setup/python3/setup.ui.h:53 + msgid "Key Binding" + msgstr "キー割り当て" + +-#: ../setup/python2/setup.ui.h:54 ../setup/python3/setup.ui.h:54 ++#: ../setup/python2/setup.ui.h:55 ../setup/python3/setup.ui.h:55 + msgid "Romaji" + msgstr "ローマ字" + +-#: ../setup/python2/setup.ui.h:56 ../setup/python3/setup.ui.h:56 ++#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 + msgid "Kana" + msgstr "かな" + +-#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 ++#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 + msgid "Keyboad _layout:" + msgstr "キーボードレイアウト(_L):" + +-#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 ++#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 + msgid "Keyboard layout" + msgstr "キーボードレイアウト" + +-#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 ++#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 + msgid "Typing Method" + msgstr "入力タイプ" + +-#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 ++#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 + msgid "_Left Thumb Shift Key:" + msgstr "左親指シフトキー(_L):" + +-#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 ++#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 + msgid "Right _Thumb Shift Key:" + msgstr "右親指シフトキー(_T):" + +-#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 ++#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 + msgid "Adjust _input method layout to system keyboard layout" + msgstr "インプットメソッドレイアウトをシステムキーボードレイアウトに合わせる(_I)" + +-#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 ++#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 + msgid "Adjust IM layout to XKB layout" + msgstr "IM レイアウトを XKB レイアウトに合わせる" + +-#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 ++#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 + msgid "Input _Method Layout:" + msgstr "インプットメソッドレイアウト(_M):" + +-#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 ++#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 + msgid "Restart IBus when you change the keyboard layout" + msgstr "キーボードレイアウトを変更するときは IBus をリスタートしてください" + +-#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 ++#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 + msgid "Restart IBus when you change XKB" + msgstr "XKB を変更するときは IBus を再起動してください" + +-#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 ++#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 + msgid "_Additional Key Arrangement:" + msgstr "追加のキー割り当て(_A):" + +-#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 ++#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 + msgid "" + "'~', '『', '¢', '£' and so on can be output with " + "Thumb Shift key" + msgstr "親指シフトキーで '~', '『', '¢', '£' 等を入力することが可能です" + +-#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 ++#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 + msgid "" + "You do not have to reconfigure the system keyboard layout for \"Additional " + "Key Arrangement\" since this option changes input method layout only in case " + "input method is turned on." + msgstr "このオプションはインプットメソッドがオンの場合にインプットメソッドレイアウトのみを変更するので「追加のキー割り当て」のためにシステムキーボードレイアウトを再構成する必要はありません。" + +-#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 ++#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 + msgid "" + "You do not have to reconfigure XKB since this option changes IM layout only " + "with IM on." + msgstr "このオプションは IM オンで IM レイアウトのみを変更するので XKB を再構成する必要はありません。" + +-#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 ++#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 + msgid "_Enable semi-voiced sound mark with Shift key" + msgstr "シフトキーで半濁点を可能にする(_E)" + +-#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 ++#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 + msgid "Seion + Shift can output Handakuon" + msgstr "清音 + シフトで半濁音を出力することが可能です" + +-#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 ++#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 + msgid "Thumb _Shift Key Table:" + msgstr "親指シフトキーテーブル(_S):" + +-#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 ++#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 + msgid "Thumb Shift Layout" + msgstr "親指シフトレイアウト" + +-#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 ++#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 + msgid "Thumb Shift" + msgstr "親指シフト" + +-#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 ++#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 + msgid "_Edit Dictionary Command:" + msgstr "辞書の編集コマンド(_E):" + +-#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 ++#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 + msgid "_Add Word Command:" + msgstr "単語の追加コマンド(_A):" + +-#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 ++#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 + msgid "Default Dictionary Configuration" + msgstr "デフォルト辞書の構成" + +-#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 ++#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 + msgid "_View" + msgstr "表示(_V)" + +-#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 ++#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 + msgid "_Add" + msgstr "追加(_A)" + +-#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 ++#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 + msgid "_Delete" + msgstr "削除(_D)" + +-#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 ++#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 + msgid "_Up" + msgstr "上へ(_U)" + +-#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 ++#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 + msgid "You can change the order on language bar" + msgstr "言語バー上で順序を変更することが可能です" + +-#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 ++#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 + msgid "_Down" + msgstr "下へ(_D)" + +-#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 ++#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 + msgid "Extended Dictionaries" + msgstr "拡張辞書" + +-#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 ++#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 + msgid "Dictionary" + msgstr "辞書" + +-#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 ++#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 + msgid "About" + msgstr "情報" + +-#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 ++#: ../setup/python2/setup.ui.h:89 ../setup/python3/setup.ui.h:89 + msgid "_Apply" + msgstr "適用(_A)" + +-#: ../setup/python2/setup.ui.h:91 ../setup/python3/setup.ui.h:91 ++#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 + msgid "Edit Shortcut" + msgstr "ショートカットの編集" + +-#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 ++#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 + msgid "Key Code:" + msgstr "キーコード:" + +-#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 ++#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 + msgid "Modifier:" + msgstr "キー修飾:" + +-#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 ++#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 + msgid "A_lternate" + msgstr "A_lt" + +-#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 ++#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 + msgid "Co_ntrol" + msgstr "Co_ntrol" + +-#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 ++#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 + msgid "_Shift" + msgstr "_Shift" + +-#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 ++#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 + msgid "_Refresh" + msgstr "更新(_R)" + +-#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 ++#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 + msgid "_Input Characters" + msgstr "入力文字(_I)" + +-#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 ++#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 + msgid "_Output Characters" + msgstr "出力文字(_O)" + +-#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 ++#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 + msgid "_Left Thumb Shift" + msgstr "左親指シフト(_L)" + +-#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 ++#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 + msgid "_Right Thumb Shift" + msgstr "右親指シフト(_R)" + +-#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 ++#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 + msgid "_Remove" + msgstr "削除(_R)" + +-#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 ++#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 + msgid "_Close" + msgstr "閉じる(_C)" + +-#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 ++#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 + msgid "_Short Label:" + msgstr "短ラベル(_S):" + +-#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 ++#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 + msgid "_Description:" + msgstr "説明(_D):" + +-#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 ++#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 + msgid "_Use your dictionary alone with switching dictionaries" + msgstr "辞書を切り替えることで選択した辞書を単独で使用する(_U)" + +-#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 ++#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 + msgid "_Embed your dictionary in the system dictionary" + msgstr "システム辞書にユーザー辞書を組み込む(_E)" + +-#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 ++#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 + msgid "Enable the _reverse conversion" + msgstr "逆変換を可能にする(_R)" + +-#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 ++#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 + msgid "The Anthy engine for the IBus input platform" + msgstr "IBus 入力プラットフォーム用 Anthy エンジン" + +-#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 ++#: ../setup/python2/setup.ui.h:111 ../setup/python3/setup.ui.h:111 + msgid "translator_credits" + msgstr "UTUMI Hirosi " +diff --git a/po/zh_CN.po b/po/zh_CN.po +index cf4f026..db9b54e 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -11,17 +11,17 @@ msgid "" + msgstr "" + "Project-Id-Version: IBus-Anthy\n" + "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" +-"POT-Creation-Date: 2014-08-21 18:57+0900\n" ++"POT-Creation-Date: 2014-08-21 19:31+0900\n" + "PO-Revision-Date: 2014-02-18 08:42+0000\n" + "Last-Translator: Peng Huang \n" + "Language-Team: Peng Huang \n" ++"Language: zh_CN\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Language: zh_CN\n" + "Plural-Forms: nplurals=1; plural=0;\n" + +-#: ../engine/python2/engine.py:193 ../engine/python3/engine.py:194 ++#: ../engine/python2/engine.py:197 ../engine/python3/engine.py:198 + msgid "" + "Could not enable Anthy.\n" + "The end of the content of the file .anthy/last-record2_default.utf8 in your " +@@ -29,188 +29,188 @@ msgid "" + "Please fix the file or remove it by manual and restart IBus." + msgstr "" + +-#: ../engine/python2/engine.py:241 ../engine/python3/engine.py:242 +-#: ../setup/python2/main.py:408 ../setup/python3/main.py:413 ++#: ../engine/python2/engine.py:245 ../engine/python3/engine.py:246 ++#: ../setup/python2/main.py:412 ../setup/python3/main.py:417 + msgid "Preferences - Anthy" + msgstr "- Anthy" + +-#: ../engine/python2/engine.py:243 ../engine/python3/engine.py:244 ++#: ../engine/python2/engine.py:247 ../engine/python3/engine.py:248 + msgid "Configure Anthy" + msgstr "" + + #. Translators: Specify the order of %s with your translation. + #. It will be "Input Mode (A)" for example. +-#: ../engine/python2/engine.py:280 ../engine/python2/engine.py:368 +-#: ../engine/python2/engine.py:435 ../engine/python2/engine.py:511 +-#: ../engine/python2/engine.py:842 ../engine/python2/engine.py:870 +-#: ../engine/python2/engine.py:894 ../engine/python2/engine.py:920 +-#: ../engine/python2/engine.py:982 ../engine/python3/engine.py:281 +-#: ../engine/python3/engine.py:369 ../engine/python3/engine.py:436 +-#: ../engine/python3/engine.py:512 ../engine/python3/engine.py:837 +-#: ../engine/python3/engine.py:865 ../engine/python3/engine.py:889 +-#: ../engine/python3/engine.py:915 ../engine/python3/engine.py:977 ++#: ../engine/python2/engine.py:351 ../engine/python2/engine.py:439 ++#: ../engine/python2/engine.py:506 ../engine/python2/engine.py:582 ++#: ../engine/python2/engine.py:913 ../engine/python2/engine.py:944 ++#: ../engine/python2/engine.py:968 ../engine/python2/engine.py:994 ++#: ../engine/python2/engine.py:1056 ../engine/python3/engine.py:352 ++#: ../engine/python3/engine.py:440 ../engine/python3/engine.py:507 ++#: ../engine/python3/engine.py:583 ../engine/python3/engine.py:908 ++#: ../engine/python3/engine.py:939 ../engine/python3/engine.py:963 ++#: ../engine/python3/engine.py:989 ../engine/python3/engine.py:1051 + #, python-format + msgid "%(description)s (%(symbol)s)" + msgstr "" + +-#: ../engine/python2/engine.py:281 ../engine/python2/engine.py:843 +-#: ../engine/python3/engine.py:282 ../engine/python3/engine.py:838 +-#: ../setup/python2/main.py:393 ../setup/python3/main.py:398 ++#: ../engine/python2/engine.py:352 ../engine/python2/engine.py:914 ++#: ../engine/python3/engine.py:353 ../engine/python3/engine.py:909 ++#: ../setup/python2/main.py:397 ../setup/python3/main.py:402 + msgid "Input mode" + msgstr "" + +-#: ../engine/python2/engine.py:287 ../engine/python3/engine.py:288 ++#: ../engine/python2/engine.py:358 ../engine/python3/engine.py:359 + msgid "Switch input mode" + msgstr "切换输入模式" + +-#: ../engine/python2/engine.py:297 ../engine/python3/engine.py:298 ++#: ../engine/python2/engine.py:368 ../engine/python3/engine.py:369 + #: ../setup/python2/setup.ui.h:1 ../setup/python3/setup.ui.h:1 + msgid "Hiragana" + msgstr "平假名" + +-#: ../engine/python2/engine.py:306 ../engine/python3/engine.py:307 ++#: ../engine/python2/engine.py:377 ../engine/python3/engine.py:378 + #: ../setup/python2/setup.ui.h:2 ../setup/python3/setup.ui.h:2 + msgid "Katakana" + msgstr "片假名" + +-#: ../engine/python2/engine.py:315 ../engine/python3/engine.py:316 ++#: ../engine/python2/engine.py:386 ../engine/python3/engine.py:387 + #: ../setup/python2/setup.ui.h:3 ../setup/python3/setup.ui.h:3 + msgid "Halfwidth Katakana" + msgstr "" + +-#: ../engine/python2/engine.py:324 ../engine/python3/engine.py:325 ++#: ../engine/python2/engine.py:395 ../engine/python3/engine.py:396 + #: ../setup/python2/setup.ui.h:4 ../setup/python3/setup.ui.h:4 + msgid "Latin" + msgstr "英数" + +-#: ../engine/python2/engine.py:333 ../engine/python3/engine.py:334 ++#: ../engine/python2/engine.py:404 ../engine/python3/engine.py:405 + #: ../setup/python2/setup.ui.h:5 ../setup/python3/setup.ui.h:5 + msgid "Wide Latin" + msgstr "全角英数" + +-#: ../engine/python2/engine.py:369 ../engine/python2/engine.py:871 +-#: ../engine/python2/engine.py:895 ../engine/python3/engine.py:370 +-#: ../engine/python3/engine.py:866 ../engine/python3/engine.py:890 +-#: ../setup/python2/main.py:396 ../setup/python3/main.py:401 ++#: ../engine/python2/engine.py:440 ../engine/python2/engine.py:945 ++#: ../engine/python2/engine.py:969 ../engine/python3/engine.py:441 ++#: ../engine/python3/engine.py:940 ../engine/python3/engine.py:964 ++#: ../setup/python2/main.py:400 ../setup/python3/main.py:405 + msgid "Typing method" + msgstr "" + +-#: ../engine/python2/engine.py:375 ../engine/python3/engine.py:376 ++#: ../engine/python2/engine.py:446 ../engine/python3/engine.py:447 + msgid "Switch typing method" + msgstr "" + +-#: ../engine/python2/engine.py:385 ../engine/python3/engine.py:386 ++#: ../engine/python2/engine.py:456 ../engine/python3/engine.py:457 + #: ../setup/python2/setup.ui.h:12 ../setup/python3/setup.ui.h:12 + msgid "Romaji" + msgstr "罗马字" + +-#: ../engine/python2/engine.py:394 ../engine/python3/engine.py:395 ++#: ../engine/python2/engine.py:465 ../engine/python3/engine.py:466 + #: ../setup/python2/setup.ui.h:13 ../setup/python3/setup.ui.h:13 + msgid "Kana" + msgstr "假名" + +-#: ../engine/python2/engine.py:403 ../engine/python3/engine.py:404 ++#: ../engine/python2/engine.py:474 ../engine/python3/engine.py:475 + #: ../setup/python2/setup.ui.h:14 ../setup/python3/setup.ui.h:14 + msgid "Thumb shift" + msgstr "" + +-#: ../engine/python2/engine.py:436 ../engine/python2/engine.py:921 +-#: ../engine/python3/engine.py:437 ../engine/python3/engine.py:916 +-#: ../setup/python2/main.py:399 ../setup/python3/main.py:404 ++#: ../engine/python2/engine.py:507 ../engine/python2/engine.py:995 ++#: ../engine/python3/engine.py:508 ../engine/python3/engine.py:990 ++#: ../setup/python2/main.py:403 ../setup/python3/main.py:408 + msgid "Segment mode" + msgstr "" + +-#: ../engine/python2/engine.py:442 ../engine/python3/engine.py:443 ++#: ../engine/python2/engine.py:513 ../engine/python3/engine.py:514 + msgid "Switch conversion mode" + msgstr "" + +-#: ../engine/python2/engine.py:452 ../engine/python3/engine.py:453 ++#: ../engine/python2/engine.py:523 ../engine/python3/engine.py:524 + #: ../setup/python2/setup.ui.h:15 ../setup/python3/setup.ui.h:15 + msgid "Multiple segment" + msgstr "" + +-#: ../engine/python2/engine.py:461 ../engine/python3/engine.py:462 ++#: ../engine/python2/engine.py:532 ../engine/python3/engine.py:533 + #: ../setup/python2/setup.ui.h:16 ../setup/python3/setup.ui.h:16 + msgid "Single segment" + msgstr "" + +-#: ../engine/python2/engine.py:470 ../engine/python3/engine.py:471 ++#: ../engine/python2/engine.py:541 ../engine/python3/engine.py:542 + #: ../setup/python2/setup.ui.h:17 ../setup/python3/setup.ui.h:17 + msgid "Immediate conversion (multiple segment)" + msgstr "" + +-#: ../engine/python2/engine.py:479 ../engine/python3/engine.py:480 ++#: ../engine/python2/engine.py:550 ../engine/python3/engine.py:551 + #: ../setup/python2/setup.ui.h:18 ../setup/python3/setup.ui.h:18 + msgid "Immediate conversion (single segment)" + msgstr "" + +-#: ../engine/python2/engine.py:512 ../engine/python2/engine.py:983 +-#: ../engine/python3/engine.py:513 ../engine/python3/engine.py:978 +-#: ../setup/python2/main.py:402 ../setup/python3/main.py:407 ++#: ../engine/python2/engine.py:583 ../engine/python2/engine.py:1057 ++#: ../engine/python3/engine.py:584 ../engine/python3/engine.py:1052 ++#: ../setup/python2/main.py:406 ../setup/python3/main.py:411 + msgid "Dictionary mode" + msgstr "" + +-#: ../engine/python2/engine.py:518 ../engine/python3/engine.py:519 ++#: ../engine/python2/engine.py:589 ../engine/python3/engine.py:590 + msgid "Switch dictionary" + msgstr "" + +-#: ../engine/python2/engine.py:601 ../engine/python3/engine.py:601 +-#: ../setup/python2/main.py:405 ../setup/python3/main.py:410 ++#: ../engine/python2/engine.py:672 ../engine/python3/engine.py:672 ++#: ../setup/python2/main.py:409 ../setup/python3/main.py:414 + msgid "Dictionary - Anthy" + msgstr "词典 - Anthy" + + #. Translators: "Dic" means 'dictionary', One kanji may be good. +-#: ../engine/python2/engine.py:607 ../engine/python3/engine.py:606 ++#: ../engine/python2/engine.py:678 ../engine/python3/engine.py:677 + msgid "Dic" + msgstr "" + +-#: ../engine/python2/engine.py:614 ../engine/python3/engine.py:613 ++#: ../engine/python2/engine.py:685 ../engine/python3/engine.py:684 + msgid "Configure dictionaries" + msgstr "" + +-#: ../engine/python2/engine.py:624 ../engine/python3/engine.py:623 ++#: ../engine/python2/engine.py:695 ../engine/python3/engine.py:694 + msgid "Edit dictionaries" + msgstr "" + +-#: ../engine/python2/engine.py:626 ../engine/python3/engine.py:625 ++#: ../engine/python2/engine.py:697 ../engine/python3/engine.py:696 + msgid "Launch the dictionary tool" + msgstr "" + +-#: ../engine/python2/engine.py:633 ../engine/python3/engine.py:632 ++#: ../engine/python2/engine.py:704 ../engine/python3/engine.py:703 + msgid "Add words" + msgstr "" + +-#: ../engine/python2/engine.py:635 ../engine/python3/engine.py:634 ++#: ../engine/python2/engine.py:706 ../engine/python3/engine.py:705 + msgid "Add words to the dictionary" + msgstr "" + +-#: ../setup/python2/anthyprefs.py.in:1104 ../setup/python2/setup.ui.h:35 +-#: ../setup/python3/anthyprefs.py.in:1097 ../setup/python3/setup.ui.h:35 ++#: ../setup/python2/anthyprefs.py.in:1106 ../setup/python2/setup.ui.h:36 ++#: ../setup/python3/anthyprefs.py.in:1099 ../setup/python3/setup.ui.h:36 + msgid "General" + msgstr "" + +-#: ../setup/python2/anthyprefs.py.in:1115 +-#: ../setup/python3/anthyprefs.py.in:1108 ++#: ../setup/python2/anthyprefs.py.in:1117 ++#: ../setup/python3/anthyprefs.py.in:1110 + msgid "Zip Code Conversion" + msgstr "" + +-#: ../setup/python2/anthyprefs.py.in:1126 +-#: ../setup/python3/anthyprefs.py.in:1119 ++#: ../setup/python2/anthyprefs.py.in:1128 ++#: ../setup/python3/anthyprefs.py.in:1121 + msgid "Symbol" + msgstr "" + +-#: ../setup/python2/anthyprefs.py.in:1137 +-#: ../setup/python3/anthyprefs.py.in:1130 ++#: ../setup/python2/anthyprefs.py.in:1139 ++#: ../setup/python3/anthyprefs.py.in:1132 + msgid "Old Character Style" + msgstr "" + +-#: ../setup/python2/anthyprefs.py.in:1147 +-#: ../setup/python3/anthyprefs.py.in:1140 ++#: ../setup/python2/anthyprefs.py.in:1149 ++#: ../setup/python3/anthyprefs.py.in:1142 + msgid "Era" + msgstr "" + +-#: ../setup/python2/anthyprefs.py.in:1157 +-#: ../setup/python3/anthyprefs.py.in:1150 ++#: ../setup/python2/anthyprefs.py.in:1159 ++#: ../setup/python3/anthyprefs.py.in:1152 + msgid "Emoji" + msgstr "" + +@@ -229,276 +229,276 @@ msgstr "" + msgid "ibus is not running." + msgstr "" + +-#: ../setup/python2/main.py:180 ../setup/python3/main.py:183 ++#: ../setup/python2/main.py:181 ../setup/python3/main.py:184 + msgid "Menu label" + msgstr "" + +-#: ../setup/python2/main.py:199 ../setup/python3/main.py:202 ++#: ../setup/python2/main.py:200 ../setup/python3/main.py:203 + msgid "Command" + msgstr "" + +-#: ../setup/python2/main.py:203 ../setup/python3/main.py:206 ++#: ../setup/python2/main.py:204 ../setup/python3/main.py:207 + msgid "Shortcut" + msgstr "捷径" + +-#: ../setup/python2/main.py:248 ../setup/python3/main.py:251 ++#: ../setup/python2/main.py:249 ../setup/python3/main.py:252 + msgid "Description" + msgstr "描述" + + #. Translators: "Embd" is an abbreviation of "embedded". +-#: ../setup/python2/main.py:256 ../setup/python3/main.py:259 ++#: ../setup/python2/main.py:257 ../setup/python3/main.py:260 + msgid "Embd" + msgstr "" + + #. Translators: "Sgl" is an abbreviation of "single". +-#: ../setup/python2/main.py:264 ../setup/python3/main.py:267 ++#: ../setup/python2/main.py:265 ../setup/python3/main.py:268 + msgid "Sgl" + msgstr "" + +-#: ../setup/python2/main.py:439 ../setup/python2/main.py:475 +-#: ../setup/python3/main.py:444 ../setup/python3/main.py:480 ++#: ../setup/python2/main.py:443 ../setup/python2/main.py:479 ++#: ../setup/python3/main.py:448 ../setup/python3/main.py:484 + msgid "Input Chars" + msgstr "" + +-#: ../setup/python2/main.py:441 ../setup/python2/main.py:477 +-#: ../setup/python3/main.py:446 ../setup/python3/main.py:482 ++#: ../setup/python2/main.py:445 ../setup/python2/main.py:481 ++#: ../setup/python3/main.py:450 ../setup/python3/main.py:486 + msgid "Output Chars" + msgstr "" + +-#: ../setup/python2/main.py:523 ../setup/python3/main.py:528 ++#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 + msgid "Input" + msgstr "输入" + +-#: ../setup/python2/main.py:525 ../setup/python3/main.py:530 ++#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 + msgid "Single" + msgstr "" + +-#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 ++#: ../setup/python2/main.py:531 ../setup/python3/main.py:536 + msgid "Left" + msgstr "" + +-#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 ++#: ../setup/python2/main.py:533 ../setup/python3/main.py:538 + msgid "Right" + msgstr "" + +-#: ../setup/python2/main.py:611 ../setup/python3/main.py:616 ++#: ../setup/python2/main.py:615 ../setup/python3/main.py:620 + msgid "Customize Romaji Key Table" + msgstr "" + +-#: ../setup/python2/main.py:612 ../setup/python2/setup.ui.h:53 +-#: ../setup/python3/main.py:617 ../setup/python3/setup.ui.h:53 ++#: ../setup/python2/main.py:616 ../setup/python2/setup.ui.h:54 ++#: ../setup/python3/main.py:621 ../setup/python3/setup.ui.h:54 + msgid "_Romaji Key Table:" + msgstr "" + +-#: ../setup/python2/main.py:613 ../setup/python2/main.py:619 +-#: ../setup/python3/main.py:618 ../setup/python3/main.py:624 ++#: ../setup/python2/main.py:617 ../setup/python2/main.py:623 ++#: ../setup/python3/main.py:622 ../setup/python3/main.py:628 + msgid "_Output Chars" + msgstr "" + +-#: ../setup/python2/main.py:614 ../setup/python2/main.py:1114 +-#: ../setup/python2/main.py:1196 ../setup/python2/setup.ui.h:26 +-#: ../setup/python3/main.py:619 ../setup/python3/main.py:1108 +-#: ../setup/python3/main.py:1190 ../setup/python3/setup.ui.h:26 ++#: ../setup/python2/main.py:618 ../setup/python2/main.py:1118 ++#: ../setup/python2/main.py:1200 ../setup/python2/setup.ui.h:26 ++#: ../setup/python3/main.py:623 ../setup/python3/main.py:1112 ++#: ../setup/python3/main.py:1194 ../setup/python3/setup.ui.h:26 + msgid "Default" + msgstr "" + +-#: ../setup/python2/main.py:617 ../setup/python3/main.py:622 ++#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 + msgid "Customize Kana Key Table" + msgstr "" + +-#: ../setup/python2/main.py:618 ../setup/python2/setup.ui.h:55 +-#: ../setup/python3/main.py:623 ../setup/python3/setup.ui.h:55 ++#: ../setup/python2/main.py:622 ../setup/python2/setup.ui.h:56 ++#: ../setup/python3/main.py:627 ../setup/python3/setup.ui.h:56 + msgid "_Kana Key Table:" + msgstr "" + +-#: ../setup/python2/main.py:620 ../setup/python3/main.py:625 ++#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 + msgid "Japanese Keyboard Layout" + msgstr "" + +-#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 ++#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 + msgid "U.S. Keyboard Layout" + msgstr "" + +-#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 ++#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 + msgid "Customize Thumb Shift Key Table" + msgstr "" + +-#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 ++#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 + msgid "_Thumb Shift Key Table:" + msgstr "" + +-#: ../setup/python2/main.py:626 ../setup/python3/main.py:631 ++#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 + msgid "Single _Output Chars" + msgstr "" + +-#: ../setup/python2/main.py:627 ../setup/python3/main.py:632 ++#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 + msgid "Base" + msgstr "" + +-#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 ++#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 + msgid "NICOLA-J key extension" + msgstr "" + +-#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 ++#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 + msgid "NICOLA-A key extension" + msgstr "" + +-#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 ++#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 + msgid "NICOLA-F key extension" + msgstr "" + +-#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 ++#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 + msgid "FMV KB231-J key extension" + msgstr "" + +-#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 ++#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 + msgid "FMV KB231-A key extension" + msgstr "" + +-#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 ++#: ../setup/python2/main.py:637 ../setup/python3/main.py:642 + msgid "FMV KB231-F key extension" + msgstr "" + +-#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 ++#: ../setup/python2/main.py:638 ../setup/python3/main.py:643 + msgid "FMV KB611-J key extension" + msgstr "" + +-#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 ++#: ../setup/python2/main.py:639 ../setup/python3/main.py:644 + msgid "FMV KB611-A key extension" + msgstr "" + +-#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 ++#: ../setup/python2/main.py:640 ../setup/python3/main.py:645 + msgid "FMV KB611-F key extension" + msgstr "" + +-#: ../setup/python2/main.py:780 ../setup/python3/main.py:785 ++#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 + msgid "Your choosed file has already been added: " + msgstr "" + +-#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 ++#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 + msgid "The file you have chosen does not exist: " + msgstr "" + +-#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 ++#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 + msgid "Your choosed file is a directory: " + msgstr "" + +-#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 ++#: ../setup/python2/main.py:796 ../setup/python3/main.py:801 + msgid "You cannot add dictionaries in the anthy private directory: " + msgstr "" + +-#: ../setup/python2/main.py:799 ../setup/python3/main.py:804 ++#: ../setup/python2/main.py:803 ../setup/python3/main.py:808 + msgid "Your file path is not good: " + msgstr "" + +-#: ../setup/python2/main.py:978 ../setup/python3/main.py:981 ++#: ../setup/python2/main.py:982 ../setup/python3/main.py:985 + msgid "The engine xml file does not exist: " + msgstr "" + +-#: ../setup/python2/main.py:1094 ../setup/python3/main.py:1088 ++#: ../setup/python2/main.py:1098 ../setup/python3/main.py:1092 + msgid "" + "Anthy keyboard layout is changed. Please restart ibus to reload the layout." + msgstr "" + +-#: ../setup/python2/main.py:1157 ../setup/python3/main.py:1151 ++#: ../setup/python2/main.py:1161 ../setup/python3/main.py:1155 + msgid "Confirmation" + msgstr "" + +-#: ../setup/python2/main.py:1159 ../setup/python3/main.py:1153 ++#: ../setup/python2/main.py:1163 ../setup/python3/main.py:1157 + msgid "You are about to close the setup dialog, is that OK?" + msgstr "" + +-#: ../setup/python2/main.py:1174 ../setup/python3/main.py:1168 ++#: ../setup/python2/main.py:1178 ../setup/python3/main.py:1172 + msgid "Notice!" + msgstr "" + +-#: ../setup/python2/main.py:1176 ../setup/python3/main.py:1170 ++#: ../setup/python2/main.py:1180 ../setup/python3/main.py:1174 + msgid "" + "You are about to close the setup dialog without saving your changes, is that " + "OK?" + msgstr "" + +-#: ../setup/python2/main.py:1297 ../setup/python3/main.py:1291 ++#: ../setup/python2/main.py:1301 ../setup/python3/main.py:1295 + msgid "Please specify Input Chars" + msgstr "" + +-#: ../setup/python2/main.py:1300 ../setup/python3/main.py:1294 ++#: ../setup/python2/main.py:1304 ../setup/python3/main.py:1298 + msgid "Please specify Output Chars" + msgstr "" + +-#: ../setup/python2/main.py:1303 ../setup/python3/main.py:1297 ++#: ../setup/python2/main.py:1307 ../setup/python3/main.py:1301 + msgid "Please specify Left Thumb Shift Chars" + msgstr "" + +-#: ../setup/python2/main.py:1306 ../setup/python3/main.py:1300 ++#: ../setup/python2/main.py:1310 ../setup/python3/main.py:1304 + msgid "Please specify Right Thumb Shift Chars" + msgstr "" + +-#: ../setup/python2/main.py:1319 ../setup/python2/main.py:1363 +-#: ../setup/python3/main.py:1313 ../setup/python3/main.py:1357 ++#: ../setup/python2/main.py:1323 ../setup/python2/main.py:1367 ++#: ../setup/python3/main.py:1317 ../setup/python3/main.py:1361 + msgid "Your custom key is not assigned in any sections. Maybe a bug." + msgstr "" + +-#: ../setup/python2/main.py:1429 ../setup/python2/main.py:1516 +-#: ../setup/python3/main.py:1423 ../setup/python3/main.py:1510 ++#: ../setup/python2/main.py:1433 ../setup/python2/main.py:1520 ++#: ../setup/python3/main.py:1427 ../setup/python3/main.py:1514 + msgid "Your file does not exist: " + msgstr "" + +-#: ../setup/python2/main.py:1439 ../setup/python3/main.py:1433 ++#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 + msgid "Open Dictionary File" + msgstr "" + +-#: ../setup/python2/main.py:1442 ../setup/python2/main.py:1448 +-#: ../setup/python2/setup.ui.h:89 ../setup/python3/main.py:1436 +-#: ../setup/python3/main.py:1442 ../setup/python3/setup.ui.h:89 ++#: ../setup/python2/main.py:1446 ../setup/python2/main.py:1452 ++#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1440 ++#: ../setup/python3/main.py:1446 ../setup/python3/setup.ui.h:90 + msgid "_Cancel" + msgstr "取消(_C)" + +-#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 ++#: ../setup/python2/main.py:1447 ../setup/python3/main.py:1441 + msgid "_Open" + msgstr "打开(_O)" + +-#: ../setup/python2/main.py:1446 ../setup/python3/main.py:1440 ++#: ../setup/python2/main.py:1450 ../setup/python3/main.py:1444 + msgid "Edit Dictionary File" + msgstr "" + +-#: ../setup/python2/main.py:1449 ../setup/python2/main.py:1544 +-#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1443 +-#: ../setup/python3/main.py:1538 ../setup/python3/setup.ui.h:90 ++#: ../setup/python2/main.py:1453 ../setup/python2/main.py:1548 ++#: ../setup/python2/setup.ui.h:91 ../setup/python3/main.py:1447 ++#: ../setup/python3/main.py:1542 ../setup/python3/setup.ui.h:91 + msgid "_OK" + msgstr "确定(_O)" + +-#: ../setup/python2/main.py:1460 ../setup/python3/main.py:1454 ++#: ../setup/python2/main.py:1464 ../setup/python3/main.py:1458 + msgid "Your choosed file is not correct." + msgstr "" + +-#: ../setup/python2/main.py:1489 ../setup/python3/main.py:1483 ++#: ../setup/python2/main.py:1493 ../setup/python3/main.py:1487 + msgid "You cannot delete the system dictionary." + msgstr "" + +-#: ../setup/python2/main.py:1512 ../setup/python3/main.py:1506 ++#: ../setup/python2/main.py:1516 ../setup/python3/main.py:1510 + msgid "Your file is not good." + msgstr "" + +-#: ../setup/python2/main.py:1542 ../setup/python3/main.py:1536 ++#: ../setup/python2/main.py:1546 ../setup/python3/main.py:1540 + msgid "View Dictionary File" + msgstr "" + +-#: ../setup/python2/main.py:1694 ../setup/python3/main.py:1688 ++#: ../setup/python2/main.py:1698 ../setup/python3/main.py:1692 + msgid "Please press a key (or a key combination)" + msgstr "" + +-#: ../setup/python2/main.py:1695 ../setup/python3/main.py:1689 ++#: ../setup/python2/main.py:1699 ../setup/python3/main.py:1693 + msgid "The dialog will be closed when the key is released" + msgstr "" + +-#: ../setup/python2/main.py:1715 ../setup/python2/main.py:1736 +-#: ../setup/python3/main.py:1709 ../setup/python3/main.py:1730 ++#: ../setup/python2/main.py:1719 ../setup/python2/main.py:1740 ++#: ../setup/python3/main.py:1713 ../setup/python3/main.py:1734 + msgid "Invalid keysym" + msgstr "" + +-#: ../setup/python2/main.py:1716 ../setup/python2/main.py:1737 +-#: ../setup/python3/main.py:1710 ../setup/python3/main.py:1731 ++#: ../setup/python2/main.py:1720 ../setup/python2/main.py:1741 ++#: ../setup/python3/main.py:1714 ../setup/python3/main.py:1735 + msgid "This keysym is not valid" + msgstr "" + +@@ -583,298 +583,303 @@ msgid "Initial Setting" + msgstr "" + + #: ../setup/python2/setup.ui.h:34 ../setup/python3/setup.ui.h:34 ++#, fuzzy ++msgid "_Show input mode icon" ++msgstr "切换输入模式" ++ ++#: ../setup/python2/setup.ui.h:35 ../setup/python3/setup.ui.h:35 + msgid "Menu Visibility on Status Icon" + msgstr "" + +-#: ../setup/python2/setup.ui.h:36 ../setup/python3/setup.ui.h:36 ++#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 + msgid "_Period Style:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 ++#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 + msgid "Symbo_l Style:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 ++#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 + msgid "Numpad _Key Type:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 ++#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 + msgid "_Behavior on Period:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 ++#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 + msgid "Behavior on _Focus Out:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 ++#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 + msgid "Behavior" + msgstr "" + +-#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 ++#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 + msgid "Candidate _Window Page Size:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 ++#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 + msgid "Convert _symbols with the one column width" + msgstr "" + +-#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 ++#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 + msgid "Convert _numbers with the one column width" + msgstr "" + +-#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 ++#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 + msgid "Con_vert spaces with the one column width" + msgstr "" + +-#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 ++#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 + msgid "" + "Swi_tch “Hiragana” and “Latin” with Shift key and Hiragana–Katakana key in " + "preedit" + msgstr "" + +-#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 ++#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 + msgid "Other" + msgstr "" + +-#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 ++#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 + msgid "Conversion" + msgstr "" + +-#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 ++#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 + msgid "_Shortcut Type:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 ++#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 + msgid "De_fault" + msgstr "" + +-#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 ++#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 + msgid "_Edit" + msgstr "编辑(_E)" + +-#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 ++#: ../setup/python2/setup.ui.h:53 ../setup/python3/setup.ui.h:53 + msgid "Key Binding" + msgstr "" + +-#: ../setup/python2/setup.ui.h:54 ../setup/python3/setup.ui.h:54 ++#: ../setup/python2/setup.ui.h:55 ../setup/python3/setup.ui.h:55 + msgid "Romaji" + msgstr "" + +-#: ../setup/python2/setup.ui.h:56 ../setup/python3/setup.ui.h:56 ++#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 + msgid "Kana" + msgstr "" + +-#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 ++#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 + msgid "Keyboad _layout:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 ++#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 + msgid "Keyboard layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 ++#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 + msgid "Typing Method" + msgstr "" + +-#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 ++#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 + msgid "_Left Thumb Shift Key:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 ++#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 + msgid "Right _Thumb Shift Key:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 ++#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 + msgid "Adjust _input method layout to system keyboard layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 ++#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 + msgid "Adjust IM layout to XKB layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 ++#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 + msgid "Input _Method Layout:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 ++#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 + msgid "Restart IBus when you change the keyboard layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 ++#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 + msgid "Restart IBus when you change XKB" + msgstr "" + +-#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 ++#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 + msgid "_Additional Key Arrangement:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 ++#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 + msgid "" + "'~', '『', '¢', '£' and so on can be output with " + "Thumb Shift key" + msgstr "" + +-#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 ++#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 + msgid "" + "You do not have to reconfigure the system keyboard layout for \"Additional " + "Key Arrangement\" since this option changes input method layout only in case " + "input method is turned on." + msgstr "" + +-#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 ++#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 + msgid "" + "You do not have to reconfigure XKB since this option changes IM layout only " + "with IM on." + msgstr "" + +-#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 ++#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 + msgid "_Enable semi-voiced sound mark with Shift key" + msgstr "" + +-#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 ++#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 + msgid "Seion + Shift can output Handakuon" + msgstr "" + +-#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 ++#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 + msgid "Thumb _Shift Key Table:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 ++#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 + msgid "Thumb Shift Layout" + msgstr "" + +-#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 ++#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 + msgid "Thumb Shift" + msgstr "" + +-#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 ++#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 + msgid "_Edit Dictionary Command:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 ++#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 + msgid "_Add Word Command:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 ++#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 + msgid "Default Dictionary Configuration" + msgstr "" + +-#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 ++#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 + msgid "_View" + msgstr "" + +-#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 ++#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 + msgid "_Add" + msgstr "添加(_A)" + +-#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 ++#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 + msgid "_Delete" + msgstr "删除(_D)" + +-#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 ++#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 + msgid "_Up" + msgstr "向上(_U)" + +-#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 ++#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 + msgid "You can change the order on language bar" + msgstr "" + +-#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 ++#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 + msgid "_Down" + msgstr "向下(_D)" + +-#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 ++#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 + msgid "Extended Dictionaries" + msgstr "" + +-#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 ++#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 + msgid "Dictionary" + msgstr "" + +-#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 ++#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 + msgid "About" + msgstr "" + +-#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 ++#: ../setup/python2/setup.ui.h:89 ../setup/python3/setup.ui.h:89 + msgid "_Apply" + msgstr "应用(_A)" + +-#: ../setup/python2/setup.ui.h:91 ../setup/python3/setup.ui.h:91 ++#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 + msgid "Edit Shortcut" + msgstr "" + +-#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 ++#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 + msgid "Key Code:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 ++#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 + msgid "Modifier:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 ++#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 + msgid "A_lternate" + msgstr "" + +-#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 ++#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 + msgid "Co_ntrol" + msgstr "" + +-#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 ++#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 + msgid "_Shift" + msgstr "" + +-#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 ++#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 + msgid "_Refresh" + msgstr "刷新(_R)" + +-#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 ++#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 + msgid "_Input Characters" + msgstr "" + +-#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 ++#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 + msgid "_Output Characters" + msgstr "" + +-#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 ++#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 + msgid "_Left Thumb Shift" + msgstr "" + +-#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 ++#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 + msgid "_Right Thumb Shift" + msgstr "" + +-#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 ++#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 + msgid "_Remove" + msgstr "删除(_R)" + +-#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 ++#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 + msgid "_Close" + msgstr "关闭(_C)" + +-#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 ++#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 + msgid "_Short Label:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 ++#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 + msgid "_Description:" + msgstr "" + +-#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 ++#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 + msgid "_Use your dictionary alone with switching dictionaries" + msgstr "" + +-#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 ++#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 + msgid "_Embed your dictionary in the system dictionary" + msgstr "" + +-#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 ++#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 + msgid "Enable the _reverse conversion" + msgstr "" + +-#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 ++#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 + msgid "The Anthy engine for the IBus input platform" + msgstr "" + +-#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 ++#: ../setup/python2/setup.ui.h:111 ../setup/python3/setup.ui.h:111 + msgid "translator_credits" + msgstr "" +-- +1.8.5.3 + +From e388a61d0d9fd676651b6042dc32c59c7e554e40 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 21 Aug 2014 19:31:44 +0900 +Subject: [PATCH 3/4] Fix to unref pixbuf when propery icon is unrefed. + +--- + engine/python2/engine.py | 1 + + engine/python2/propertyicon.py | 6 ++++++ + engine/python3/engine.py | 1 + + engine/python3/propertyicon.py | 6 ++++++ + 4 files changed, 14 insertions(+) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 3339eda..5995375 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -1104,6 +1104,7 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. ++ self.__input_mode_icon.clear() + self.__input_mode_icon = None + + def __join_all_segments(self): +diff --git a/engine/python2/propertyicon.py b/engine/python2/propertyicon.py +index fa5f34f..437e94c 100644 +--- a/engine/python2/propertyicon.py ++++ b/engine/python2/propertyicon.py +@@ -76,6 +76,12 @@ class PropertyIcon(Gtk.StatusIcon): + self.__xkb_icon_pixbufs[symbol] = pixbuf + return pixbuf + ++ def clear(self): ++ self.set_from_icon_name('') ++ self.set_visible(False) ++ self.__xkb_icon_pixbufs = {} ++ self.__xkb_icon_rgba = None ++ + def set_from_symbol(self, symbol): + pixbuf = self.__create_icon_pixbuf_with_string(symbol) + self.set_from_pixbuf(pixbuf) +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index ab9e8fa..73de005 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -1099,6 +1099,7 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. ++ self.__input_mode_icon.clear() + self.__input_mode_icon = None + + def __join_all_segments(self): +diff --git a/engine/python3/propertyicon.py b/engine/python3/propertyicon.py +index fa5f34f..437e94c 100644 +--- a/engine/python3/propertyicon.py ++++ b/engine/python3/propertyicon.py +@@ -76,6 +76,12 @@ class PropertyIcon(Gtk.StatusIcon): + self.__xkb_icon_pixbufs[symbol] = pixbuf + return pixbuf + ++ def clear(self): ++ self.set_from_icon_name('') ++ self.set_visible(False) ++ self.__xkb_icon_pixbufs = {} ++ self.__xkb_icon_rgba = None ++ + def set_from_symbol(self, symbol): + pixbuf = self.__create_icon_pixbuf_with_string(symbol) + self.set_from_pixbuf(pixbuf) +-- +1.8.5.3 + +From 41ee4feea5f4341e106ed6d258a213692cdd0bca Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 21 Aug 2014 19:31:50 +0900 +Subject: [PATCH 4/4] Fix None object has clear() in input mode icon. + (#1097364) + +--- + engine/python2/engine.py | 3 ++- + engine/python3/engine.py | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 5995375..cc37bb7 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -1104,7 +1104,8 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. +- self.__input_mode_icon.clear() ++ if self.__input_mode_icon != None: ++ self.__input_mode_icon.clear() + self.__input_mode_icon = None + + def __join_all_segments(self): +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 73de005..e97a98b 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -1099,7 +1099,8 @@ class Engine(IBus.EngineSimple): + # It seems do_destroy() is called when launch_engine() is called. + #self.__remove_dict_files() + # It seems super.destroy() does not unref the engine. +- self.__input_mode_icon.clear() ++ if self.__input_mode_icon != None: ++ self.__input_mode_icon.clear() + self.__input_mode_icon = None + + def __join_all_segments(self): +-- +1.8.5.3 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e6b83a8..697e77b 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -13,8 +13,8 @@ %global __python %{__python3} Name: ibus-anthy -Version: 1.5.5 -Release: 9%{?dist} +Version: 1.5.6 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -24,7 +24,8 @@ Source0: %{name}-%{version}.tar.gz # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch +# Add an input mode icon until ibus-ui-gtk3 is fixed. +Patch1: %%{name}-xx-input-mode.patch BuildRequires: anthy-devel BuildRequires: desktop-file-utils @@ -81,7 +82,7 @@ for developers. %prep %setup -q # %%patch0 -p1 -%patch0 -p1 +%patch1 -p1 -b .input-mode %build autoreconf @@ -157,6 +158,10 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Tue Sep 16 2014 Takao Fujiwara - 1.5.6-1 +- Bumped to 1.5.6 +- Added ibus-anthy-xx-input-mode.patch from ibus-anthy-HEAD.patch. + * Sat Aug 16 2014 Fedora Release Engineering - 1.5.5-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild diff --git a/sources b/sources index 8cf9c6e..91def0f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0d21a3e24cfd7be22521475a63392276 ibus-anthy-1.5.5.tar.gz +240d049304172f86473c73784fbe577a ibus-anthy-1.5.6.tar.gz From d81715da5ad8b854fbf3fecde64d648f8e09d47d Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 16 Sep 2014 15:09:28 +0900 Subject: [PATCH 085/202] Fixed URL. --- ibus-anthy.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 697e77b..c95a1fe 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -19,8 +19,7 @@ Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ -# https://docs.google.com/file/d/0B3GBdbLj_9YgY0tvRXdMWHVYd2s -Source0: %{name}-%{version}.tar.gz +Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/%{name}-%{version}.tar.gz # Upstreamed patches. # Patch0: %%{name}-HEAD.patch From ef9bcf3d5e1f7418d2b91ba1cc8a4435c478e359 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 28 Oct 2014 19:05:13 +0900 Subject: [PATCH 086/202] Updated ibus-anthy-HEAD.patch to fix Enter key on setup dialog. --- ibus-anthy-HEAD.patch | 344 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 7 +- 2 files changed, 350 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..118db71 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,345 @@ +From 7bfd04659a1c69f4cea65178b13e2d2b80f165bf Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 24 Sep 2014 15:43:45 +0900 +Subject: [PATCH] Fixed typo in emoji.t + +--- + data/emoji.t | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/data/emoji.t b/data/emoji.t +index 28606ec..961955f 100644 +--- a/data/emoji.t ++++ b/data/emoji.t +@@ -241,7 +241,7 @@ + えもじ #T35*500 🌤 + えもじ #T35*500 ⛈ + えもじ #T35*500 🌧 +-えもじ #T35*500 🌴 ++えもじ #T35*500 🌴 + えもじ #T35*500 🌶 + えもじ #T35*500 ⚘ + えもじ #T35*500 ✿ +@@ -252,7 +252,7 @@ + えもじ #T35*500 🌺 + えもじ #T35*500 🌻 + えもじ #T35*500 🌼 +-えもじ #T35*500 💮 ++えもじ #T35*500 💮 + えもじ #T35*500 ☘ + えもじ #T35*500 🍀 + えもじ #T35*500 🍁 +@@ -935,7 +935,7 @@ + がっかり #T35*500 🙍 + がっかり #T35*500 🙎 + がっこう #T35*500 🏫 +-き #T35*500 🌴 ++き #T35*500 🌴 + きかざる #T35*500 🙉 + きす #T35*500 💋 + きす #T35*500 💏 +@@ -1420,7 +1420,7 @@ + はな #T35*500 🌺 + はな #T35*500 🌻 + はな #T35*500 🌼 +-はな #T35*500 💮 ++はな #T35*500 💮 + はな #T35*500 👃 + はむすたー #T35*500 🐹 + はれ #T35*500 ☼ +@@ -1485,7 +1485,7 @@ + ひょう #T35*500 🐆 + ひらめき #T35*500 💡 + びきに #T35*500 👙 +-びっくり #T35*500 😮 ++びっくり #T35*500 😮 + びっくり #T35*500 😰 + びっくり #T35*500 😲 + びでお #T35*500 📹 +@@ -1541,7 +1541,7 @@ + へいじょううんてん #T35*500 😯 + へいじょううんてん #T35*500 😶 + へっどほん #T35*500 🎧 +-へび #T35*500 🐍 ++へび #T35*500 🐍 + べる #T35*500 🔔 + べる #T35*500 🕭 + べろ #T35*500 😛 +@@ -1637,7 +1637,7 @@ + やけい #T35*500 🌉 + やさい #T35*500 🍅 + やさい #T35*500 🍆 +-やしのき #T35*500 🌴 ++やしのき #T35*500 🌴 + やま #T35*500 ⛰ + ゆき #T35*500 ⛄ + ゆき #T35*500 ⛇ +-- +1.8.5.3 + +From a3c5187942eda25aee37bb6ed71347abdbe70da2 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 8 Oct 2014 15:39:51 +0900 +Subject: [PATCH] Fixed no parent when click on shortcut keys. + +--- + setup/python2/main.py | 4 ++-- + setup/python3/main.py | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/setup/python2/main.py b/setup/python2/main.py +index e649a36..458cbf8 100644 +--- a/setup/python2/main.py ++++ b/setup/python2/main.py +@@ -1706,14 +1706,14 @@ class AnthySetup(object): + + def on_shortcut_key_release_event(self, widget, event): + if event.hardware_keycode in [36, 65]: +- self.on_btn_edit_clicked(None) ++ self.on_btn_edit_clicked(widget) + + def on_shortcut_click_event(self, widget, event): + if event.type == Gdk.EventType._2BUTTON_PRESS: + widget.dc = True + elif event.type == Gdk.EventType.BUTTON_RELEASE: + if hasattr(widget, 'dc') and widget.dc: +- self.on_btn_edit_clicked(None) ++ self.on_btn_edit_clicked(widget) + widget.dc = False + + def on_key_input_dialog_key_press_event(self, widget, event): +diff --git a/setup/python3/main.py b/setup/python3/main.py +index 01080ae..5c74c83 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -1700,14 +1700,14 @@ class AnthySetup(object): + + def on_shortcut_key_release_event(self, widget, event): + if event.hardware_keycode in [36, 65]: +- self.on_btn_edit_clicked(None) ++ self.on_btn_edit_clicked(widget) + + def on_shortcut_click_event(self, widget, event): + if event.type == Gdk.EventType._2BUTTON_PRESS: + widget.dc = True + elif event.type == Gdk.EventType.BUTTON_RELEASE: + if hasattr(widget, 'dc') and widget.dc: +- self.on_btn_edit_clicked(None) ++ self.on_btn_edit_clicked(widget) + widget.dc = False + + def on_key_input_dialog_key_press_event(self, widget, event): +-- +1.8.5.3 + +From a9b880226fcc7a22ca84ed1947c047c6c53c8028 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 28 Oct 2014 15:42:41 +0900 +Subject: [PATCH] Updated emoji.t + +--- + data/emoji.t | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 51 insertions(+) + +diff --git a/data/emoji.t b/data/emoji.t +index 961955f..ce92a7f 100644 +--- a/data/emoji.t ++++ b/data/emoji.t +@@ -156,6 +156,7 @@ + えもじ #T35*500 ⚲ + えもじ #T35*500 ⚽ + えもじ #T35*500 ⚾ ++えもじ #T35*500 ☃ + えもじ #T35*500 ⛄ + えもじ #T35*500 ⛇ + えもじ #T35*500 ⛉ +@@ -191,12 +192,18 @@ + えもじ #T35*500 ✐ + えもじ #T35*500 ✑ + えもじ #T35*500 ✒ ++えもじ #T35*500 ⭐ ++えもじ #T35*500 ⭑ ++えもじ #T35*500 ⭒ + えもじ #T35*500 ✦ + えもじ #T35*500 ✧ + えもじ #T35*500 ✨ + えもじ #T35*500 ✩ + えもじ #T35*500 ✪ + えもじ #T35*500 ✫ ++えもじ #T35*500 ⭐ ++えもじ #T35*500 ⭑ ++えもじ #T35*500 ⭒ + えもじ #T35*500 ✬ + えもじ #T35*500 ✭ + えもじ #T35*500 ✮ +@@ -235,8 +242,10 @@ + えもじ #T35*500 ⚝ + えもじ #T35*500 🌟 + えもじ #T35*500 🌠 ++えもじ #T35*500 ☀ + えもじ #T35*500 ☼ + えもじ #T35*500 🌣 ++えもじ #T35*500 ☁ + えもじ #T35*500 ⛅ + えもじ #T35*500 🌤 + えもじ #T35*500 ⛈ +@@ -435,6 +444,17 @@ + えもじ #T35*500 👃 + えもじ #T35*500 👄 + えもじ #T35*500 👅 ++えもじ #T35*500 👆 ++えもじ #T35*500 👇 ++えもじ #T35*500 👈 ++えもじ #T35*500 👉 ++えもじ #T35*500 👊 ++えもじ #T35*500 👋 ++えもじ #T35*500 👌 ++えもじ #T35*500 👍 ++えもじ #T35*500 👎 ++えもじ #T35*500 👏 ++えもじ #T35*500 👐 + えもじ #T35*500 ♔ + えもじ #T35*500 ♕ + えもじ #T35*500 ♚ +@@ -709,6 +729,8 @@ + おにぎり #T35*500 🍙 + おひつじざ #T35*500 ♉ + おふぃす #T35*500 🏢 ++おやゆび #T35*500 👍 ++おやゆび #T35*500 👎 + おんな #T35*500 👧 + おんな #T35*500 👭 + おんな #T35*500 👩 +@@ -716,6 +738,7 @@ + おんぷ #T35*500 🎵 + おんぷ #T35*500 🎶 + おーけー #T35*500 🙆 ++おーけー #T35*500 👌 + かい #T35*500 🐚 + かいおうせい #T35*500 ♆ + かいわ #T35*500 ⚞ +@@ -902,6 +925,8 @@ + かきごおり #T35*500 🍧 + かく #T35*500 ✍ + かくてる #T35*500 🍸 ++かさ #T35*500 ☂ ++かさ #T35*500 ☔ + かさ #T35*500 🌂 + かせい #T35*500 ♂ + かぜ #T35*500 😷 +@@ -948,6 +973,9 @@ + きもの #T35*500 👘 + きょうかい #T35*500 ⛪ + きょうふ #T35*500 😱 ++きら #T35*500 ⭐ ++きら #T35*500 ⭑ ++きら #T35*500 ⭒ + きら #T35*500 ✦ + きら #T35*500 ✧ + きら #T35*500 ✨ +@@ -998,6 +1026,7 @@ + くつ #T35*500 👣 + くっきー #T35*500 🍪 + くま #T35*500 🐻 ++くもり #T35*500 ☁ + くもり #T35*500 ⛅ + くもり #T35*500 🌤 + くりすます #T35*500 🎄 +@@ -1070,6 +1099,7 @@ + さそりざ #T35*500 ♏ + さっかー #T35*500 ⚽ + さっくす #T35*500 🎷 ++さようなら #T35*500 👋 + さる #T35*500 🐒 + さる #T35*500 🐵 + さんぱつ #T35*500 💇 +@@ -1194,6 +1224,7 @@ + ぞう #T35*500 🐘 + たいふう #T35*500 🌀 + たいよう #T35*500 ☉ ++たいよう #T35*500 ☀ + たいよう #T35*500 ☼ + たいよう #T35*500 🌣 + たいよう #T35*500 🌞 +@@ -1255,6 +1286,7 @@ + つかれる #T35*500 😫 + てがき #T35*500 ✍ + てにす #T35*500 🎾 ++てのひら #T35*500 👐 + てれび #T35*500 📺 + てんとうむし #T35*500 🐞 + てんのうせい #T35*500 ♅ +@@ -1399,6 +1431,7 @@ + は #T35*500 🍄 + はいひーる #T35*500 👠 + はいびすかす #T35*500 🌺 ++はくしゅ #T35*500 👏 + はさみ #T35*500 ✀ + はさみ #T35*500 ✁ + はさみ #T35*500 ✂ +@@ -1423,6 +1456,7 @@ + はな #T35*500 💮 + はな #T35*500 👃 + はむすたー #T35*500 🐹 ++はれ #T35*500 ☀ + はれ #T35*500 ☼ + はれ #T35*500 🌣 + はんげつ #T35*500 ◐ +@@ -1458,6 +1492,7 @@ + はーと #T35*500 💟 + ばいおりん #T35*500 🎻 + ばいく #T35*500 🏍 ++ばいばい #T35*500 👋 + ばくだん #T35*500 💣 + ばくはつ #T35*500 💥 + ばすけっとぼーる #T35*500 🏀 +@@ -1471,12 +1506,17 @@ + ぱらそる #T35*500 ⛱ + ぱん #T35*500 🍞 + ぱんだ #T35*500 🐼 ++ぱんち #T35*500 👊 + ぱー #T35*500 ✋ + ひ #T35*500 🔥 + ひこうき #T35*500 ✈ + ひつぎ #T35*500 ⚰ + ひつじ #T35*500 🐏 + ひつじ #T35*500 🐑 ++ひとさしゆび #T35*500 👆 ++ひとさしゆび #T35*500 👇 ++ひとさしゆび #T35*500 👈 ++ひとさしゆび #T35*500 👉 + ひのいり #T35*500 🌇 + ひので #T35*500 🌄 + ひので #T35*500 🌅 +@@ -1555,6 +1595,9 @@ + ぺん #T35*500 ✒ + ぺんぎん #T35*500 🐧 + ほうちょう #T35*500 🔪 ++ほし #T35*500 ⭐ ++ほし #T35*500 ⭑ ++ほし #T35*500 ⭒ + ほし #T35*500 ✦ + ほし #T35*500 ✧ + ほし #T35*500 ✨ +@@ -1639,10 +1682,18 @@ + やさい #T35*500 🍆 + やしのき #T35*500 🌴 + やま #T35*500 ⛰ ++ゆき #T35*500 ☃ + ゆき #T35*500 ⛄ + ゆき #T35*500 ⛇ ++ゆきだるま #T35*500 ☃ + ゆきだるま #T35*500 ⛄ + ゆきだるま #T35*500 ⛇ ++ゆび #T35*500 👆 ++ゆび #T35*500 👇 ++ゆび #T35*500 👈 ++ゆび #T35*500 👉 ++ゆび #T35*500 👍 ++ゆび #T35*500 👎 + よぞら #T35*500 🌃 + らっと #T35*500 🐀 + らくだ #T35*500 🐪 +-- +1.8.5.3 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index c95a1fe..77c090e 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,7 +14,7 @@ Name: ibus-anthy Version: 1.5.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -23,6 +23,7 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch # Add an input mode icon until ibus-ui-gtk3 is fixed. Patch1: %%{name}-xx-input-mode.patch @@ -81,6 +82,7 @@ for developers. %prep %setup -q # %%patch0 -p1 +%patch0 -p1 %patch1 -p1 -b .input-mode %build @@ -157,6 +159,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Tue Oct 28 2014 Takao Fujiwara - 1.5.6-2 +- Updated ibus-anthy-HEAD.patch to fix Enter key on setup dialog. + * Tue Sep 16 2014 Takao Fujiwara - 1.5.6-1 - Bumped to 1.5.6 - Added ibus-anthy-xx-input-mode.patch from ibus-anthy-HEAD.patch. From 36b027773ebb19ad6c80bcaf34e57004ae64d8ca Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 13 Nov 2014 16:47:01 +0900 Subject: [PATCH 087/202] Use python2 for epel7. --- ibus-anthy.spec | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 77c090e..f363e60 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -9,8 +9,16 @@ %global with_python_pkg 0 %endif +%if (0%{?fedora} > 19 || 0%{?rhel} > 7) +%global with_python3 1 +%else +%global with_python3 0 +%endif + +%if %with_python3 # for bytecompile in %%{_datadir}/ibus-anthy %global __python %{__python3} +%endif Name: ibus-anthy Version: 1.5.6 @@ -36,8 +44,13 @@ BuildRequires: ibus BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig +%if %with_python3 BuildRequires: python3-devel BuildRequires: python3-gobject +%else +BuildRequires: python2-devel +BuildRequires: pygobject3-base +%endif Requires: ibus >= %{require_ibus_version} Requires: kasumi @@ -46,8 +59,13 @@ Requires: anthy Requires: %{name}-python = %{version}-%{release} %else Requires: gtk3 +%if %with_python3 Requires: python3-cairo Requires: python3-gobject +%else +Requires: pycairo +Requires: pygobject3 +%endif %endif %description @@ -61,8 +79,13 @@ Group: System Environment/Libraries BuildArch: noarch Requires: %{name} = %{version}-%{release} Requires: gtk3 +%if %with_python3 Requires: python3-cairo Requires: python3-gobject +%else +Requires: pycairo +Requires: pygobject3 +%endif %description python This package contains the Anthy Python files for IBus @@ -95,7 +118,9 @@ autoreconf --with-hotkeys \ %endif --with-on-off-keys="'Zenkaku_Hankaku', 'Ctrl+space', 'Ctrl+J'" \ +%if %with_python3 --with-python=python3 \ +%endif --disable-static # make -C po update-gmo make %{?_smp_mflags} @@ -159,8 +184,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog -* Tue Oct 28 2014 Takao Fujiwara - 1.5.6-2 +* Thu Nov 13 2014 Takao Fujiwara - 1.5.6-2 - Updated ibus-anthy-HEAD.patch to fix Enter key on setup dialog. +- Use python2 for epel7. * Tue Sep 16 2014 Takao Fujiwara - 1.5.6-1 - Bumped to 1.5.6 From 3c93219df65050a4cb39e28dc4d6c6892f1dbd5d Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 25 Mar 2015 22:14:52 +0000 Subject: [PATCH 088/202] Register as an AppStream component --- ibus-anthy.spec | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index f363e60..4b67275 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -129,6 +129,32 @@ make %{?_smp_mflags} make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la +# register as an AppStream component +mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata +cat > $RPM_BUILD_ROOT%{_datadir}/appdata/anthy.metainfo.xml < + + anthy.xml + CC0-1.0 + Anthy + Japanese input method + +

+ The Anthy input method is designed for entering Japanese text. +

+

+ Input methods are typing systems allowing users to input complex languages. + They are necessary because these contain too many characters to simply be laid + out on a traditional keyboard. +

+
+ http://code.google.com/p/ibus/ + https://code.google.com/p/ibus/issues/list + https://code.google.com/p/ibus/wiki/FAQ + +
+EOF + %find_lang %{name} %check @@ -167,6 +193,7 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/ibus-anthy %{_datadir}/ibus/component/* %endif +%{_datadir}/appdata/*.metainfo.xml %{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg %if %with_python_pkg @@ -184,6 +211,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Mar 25 2015 Richard Hughes - 1.5.6-3 +- Register as an AppStream component. + * Thu Nov 13 2014 Takao Fujiwara - 1.5.6-2 - Updated ibus-anthy-HEAD.patch to fix Enter key on setup dialog. - Use python2 for epel7. From 198ac84fcd613c970d9bbd21fa02ce0997d0ec6d Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 25 Mar 2015 22:25:27 +0000 Subject: [PATCH 089/202] Use an AppStream file compatible with F22 also --- ibus-anthy.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 4b67275..803586b 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -131,7 +131,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la # register as an AppStream component mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata -cat > $RPM_BUILD_ROOT%{_datadir}/appdata/anthy.metainfo.xml < $RPM_BUILD_ROOT%{_datadir}/appdata/anthy.appdata.xml < anthy.xml @@ -193,7 +193,7 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/ibus-anthy %{_datadir}/ibus/component/* %endif -%{_datadir}/appdata/*.metainfo.xml +%{_datadir}/appdata/*.appdata.xml %{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg %if %with_python_pkg @@ -211,6 +211,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Mar 25 2015 Richard Hughes - 1.5.6-4 +- Use an AppStream file compatible with F22 also. + * Wed Mar 25 2015 Richard Hughes - 1.5.6-3 - Register as an AppStream component. From 69cf7a7e57f08017e84c07b7e6add247f970d5c2 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Thu, 26 Mar 2015 09:32:44 +0000 Subject: [PATCH 090/202] Add the AppData file to the right built RPM --- ibus-anthy.spec | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 803586b..f7ff363 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -129,7 +129,13 @@ make %{?_smp_mflags} make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la -# register as an AppStream component +# Register as an AppStream component to be visible in the software center +# +# NOTE: It would be *awesome* if this file was maintained by the upstream +# project, translated and installed into the right place during `make install`. +# +# See http://www.freedesktop.org/software/appstream/docs/ for more details. +# mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata cat > $RPM_BUILD_ROOT%{_datadir}/appdata/anthy.appdata.xml < @@ -193,12 +199,12 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/ibus-anthy %{_datadir}/ibus/component/* %endif -%{_datadir}/appdata/*.appdata.xml %{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg %if %with_python_pkg %files python %{_libexecdir}/ibus-*-anthy +%{_datadir}/appdata/*.appdata.xml %{_datadir}/applications/ibus-setup-anthy.desktop %{_datadir}/ibus-anthy/engine %{_datadir}/ibus-anthy/setup @@ -211,6 +217,12 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Mar 25 2015 Richard Hughes - 1.5.6-5 +- Add the AppData file to the right built RPM, in this case we have to install + ibus-anthy-python rather than the main package in gnome-software. +- It turns out adding the AppData file to spec files is a great way to fix these + kinds of bugs. :) + * Wed Mar 25 2015 Richard Hughes - 1.5.6-4 - Use an AppStream file compatible with F22 also. From a7bb810a737a7e4fd207d63f366e9af4241e4ec6 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Thu, 26 Mar 2015 09:43:20 +0000 Subject: [PATCH 091/202] trivial: Fix release --- ibus-anthy.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index f7ff363..ee03e64 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.6 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries From 65c8317df75364f1bcc3d5eeff2a69b43d99b926 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 22 Apr 2015 13:16:08 +0900 Subject: [PATCH 092/202] Resolved #1214092 Updated ibus-anthy-HEAD.patch --- ibus-anthy-HEAD.patch | 125 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 +- 2 files changed, 129 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 118db71..ff17324 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -343,3 +343,128 @@ index 961955f..ce92a7f 100644 -- 1.8.5.3 +From 5cd95abb49956d4014b0bdc5b5dba356d9d3767c Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 22 Apr 2015 12:45:48 +0900 +Subject: [PATCH] Fixed to import sys (#1214092) + +--- + engine/python2/factory.py | 5 +++-- + engine/python2/thumb.py | 7 ++++--- + engine/python3/factory.py | 5 +++-- + engine/python3/thumb.py | 7 ++++--- + 4 files changed, 14 insertions(+), 10 deletions(-) + +diff --git a/engine/python2/factory.py b/engine/python2/factory.py +index d4aa075..42dee0a 100644 +--- a/engine/python2/factory.py ++++ b/engine/python2/factory.py +@@ -4,8 +4,8 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2015 Takao Fujiwara ++# Copyright (c) 2007-2015 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -22,6 +22,7 @@ + # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + import os ++import sys + + from gi.repository import IBus + +diff --git a/engine/python2/thumb.py b/engine/python2/thumb.py +index 6a7e3d2..faa0f78 100644 +--- a/engine/python2/thumb.py ++++ b/engine/python2/thumb.py +@@ -5,8 +5,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2013 Takao Fujiwara +-# Copyright (c) 2007-2013 Red Hat, Inc. ++# Copyright (c) 2010-2015 Takao Fujiwara ++# Copyright (c) 2007-2015 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -27,6 +27,8 @@ __all__ = ( + 'ThumbShiftSegment', + ) + ++import sys ++ + from gi.repository import GLib + from gi.repository import IBus + +@@ -411,7 +413,6 @@ class ThumbShiftKeyboard: + 0, 1024, 0)[3] + layout_list = prop.split('\0') + except TypeError: +- import sys + print >> sys.stderr, \ + 'This problem is fixed in the latest gobject-introspection' + print >> sys.stderr, \ +diff --git a/engine/python3/factory.py b/engine/python3/factory.py +index 8994793..e51faad 100644 +--- a/engine/python3/factory.py ++++ b/engine/python3/factory.py +@@ -4,8 +4,8 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2014 Takao Fujiwara +-# Copyright (c) 2007-2014 Red Hat, Inc. ++# Copyright (c) 2010-2015 Takao Fujiwara ++# Copyright (c) 2007-2015 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -22,6 +22,7 @@ + # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + import os ++import sys + + from gi.repository import IBus + +diff --git a/engine/python3/thumb.py b/engine/python3/thumb.py +index 93a3967..7fb97a8 100644 +--- a/engine/python3/thumb.py ++++ b/engine/python3/thumb.py +@@ -5,8 +5,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2014 Takao Fujiwara +-# Copyright (c) 2007-2014 Red Hat, Inc. ++# Copyright (c) 2010-2015 Takao Fujiwara ++# Copyright (c) 2007-2015 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -27,6 +27,8 @@ __all__ = ( + 'ThumbShiftSegment', + ) + ++import sys ++ + from gi.repository import GLib + from gi.repository import IBus + +@@ -408,7 +410,6 @@ class ThumbShiftKeyboard: + 0, 1024, 0)[3] + layout_list = prop.split('\0') + except TypeError: +- import sys + print >> sys.stderr, \ + 'This problem is fixed in the latest gobject-introspection' + print >> sys.stderr, \ +-- +2.1.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index ee03e64..aea3e57 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.6 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -217,6 +217,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Apr 22 2015 Takao Fujiwara - 1.5.6-6 +- Resolved #1214092 Updated ibus-anthy-HEAD.patch + * Wed Mar 25 2015 Richard Hughes - 1.5.6-5 - Add the AppData file to the right built RPM, in this case we have to install ibus-anthy-python rather than the main package in gnome-software. From fb0e859e81a518661f5fe40a6104835678bba2dd Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 22 Apr 2015 13:34:05 +0900 Subject: [PATCH 093/202] Added with_appdata macro and removed with_python_pkg macro --- ibus-anthy.spec | 39 +++++++++++---------------------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index aea3e57..d658694 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,18 +3,18 @@ %global have_default_layout 1 %global have_bridge_hotkey 1 -%if (0%{?fedora} > 19 || 0%{?rhel} > 6) -%global with_python_pkg 1 -%else -%global with_python_pkg 0 -%endif - %if (0%{?fedora} > 19 || 0%{?rhel} > 7) %global with_python3 1 %else %global with_python3 0 %endif +%if (0%{?fedora} > 22 || 0%{?rhel} > 7) +%global with_appdata 1 +%else +%global with_appdata 0 +%endif + %if %with_python3 # for bytecompile in %%{_datadir}/ibus-anthy %global __python %{__python3} @@ -55,24 +55,12 @@ BuildRequires: pygobject3-base Requires: ibus >= %{require_ibus_version} Requires: kasumi Requires: anthy -%if %with_python_pkg Requires: %{name}-python = %{version}-%{release} -%else -Requires: gtk3 -%if %with_python3 -Requires: python3-cairo -Requires: python3-gobject -%else -Requires: pycairo -Requires: pygobject3 -%endif -%endif %description The Anthy engine for IBus platform. It provides Japanese input method from a library of the Anthy. -%if %with_python_pkg %package python Summary: Anthy Python files for IBus Group: System Environment/Libraries @@ -89,7 +77,6 @@ Requires: pygobject3 %description python This package contains the Anthy Python files for IBus -%endif %package devel Summary: Development tools for IBus @@ -129,6 +116,7 @@ make %{?_smp_mflags} make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la +%if %with_appdata # Register as an AppStream component to be visible in the software center # # NOTE: It would be *awesome* if this file was maintained by the upstream @@ -160,6 +148,7 @@ cat > $RPM_BUILD_ROOT%{_datadir}/appdata/anthy.appdata.xml < EOF +%endif %find_lang %{name} @@ -190,26 +179,19 @@ touch --no-create %{_datadir}/icons/hicolor || : # dir {python2_sitearch}/ibus %{_libdir}/libanthygobject-%{sub_version}.so.* %{_libdir}/girepository-1.0/Anthy*.typelib -%if %with_python_pkg %dir %{_datadir}/ibus-anthy %{_datadir}/ibus-anthy/dicts -%else -%{_libexecdir}/ibus-*-anthy -%{_datadir}/applications/ibus-setup-anthy.desktop -%{_datadir}/ibus-anthy -%{_datadir}/ibus/component/* -%endif %{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg -%if %with_python_pkg %files python %{_libexecdir}/ibus-*-anthy +%if %with_appdata %{_datadir}/appdata/*.appdata.xml +%endif %{_datadir}/applications/ibus-setup-anthy.desktop %{_datadir}/ibus-anthy/engine %{_datadir}/ibus-anthy/setup %{_datadir}/ibus/component/* -%endif %files devel %{_datadir}/gir-1.0/Anthy*.gir @@ -219,6 +201,7 @@ touch --no-create %{_datadir}/icons/hicolor || : %changelog * Wed Apr 22 2015 Takao Fujiwara - 1.5.6-6 - Resolved #1214092 Updated ibus-anthy-HEAD.patch +- Added with_appdata macro and removed with_python_pkg macro * Wed Mar 25 2015 Richard Hughes - 1.5.6-5 - Add the AppData file to the right built RPM, in this case we have to install From 93980af97e92f4885e0e17d2fe87679402c4a805 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 17 Jun 2015 11:07:49 +0000 Subject: [PATCH 094/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index d658694..8e8bf87 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.6 -Release: 6%{?dist} +Release: 7%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -199,6 +199,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Jun 17 2015 Fedora Release Engineering - 1.5.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Wed Apr 22 2015 Takao Fujiwara - 1.5.6-6 - Resolved #1214092 Updated ibus-anthy-HEAD.patch - Added with_appdata macro and removed with_python_pkg macro From 35f06cc69d54cdbd839cc757285f35afd6b5a3db Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 16 Jul 2015 19:06:27 +0900 Subject: [PATCH 095/202] Delete upstreamed patches. --- ibus-anthy-HEAD.patch | 470 --- ibus-anthy-xx-input-mode.patch | 4997 -------------------------------- 2 files changed, 5467 deletions(-) delete mode 100644 ibus-anthy-HEAD.patch delete mode 100644 ibus-anthy-xx-input-mode.patch diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch deleted file mode 100644 index ff17324..0000000 --- a/ibus-anthy-HEAD.patch +++ /dev/null @@ -1,470 +0,0 @@ -From 7bfd04659a1c69f4cea65178b13e2d2b80f165bf Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 24 Sep 2014 15:43:45 +0900 -Subject: [PATCH] Fixed typo in emoji.t - ---- - data/emoji.t | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/data/emoji.t b/data/emoji.t -index 28606ec..961955f 100644 ---- a/data/emoji.t -+++ b/data/emoji.t -@@ -241,7 +241,7 @@ - えもじ #T35*500 🌤 - えもじ #T35*500 ⛈ - えもじ #T35*500 🌧 --えもじ #T35*500 🌴 -+えもじ #T35*500 🌴 - えもじ #T35*500 🌶 - えもじ #T35*500 ⚘ - えもじ #T35*500 ✿ -@@ -252,7 +252,7 @@ - えもじ #T35*500 🌺 - えもじ #T35*500 🌻 - えもじ #T35*500 🌼 --えもじ #T35*500 💮 -+えもじ #T35*500 💮 - えもじ #T35*500 ☘ - えもじ #T35*500 🍀 - えもじ #T35*500 🍁 -@@ -935,7 +935,7 @@ - がっかり #T35*500 🙍 - がっかり #T35*500 🙎 - がっこう #T35*500 🏫 --き #T35*500 🌴 -+き #T35*500 🌴 - きかざる #T35*500 🙉 - きす #T35*500 💋 - きす #T35*500 💏 -@@ -1420,7 +1420,7 @@ - はな #T35*500 🌺 - はな #T35*500 🌻 - はな #T35*500 🌼 --はな #T35*500 💮 -+はな #T35*500 💮 - はな #T35*500 👃 - はむすたー #T35*500 🐹 - はれ #T35*500 ☼ -@@ -1485,7 +1485,7 @@ - ひょう #T35*500 🐆 - ひらめき #T35*500 💡 - びきに #T35*500 👙 --びっくり #T35*500 😮 -+びっくり #T35*500 😮 - びっくり #T35*500 😰 - びっくり #T35*500 😲 - びでお #T35*500 📹 -@@ -1541,7 +1541,7 @@ - へいじょううんてん #T35*500 😯 - へいじょううんてん #T35*500 😶 - へっどほん #T35*500 🎧 --へび #T35*500 🐍 -+へび #T35*500 🐍 - べる #T35*500 🔔 - べる #T35*500 🕭 - べろ #T35*500 😛 -@@ -1637,7 +1637,7 @@ - やけい #T35*500 🌉 - やさい #T35*500 🍅 - やさい #T35*500 🍆 --やしのき #T35*500 🌴 -+やしのき #T35*500 🌴 - やま #T35*500 ⛰ - ゆき #T35*500 ⛄ - ゆき #T35*500 ⛇ --- -1.8.5.3 - -From a3c5187942eda25aee37bb6ed71347abdbe70da2 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 8 Oct 2014 15:39:51 +0900 -Subject: [PATCH] Fixed no parent when click on shortcut keys. - ---- - setup/python2/main.py | 4 ++-- - setup/python3/main.py | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/setup/python2/main.py b/setup/python2/main.py -index e649a36..458cbf8 100644 ---- a/setup/python2/main.py -+++ b/setup/python2/main.py -@@ -1706,14 +1706,14 @@ class AnthySetup(object): - - def on_shortcut_key_release_event(self, widget, event): - if event.hardware_keycode in [36, 65]: -- self.on_btn_edit_clicked(None) -+ self.on_btn_edit_clicked(widget) - - def on_shortcut_click_event(self, widget, event): - if event.type == Gdk.EventType._2BUTTON_PRESS: - widget.dc = True - elif event.type == Gdk.EventType.BUTTON_RELEASE: - if hasattr(widget, 'dc') and widget.dc: -- self.on_btn_edit_clicked(None) -+ self.on_btn_edit_clicked(widget) - widget.dc = False - - def on_key_input_dialog_key_press_event(self, widget, event): -diff --git a/setup/python3/main.py b/setup/python3/main.py -index 01080ae..5c74c83 100644 ---- a/setup/python3/main.py -+++ b/setup/python3/main.py -@@ -1700,14 +1700,14 @@ class AnthySetup(object): - - def on_shortcut_key_release_event(self, widget, event): - if event.hardware_keycode in [36, 65]: -- self.on_btn_edit_clicked(None) -+ self.on_btn_edit_clicked(widget) - - def on_shortcut_click_event(self, widget, event): - if event.type == Gdk.EventType._2BUTTON_PRESS: - widget.dc = True - elif event.type == Gdk.EventType.BUTTON_RELEASE: - if hasattr(widget, 'dc') and widget.dc: -- self.on_btn_edit_clicked(None) -+ self.on_btn_edit_clicked(widget) - widget.dc = False - - def on_key_input_dialog_key_press_event(self, widget, event): --- -1.8.5.3 - -From a9b880226fcc7a22ca84ed1947c047c6c53c8028 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 28 Oct 2014 15:42:41 +0900 -Subject: [PATCH] Updated emoji.t - ---- - data/emoji.t | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 51 insertions(+) - -diff --git a/data/emoji.t b/data/emoji.t -index 961955f..ce92a7f 100644 ---- a/data/emoji.t -+++ b/data/emoji.t -@@ -156,6 +156,7 @@ - えもじ #T35*500 ⚲ - えもじ #T35*500 ⚽ - えもじ #T35*500 ⚾ -+えもじ #T35*500 ☃ - えもじ #T35*500 ⛄ - えもじ #T35*500 ⛇ - えもじ #T35*500 ⛉ -@@ -191,12 +192,18 @@ - えもじ #T35*500 ✐ - えもじ #T35*500 ✑ - えもじ #T35*500 ✒ -+えもじ #T35*500 ⭐ -+えもじ #T35*500 ⭑ -+えもじ #T35*500 ⭒ - えもじ #T35*500 ✦ - えもじ #T35*500 ✧ - えもじ #T35*500 ✨ - えもじ #T35*500 ✩ - えもじ #T35*500 ✪ - えもじ #T35*500 ✫ -+えもじ #T35*500 ⭐ -+えもじ #T35*500 ⭑ -+えもじ #T35*500 ⭒ - えもじ #T35*500 ✬ - えもじ #T35*500 ✭ - えもじ #T35*500 ✮ -@@ -235,8 +242,10 @@ - えもじ #T35*500 ⚝ - えもじ #T35*500 🌟 - えもじ #T35*500 🌠 -+えもじ #T35*500 ☀ - えもじ #T35*500 ☼ - えもじ #T35*500 🌣 -+えもじ #T35*500 ☁ - えもじ #T35*500 ⛅ - えもじ #T35*500 🌤 - えもじ #T35*500 ⛈ -@@ -435,6 +444,17 @@ - えもじ #T35*500 👃 - えもじ #T35*500 👄 - えもじ #T35*500 👅 -+えもじ #T35*500 👆 -+えもじ #T35*500 👇 -+えもじ #T35*500 👈 -+えもじ #T35*500 👉 -+えもじ #T35*500 👊 -+えもじ #T35*500 👋 -+えもじ #T35*500 👌 -+えもじ #T35*500 👍 -+えもじ #T35*500 👎 -+えもじ #T35*500 👏 -+えもじ #T35*500 👐 - えもじ #T35*500 ♔ - えもじ #T35*500 ♕ - えもじ #T35*500 ♚ -@@ -709,6 +729,8 @@ - おにぎり #T35*500 🍙 - おひつじざ #T35*500 ♉ - おふぃす #T35*500 🏢 -+おやゆび #T35*500 👍 -+おやゆび #T35*500 👎 - おんな #T35*500 👧 - おんな #T35*500 👭 - おんな #T35*500 👩 -@@ -716,6 +738,7 @@ - おんぷ #T35*500 🎵 - おんぷ #T35*500 🎶 - おーけー #T35*500 🙆 -+おーけー #T35*500 👌 - かい #T35*500 🐚 - かいおうせい #T35*500 ♆ - かいわ #T35*500 ⚞ -@@ -902,6 +925,8 @@ - かきごおり #T35*500 🍧 - かく #T35*500 ✍ - かくてる #T35*500 🍸 -+かさ #T35*500 ☂ -+かさ #T35*500 ☔ - かさ #T35*500 🌂 - かせい #T35*500 ♂ - かぜ #T35*500 😷 -@@ -948,6 +973,9 @@ - きもの #T35*500 👘 - きょうかい #T35*500 ⛪ - きょうふ #T35*500 😱 -+きら #T35*500 ⭐ -+きら #T35*500 ⭑ -+きら #T35*500 ⭒ - きら #T35*500 ✦ - きら #T35*500 ✧ - きら #T35*500 ✨ -@@ -998,6 +1026,7 @@ - くつ #T35*500 👣 - くっきー #T35*500 🍪 - くま #T35*500 🐻 -+くもり #T35*500 ☁ - くもり #T35*500 ⛅ - くもり #T35*500 🌤 - くりすます #T35*500 🎄 -@@ -1070,6 +1099,7 @@ - さそりざ #T35*500 ♏ - さっかー #T35*500 ⚽ - さっくす #T35*500 🎷 -+さようなら #T35*500 👋 - さる #T35*500 🐒 - さる #T35*500 🐵 - さんぱつ #T35*500 💇 -@@ -1194,6 +1224,7 @@ - ぞう #T35*500 🐘 - たいふう #T35*500 🌀 - たいよう #T35*500 ☉ -+たいよう #T35*500 ☀ - たいよう #T35*500 ☼ - たいよう #T35*500 🌣 - たいよう #T35*500 🌞 -@@ -1255,6 +1286,7 @@ - つかれる #T35*500 😫 - てがき #T35*500 ✍ - てにす #T35*500 🎾 -+てのひら #T35*500 👐 - てれび #T35*500 📺 - てんとうむし #T35*500 🐞 - てんのうせい #T35*500 ♅ -@@ -1399,6 +1431,7 @@ - は #T35*500 🍄 - はいひーる #T35*500 👠 - はいびすかす #T35*500 🌺 -+はくしゅ #T35*500 👏 - はさみ #T35*500 ✀ - はさみ #T35*500 ✁ - はさみ #T35*500 ✂ -@@ -1423,6 +1456,7 @@ - はな #T35*500 💮 - はな #T35*500 👃 - はむすたー #T35*500 🐹 -+はれ #T35*500 ☀ - はれ #T35*500 ☼ - はれ #T35*500 🌣 - はんげつ #T35*500 ◐ -@@ -1458,6 +1492,7 @@ - はーと #T35*500 💟 - ばいおりん #T35*500 🎻 - ばいく #T35*500 🏍 -+ばいばい #T35*500 👋 - ばくだん #T35*500 💣 - ばくはつ #T35*500 💥 - ばすけっとぼーる #T35*500 🏀 -@@ -1471,12 +1506,17 @@ - ぱらそる #T35*500 ⛱ - ぱん #T35*500 🍞 - ぱんだ #T35*500 🐼 -+ぱんち #T35*500 👊 - ぱー #T35*500 ✋ - ひ #T35*500 🔥 - ひこうき #T35*500 ✈ - ひつぎ #T35*500 ⚰ - ひつじ #T35*500 🐏 - ひつじ #T35*500 🐑 -+ひとさしゆび #T35*500 👆 -+ひとさしゆび #T35*500 👇 -+ひとさしゆび #T35*500 👈 -+ひとさしゆび #T35*500 👉 - ひのいり #T35*500 🌇 - ひので #T35*500 🌄 - ひので #T35*500 🌅 -@@ -1555,6 +1595,9 @@ - ぺん #T35*500 ✒ - ぺんぎん #T35*500 🐧 - ほうちょう #T35*500 🔪 -+ほし #T35*500 ⭐ -+ほし #T35*500 ⭑ -+ほし #T35*500 ⭒ - ほし #T35*500 ✦ - ほし #T35*500 ✧ - ほし #T35*500 ✨ -@@ -1639,10 +1682,18 @@ - やさい #T35*500 🍆 - やしのき #T35*500 🌴 - やま #T35*500 ⛰ -+ゆき #T35*500 ☃ - ゆき #T35*500 ⛄ - ゆき #T35*500 ⛇ -+ゆきだるま #T35*500 ☃ - ゆきだるま #T35*500 ⛄ - ゆきだるま #T35*500 ⛇ -+ゆび #T35*500 👆 -+ゆび #T35*500 👇 -+ゆび #T35*500 👈 -+ゆび #T35*500 👉 -+ゆび #T35*500 👍 -+ゆび #T35*500 👎 - よぞら #T35*500 🌃 - らっと #T35*500 🐀 - らくだ #T35*500 🐪 --- -1.8.5.3 - -From 5cd95abb49956d4014b0bdc5b5dba356d9d3767c Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 22 Apr 2015 12:45:48 +0900 -Subject: [PATCH] Fixed to import sys (#1214092) - ---- - engine/python2/factory.py | 5 +++-- - engine/python2/thumb.py | 7 ++++--- - engine/python3/factory.py | 5 +++-- - engine/python3/thumb.py | 7 ++++--- - 4 files changed, 14 insertions(+), 10 deletions(-) - -diff --git a/engine/python2/factory.py b/engine/python2/factory.py -index d4aa075..42dee0a 100644 ---- a/engine/python2/factory.py -+++ b/engine/python2/factory.py -@@ -4,8 +4,8 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2015 Takao Fujiwara -+# Copyright (c) 2007-2015 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -22,6 +22,7 @@ - # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - import os -+import sys - - from gi.repository import IBus - -diff --git a/engine/python2/thumb.py b/engine/python2/thumb.py -index 6a7e3d2..faa0f78 100644 ---- a/engine/python2/thumb.py -+++ b/engine/python2/thumb.py -@@ -5,8 +5,8 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2015 Takao Fujiwara -+# Copyright (c) 2007-2015 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -27,6 +27,8 @@ __all__ = ( - 'ThumbShiftSegment', - ) - -+import sys -+ - from gi.repository import GLib - from gi.repository import IBus - -@@ -411,7 +413,6 @@ class ThumbShiftKeyboard: - 0, 1024, 0)[3] - layout_list = prop.split('\0') - except TypeError: -- import sys - print >> sys.stderr, \ - 'This problem is fixed in the latest gobject-introspection' - print >> sys.stderr, \ -diff --git a/engine/python3/factory.py b/engine/python3/factory.py -index 8994793..e51faad 100644 ---- a/engine/python3/factory.py -+++ b/engine/python3/factory.py -@@ -4,8 +4,8 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2014 Takao Fujiwara --# Copyright (c) 2007-2014 Red Hat, Inc. -+# Copyright (c) 2010-2015 Takao Fujiwara -+# Copyright (c) 2007-2015 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -22,6 +22,7 @@ - # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - import os -+import sys - - from gi.repository import IBus - -diff --git a/engine/python3/thumb.py b/engine/python3/thumb.py -index 93a3967..7fb97a8 100644 ---- a/engine/python3/thumb.py -+++ b/engine/python3/thumb.py -@@ -5,8 +5,8 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2014 Takao Fujiwara --# Copyright (c) 2007-2014 Red Hat, Inc. -+# Copyright (c) 2010-2015 Takao Fujiwara -+# Copyright (c) 2007-2015 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -27,6 +27,8 @@ __all__ = ( - 'ThumbShiftSegment', - ) - -+import sys -+ - from gi.repository import GLib - from gi.repository import IBus - -@@ -408,7 +410,6 @@ class ThumbShiftKeyboard: - 0, 1024, 0)[3] - layout_list = prop.split('\0') - except TypeError: -- import sys - print >> sys.stderr, \ - 'This problem is fixed in the latest gobject-introspection' - print >> sys.stderr, \ --- -2.1.0 - diff --git a/ibus-anthy-xx-input-mode.patch b/ibus-anthy-xx-input-mode.patch deleted file mode 100644 index 2782ba1..0000000 --- a/ibus-anthy-xx-input-mode.patch +++ /dev/null @@ -1,4997 +0,0 @@ -From d43fff0f30ed2d4221a0d431bfbd230b097e9881 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 21 Aug 2014 19:24:41 +0900 -Subject: [PATCH 1/4] Added another status icon for input mode. - ---- - engine/python2/Makefile.am | 5 +- - engine/python2/engine.py | 94 ++++++++- - engine/python2/propertyicon.py | 81 ++++++++ - engine/python3/Makefile.am | 5 +- - engine/python3/engine.py | 92 ++++++++- - engine/python3/propertyicon.py | 81 ++++++++ - setup/python2/anthyprefs.py.in | 6 +- - setup/python2/main.py | 6 +- - setup/python2/prefs.py | 32 ++- - setup/python2/setup.ui | 19 +- - setup/python3/anthyprefs.py.in | 2 + - setup/python3/main.py | 6 +- - setup/python3/prefs.py | 28 ++- - setup/python3/setup.ui | 19 +- - 15 files changed, 660 insertions(+), 246 deletions(-) - create mode 100644 engine/python2/propertyicon.py - create mode 100644 engine/python3/propertyicon.py - -diff --git a/engine/python2/Makefile.am b/engine/python2/Makefile.am -index a96f831..965d534 100644 ---- a/engine/python2/Makefile.am -+++ b/engine/python2/Makefile.am -@@ -3,8 +3,8 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ - jastring.py \ - kana.py \ - main.py \ -+ propertyicon.py \ - romaji.py \ - segment.py \ - tables.py \ -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index b298c9c..3339eda 100644 ---- a/engine/python2/engine.py -+++ b/engine/python2/engine.py -@@ -4,8 +4,8 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -35,6 +35,7 @@ try: - except: - pass - -+from gi.repository import Gio - from gi.repository import GLib - from gi.repository import IBus - -@@ -117,6 +118,7 @@ class Engine(IBus.EngineSimple): - __keybind = {} - __thumb = None - __latin_with_shift = True -+ __input_mode_icon = None - - def __init__(self, bus, object_path): - super(Engine, self).__init__(engine_name="anthy", -@@ -170,6 +172,8 @@ class Engine(IBus.EngineSimple): - ibus_config.connect('value-changed', - self.__config_value_changed_cb) - -+ self.__run_input_mode_icon() -+ - def __get_ibus_version(self): - if self.__ibus_version == 0.0: - self.__ibus_version = \ -@@ -258,6 +262,73 @@ class Engine(IBus.EngineSimple): - signal.signal(signum, signal.SIG_DFL) - os.kill(os.getpid(), signum) - -+ def __is_gnome_shell_running(self): -+ connection = None -+ variant = None -+ -+ try: -+ connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) -+ variant = connection.call_sync('org.gnome.Shell', -+ '/org/gnome/Shell', -+ 'org.freedesktop.DBus.Peer', -+ 'Ping', -+ None, -+ None, -+ Gio.DBusCallFlags.NONE, -+ -1, -+ None) -+ except GLib.GError as e: -+ pass -+ -+ if connection != None: -+ try: -+ connection.flush_sync(None) -+ except GLib.GError as e: -+ printerr('GDBusConnection flush failed: ' + str(e)) -+ -+ if variant == None: -+ return False -+ return True -+ -+ def __run_input_mode_icon(self): -+ self.__input_mode_icon = None -+ -+ if self.__is_gnome_shell_running(): -+ return -+ try: -+ from gi.repository import Gdk -+ if Gdk.Display.get_default() == None: -+ return -+ except Exception as e: -+ printerr('import Gdk failed: ' + str(e)) -+ return -+ -+ if not self.__prefs.get_value('common', 'show-input-mode-icon'): -+ return -+ -+ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) -+ spec = self.__prefs.get_value('common', 'icon-str-rgba') -+ if not rgba.parse(spec): -+ printerr('invalid icon-str-rgba: %s' % spec) -+ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) -+ -+ modes = { -+ INPUT_MODE_HIRAGANA : 'あ', -+ INPUT_MODE_KATAKANA : 'ア', -+ INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', -+ INPUT_MODE_LATIN : '_A', -+ INPUT_MODE_WIDE_LATIN : 'A', -+ } -+ -+ try: -+ import propertyicon -+ self.__input_mode_icon = propertyicon.PropertyIcon(rgba) -+ self.__input_mode_icon.set_visible(True) -+ self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) -+ except Exception as e: -+ printerr('import PropertyIcon failed: ' + str(e)) -+ return -+ - def __set_input_mode_props(self, anthy_props): - # The class method is kept even if the engine is switched. - if Engine.__input_mode == None: -@@ -847,6 +918,9 @@ class Engine(IBus.EngineSimple): - prop.set_label(IBus.Text.new_from_string(label)) - self.update_property(prop) - -+ if self.__input_mode_icon != None: -+ self.__input_mode_icon.set_from_symbol(symbol) -+ - self.__reset() - self.__invalidate() - -@@ -1030,6 +1104,7 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -+ self.__input_mode_icon = None - - def __join_all_segments(self): - while True: -@@ -1109,7 +1184,7 @@ class Engine(IBus.EngineSimple): - - # fill lookup_table - self.__lookup_table.clear() -- for i in xrange(0, seg_stat.nr_predictions): -+ for i in xrange(0, nr_predictions): - buf = self.__context.get_prediction(i) - candidate = UN(buf) - self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) -@@ -1220,6 +1295,12 @@ class Engine(IBus.EngineSimple): - def __update_anthy_convert_chars(self): - self.__convert_chars = u'' - pos = 0 -+ -+ (seg_index, text) = self.__segments[self.__cursor_pos] -+ # prediction lookup window + BackSpace will return None -+ if text == None: -+ return -+ - for i, (seg_index, text) in enumerate(self.__segments): - self.__convert_chars += text - if i < self.__cursor_pos: -@@ -2110,6 +2191,13 @@ class Engine(IBus.EngineSimple): - self.__fetch_dict_values(base_sec) - self.__prefs.set_value(base_sec, name, value) - self.__set_dict_mode_props(self.__prop_list, True) -+ elif base_sec == 'common': -+ if name == 'show_input_mode_icon': -+ name = 'show-input-mode-icon' -+ self.__prefs.set_value(base_sec, name, value) -+ self.__run_input_mode_icon() -+ else: -+ self.__prefs.set_value(base_sec, name, value) - elif base_sec: - self.__prefs.set_value(base_sec, name, value) - else: -diff --git a/engine/python2/propertyicon.py b/engine/python2/propertyicon.py -new file mode 100644 -index 0000000..fa5f34f ---- /dev/null -+++ b/engine/python2/propertyicon.py -@@ -0,0 +1,81 @@ -+# vim:set et sts=4 sw=4: -+# -*- coding: utf-8 -*- -+# -+# ibus-anthy - The Anthy engine for IBus -+# -+# Copyright (c) 2014 Takao Fujiwara -+# Copyright (c) 2014 Red Hat, Inc. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License along -+# with this program; if not, write to the Free Software Foundation, Inc., -+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ -+# for python2 -+from __future__ import print_function -+ -+import cairo -+import sys -+ -+from gi.repository import Gdk -+from gi.repository import Gio -+from gi.repository import GLib -+from gi.repository import Gtk -+from gi.repository import Pango -+from gi.repository import PangoCairo -+ -+class PropertyIcon(Gtk.StatusIcon): -+ __xkb_icon_pixbufs = {} -+ __xkb_icon_rgba = None -+ -+ def __init__(self, rgba): -+ super(Gtk.StatusIcon, self).__init__() -+ self.__xkb_icon_rgba = rgba -+ -+ def __context_render_string(self, cr, symbol, image_width, image_height): -+ lwidth = 0 -+ lheight = 0 -+ desc = Pango.FontDescription.from_string('Monospace Bold 22') -+ layout = PangoCairo.create_layout(cr) -+ -+ layout.set_font_description(desc) -+ layout.set_text(symbol, -1) -+ (lwidth, lheight) = layout.get_size() -+ cr.move_to((image_width - lwidth / Pango.SCALE) / 2, -+ (image_height - lheight / Pango.SCALE) / 2) -+ cr.set_source_rgba(self.__xkb_icon_rgba.red, -+ self.__xkb_icon_rgba.green, -+ self.__xkb_icon_rgba.blue, -+ self.__xkb_icon_rgba.alpha) -+ PangoCairo.show_layout(cr, layout) -+ -+ def __create_icon_pixbuf_with_string(self, symbol): -+ if symbol in self.__xkb_icon_pixbufs: -+ return self.__xkb_icon_pixbufs[symbol] -+ -+ image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) -+ cr = cairo.Context(image) -+ width = image.get_width() -+ height = image.get_height() -+ -+ cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) -+ cr.set_operator(cairo.OPERATOR_SOURCE) -+ cr.paint() -+ cr.set_operator(cairo.OPERATOR_OVER) -+ self.__context_render_string(cr, symbol, width, height) -+ pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) -+ self.__xkb_icon_pixbufs[symbol] = pixbuf -+ return pixbuf -+ -+ def set_from_symbol(self, symbol): -+ pixbuf = self.__create_icon_pixbuf_with_string(symbol) -+ self.set_from_pixbuf(pixbuf) -diff --git a/engine/python3/Makefile.am b/engine/python3/Makefile.am -index a96f831..965d534 100644 ---- a/engine/python3/Makefile.am -+++ b/engine/python3/Makefile.am -@@ -3,8 +3,8 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -29,6 +29,7 @@ engine_anthy_PYTHON = \ - jastring.py \ - kana.py \ - main.py \ -+ propertyicon.py \ - romaji.py \ - segment.py \ - tables.py \ -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index cc1a8c8..ab9e8fa 100644 ---- a/engine/python3/engine.py -+++ b/engine/python3/engine.py -@@ -36,6 +36,7 @@ try: - except: - pass - -+from gi.repository import Gio - from gi.repository import GLib - from gi.repository import IBus - -@@ -118,6 +119,7 @@ class Engine(IBus.EngineSimple): - __keybind = {} - __thumb = None - __latin_with_shift = True -+ __input_mode_icon = None - - def __init__(self, bus, object_path): - super(Engine, self).__init__(engine_name="anthy", -@@ -171,6 +173,8 @@ class Engine(IBus.EngineSimple): - ibus_config.connect('value-changed', - self.__config_value_changed_cb) - -+ self.__run_input_mode_icon() -+ - def __get_ibus_version(self): - if self.__ibus_version == 0.0: - self.__ibus_version = \ -@@ -259,6 +263,73 @@ class Engine(IBus.EngineSimple): - signal.signal(signum, signal.SIG_DFL) - os.kill(os.getpid(), signum) - -+ def __is_gnome_shell_running(self): -+ connection = None -+ variant = None -+ -+ try: -+ connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) -+ variant = connection.call_sync('org.gnome.Shell', -+ '/org/gnome/Shell', -+ 'org.freedesktop.DBus.Peer', -+ 'Ping', -+ None, -+ None, -+ Gio.DBusCallFlags.NONE, -+ -1, -+ None) -+ except GLib.GError as e: -+ pass -+ -+ if connection != None: -+ try: -+ connection.flush_sync(None) -+ except GLib.GError as e: -+ printerr('GDBusConnection flush failed: ' + str(e)) -+ -+ if variant == None: -+ return False -+ return True -+ -+ def __run_input_mode_icon(self): -+ self.__input_mode_icon = None -+ -+ if self.__is_gnome_shell_running(): -+ return -+ try: -+ from gi.repository import Gdk -+ if Gdk.Display.get_default() == None: -+ return -+ except Exception as e: -+ printerr('import Gdk failed: ' + str(e)) -+ return -+ -+ if not self.__prefs.get_value('common', 'show-input-mode-icon'): -+ return -+ -+ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) -+ spec = self.__prefs.get_value('common', 'icon-str-rgba') -+ if not rgba.parse(spec): -+ printerr('invalid icon-str-rgba: %s' % spec) -+ rgba = Gdk.RGBA(red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0) -+ -+ modes = { -+ INPUT_MODE_HIRAGANA : 'あ', -+ INPUT_MODE_KATAKANA : 'ア', -+ INPUT_MODE_HALF_WIDTH_KATAKANA : '_ア', -+ INPUT_MODE_LATIN : '_A', -+ INPUT_MODE_WIDE_LATIN : 'A', -+ } -+ -+ try: -+ import propertyicon -+ self.__input_mode_icon = propertyicon.PropertyIcon(rgba) -+ self.__input_mode_icon.set_visible(True) -+ self.__input_mode_icon.set_from_symbol(modes[self.__input_mode]) -+ except Exception as e: -+ printerr('import PropertyIcon failed: ' + str(e)) -+ return -+ - def __set_input_mode_props(self, anthy_props): - # The class method is kept even if the engine is switched. - if Engine.__input_mode == None: -@@ -842,6 +913,9 @@ class Engine(IBus.EngineSimple): - prop.set_label(IBus.Text.new_from_string(label)) - self.update_property(prop) - -+ if self.__input_mode_icon != None: -+ self.__input_mode_icon.set_from_symbol(symbol) -+ - self.__reset() - self.__invalidate() - -@@ -1025,6 +1099,7 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -+ self.__input_mode_icon = None - - def __join_all_segments(self): - while True: -@@ -1104,7 +1179,7 @@ class Engine(IBus.EngineSimple): - - # fill lookup_table - self.__lookup_table.clear() -- for i in range(0, seg_stat.nr_predictions): -+ for i in range(0, nr_predictions): - buf = self.__context.get_prediction(i) - candidate = buf - self.__lookup_table.append_candidate(IBus.Text.new_from_string(candidate)) -@@ -1215,6 +1290,12 @@ class Engine(IBus.EngineSimple): - def __update_anthy_convert_chars(self): - self.__convert_chars = '' - pos = 0 -+ -+ (seg_index, text) = self.__segments[self.__cursor_pos] -+ # prediction lookup window + BackSpace will return None -+ if text == None: -+ return -+ - for i, (seg_index, text) in enumerate(self.__segments): - self.__convert_chars += text - if i < self.__cursor_pos: -@@ -2104,6 +2185,13 @@ class Engine(IBus.EngineSimple): - self.__fetch_dict_values(base_sec) - self.__prefs.set_value(base_sec, name, value) - self.__set_dict_mode_props(self.__prop_list, True) -+ elif base_sec == 'common': -+ if name == 'show_input_mode_icon': -+ name = 'show-input-mode-icon' -+ self.__prefs.set_value(base_sec, name, value) -+ self.__run_input_mode_icon() -+ else: -+ self.__prefs.set_value(base_sec, name, value) - elif base_sec: - self.__prefs.set_value(base_sec, name, value) - else: -@@ -2312,7 +2400,7 @@ class Engine(IBus.EngineSimple): - nr_predictions = self.__context.get_nr_predictions() - - # for i in range(nr_predictions): --# print self.__context.get_prediction(i) -+# print(self.__context.get_prediction(i)) - - buf = self.__context.get_prediction(0) - if not buf: -diff --git a/engine/python3/propertyicon.py b/engine/python3/propertyicon.py -new file mode 100644 -index 0000000..fa5f34f ---- /dev/null -+++ b/engine/python3/propertyicon.py -@@ -0,0 +1,81 @@ -+# vim:set et sts=4 sw=4: -+# -*- coding: utf-8 -*- -+# -+# ibus-anthy - The Anthy engine for IBus -+# -+# Copyright (c) 2014 Takao Fujiwara -+# Copyright (c) 2014 Red Hat, Inc. -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License along -+# with this program; if not, write to the Free Software Foundation, Inc., -+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ -+# for python2 -+from __future__ import print_function -+ -+import cairo -+import sys -+ -+from gi.repository import Gdk -+from gi.repository import Gio -+from gi.repository import GLib -+from gi.repository import Gtk -+from gi.repository import Pango -+from gi.repository import PangoCairo -+ -+class PropertyIcon(Gtk.StatusIcon): -+ __xkb_icon_pixbufs = {} -+ __xkb_icon_rgba = None -+ -+ def __init__(self, rgba): -+ super(Gtk.StatusIcon, self).__init__() -+ self.__xkb_icon_rgba = rgba -+ -+ def __context_render_string(self, cr, symbol, image_width, image_height): -+ lwidth = 0 -+ lheight = 0 -+ desc = Pango.FontDescription.from_string('Monospace Bold 22') -+ layout = PangoCairo.create_layout(cr) -+ -+ layout.set_font_description(desc) -+ layout.set_text(symbol, -1) -+ (lwidth, lheight) = layout.get_size() -+ cr.move_to((image_width - lwidth / Pango.SCALE) / 2, -+ (image_height - lheight / Pango.SCALE) / 2) -+ cr.set_source_rgba(self.__xkb_icon_rgba.red, -+ self.__xkb_icon_rgba.green, -+ self.__xkb_icon_rgba.blue, -+ self.__xkb_icon_rgba.alpha) -+ PangoCairo.show_layout(cr, layout) -+ -+ def __create_icon_pixbuf_with_string(self, symbol): -+ if symbol in self.__xkb_icon_pixbufs: -+ return self.__xkb_icon_pixbufs[symbol] -+ -+ image = cairo.ImageSurface(cairo.FORMAT_ARGB32, 48, 48) -+ cr = cairo.Context(image) -+ width = image.get_width() -+ height = image.get_height() -+ -+ cr.set_source_rgba(0.0, 0.0, 0.0, 0.0) -+ cr.set_operator(cairo.OPERATOR_SOURCE) -+ cr.paint() -+ cr.set_operator(cairo.OPERATOR_OVER) -+ self.__context_render_string(cr, symbol, width, height) -+ pixbuf = Gdk.pixbuf_get_from_surface(image, 0, 0, width, height) -+ self.__xkb_icon_pixbufs[symbol] = pixbuf -+ return pixbuf -+ -+ def set_from_symbol(self, symbol): -+ pixbuf = self.__create_icon_pixbuf_with_string(symbol) -+ self.set_from_pixbuf(pixbuf) -diff --git a/setup/python2/anthyprefs.py.in b/setup/python2/anthyprefs.py.in -index c29926a..82e9fcf 100644 ---- a/setup/python2/anthyprefs.py.in -+++ b/setup/python2/anthyprefs.py.in -@@ -5,8 +5,8 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -362,6 +362,8 @@ _config = { - 'show-dict-mode': True, - 'show-dict-config': False, - 'show-preferences': True, -+ 'show-input-mode-icon': True, -+ 'icon-str-rgba': '#41507a', - - 'period_style': 0, - 'symbol_style': 1, -diff --git a/setup/python2/main.py b/setup/python2/main.py -index cc3af4c..69ad703 100644 ---- a/setup/python2/main.py -+++ b/setup/python2/main.py -@@ -159,7 +159,8 @@ class AnthySetup(object): - 'half_width_symbol', 'half_width_number', 'half_width_space', - 'latin_with_shift', - 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', -- 'thumb:fmv_extension', 'thumb:handakuten']: -+ 'thumb:fmv_extension', 'thumb:handakuten', -+ 'show_input_mode_icon']: - section, key = self.__get_section_key(name) - builder.get_object(name).set_active(prefs.get_value(section, key)) - -@@ -337,6 +338,9 @@ class AnthySetup(object): - else: - section = 'common' - key = name -+ if section == 'common': -+ if name == 'show_input_mode_icon': -+ key = 'show-input-mode-icon' - return (section, key) - - def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): -diff --git a/setup/python2/prefs.py b/setup/python2/prefs.py -index 1b88908..9a147ee 100644 ---- a/setup/python2/prefs.py -+++ b/setup/python2/prefs.py -@@ -4,8 +4,8 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2013 Takao Fujiwara --# Copyright (c) 2007-2013 Red Hat, Inc. -+# Copyright (c) 2010-2014 Takao Fujiwara -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -145,15 +145,27 @@ class Prefs(object): - variant = self._config.get_values(s) - for key in variant.keys(): - v = variant[key] -+ # FIXME: ibus-dconf converts the keys. -+ #if key.find('_') >= 0: -+ # key = key.replace('_', '-') -+ if section == 'common': -+ if key == 'show_input_mode': -+ key = 'show-input-mode' -+ elif key == 'show_typing_method': -+ key = 'show-typing-method' -+ elif key == 'show_segment_mode': -+ key = 'show-segment-mode' -+ elif key == 'show_dict_mode': -+ key = 'show-dict-mode' -+ elif key == 'show_dict_config': -+ key = 'show-dict-config' -+ elif key == 'show_preferences': -+ key = 'show-preferences' -+ elif key == 'show_input_mode_icon': -+ key = 'show-input-mode-icon' -+ elif key == 'icon_str_rgba': -+ key = 'icon-str-rgba' - self.modified.setdefault(section, {})[key] = v if v != [''] else [] -- # FIXME: ibus-dconf converts the keys. -- if section == 'common': -- self.fetch_item(section, 'show-input-mode') -- self.fetch_item(section, 'show-typing-method') -- self.fetch_item(section, 'show-segment-mode') -- self.fetch_item(section, 'show-dict-mode') -- self.fetch_item(section, 'show-dict-config') -- self.fetch_item(section, 'show-preferences') - - def fetch_item(self, section, key, readonly=False): - if self._config == None: -diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui -index b6d8ef2..54916ec 100644 ---- a/setup/python2/setup.ui -+++ b/setup/python2/setup.ui -@@ -346,6 +346,23 @@ - -
- -+ -+ _Show input mode icon -+ True -+ True -+ False -+ True -+ True -+ -+ -+ -+ -+ False -+ False -+ 1 -+ -+ -+ - - True - 0 -@@ -396,7 +413,7 @@ - - False - False -- 1 -+ 2 - - - -diff --git a/setup/python3/anthyprefs.py.in b/setup/python3/anthyprefs.py.in -index 3198a8c..441c4a2 100644 ---- a/setup/python3/anthyprefs.py.in -+++ b/setup/python3/anthyprefs.py.in -@@ -355,6 +355,8 @@ _config = { - 'show-dict-mode': True, - 'show-dict-config': False, - 'show-preferences': True, -+ 'show-input-mode-icon': True, -+ 'icon-str-rgba': '#41507a', - - 'period_style': 0, - 'symbol_style': 1, -diff --git a/setup/python3/main.py b/setup/python3/main.py -index d33b90b..a2fa761 100644 ---- a/setup/python3/main.py -+++ b/setup/python3/main.py -@@ -162,7 +162,8 @@ class AnthySetup(object): - 'half_width_symbol', 'half_width_number', 'half_width_space', - 'latin_with_shift', - 'thumb:keyboard_layout_mode', 'thumb:keyboard_layout', -- 'thumb:fmv_extension', 'thumb:handakuten']: -+ 'thumb:fmv_extension', 'thumb:handakuten', -+ 'show_input_mode_icon']: - section, key = self.__get_section_key(name) - builder.get_object(name).set_active(prefs.get_value(section, key)) - -@@ -340,6 +341,9 @@ class AnthySetup(object): - else: - section = 'common' - key = name -+ if section == 'common': -+ if name == 'show_input_mode_icon': -+ key = 'show-input-mode-icon' - return (section, key) - - def __run_message_dialog(self, message, type=Gtk.MessageType.INFO): -diff --git a/setup/python3/prefs.py b/setup/python3/prefs.py -index a4af88d..2b3f4ea 100644 ---- a/setup/python3/prefs.py -+++ b/setup/python3/prefs.py -@@ -145,15 +145,27 @@ class Prefs(object): - variant = self._config.get_values(s) - for key in list(variant.keys()): - v = variant[key] -+ # FIXME: ibus-dconf converts the keys. -+ #if key.find('_') >= 0: -+ # key = key.replace('_', '-') -+ if section == 'common': -+ if key == 'show_input_mode': -+ key = 'show-input-mode' -+ elif key == 'show_typing_method': -+ key = 'show-typing-method' -+ elif key == 'show_segment_mode': -+ key = 'show-segment-mode' -+ elif key == 'show_dict_mode': -+ key = 'show-dict-mode' -+ elif key == 'show_dict_config': -+ key = 'show-dict-config' -+ elif key == 'show_preferences': -+ key = 'show-preferences' -+ elif key == 'show_input_mode_icon': -+ key = 'show-input-mode-icon' -+ elif key == 'icon_str_rgba': -+ key = 'icon-str-rgba' - self.modified.setdefault(section, {})[key] = v if v != [''] else [] -- # FIXME: ibus-dconf converts the keys. -- if section == 'common': -- self.fetch_item(section, 'show-input-mode') -- self.fetch_item(section, 'show-typing-method') -- self.fetch_item(section, 'show-segment-mode') -- self.fetch_item(section, 'show-dict-mode') -- self.fetch_item(section, 'show-dict-config') -- self.fetch_item(section, 'show-preferences') - - def fetch_item(self, section, key, readonly=False): - if self._config == None: -diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui -index b6d8ef2..54916ec 100644 ---- a/setup/python3/setup.ui -+++ b/setup/python3/setup.ui -@@ -346,6 +346,23 @@ - - - -+ -+ _Show input mode icon -+ True -+ True -+ False -+ True -+ True -+ -+ -+ -+ -+ False -+ False -+ 1 -+ -+ -+ - - True - 0 -@@ -396,7 +413,7 @@ - - False - False -- 1 -+ 2 - - - --- -1.8.5.3 - -From 0205371bf3c2fa3aeb0192f7aabc584aade7d158 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 21 Aug 2014 19:31:27 +0900 -Subject: [PATCH 2/4] Updated translations. - ---- - po/el.po | 433 ++++++++++++++++++++++++++++++------------------------------ - po/fr.po | 433 ++++++++++++++++++++++++++++++------------------------------ - po/ja.po | 430 +++++++++++++++++++++++++++++------------------------------ - po/zh_CN.po | 433 ++++++++++++++++++++++++++++++------------------------------ - 4 files changed, 874 insertions(+), 855 deletions(-) - -diff --git a/po/el.po b/po/el.po -index 030a86f..ec26051 100644 ---- a/po/el.po -+++ b/po/el.po -@@ -10,17 +10,17 @@ msgid "" - msgstr "" - "Project-Id-Version: IBus-Anthy\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" --"POT-Creation-Date: 2014-08-21 18:57+0900\n" -+"POT-Creation-Date: 2014-08-21 19:30+0900\n" - "PO-Revision-Date: 2014-02-18 08:42+0000\n" - "Last-Translator: dm3k \n" - "Language-Team: Greek\n" -+"Language: el\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"Language: el\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" - --#: ../engine/python2/engine.py:193 ../engine/python3/engine.py:194 -+#: ../engine/python2/engine.py:197 ../engine/python3/engine.py:198 - msgid "" - "Could not enable Anthy.\n" - "The end of the content of the file .anthy/last-record2_default.utf8 in your " -@@ -28,188 +28,188 @@ msgid "" - "Please fix the file or remove it by manual and restart IBus." - msgstr "" - --#: ../engine/python2/engine.py:241 ../engine/python3/engine.py:242 --#: ../setup/python2/main.py:408 ../setup/python3/main.py:413 -+#: ../engine/python2/engine.py:245 ../engine/python3/engine.py:246 -+#: ../setup/python2/main.py:412 ../setup/python3/main.py:417 - msgid "Preferences - Anthy" - msgstr "Προτιμήσεις - Anthy " - --#: ../engine/python2/engine.py:243 ../engine/python3/engine.py:244 -+#: ../engine/python2/engine.py:247 ../engine/python3/engine.py:248 - msgid "Configure Anthy" - msgstr "Ρυθμίσεις Anthy" - - #. Translators: Specify the order of %s with your translation. - #. It will be "Input Mode (A)" for example. --#: ../engine/python2/engine.py:280 ../engine/python2/engine.py:368 --#: ../engine/python2/engine.py:435 ../engine/python2/engine.py:511 --#: ../engine/python2/engine.py:842 ../engine/python2/engine.py:870 --#: ../engine/python2/engine.py:894 ../engine/python2/engine.py:920 --#: ../engine/python2/engine.py:982 ../engine/python3/engine.py:281 --#: ../engine/python3/engine.py:369 ../engine/python3/engine.py:436 --#: ../engine/python3/engine.py:512 ../engine/python3/engine.py:837 --#: ../engine/python3/engine.py:865 ../engine/python3/engine.py:889 --#: ../engine/python3/engine.py:915 ../engine/python3/engine.py:977 -+#: ../engine/python2/engine.py:351 ../engine/python2/engine.py:439 -+#: ../engine/python2/engine.py:506 ../engine/python2/engine.py:582 -+#: ../engine/python2/engine.py:913 ../engine/python2/engine.py:944 -+#: ../engine/python2/engine.py:968 ../engine/python2/engine.py:994 -+#: ../engine/python2/engine.py:1056 ../engine/python3/engine.py:352 -+#: ../engine/python3/engine.py:440 ../engine/python3/engine.py:507 -+#: ../engine/python3/engine.py:583 ../engine/python3/engine.py:908 -+#: ../engine/python3/engine.py:939 ../engine/python3/engine.py:963 -+#: ../engine/python3/engine.py:989 ../engine/python3/engine.py:1051 - #, python-format - msgid "%(description)s (%(symbol)s)" - msgstr "" - --#: ../engine/python2/engine.py:281 ../engine/python2/engine.py:843 --#: ../engine/python3/engine.py:282 ../engine/python3/engine.py:838 --#: ../setup/python2/main.py:393 ../setup/python3/main.py:398 -+#: ../engine/python2/engine.py:352 ../engine/python2/engine.py:914 -+#: ../engine/python3/engine.py:353 ../engine/python3/engine.py:909 -+#: ../setup/python2/main.py:397 ../setup/python3/main.py:402 - msgid "Input mode" - msgstr "" - --#: ../engine/python2/engine.py:287 ../engine/python3/engine.py:288 -+#: ../engine/python2/engine.py:358 ../engine/python3/engine.py:359 - msgid "Switch input mode" - msgstr "Αλλαγή μεθόδου εισαγωγής" - --#: ../engine/python2/engine.py:297 ../engine/python3/engine.py:298 -+#: ../engine/python2/engine.py:368 ../engine/python3/engine.py:369 - #: ../setup/python2/setup.ui.h:1 ../setup/python3/setup.ui.h:1 - msgid "Hiragana" - msgstr "Χιραγκάνα" - --#: ../engine/python2/engine.py:306 ../engine/python3/engine.py:307 -+#: ../engine/python2/engine.py:377 ../engine/python3/engine.py:378 - #: ../setup/python2/setup.ui.h:2 ../setup/python3/setup.ui.h:2 - msgid "Katakana" - msgstr "Κατακάνα" - --#: ../engine/python2/engine.py:315 ../engine/python3/engine.py:316 -+#: ../engine/python2/engine.py:386 ../engine/python3/engine.py:387 - #: ../setup/python2/setup.ui.h:3 ../setup/python3/setup.ui.h:3 - msgid "Halfwidth Katakana" - msgstr "" - --#: ../engine/python2/engine.py:324 ../engine/python3/engine.py:325 -+#: ../engine/python2/engine.py:395 ../engine/python3/engine.py:396 - #: ../setup/python2/setup.ui.h:4 ../setup/python3/setup.ui.h:4 - msgid "Latin" - msgstr "Λατινικοί χαρακτήρες" - --#: ../engine/python2/engine.py:333 ../engine/python3/engine.py:334 -+#: ../engine/python2/engine.py:404 ../engine/python3/engine.py:405 - #: ../setup/python2/setup.ui.h:5 ../setup/python3/setup.ui.h:5 - msgid "Wide Latin" - msgstr "Λατινικοί πλήρους πλάτους" - --#: ../engine/python2/engine.py:369 ../engine/python2/engine.py:871 --#: ../engine/python2/engine.py:895 ../engine/python3/engine.py:370 --#: ../engine/python3/engine.py:866 ../engine/python3/engine.py:890 --#: ../setup/python2/main.py:396 ../setup/python3/main.py:401 -+#: ../engine/python2/engine.py:440 ../engine/python2/engine.py:945 -+#: ../engine/python2/engine.py:969 ../engine/python3/engine.py:441 -+#: ../engine/python3/engine.py:940 ../engine/python3/engine.py:964 -+#: ../setup/python2/main.py:400 ../setup/python3/main.py:405 - msgid "Typing method" - msgstr "" - --#: ../engine/python2/engine.py:375 ../engine/python3/engine.py:376 -+#: ../engine/python2/engine.py:446 ../engine/python3/engine.py:447 - msgid "Switch typing method" - msgstr "" - --#: ../engine/python2/engine.py:385 ../engine/python3/engine.py:386 -+#: ../engine/python2/engine.py:456 ../engine/python3/engine.py:457 - #: ../setup/python2/setup.ui.h:12 ../setup/python3/setup.ui.h:12 - msgid "Romaji" - msgstr "Ρομάτζι" - --#: ../engine/python2/engine.py:394 ../engine/python3/engine.py:395 -+#: ../engine/python2/engine.py:465 ../engine/python3/engine.py:466 - #: ../setup/python2/setup.ui.h:13 ../setup/python3/setup.ui.h:13 - msgid "Kana" - msgstr "Κάνα" - --#: ../engine/python2/engine.py:403 ../engine/python3/engine.py:404 -+#: ../engine/python2/engine.py:474 ../engine/python3/engine.py:475 - #: ../setup/python2/setup.ui.h:14 ../setup/python3/setup.ui.h:14 - msgid "Thumb shift" - msgstr "Μέθοδος thumb shift" - --#: ../engine/python2/engine.py:436 ../engine/python2/engine.py:921 --#: ../engine/python3/engine.py:437 ../engine/python3/engine.py:916 --#: ../setup/python2/main.py:399 ../setup/python3/main.py:404 -+#: ../engine/python2/engine.py:507 ../engine/python2/engine.py:995 -+#: ../engine/python3/engine.py:508 ../engine/python3/engine.py:990 -+#: ../setup/python2/main.py:403 ../setup/python3/main.py:408 - msgid "Segment mode" - msgstr "" - --#: ../engine/python2/engine.py:442 ../engine/python3/engine.py:443 -+#: ../engine/python2/engine.py:513 ../engine/python3/engine.py:514 - msgid "Switch conversion mode" - msgstr "Αλλαγή μεθόδου μετατροπής" - --#: ../engine/python2/engine.py:452 ../engine/python3/engine.py:453 -+#: ../engine/python2/engine.py:523 ../engine/python3/engine.py:524 - #: ../setup/python2/setup.ui.h:15 ../setup/python3/setup.ui.h:15 - msgid "Multiple segment" - msgstr "Πολλαπλά τμήματα" - --#: ../engine/python2/engine.py:461 ../engine/python3/engine.py:462 -+#: ../engine/python2/engine.py:532 ../engine/python3/engine.py:533 - #: ../setup/python2/setup.ui.h:16 ../setup/python3/setup.ui.h:16 - msgid "Single segment" - msgstr "Μοναδικό τμήμα" - --#: ../engine/python2/engine.py:470 ../engine/python3/engine.py:471 -+#: ../engine/python2/engine.py:541 ../engine/python3/engine.py:542 - #: ../setup/python2/setup.ui.h:17 ../setup/python3/setup.ui.h:17 - msgid "Immediate conversion (multiple segment)" - msgstr "" - --#: ../engine/python2/engine.py:479 ../engine/python3/engine.py:480 -+#: ../engine/python2/engine.py:550 ../engine/python3/engine.py:551 - #: ../setup/python2/setup.ui.h:18 ../setup/python3/setup.ui.h:18 - msgid "Immediate conversion (single segment)" - msgstr "" - --#: ../engine/python2/engine.py:512 ../engine/python2/engine.py:983 --#: ../engine/python3/engine.py:513 ../engine/python3/engine.py:978 --#: ../setup/python2/main.py:402 ../setup/python3/main.py:407 -+#: ../engine/python2/engine.py:583 ../engine/python2/engine.py:1057 -+#: ../engine/python3/engine.py:584 ../engine/python3/engine.py:1052 -+#: ../setup/python2/main.py:406 ../setup/python3/main.py:411 - msgid "Dictionary mode" - msgstr "" - --#: ../engine/python2/engine.py:518 ../engine/python3/engine.py:519 -+#: ../engine/python2/engine.py:589 ../engine/python3/engine.py:590 - msgid "Switch dictionary" - msgstr "" - --#: ../engine/python2/engine.py:601 ../engine/python3/engine.py:601 --#: ../setup/python2/main.py:405 ../setup/python3/main.py:410 -+#: ../engine/python2/engine.py:672 ../engine/python3/engine.py:672 -+#: ../setup/python2/main.py:409 ../setup/python3/main.py:414 - msgid "Dictionary - Anthy" - msgstr "Λεξικό - Anthy" - - #. Translators: "Dic" means 'dictionary', One kanji may be good. --#: ../engine/python2/engine.py:607 ../engine/python3/engine.py:606 -+#: ../engine/python2/engine.py:678 ../engine/python3/engine.py:677 - msgid "Dic" - msgstr "Λξκ" - --#: ../engine/python2/engine.py:614 ../engine/python3/engine.py:613 -+#: ../engine/python2/engine.py:685 ../engine/python3/engine.py:684 - msgid "Configure dictionaries" - msgstr "Ρυθμίσεις λεξικών" - --#: ../engine/python2/engine.py:624 ../engine/python3/engine.py:623 -+#: ../engine/python2/engine.py:695 ../engine/python3/engine.py:694 - msgid "Edit dictionaries" - msgstr "Επεξεργασία λεξικών" - --#: ../engine/python2/engine.py:626 ../engine/python3/engine.py:625 -+#: ../engine/python2/engine.py:697 ../engine/python3/engine.py:696 - msgid "Launch the dictionary tool" - msgstr "Εκκίνηση εργαλείου λεξικού" - --#: ../engine/python2/engine.py:633 ../engine/python3/engine.py:632 -+#: ../engine/python2/engine.py:704 ../engine/python3/engine.py:703 - msgid "Add words" - msgstr "Προσθήκη λέξεων" - --#: ../engine/python2/engine.py:635 ../engine/python3/engine.py:634 -+#: ../engine/python2/engine.py:706 ../engine/python3/engine.py:705 - msgid "Add words to the dictionary" - msgstr "" - --#: ../setup/python2/anthyprefs.py.in:1104 ../setup/python2/setup.ui.h:35 --#: ../setup/python3/anthyprefs.py.in:1097 ../setup/python3/setup.ui.h:35 -+#: ../setup/python2/anthyprefs.py.in:1106 ../setup/python2/setup.ui.h:36 -+#: ../setup/python3/anthyprefs.py.in:1099 ../setup/python3/setup.ui.h:36 - msgid "General" - msgstr "Γενικό" - --#: ../setup/python2/anthyprefs.py.in:1115 --#: ../setup/python3/anthyprefs.py.in:1108 -+#: ../setup/python2/anthyprefs.py.in:1117 -+#: ../setup/python3/anthyprefs.py.in:1110 - msgid "Zip Code Conversion" - msgstr "Μετατροπή ταχυδρομικών κωδικών" - --#: ../setup/python2/anthyprefs.py.in:1126 --#: ../setup/python3/anthyprefs.py.in:1119 -+#: ../setup/python2/anthyprefs.py.in:1128 -+#: ../setup/python3/anthyprefs.py.in:1121 - msgid "Symbol" - msgstr "Σύμβολα" - --#: ../setup/python2/anthyprefs.py.in:1137 --#: ../setup/python3/anthyprefs.py.in:1130 -+#: ../setup/python2/anthyprefs.py.in:1139 -+#: ../setup/python3/anthyprefs.py.in:1132 - msgid "Old Character Style" - msgstr "Παλιές μορφές χαρακτήρων" - --#: ../setup/python2/anthyprefs.py.in:1147 --#: ../setup/python3/anthyprefs.py.in:1140 -+#: ../setup/python2/anthyprefs.py.in:1149 -+#: ../setup/python3/anthyprefs.py.in:1142 - msgid "Era" - msgstr "" - --#: ../setup/python2/anthyprefs.py.in:1157 --#: ../setup/python3/anthyprefs.py.in:1150 -+#: ../setup/python2/anthyprefs.py.in:1159 -+#: ../setup/python3/anthyprefs.py.in:1152 - msgid "Emoji" - msgstr "" - -@@ -228,276 +228,276 @@ msgstr "" - msgid "ibus is not running." - msgstr "" - --#: ../setup/python2/main.py:180 ../setup/python3/main.py:183 -+#: ../setup/python2/main.py:181 ../setup/python3/main.py:184 - msgid "Menu label" - msgstr "" - --#: ../setup/python2/main.py:199 ../setup/python3/main.py:202 -+#: ../setup/python2/main.py:200 ../setup/python3/main.py:203 - msgid "Command" - msgstr "Εντολή" - --#: ../setup/python2/main.py:203 ../setup/python3/main.py:206 -+#: ../setup/python2/main.py:204 ../setup/python3/main.py:207 - msgid "Shortcut" - msgstr "Συντόμευση" - --#: ../setup/python2/main.py:248 ../setup/python3/main.py:251 -+#: ../setup/python2/main.py:249 ../setup/python3/main.py:252 - msgid "Description" - msgstr "Περιγραφή " - - #. Translators: "Embd" is an abbreviation of "embedded". --#: ../setup/python2/main.py:256 ../setup/python3/main.py:259 -+#: ../setup/python2/main.py:257 ../setup/python3/main.py:260 - msgid "Embd" - msgstr "Ενσμ." - - #. Translators: "Sgl" is an abbreviation of "single". --#: ../setup/python2/main.py:264 ../setup/python3/main.py:267 -+#: ../setup/python2/main.py:265 ../setup/python3/main.py:268 - msgid "Sgl" - msgstr "Μν." - --#: ../setup/python2/main.py:439 ../setup/python2/main.py:475 --#: ../setup/python3/main.py:444 ../setup/python3/main.py:480 -+#: ../setup/python2/main.py:443 ../setup/python2/main.py:479 -+#: ../setup/python3/main.py:448 ../setup/python3/main.py:484 - msgid "Input Chars" - msgstr "Εισ. Χαρακτήρες" - --#: ../setup/python2/main.py:441 ../setup/python2/main.py:477 --#: ../setup/python3/main.py:446 ../setup/python3/main.py:482 -+#: ../setup/python2/main.py:445 ../setup/python2/main.py:481 -+#: ../setup/python3/main.py:450 ../setup/python3/main.py:486 - msgid "Output Chars" - msgstr "Εξ. Χαρακτήρες" - --#: ../setup/python2/main.py:523 ../setup/python3/main.py:528 -+#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 - msgid "Input" - msgstr "Εισαγωγή" - --#: ../setup/python2/main.py:525 ../setup/python3/main.py:530 -+#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 - msgid "Single" - msgstr "Μονό" - --#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 -+#: ../setup/python2/main.py:531 ../setup/python3/main.py:536 - msgid "Left" - msgstr "Αριστερά" - --#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 -+#: ../setup/python2/main.py:533 ../setup/python3/main.py:538 - msgid "Right" - msgstr "Δεξιά" - --#: ../setup/python2/main.py:611 ../setup/python3/main.py:616 -+#: ../setup/python2/main.py:615 ../setup/python3/main.py:620 - msgid "Customize Romaji Key Table" - msgstr "Προσαρμογή πληκτρολογίου Ρομάτζι" - --#: ../setup/python2/main.py:612 ../setup/python2/setup.ui.h:53 --#: ../setup/python3/main.py:617 ../setup/python3/setup.ui.h:53 -+#: ../setup/python2/main.py:616 ../setup/python2/setup.ui.h:54 -+#: ../setup/python3/main.py:621 ../setup/python3/setup.ui.h:54 - msgid "_Romaji Key Table:" - msgstr "Πίνακας πλήκτρων _Ρομάτζι" - --#: ../setup/python2/main.py:613 ../setup/python2/main.py:619 --#: ../setup/python3/main.py:618 ../setup/python3/main.py:624 -+#: ../setup/python2/main.py:617 ../setup/python2/main.py:623 -+#: ../setup/python3/main.py:622 ../setup/python3/main.py:628 - msgid "_Output Chars" - msgstr "Αποτέλεσμα _εξόδου" - --#: ../setup/python2/main.py:614 ../setup/python2/main.py:1114 --#: ../setup/python2/main.py:1196 ../setup/python2/setup.ui.h:26 --#: ../setup/python3/main.py:619 ../setup/python3/main.py:1108 --#: ../setup/python3/main.py:1190 ../setup/python3/setup.ui.h:26 -+#: ../setup/python2/main.py:618 ../setup/python2/main.py:1118 -+#: ../setup/python2/main.py:1200 ../setup/python2/setup.ui.h:26 -+#: ../setup/python3/main.py:623 ../setup/python3/main.py:1112 -+#: ../setup/python3/main.py:1194 ../setup/python3/setup.ui.h:26 - msgid "Default" - msgstr "Προεπιλογή" - --#: ../setup/python2/main.py:617 ../setup/python3/main.py:622 -+#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 - msgid "Customize Kana Key Table" - msgstr "Προσαρμογή πληκτρολογίου Κάνα" - --#: ../setup/python2/main.py:618 ../setup/python2/setup.ui.h:55 --#: ../setup/python3/main.py:623 ../setup/python3/setup.ui.h:55 -+#: ../setup/python2/main.py:622 ../setup/python2/setup.ui.h:56 -+#: ../setup/python3/main.py:627 ../setup/python3/setup.ui.h:56 - msgid "_Kana Key Table:" - msgstr "Πίνακας πλήκτρων _Κάνα" - --#: ../setup/python2/main.py:620 ../setup/python3/main.py:625 -+#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 - msgid "Japanese Keyboard Layout" - msgstr "" - --#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 -+#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 - msgid "U.S. Keyboard Layout" - msgstr "" - --#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 -+#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 - msgid "Customize Thumb Shift Key Table" - msgstr "Προσαρμογή πληκτρολογίου Thumb Shift" - --#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 -+#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 - msgid "_Thumb Shift Key Table:" - msgstr "Πίνακας πλήκτρων _Thumb Shift" - --#: ../setup/python2/main.py:626 ../setup/python3/main.py:631 -+#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 - msgid "Single _Output Chars" - msgstr "Μονοί χαρακτήρες _Εξόδου" - --#: ../setup/python2/main.py:627 ../setup/python3/main.py:632 -+#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 - msgid "Base" - msgstr "Βάση" - --#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 -+#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 - msgid "NICOLA-J key extension" - msgstr "Επεκτάσεις πλήκτρων NICOLA-J" - --#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 -+#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 - msgid "NICOLA-A key extension" - msgstr "Επεκτάσεις πλήκτρων NICOLA-A" - --#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 -+#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 - msgid "NICOLA-F key extension" - msgstr "Επεκτάσεις πλήκτρων NICOLA-F" - --#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 -+#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 - msgid "FMV KB231-J key extension" - msgstr "Επεκτάσεις πλήκτρων FMV KB231-J" - --#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 -+#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 - msgid "FMV KB231-A key extension" - msgstr "Επεκτάσεις πλήκτρων FMV KB231-A" - --#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 -+#: ../setup/python2/main.py:637 ../setup/python3/main.py:642 - msgid "FMV KB231-F key extension" - msgstr "Επεκτάσεις πλήκτρων FMV KB231-F" - --#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 -+#: ../setup/python2/main.py:638 ../setup/python3/main.py:643 - msgid "FMV KB611-J key extension" - msgstr "" - --#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 -+#: ../setup/python2/main.py:639 ../setup/python3/main.py:644 - msgid "FMV KB611-A key extension" - msgstr "" - --#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 -+#: ../setup/python2/main.py:640 ../setup/python3/main.py:645 - msgid "FMV KB611-F key extension" - msgstr "" - --#: ../setup/python2/main.py:780 ../setup/python3/main.py:785 -+#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 - msgid "Your choosed file has already been added: " - msgstr "" - --#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 -+#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 - msgid "The file you have chosen does not exist: " - msgstr "" - --#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 -+#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 - msgid "Your choosed file is a directory: " - msgstr "" - --#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 -+#: ../setup/python2/main.py:796 ../setup/python3/main.py:801 - msgid "You cannot add dictionaries in the anthy private directory: " - msgstr "" - --#: ../setup/python2/main.py:799 ../setup/python3/main.py:804 -+#: ../setup/python2/main.py:803 ../setup/python3/main.py:808 - msgid "Your file path is not good: " - msgstr "" - --#: ../setup/python2/main.py:978 ../setup/python3/main.py:981 -+#: ../setup/python2/main.py:982 ../setup/python3/main.py:985 - msgid "The engine xml file does not exist: " - msgstr "" - --#: ../setup/python2/main.py:1094 ../setup/python3/main.py:1088 -+#: ../setup/python2/main.py:1098 ../setup/python3/main.py:1092 - msgid "" - "Anthy keyboard layout is changed. Please restart ibus to reload the layout." - msgstr "" - --#: ../setup/python2/main.py:1157 ../setup/python3/main.py:1151 -+#: ../setup/python2/main.py:1161 ../setup/python3/main.py:1155 - msgid "Confirmation" - msgstr "" - --#: ../setup/python2/main.py:1159 ../setup/python3/main.py:1153 -+#: ../setup/python2/main.py:1163 ../setup/python3/main.py:1157 - msgid "You are about to close the setup dialog, is that OK?" - msgstr "" - --#: ../setup/python2/main.py:1174 ../setup/python3/main.py:1168 -+#: ../setup/python2/main.py:1178 ../setup/python3/main.py:1172 - msgid "Notice!" - msgstr "" - --#: ../setup/python2/main.py:1176 ../setup/python3/main.py:1170 -+#: ../setup/python2/main.py:1180 ../setup/python3/main.py:1174 - msgid "" - "You are about to close the setup dialog without saving your changes, is that " - "OK?" - msgstr "" - --#: ../setup/python2/main.py:1297 ../setup/python3/main.py:1291 -+#: ../setup/python2/main.py:1301 ../setup/python3/main.py:1295 - msgid "Please specify Input Chars" - msgstr "" - --#: ../setup/python2/main.py:1300 ../setup/python3/main.py:1294 -+#: ../setup/python2/main.py:1304 ../setup/python3/main.py:1298 - msgid "Please specify Output Chars" - msgstr "" - --#: ../setup/python2/main.py:1303 ../setup/python3/main.py:1297 -+#: ../setup/python2/main.py:1307 ../setup/python3/main.py:1301 - msgid "Please specify Left Thumb Shift Chars" - msgstr "" - --#: ../setup/python2/main.py:1306 ../setup/python3/main.py:1300 -+#: ../setup/python2/main.py:1310 ../setup/python3/main.py:1304 - msgid "Please specify Right Thumb Shift Chars" - msgstr "" - --#: ../setup/python2/main.py:1319 ../setup/python2/main.py:1363 --#: ../setup/python3/main.py:1313 ../setup/python3/main.py:1357 -+#: ../setup/python2/main.py:1323 ../setup/python2/main.py:1367 -+#: ../setup/python3/main.py:1317 ../setup/python3/main.py:1361 - msgid "Your custom key is not assigned in any sections. Maybe a bug." - msgstr "" - --#: ../setup/python2/main.py:1429 ../setup/python2/main.py:1516 --#: ../setup/python3/main.py:1423 ../setup/python3/main.py:1510 -+#: ../setup/python2/main.py:1433 ../setup/python2/main.py:1520 -+#: ../setup/python3/main.py:1427 ../setup/python3/main.py:1514 - msgid "Your file does not exist: " - msgstr "" - --#: ../setup/python2/main.py:1439 ../setup/python3/main.py:1433 -+#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 - msgid "Open Dictionary File" - msgstr "" - --#: ../setup/python2/main.py:1442 ../setup/python2/main.py:1448 --#: ../setup/python2/setup.ui.h:89 ../setup/python3/main.py:1436 --#: ../setup/python3/main.py:1442 ../setup/python3/setup.ui.h:89 -+#: ../setup/python2/main.py:1446 ../setup/python2/main.py:1452 -+#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1440 -+#: ../setup/python3/main.py:1446 ../setup/python3/setup.ui.h:90 - msgid "_Cancel" - msgstr "_Ακύρωση" - --#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 -+#: ../setup/python2/main.py:1447 ../setup/python3/main.py:1441 - msgid "_Open" - msgstr "Άν_οιγμα" - --#: ../setup/python2/main.py:1446 ../setup/python3/main.py:1440 -+#: ../setup/python2/main.py:1450 ../setup/python3/main.py:1444 - msgid "Edit Dictionary File" - msgstr "" - --#: ../setup/python2/main.py:1449 ../setup/python2/main.py:1544 --#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1443 --#: ../setup/python3/main.py:1538 ../setup/python3/setup.ui.h:90 -+#: ../setup/python2/main.py:1453 ../setup/python2/main.py:1548 -+#: ../setup/python2/setup.ui.h:91 ../setup/python3/main.py:1447 -+#: ../setup/python3/main.py:1542 ../setup/python3/setup.ui.h:91 - msgid "_OK" - msgstr "_Εντάξει" - --#: ../setup/python2/main.py:1460 ../setup/python3/main.py:1454 -+#: ../setup/python2/main.py:1464 ../setup/python3/main.py:1458 - msgid "Your choosed file is not correct." - msgstr "" - --#: ../setup/python2/main.py:1489 ../setup/python3/main.py:1483 -+#: ../setup/python2/main.py:1493 ../setup/python3/main.py:1487 - msgid "You cannot delete the system dictionary." - msgstr "" - --#: ../setup/python2/main.py:1512 ../setup/python3/main.py:1506 -+#: ../setup/python2/main.py:1516 ../setup/python3/main.py:1510 - msgid "Your file is not good." - msgstr "" - --#: ../setup/python2/main.py:1542 ../setup/python3/main.py:1536 -+#: ../setup/python2/main.py:1546 ../setup/python3/main.py:1540 - msgid "View Dictionary File" - msgstr "" - --#: ../setup/python2/main.py:1694 ../setup/python3/main.py:1688 -+#: ../setup/python2/main.py:1698 ../setup/python3/main.py:1692 - msgid "Please press a key (or a key combination)" - msgstr "" - --#: ../setup/python2/main.py:1695 ../setup/python3/main.py:1689 -+#: ../setup/python2/main.py:1699 ../setup/python3/main.py:1693 - msgid "The dialog will be closed when the key is released" - msgstr "" - --#: ../setup/python2/main.py:1715 ../setup/python2/main.py:1736 --#: ../setup/python3/main.py:1709 ../setup/python3/main.py:1730 -+#: ../setup/python2/main.py:1719 ../setup/python2/main.py:1740 -+#: ../setup/python3/main.py:1713 ../setup/python3/main.py:1734 - msgid "Invalid keysym" - msgstr "" - --#: ../setup/python2/main.py:1716 ../setup/python2/main.py:1737 --#: ../setup/python3/main.py:1710 ../setup/python3/main.py:1731 -+#: ../setup/python2/main.py:1720 ../setup/python2/main.py:1741 -+#: ../setup/python3/main.py:1714 ../setup/python3/main.py:1735 - msgid "This keysym is not valid" - msgstr "" - -@@ -582,298 +582,303 @@ msgid "Initial Setting" - msgstr "" - - #: ../setup/python2/setup.ui.h:34 ../setup/python3/setup.ui.h:34 -+#, fuzzy -+msgid "_Show input mode icon" -+msgstr "Αλλαγή μεθόδου εισαγωγής" -+ -+#: ../setup/python2/setup.ui.h:35 ../setup/python3/setup.ui.h:35 - msgid "Menu Visibility on Status Icon" - msgstr "" - --#: ../setup/python2/setup.ui.h:36 ../setup/python3/setup.ui.h:36 -+#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 - msgid "_Period Style:" - msgstr "" - --#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 -+#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 - msgid "Symbo_l Style:" - msgstr "Στιλ Συμβό_λου:" - --#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 -+#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 - msgid "Numpad _Key Type:" - msgstr "Συμπεριφορά _αριθμητικού πληκτρολογίου:" - --#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 -+#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 - msgid "_Behavior on Period:" - msgstr "" - --#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 -+#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 - msgid "Behavior on _Focus Out:" - msgstr "" - --#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 -+#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 - msgid "Behavior" - msgstr "" - --#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 -+#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 - msgid "Candidate _Window Page Size:" - msgstr "" - --#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 -+#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 - msgid "Convert _symbols with the one column width" - msgstr "" - --#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 -+#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 - msgid "Convert _numbers with the one column width" - msgstr "" - --#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 -+#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 - msgid "Con_vert spaces with the one column width" - msgstr "" - --#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 -+#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 - msgid "" - "Swi_tch “Hiragana” and “Latin” with Shift key and Hiragana–Katakana key in " - "preedit" - msgstr "" - --#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 -+#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 - msgid "Other" - msgstr "" - --#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 -+#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 - msgid "Conversion" - msgstr "" - --#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 -+#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 - msgid "_Shortcut Type:" - msgstr "" - --#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 -+#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 - msgid "De_fault" - msgstr "" - --#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 -+#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 - msgid "_Edit" - msgstr "_Επεξεργασία" - --#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 -+#: ../setup/python2/setup.ui.h:53 ../setup/python3/setup.ui.h:53 - msgid "Key Binding" - msgstr "" - --#: ../setup/python2/setup.ui.h:54 ../setup/python3/setup.ui.h:54 -+#: ../setup/python2/setup.ui.h:55 ../setup/python3/setup.ui.h:55 - msgid "Romaji" - msgstr "" - --#: ../setup/python2/setup.ui.h:56 ../setup/python3/setup.ui.h:56 -+#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 - msgid "Kana" - msgstr "" - --#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 -+#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 - msgid "Keyboad _layout:" - msgstr "" - --#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 -+#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 - msgid "Keyboard layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 -+#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 - msgid "Typing Method" - msgstr "" - --#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 -+#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 - msgid "_Left Thumb Shift Key:" - msgstr "" - --#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 -+#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 - msgid "Right _Thumb Shift Key:" - msgstr "Δεξί _Thumb Shift:" - --#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 -+#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 - msgid "Adjust _input method layout to system keyboard layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 -+#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 - msgid "Adjust IM layout to XKB layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 -+#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 - msgid "Input _Method Layout:" - msgstr "" - --#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 -+#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 - msgid "Restart IBus when you change the keyboard layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 -+#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 - msgid "Restart IBus when you change XKB" - msgstr "" - --#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 -+#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 - msgid "_Additional Key Arrangement:" - msgstr "" - --#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 -+#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 - msgid "" - "'~', '『', '¢', '£' and so on can be output with " - "Thumb Shift key" - msgstr "" - --#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 -+#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 - msgid "" - "You do not have to reconfigure the system keyboard layout for \"Additional " - "Key Arrangement\" since this option changes input method layout only in case " - "input method is turned on." - msgstr "" - --#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 -+#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 - msgid "" - "You do not have to reconfigure XKB since this option changes IM layout only " - "with IM on." - msgstr "" - --#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 -+#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 - msgid "_Enable semi-voiced sound mark with Shift key" - msgstr "" - --#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 -+#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 - msgid "Seion + Shift can output Handakuon" - msgstr "Το Seion + Shift εισάγουν handakuon" - --#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 -+#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 - msgid "Thumb _Shift Key Table:" - msgstr "Πίνακας πλήκτρων Thumb _Shift:" - --#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 -+#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 - msgid "Thumb Shift Layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 -+#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 - msgid "Thumb Shift" - msgstr "" - --#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 -+#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 - msgid "_Edit Dictionary Command:" - msgstr "" - --#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 -+#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 - msgid "_Add Word Command:" - msgstr "" - --#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 -+#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 - msgid "Default Dictionary Configuration" - msgstr "" - --#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 -+#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 - msgid "_View" - msgstr "" - --#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 -+#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 - msgid "_Add" - msgstr "_Προσθήκη" - --#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 -+#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 - msgid "_Delete" - msgstr "_Διαγραφή" - --#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 -+#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 - msgid "_Up" - msgstr "Πά_νω" - --#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 -+#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 - msgid "You can change the order on language bar" - msgstr "" - --#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 -+#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 - msgid "_Down" - msgstr "_Κάτω" - --#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 -+#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 - msgid "Extended Dictionaries" - msgstr "" - --#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 -+#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 - msgid "Dictionary" - msgstr "" - --#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 -+#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 - msgid "About" - msgstr "" - --#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 -+#: ../setup/python2/setup.ui.h:89 ../setup/python3/setup.ui.h:89 - msgid "_Apply" - msgstr "_Εφαρμογή" - --#: ../setup/python2/setup.ui.h:91 ../setup/python3/setup.ui.h:91 -+#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 - msgid "Edit Shortcut" - msgstr "" - --#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 -+#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 - msgid "Key Code:" - msgstr "" - --#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 -+#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 - msgid "Modifier:" - msgstr "" - --#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 -+#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 - msgid "A_lternate" - msgstr "" - --#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 -+#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 - msgid "Co_ntrol" - msgstr "" - --#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 -+#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 - msgid "_Shift" - msgstr "" - --#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 -+#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 - msgid "_Refresh" - msgstr "_Ανανέωση" - --#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 -+#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 - msgid "_Input Characters" - msgstr "" - --#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 -+#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 - msgid "_Output Characters" - msgstr "" - --#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 -+#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 - msgid "_Left Thumb Shift" - msgstr "" - --#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 -+#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 - msgid "_Right Thumb Shift" - msgstr "" - --#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 -+#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 - msgid "_Remove" - msgstr "_Αφαίρεση" - --#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 -+#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 - msgid "_Close" - msgstr "_Κλείσιμο" - --#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 -+#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 - msgid "_Short Label:" - msgstr "" - --#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 -+#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 - msgid "_Description:" - msgstr "" - --#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 -+#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 - msgid "_Use your dictionary alone with switching dictionaries" - msgstr "" - --#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 -+#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 - msgid "_Embed your dictionary in the system dictionary" - msgstr "" - --#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 -+#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 - msgid "Enable the _reverse conversion" - msgstr "" - --#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 -+#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 - msgid "The Anthy engine for the IBus input platform" - msgstr "" - --#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 -+#: ../setup/python2/setup.ui.h:111 ../setup/python3/setup.ui.h:111 - msgid "translator_credits" - msgstr "" -diff --git a/po/fr.po b/po/fr.po -index a539258..515df3a 100644 ---- a/po/fr.po -+++ b/po/fr.po -@@ -9,18 +9,18 @@ msgid "" - msgstr "" - "Project-Id-Version: IBus-Anthy\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" --"POT-Creation-Date: 2014-08-21 18:57+0900\n" -+"POT-Creation-Date: 2014-08-21 19:30+0900\n" - "PO-Revision-Date: 2014-02-20 10:01+0100\n" - "Last-Translator: Julien Humbert \n" - "Language-Team: French \n" -+"Language: fr\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"Language: fr\n" - "Plural-Forms: nplurals=2; plural=(n > 1);\n" - "X-Generator: Poedit 1.6.4\n" - --#: ../engine/python2/engine.py:193 ../engine/python3/engine.py:194 -+#: ../engine/python2/engine.py:197 ../engine/python3/engine.py:198 - msgid "" - "Could not enable Anthy.\n" - "The end of the content of the file .anthy/last-record2_default.utf8 in your " -@@ -34,188 +34,188 @@ msgstr "" - "Veuillez corriger le fichier ou le supprimer manuellement, puis redémarrer " - "IBus." - --#: ../engine/python2/engine.py:241 ../engine/python3/engine.py:242 --#: ../setup/python2/main.py:408 ../setup/python3/main.py:413 -+#: ../engine/python2/engine.py:245 ../engine/python3/engine.py:246 -+#: ../setup/python2/main.py:412 ../setup/python3/main.py:417 - msgid "Preferences - Anthy" - msgstr "Préférences – Anthy" - --#: ../engine/python2/engine.py:243 ../engine/python3/engine.py:244 -+#: ../engine/python2/engine.py:247 ../engine/python3/engine.py:248 - msgid "Configure Anthy" - msgstr "Configurer Anthy" - - #. Translators: Specify the order of %s with your translation. - #. It will be "Input Mode (A)" for example. --#: ../engine/python2/engine.py:280 ../engine/python2/engine.py:368 --#: ../engine/python2/engine.py:435 ../engine/python2/engine.py:511 --#: ../engine/python2/engine.py:842 ../engine/python2/engine.py:870 --#: ../engine/python2/engine.py:894 ../engine/python2/engine.py:920 --#: ../engine/python2/engine.py:982 ../engine/python3/engine.py:281 --#: ../engine/python3/engine.py:369 ../engine/python3/engine.py:436 --#: ../engine/python3/engine.py:512 ../engine/python3/engine.py:837 --#: ../engine/python3/engine.py:865 ../engine/python3/engine.py:889 --#: ../engine/python3/engine.py:915 ../engine/python3/engine.py:977 -+#: ../engine/python2/engine.py:351 ../engine/python2/engine.py:439 -+#: ../engine/python2/engine.py:506 ../engine/python2/engine.py:582 -+#: ../engine/python2/engine.py:913 ../engine/python2/engine.py:944 -+#: ../engine/python2/engine.py:968 ../engine/python2/engine.py:994 -+#: ../engine/python2/engine.py:1056 ../engine/python3/engine.py:352 -+#: ../engine/python3/engine.py:440 ../engine/python3/engine.py:507 -+#: ../engine/python3/engine.py:583 ../engine/python3/engine.py:908 -+#: ../engine/python3/engine.py:939 ../engine/python3/engine.py:963 -+#: ../engine/python3/engine.py:989 ../engine/python3/engine.py:1051 - #, python-format - msgid "%(description)s (%(symbol)s)" - msgstr "%(description)s (%(symbol)s)" - --#: ../engine/python2/engine.py:281 ../engine/python2/engine.py:843 --#: ../engine/python3/engine.py:282 ../engine/python3/engine.py:838 --#: ../setup/python2/main.py:393 ../setup/python3/main.py:398 -+#: ../engine/python2/engine.py:352 ../engine/python2/engine.py:914 -+#: ../engine/python3/engine.py:353 ../engine/python3/engine.py:909 -+#: ../setup/python2/main.py:397 ../setup/python3/main.py:402 - msgid "Input mode" - msgstr "Mode de saisie" - --#: ../engine/python2/engine.py:287 ../engine/python3/engine.py:288 -+#: ../engine/python2/engine.py:358 ../engine/python3/engine.py:359 - msgid "Switch input mode" - msgstr "Changer de mode de saisie" - --#: ../engine/python2/engine.py:297 ../engine/python3/engine.py:298 -+#: ../engine/python2/engine.py:368 ../engine/python3/engine.py:369 - #: ../setup/python2/setup.ui.h:1 ../setup/python3/setup.ui.h:1 - msgid "Hiragana" - msgstr "Hiragana" - --#: ../engine/python2/engine.py:306 ../engine/python3/engine.py:307 -+#: ../engine/python2/engine.py:377 ../engine/python3/engine.py:378 - #: ../setup/python2/setup.ui.h:2 ../setup/python3/setup.ui.h:2 - msgid "Katakana" - msgstr "Katakana" - --#: ../engine/python2/engine.py:315 ../engine/python3/engine.py:316 -+#: ../engine/python2/engine.py:386 ../engine/python3/engine.py:387 - #: ../setup/python2/setup.ui.h:3 ../setup/python3/setup.ui.h:3 - msgid "Halfwidth Katakana" - msgstr "Katakana demi-largeur" - --#: ../engine/python2/engine.py:324 ../engine/python3/engine.py:325 -+#: ../engine/python2/engine.py:395 ../engine/python3/engine.py:396 - #: ../setup/python2/setup.ui.h:4 ../setup/python3/setup.ui.h:4 - msgid "Latin" - msgstr "Alphabet" - --#: ../engine/python2/engine.py:333 ../engine/python3/engine.py:334 -+#: ../engine/python2/engine.py:404 ../engine/python3/engine.py:405 - #: ../setup/python2/setup.ui.h:5 ../setup/python3/setup.ui.h:5 - msgid "Wide Latin" - msgstr "Alphabet pleine largeur" - --#: ../engine/python2/engine.py:369 ../engine/python2/engine.py:871 --#: ../engine/python2/engine.py:895 ../engine/python3/engine.py:370 --#: ../engine/python3/engine.py:866 ../engine/python3/engine.py:890 --#: ../setup/python2/main.py:396 ../setup/python3/main.py:401 -+#: ../engine/python2/engine.py:440 ../engine/python2/engine.py:945 -+#: ../engine/python2/engine.py:969 ../engine/python3/engine.py:441 -+#: ../engine/python3/engine.py:940 ../engine/python3/engine.py:964 -+#: ../setup/python2/main.py:400 ../setup/python3/main.py:405 - msgid "Typing method" - msgstr "Méthode de saisie" - --#: ../engine/python2/engine.py:375 ../engine/python3/engine.py:376 -+#: ../engine/python2/engine.py:446 ../engine/python3/engine.py:447 - msgid "Switch typing method" - msgstr "Changer de méthode de saisie" - --#: ../engine/python2/engine.py:385 ../engine/python3/engine.py:386 -+#: ../engine/python2/engine.py:456 ../engine/python3/engine.py:457 - #: ../setup/python2/setup.ui.h:12 ../setup/python3/setup.ui.h:12 - msgid "Romaji" - msgstr "Romaji" - --#: ../engine/python2/engine.py:394 ../engine/python3/engine.py:395 -+#: ../engine/python2/engine.py:465 ../engine/python3/engine.py:466 - #: ../setup/python2/setup.ui.h:13 ../setup/python3/setup.ui.h:13 - msgid "Kana" - msgstr "Kana" - --#: ../engine/python2/engine.py:403 ../engine/python3/engine.py:404 -+#: ../engine/python2/engine.py:474 ../engine/python3/engine.py:475 - #: ../setup/python2/setup.ui.h:14 ../setup/python3/setup.ui.h:14 - msgid "Thumb shift" - msgstr "Thumb shift" - --#: ../engine/python2/engine.py:436 ../engine/python2/engine.py:921 --#: ../engine/python3/engine.py:437 ../engine/python3/engine.py:916 --#: ../setup/python2/main.py:399 ../setup/python3/main.py:404 -+#: ../engine/python2/engine.py:507 ../engine/python2/engine.py:995 -+#: ../engine/python3/engine.py:508 ../engine/python3/engine.py:990 -+#: ../setup/python2/main.py:403 ../setup/python3/main.py:408 - msgid "Segment mode" - msgstr "Mode segments" - --#: ../engine/python2/engine.py:442 ../engine/python3/engine.py:443 -+#: ../engine/python2/engine.py:513 ../engine/python3/engine.py:514 - msgid "Switch conversion mode" - msgstr "Changer de méthode de conversion" - --#: ../engine/python2/engine.py:452 ../engine/python3/engine.py:453 -+#: ../engine/python2/engine.py:523 ../engine/python3/engine.py:524 - #: ../setup/python2/setup.ui.h:15 ../setup/python3/setup.ui.h:15 - msgid "Multiple segment" - msgstr "Segments multiples" - --#: ../engine/python2/engine.py:461 ../engine/python3/engine.py:462 -+#: ../engine/python2/engine.py:532 ../engine/python3/engine.py:533 - #: ../setup/python2/setup.ui.h:16 ../setup/python3/setup.ui.h:16 - msgid "Single segment" - msgstr "Segments simples" - --#: ../engine/python2/engine.py:470 ../engine/python3/engine.py:471 -+#: ../engine/python2/engine.py:541 ../engine/python3/engine.py:542 - #: ../setup/python2/setup.ui.h:17 ../setup/python3/setup.ui.h:17 - msgid "Immediate conversion (multiple segment)" - msgstr "Conversion immédiate (segments multiples)" - --#: ../engine/python2/engine.py:479 ../engine/python3/engine.py:480 -+#: ../engine/python2/engine.py:550 ../engine/python3/engine.py:551 - #: ../setup/python2/setup.ui.h:18 ../setup/python3/setup.ui.h:18 - msgid "Immediate conversion (single segment)" - msgstr "Conversion immédiate (segments simples)" - --#: ../engine/python2/engine.py:512 ../engine/python2/engine.py:983 --#: ../engine/python3/engine.py:513 ../engine/python3/engine.py:978 --#: ../setup/python2/main.py:402 ../setup/python3/main.py:407 -+#: ../engine/python2/engine.py:583 ../engine/python2/engine.py:1057 -+#: ../engine/python3/engine.py:584 ../engine/python3/engine.py:1052 -+#: ../setup/python2/main.py:406 ../setup/python3/main.py:411 - msgid "Dictionary mode" - msgstr "Mode dictionnaire" - --#: ../engine/python2/engine.py:518 ../engine/python3/engine.py:519 -+#: ../engine/python2/engine.py:589 ../engine/python3/engine.py:590 - msgid "Switch dictionary" - msgstr "Changer de dictionnaire" - --#: ../engine/python2/engine.py:601 ../engine/python3/engine.py:601 --#: ../setup/python2/main.py:405 ../setup/python3/main.py:410 -+#: ../engine/python2/engine.py:672 ../engine/python3/engine.py:672 -+#: ../setup/python2/main.py:409 ../setup/python3/main.py:414 - msgid "Dictionary - Anthy" - msgstr "Dictionnaire – Anthy" - - #. Translators: "Dic" means 'dictionary', One kanji may be good. --#: ../engine/python2/engine.py:607 ../engine/python3/engine.py:606 -+#: ../engine/python2/engine.py:678 ../engine/python3/engine.py:677 - msgid "Dic" - msgstr "Dico" - --#: ../engine/python2/engine.py:614 ../engine/python3/engine.py:613 -+#: ../engine/python2/engine.py:685 ../engine/python3/engine.py:684 - msgid "Configure dictionaries" - msgstr "Configurer les dictionnaires" - --#: ../engine/python2/engine.py:624 ../engine/python3/engine.py:623 -+#: ../engine/python2/engine.py:695 ../engine/python3/engine.py:694 - msgid "Edit dictionaries" - msgstr "Modifier les dictionnaires" - --#: ../engine/python2/engine.py:626 ../engine/python3/engine.py:625 -+#: ../engine/python2/engine.py:697 ../engine/python3/engine.py:696 - msgid "Launch the dictionary tool" - msgstr "Lancer l’utilitaire de modification de dictionnaires" - --#: ../engine/python2/engine.py:633 ../engine/python3/engine.py:632 -+#: ../engine/python2/engine.py:704 ../engine/python3/engine.py:703 - msgid "Add words" - msgstr "Ajouter de nouveaux mots" - --#: ../engine/python2/engine.py:635 ../engine/python3/engine.py:634 -+#: ../engine/python2/engine.py:706 ../engine/python3/engine.py:705 - msgid "Add words to the dictionary" - msgstr "Ajouter de nouveaux mots dans le dictionnaire" - --#: ../setup/python2/anthyprefs.py.in:1104 ../setup/python2/setup.ui.h:35 --#: ../setup/python3/anthyprefs.py.in:1097 ../setup/python3/setup.ui.h:35 -+#: ../setup/python2/anthyprefs.py.in:1106 ../setup/python2/setup.ui.h:36 -+#: ../setup/python3/anthyprefs.py.in:1099 ../setup/python3/setup.ui.h:36 - msgid "General" - msgstr "Paramètres généraux" - --#: ../setup/python2/anthyprefs.py.in:1115 --#: ../setup/python3/anthyprefs.py.in:1108 -+#: ../setup/python2/anthyprefs.py.in:1117 -+#: ../setup/python3/anthyprefs.py.in:1110 - msgid "Zip Code Conversion" - msgstr "Conversion des codes postaux" - --#: ../setup/python2/anthyprefs.py.in:1126 --#: ../setup/python3/anthyprefs.py.in:1119 -+#: ../setup/python2/anthyprefs.py.in:1128 -+#: ../setup/python3/anthyprefs.py.in:1121 - msgid "Symbol" - msgstr "Symboles" - --#: ../setup/python2/anthyprefs.py.in:1137 --#: ../setup/python3/anthyprefs.py.in:1130 -+#: ../setup/python2/anthyprefs.py.in:1139 -+#: ../setup/python3/anthyprefs.py.in:1132 - msgid "Old Character Style" - msgstr "Anciens caractères" - --#: ../setup/python2/anthyprefs.py.in:1147 --#: ../setup/python3/anthyprefs.py.in:1140 -+#: ../setup/python2/anthyprefs.py.in:1149 -+#: ../setup/python3/anthyprefs.py.in:1142 - msgid "Era" - msgstr "Ère" - --#: ../setup/python2/anthyprefs.py.in:1157 --#: ../setup/python3/anthyprefs.py.in:1150 -+#: ../setup/python2/anthyprefs.py.in:1159 -+#: ../setup/python3/anthyprefs.py.in:1152 - msgid "Emoji" - msgstr "" - -@@ -234,193 +234,193 @@ msgstr "Configuration du moteur IBus Anthy" - msgid "ibus is not running." - msgstr "ibus n’est pas lancé." - --#: ../setup/python2/main.py:180 ../setup/python3/main.py:183 -+#: ../setup/python2/main.py:181 ../setup/python3/main.py:184 - msgid "Menu label" - msgstr "Label du menu" - --#: ../setup/python2/main.py:199 ../setup/python3/main.py:202 -+#: ../setup/python2/main.py:200 ../setup/python3/main.py:203 - msgid "Command" - msgstr "Commande" - --#: ../setup/python2/main.py:203 ../setup/python3/main.py:206 -+#: ../setup/python2/main.py:204 ../setup/python3/main.py:207 - msgid "Shortcut" - msgstr "Raccourci" - --#: ../setup/python2/main.py:248 ../setup/python3/main.py:251 -+#: ../setup/python2/main.py:249 ../setup/python3/main.py:252 - msgid "Description" - msgstr "Description" - - #. Translators: "Embd" is an abbreviation of "embedded". --#: ../setup/python2/main.py:256 ../setup/python3/main.py:259 -+#: ../setup/python2/main.py:257 ../setup/python3/main.py:260 - msgid "Embd" - msgstr "Incorporé" - - #. Translators: "Sgl" is an abbreviation of "single". --#: ../setup/python2/main.py:264 ../setup/python3/main.py:267 -+#: ../setup/python2/main.py:265 ../setup/python3/main.py:268 - msgid "Sgl" - msgstr "Seul" - --#: ../setup/python2/main.py:439 ../setup/python2/main.py:475 --#: ../setup/python3/main.py:444 ../setup/python3/main.py:480 -+#: ../setup/python2/main.py:443 ../setup/python2/main.py:479 -+#: ../setup/python3/main.py:448 ../setup/python3/main.py:484 - msgid "Input Chars" - msgstr "Caractère(s) d’entrée" - --#: ../setup/python2/main.py:441 ../setup/python2/main.py:477 --#: ../setup/python3/main.py:446 ../setup/python3/main.py:482 -+#: ../setup/python2/main.py:445 ../setup/python2/main.py:481 -+#: ../setup/python3/main.py:450 ../setup/python3/main.py:486 - msgid "Output Chars" - msgstr "Caractère(s) de sortie" - --#: ../setup/python2/main.py:523 ../setup/python3/main.py:528 -+#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 - msgid "Input" - msgstr "Entrée" - --#: ../setup/python2/main.py:525 ../setup/python3/main.py:530 -+#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 - msgid "Single" - msgstr "Seul" - --#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 -+#: ../setup/python2/main.py:531 ../setup/python3/main.py:536 - msgid "Left" - msgstr "Gauche" - --#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 -+#: ../setup/python2/main.py:533 ../setup/python3/main.py:538 - msgid "Right" - msgstr "Droite" - --#: ../setup/python2/main.py:611 ../setup/python3/main.py:616 -+#: ../setup/python2/main.py:615 ../setup/python3/main.py:620 - msgid "Customize Romaji Key Table" - msgstr "Modifier la table des touches Romaji" - --#: ../setup/python2/main.py:612 ../setup/python2/setup.ui.h:53 --#: ../setup/python3/main.py:617 ../setup/python3/setup.ui.h:53 -+#: ../setup/python2/main.py:616 ../setup/python2/setup.ui.h:54 -+#: ../setup/python3/main.py:621 ../setup/python3/setup.ui.h:54 - msgid "_Romaji Key Table:" - msgstr "Table des touches _Romaji :" - --#: ../setup/python2/main.py:613 ../setup/python2/main.py:619 --#: ../setup/python3/main.py:618 ../setup/python3/main.py:624 -+#: ../setup/python2/main.py:617 ../setup/python2/main.py:623 -+#: ../setup/python3/main.py:622 ../setup/python3/main.py:628 - msgid "_Output Chars" - msgstr "Caractère(s) de _sortie" - --#: ../setup/python2/main.py:614 ../setup/python2/main.py:1114 --#: ../setup/python2/main.py:1196 ../setup/python2/setup.ui.h:26 --#: ../setup/python3/main.py:619 ../setup/python3/main.py:1108 --#: ../setup/python3/main.py:1190 ../setup/python3/setup.ui.h:26 -+#: ../setup/python2/main.py:618 ../setup/python2/main.py:1118 -+#: ../setup/python2/main.py:1200 ../setup/python2/setup.ui.h:26 -+#: ../setup/python3/main.py:623 ../setup/python3/main.py:1112 -+#: ../setup/python3/main.py:1194 ../setup/python3/setup.ui.h:26 - msgid "Default" - msgstr "Par défaut" - --#: ../setup/python2/main.py:617 ../setup/python3/main.py:622 -+#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 - msgid "Customize Kana Key Table" - msgstr "Modifier la table des touches Kana" - --#: ../setup/python2/main.py:618 ../setup/python2/setup.ui.h:55 --#: ../setup/python3/main.py:623 ../setup/python3/setup.ui.h:55 -+#: ../setup/python2/main.py:622 ../setup/python2/setup.ui.h:56 -+#: ../setup/python3/main.py:627 ../setup/python3/setup.ui.h:56 - msgid "_Kana Key Table:" - msgstr "Table des touches _Kana :" - --#: ../setup/python2/main.py:620 ../setup/python3/main.py:625 -+#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 - msgid "Japanese Keyboard Layout" - msgstr "Disposition clavier japonais" - --#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 -+#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 - msgid "U.S. Keyboard Layout" - msgstr "Disposition clavier américain" - --#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 -+#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 - msgid "Customize Thumb Shift Key Table" - msgstr "Modifier la table des touches de la méthode Thumb Shift" - --#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 -+#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 - msgid "_Thumb Shift Key Table:" - msgstr "Table des touches de la méthode Thumb _Shift :" - --#: ../setup/python2/main.py:626 ../setup/python3/main.py:631 -+#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 - msgid "Single _Output Chars" - msgstr "Caractère(s) de s_ortie unique(s)" - --#: ../setup/python2/main.py:627 ../setup/python3/main.py:632 -+#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 - msgid "Base" - msgstr "Basique" - --#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 -+#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 - msgid "NICOLA-J key extension" - msgstr "Extension de touches NICOLA-J" - --#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 -+#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 - msgid "NICOLA-A key extension" - msgstr "Extension de touches NICOLA-A" - --#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 -+#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 - msgid "NICOLA-F key extension" - msgstr "Extension de touches NICOLA-F" - --#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 -+#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 - msgid "FMV KB231-J key extension" - msgstr "Extension de touches FMV KB231-J" - --#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 -+#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 - msgid "FMV KB231-A key extension" - msgstr "Extension de touches FMV KB231-A" - --#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 -+#: ../setup/python2/main.py:637 ../setup/python3/main.py:642 - msgid "FMV KB231-F key extension" - msgstr "Extension de touches FMV KB231-F" - --#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 -+#: ../setup/python2/main.py:638 ../setup/python3/main.py:643 - msgid "FMV KB611-J key extension" - msgstr "Extension de touches FMV KB611-J" - --#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 -+#: ../setup/python2/main.py:639 ../setup/python3/main.py:644 - msgid "FMV KB611-A key extension" - msgstr "Extension de touches FMV KB611-A" - --#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 -+#: ../setup/python2/main.py:640 ../setup/python3/main.py:645 - msgid "FMV KB611-F key extension" - msgstr "Extension de touches FMV KB611-F" - --#: ../setup/python2/main.py:780 ../setup/python3/main.py:785 -+#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 - msgid "Your choosed file has already been added: " - msgstr "Le fichier que vous avez sélectionné a déjà été ajouté : " - --#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 -+#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 - msgid "The file you have chosen does not exist: " - msgstr "Le fichier que vous avez sélectionné n’existe pas : " - --#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 -+#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 - msgid "Your choosed file is a directory: " - msgstr "Le fichier que vous avez sélectionné est un dossier : " - --#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 -+#: ../setup/python2/main.py:796 ../setup/python3/main.py:801 - msgid "You cannot add dictionaries in the anthy private directory: " - msgstr "" - "Vous ne pouvez pas ajouter de dictionnaire dans le dossier privé d’Anthy : " - --#: ../setup/python2/main.py:799 ../setup/python3/main.py:804 -+#: ../setup/python2/main.py:803 ../setup/python3/main.py:808 - msgid "Your file path is not good: " - msgstr "Le chemin du fichier sélectionné est incorrect : " - --#: ../setup/python2/main.py:978 ../setup/python3/main.py:981 -+#: ../setup/python2/main.py:982 ../setup/python3/main.py:985 - msgid "The engine xml file does not exist: " - msgstr "Le fichier xml du moteur n’existe pas : " - --#: ../setup/python2/main.py:1094 ../setup/python3/main.py:1088 -+#: ../setup/python2/main.py:1098 ../setup/python3/main.py:1092 - msgid "" - "Anthy keyboard layout is changed. Please restart ibus to reload the layout." - msgstr "" - "La disposition clavier Anthy a changée. Veuillez redémarrer ibus pour " - "charger la nouvelle disposition." - --#: ../setup/python2/main.py:1157 ../setup/python3/main.py:1151 -+#: ../setup/python2/main.py:1161 ../setup/python3/main.py:1155 - msgid "Confirmation" - msgstr "Confirmer" - --#: ../setup/python2/main.py:1159 ../setup/python3/main.py:1153 -+#: ../setup/python2/main.py:1163 ../setup/python3/main.py:1157 - msgid "You are about to close the setup dialog, is that OK?" - msgstr "Êtes-vous sûr de bien vouloir fermer la fenêtre de configuration ?" - --#: ../setup/python2/main.py:1174 ../setup/python3/main.py:1168 -+#: ../setup/python2/main.py:1178 ../setup/python3/main.py:1172 - msgid "Notice!" - msgstr "Attention !" - --#: ../setup/python2/main.py:1176 ../setup/python3/main.py:1170 -+#: ../setup/python2/main.py:1180 ../setup/python3/main.py:1174 - msgid "" - "You are about to close the setup dialog without saving your changes, is that " - "OK?" -@@ -428,89 +428,89 @@ msgstr "" - "Êtes-vous sûr de vouloir fermer la fenêtre de configuration sans sauver les " - "modifications ?" - --#: ../setup/python2/main.py:1297 ../setup/python3/main.py:1291 -+#: ../setup/python2/main.py:1301 ../setup/python3/main.py:1295 - msgid "Please specify Input Chars" - msgstr "Veuillez spécifier les caractères d’entrée" - --#: ../setup/python2/main.py:1300 ../setup/python3/main.py:1294 -+#: ../setup/python2/main.py:1304 ../setup/python3/main.py:1298 - msgid "Please specify Output Chars" - msgstr "Veuillez spécifier les caractères de sortie" - --#: ../setup/python2/main.py:1303 ../setup/python3/main.py:1297 -+#: ../setup/python2/main.py:1307 ../setup/python3/main.py:1301 - msgid "Please specify Left Thumb Shift Chars" - msgstr "Veuillez spécifier les caractères Thumb Shift Gauche" - --#: ../setup/python2/main.py:1306 ../setup/python3/main.py:1300 -+#: ../setup/python2/main.py:1310 ../setup/python3/main.py:1304 - msgid "Please specify Right Thumb Shift Chars" - msgstr "Veuillez spécifier les caractères Thumb Shift Droit" - --#: ../setup/python2/main.py:1319 ../setup/python2/main.py:1363 --#: ../setup/python3/main.py:1313 ../setup/python3/main.py:1357 -+#: ../setup/python2/main.py:1323 ../setup/python2/main.py:1367 -+#: ../setup/python3/main.py:1317 ../setup/python3/main.py:1361 - msgid "Your custom key is not assigned in any sections. Maybe a bug." - msgstr "" - "Votre touche personnalisée n’est assignée à aucune section. Cela est sans " - "doute un bogue." - --#: ../setup/python2/main.py:1429 ../setup/python2/main.py:1516 --#: ../setup/python3/main.py:1423 ../setup/python3/main.py:1510 -+#: ../setup/python2/main.py:1433 ../setup/python2/main.py:1520 -+#: ../setup/python3/main.py:1427 ../setup/python3/main.py:1514 - msgid "Your file does not exist: " - msgstr "Le fichier que vous avez sélectionné n’existe pas : " - --#: ../setup/python2/main.py:1439 ../setup/python3/main.py:1433 -+#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 - msgid "Open Dictionary File" - msgstr "Ouvrir un fichier de dictionnaire" - --#: ../setup/python2/main.py:1442 ../setup/python2/main.py:1448 --#: ../setup/python2/setup.ui.h:89 ../setup/python3/main.py:1436 --#: ../setup/python3/main.py:1442 ../setup/python3/setup.ui.h:89 -+#: ../setup/python2/main.py:1446 ../setup/python2/main.py:1452 -+#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1440 -+#: ../setup/python3/main.py:1446 ../setup/python3/setup.ui.h:90 - msgid "_Cancel" - msgstr "A_nnuler" - --#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 -+#: ../setup/python2/main.py:1447 ../setup/python3/main.py:1441 - msgid "_Open" - msgstr "_Ouvrir" - --#: ../setup/python2/main.py:1446 ../setup/python3/main.py:1440 -+#: ../setup/python2/main.py:1450 ../setup/python3/main.py:1444 - msgid "Edit Dictionary File" - msgstr "Modifier le fichier de dictionnaire" - --#: ../setup/python2/main.py:1449 ../setup/python2/main.py:1544 --#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1443 --#: ../setup/python3/main.py:1538 ../setup/python3/setup.ui.h:90 -+#: ../setup/python2/main.py:1453 ../setup/python2/main.py:1548 -+#: ../setup/python2/setup.ui.h:91 ../setup/python3/main.py:1447 -+#: ../setup/python3/main.py:1542 ../setup/python3/setup.ui.h:91 - msgid "_OK" - msgstr "_Valider" - --#: ../setup/python2/main.py:1460 ../setup/python3/main.py:1454 -+#: ../setup/python2/main.py:1464 ../setup/python3/main.py:1458 - msgid "Your choosed file is not correct." - msgstr "Le fichier que vous avez sélectionné est incorrect." - --#: ../setup/python2/main.py:1489 ../setup/python3/main.py:1483 -+#: ../setup/python2/main.py:1493 ../setup/python3/main.py:1487 - msgid "You cannot delete the system dictionary." - msgstr "Vous ne pouvez pas supprimer le dictionnaire système." - --#: ../setup/python2/main.py:1512 ../setup/python3/main.py:1506 -+#: ../setup/python2/main.py:1516 ../setup/python3/main.py:1510 - msgid "Your file is not good." - msgstr "Le fichier que vous avez sélectionné n’est pas bon." - --#: ../setup/python2/main.py:1542 ../setup/python3/main.py:1536 -+#: ../setup/python2/main.py:1546 ../setup/python3/main.py:1540 - msgid "View Dictionary File" - msgstr "Voir le fichier de dictionnaire" - --#: ../setup/python2/main.py:1694 ../setup/python3/main.py:1688 -+#: ../setup/python2/main.py:1698 ../setup/python3/main.py:1692 - msgid "Please press a key (or a key combination)" - msgstr "Veuillez appuyer sur une touche (ou une combinaison de touches)" - --#: ../setup/python2/main.py:1695 ../setup/python3/main.py:1689 -+#: ../setup/python2/main.py:1699 ../setup/python3/main.py:1693 - msgid "The dialog will be closed when the key is released" - msgstr "La fenêtre se fermera lorsque la touche sera relâchée" - --#: ../setup/python2/main.py:1715 ../setup/python2/main.py:1736 --#: ../setup/python3/main.py:1709 ../setup/python3/main.py:1730 -+#: ../setup/python2/main.py:1719 ../setup/python2/main.py:1740 -+#: ../setup/python3/main.py:1713 ../setup/python3/main.py:1734 - msgid "Invalid keysym" - msgstr "« keysym » invalide" - --#: ../setup/python2/main.py:1716 ../setup/python2/main.py:1737 --#: ../setup/python3/main.py:1710 ../setup/python3/main.py:1731 -+#: ../setup/python2/main.py:1720 ../setup/python2/main.py:1741 -+#: ../setup/python3/main.py:1714 ../setup/python3/main.py:1735 - msgid "This keysym is not valid" - msgstr "Ce « keysym » n’est pas valide" - -@@ -595,50 +595,55 @@ msgid "Initial Setting" - msgstr "Configuration initiale" - - #: ../setup/python2/setup.ui.h:34 ../setup/python3/setup.ui.h:34 -+#, fuzzy -+msgid "_Show input mode icon" -+msgstr "Changer de mode de saisie" -+ -+#: ../setup/python2/setup.ui.h:35 ../setup/python3/setup.ui.h:35 - msgid "Menu Visibility on Status Icon" - msgstr "Visibilité du menu sur l’icône de statut" - --#: ../setup/python2/setup.ui.h:36 ../setup/python3/setup.ui.h:36 -+#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 - msgid "_Period Style:" - msgstr "Style de _Ponctuation :" - --#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 -+#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 - msgid "Symbo_l Style:" - msgstr "Style de _Symboles :" - --#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 -+#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 - msgid "Numpad _Key Type:" - msgstr "Touches du pa_vé numérique :" - --#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 -+#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 - msgid "_Behavior on Period:" - msgstr "Comportement _lors de la ponctuation :" - --#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 -+#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 - msgid "Behavior on _Focus Out:" - msgstr "Comportement à la perte du _focus :" - --#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 -+#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 - msgid "Behavior" - msgstr "Comportement" - --#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 -+#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 - msgid "Candidate _Window Page Size:" - msgstr "_Taille de la fenêtre de la liste des candidats :" - --#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 -+#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 - msgid "Convert _symbols with the one column width" - msgstr "Convertir les s_ymboles en symboles d’une seule colonne de largeur" - --#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 -+#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 - msgid "Convert _numbers with the one column width" - msgstr "Convertir les ch_iffres en chiffres d’une seule colonne de largeur" - --#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 -+#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 - msgid "Con_vert spaces with the one column width" - msgstr "Convertir les _espaces en espaces d’une seule colonne de largeur" - --#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 -+#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 - msgid "" - "Swi_tch “Hiragana” and “Latin” with Shift key and Hiragana–Katakana key in " - "preedit" -@@ -646,83 +651,83 @@ msgstr "" - "Permuter entre les modes « Hiragana » et « Latin » avec la touche Maj et la " - "touche Hiragana-Katakana en pré-édition" - --#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 -+#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 - msgid "Other" - msgstr "Autres options" - --#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 -+#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 - msgid "Conversion" - msgstr "Mode de conversion " - --#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 -+#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 - msgid "_Shortcut Type:" - msgstr "Raccourcis _claviers :" - --#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 -+#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 - msgid "De_fault" - msgstr "Par dé_faut" - --#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 -+#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 - msgid "_Edit" - msgstr "_Modifier" - --#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 -+#: ../setup/python2/setup.ui.h:53 ../setup/python3/setup.ui.h:53 - msgid "Key Binding" - msgstr "Raccourcis claviers" - --#: ../setup/python2/setup.ui.h:54 ../setup/python3/setup.ui.h:54 -+#: ../setup/python2/setup.ui.h:55 ../setup/python3/setup.ui.h:55 - msgid "Romaji" - msgstr "Romaji" - --#: ../setup/python2/setup.ui.h:56 ../setup/python3/setup.ui.h:56 -+#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 - msgid "Kana" - msgstr "Kana" - --#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 -+#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 - msgid "Keyboad _layout:" - msgstr "Disposition c_lavier :" - --#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 -+#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 - msgid "Keyboard layout" - msgstr "Disposition clavier" - --#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 -+#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 - msgid "Typing Method" - msgstr "Méthode de saisie" - --#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 -+#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 - msgid "_Left Thumb Shift Key:" - msgstr "Touche Thumb Shift _Gauche :" - --#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 -+#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 - msgid "Right _Thumb Shift Key:" - msgstr "Touche Thumb Shift _Droite :" - --#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 -+#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 - msgid "Adjust _input method layout to system keyboard layout" - msgstr "Utiliser la disposition clavier système pour la méthode d’entrée" - --#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 -+#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 - msgid "Adjust IM layout to XKB layout" - msgstr "Utilise la disposition clavier utilisée par XKB pour l’IME" - --#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 -+#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 - msgid "Input _Method Layout:" - msgstr "Disposition de la _Méthode de saisie :" - --#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 -+#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 - msgid "Restart IBus when you change the keyboard layout" - msgstr "Redémarrez IBus lorsque vous changer la disposition clavier système." - --#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 -+#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 - msgid "Restart IBus when you change XKB" - msgstr "Redémarrez IBus lorsque vous changer la configuration XKB" - --#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 -+#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 - msgid "_Additional Key Arrangement:" - msgstr "_Arrangements des Touches Additionnelles :" - --#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 -+#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 - msgid "" - "'~', '『', '¢', '£' and so on can be output with " - "Thumb Shift key" -@@ -730,7 +735,7 @@ msgstr "" - "'~', '『', '¢', '£', etc. peuvent être tapés avec la " - "méthode Thumb Shift" - --#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 -+#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 - msgid "" - "You do not have to reconfigure the system keyboard layout for \"Additional " - "Key Arrangement\" since this option changes input method layout only in case " -@@ -741,7 +746,7 @@ msgstr "" - "option ne change la disposition de la méthode de saisie que lorsque la " - "méthode de saisie est activée." - --#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 -+#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 - msgid "" - "You do not have to reconfigure XKB since this option changes IM layout only " - "with IM on." -@@ -749,155 +754,155 @@ msgstr "" - "Vous n’avez pas besoin de reconfigurer XKB, puisque cette option ne change " - "que la disposition de l’IME lorsque l’IME est activé." - --#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 -+#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 - msgid "_Enable semi-voiced sound mark with Shift key" - msgstr "Activer les « semi-_voiced sound mark » avec la touche Majuscule" - --#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 -+#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 - msgid "Seion + Shift can output Handakuon" - msgstr "Seion + Majuscule peut imprimer Handakuon" - --#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 -+#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 - msgid "Thumb _Shift Key Table:" - msgstr "Table des touches Thumb _Shift :" - --#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 -+#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 - msgid "Thumb Shift Layout" - msgstr "Disposition Thumb Shift" - --#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 -+#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 - msgid "Thumb Shift" - msgstr "Thumb Shift" - --#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 -+#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 - msgid "_Edit Dictionary Command:" - msgstr "Commande permettant l’éd_ition du Dictionnaire :" - --#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 -+#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 - msgid "_Add Word Command:" - msgstr "Commande permettant l’a_jout d’un mot :" - --#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 -+#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 - msgid "Default Dictionary Configuration" - msgstr "Configuration du Dictionnaire par Défaut" - --#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 -+#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 - msgid "_View" - msgstr "_Voir" - --#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 -+#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 - msgid "_Add" - msgstr "A_jouter" - --#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 -+#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 - msgid "_Delete" - msgstr "_Supprimer" - --#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 -+#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 - msgid "_Up" - msgstr "_Monter" - --#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 -+#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 - msgid "You can change the order on language bar" - msgstr "Vous pouvez changer l’ordre dans la barre de langue" - --#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 -+#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 - msgid "_Down" - msgstr "_Descendre" - --#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 -+#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 - msgid "Extended Dictionaries" - msgstr "Dictionnaires supplémentaires" - --#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 -+#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 - msgid "Dictionary" - msgstr "Dictionnaire" - --#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 -+#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 - msgid "About" - msgstr "À propos" - --#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 -+#: ../setup/python2/setup.ui.h:89 ../setup/python3/setup.ui.h:89 - msgid "_Apply" - msgstr "A_ppliquer" - --#: ../setup/python2/setup.ui.h:91 ../setup/python3/setup.ui.h:91 -+#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 - msgid "Edit Shortcut" - msgstr "Éditer le raccourci" - --#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 -+#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 - msgid "Key Code:" - msgstr "Touche :" - --#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 -+#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 - msgid "Modifier:" - msgstr "Modificateur :" - --#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 -+#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 - msgid "A_lternate" - msgstr "A_lternatif" - --#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 -+#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 - msgid "Co_ntrol" - msgstr "Co_ntrol" - --#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 -+#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 - msgid "_Shift" - msgstr "_Majuscule" - --#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 -+#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 - msgid "_Refresh" - msgstr "A_ctualiser" - --#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 -+#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 - msgid "_Input Characters" - msgstr "Caractère(s) d’_entrée" - --#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 -+#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 - msgid "_Output Characters" - msgstr "Caractères de s_ortie" - --#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 -+#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 - msgid "_Left Thumb Shift" - msgstr "Thumb Shift _Gauche" - --#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 -+#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 - msgid "_Right Thumb Shift" - msgstr "Thumb Shift D_roit" - --#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 -+#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 - msgid "_Remove" - msgstr "_Enlever" - --#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 -+#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 - msgid "_Close" - msgstr "_Fermer" - --#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 -+#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 - msgid "_Short Label:" - msgstr "_Label court :" - --#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 -+#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 - msgid "_Description:" - msgstr "_Description :" - --#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 -+#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 - msgid "_Use your dictionary alone with switching dictionaries" - msgstr "" - "_Utiliser votre dictionnaire tout seul lors du basculement des dictionnaires" - --#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 -+#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 - msgid "_Embed your dictionary in the system dictionary" - msgstr "Inclur_e votre dictionnaire dans le dictionnaire système" - --#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 -+#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 - msgid "Enable the _reverse conversion" - msgstr "Activer la conversion inversée" - --#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 -+#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 - msgid "The Anthy engine for the IBus input platform" - msgstr "Le moteur Anthy pour la plateforme de saisie IBus" - --#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 -+#: ../setup/python2/setup.ui.h:111 ../setup/python3/setup.ui.h:111 - msgid "translator_credits" - msgstr "Julien Humbert " -diff --git a/po/ja.po b/po/ja.po -index 408955d..9167d20 100644 ---- a/po/ja.po -+++ b/po/ja.po -@@ -9,7 +9,7 @@ msgid "" - msgstr "" - "Project-Id-Version: IBus-Anthy\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" --"POT-Creation-Date: 2014-08-21 18:57+0900\n" -+"POT-Creation-Date: 2014-08-21 19:25+0900\n" - "PO-Revision-Date: 2014-02-18 08:42+0000\n" - "Last-Translator: UTUMI Hirosi \n" - "Language-Team: Japanese \n" -@@ -19,7 +19,7 @@ msgstr "" - "Language: ja\n" - "Plural-Forms: nplurals=1; plural=0;\n" - --#: ../engine/python2/engine.py:193 ../engine/python3/engine.py:194 -+#: ../engine/python2/engine.py:197 ../engine/python3/engine.py:198 - msgid "" - "Could not enable Anthy.\n" - "The end of the content of the file .anthy/last-record2_default.utf8 in your " -@@ -27,188 +27,188 @@ msgid "" - "Please fix the file or remove it by manual and restart IBus." - msgstr "Anthy を有効にできませんでした。\nホームディレクトリにある .anthy/last-record2_default.utf8 の中身の最後が '\\n' でありません。つまり正しくないテキストフォーマットです。\n手動でファイルを修正するか削除して IBus をリスタートしてください。" - --#: ../engine/python2/engine.py:241 ../engine/python3/engine.py:242 --#: ../setup/python2/main.py:408 ../setup/python3/main.py:413 -+#: ../engine/python2/engine.py:245 ../engine/python3/engine.py:246 -+#: ../setup/python2/main.py:412 ../setup/python3/main.py:417 - msgid "Preferences - Anthy" - msgstr "設定 - Anthy" - --#: ../engine/python2/engine.py:243 ../engine/python3/engine.py:244 -+#: ../engine/python2/engine.py:247 ../engine/python3/engine.py:248 - msgid "Configure Anthy" - msgstr "Anthy を構成します" - - #. Translators: Specify the order of %s with your translation. - #. It will be "Input Mode (A)" for example. --#: ../engine/python2/engine.py:280 ../engine/python2/engine.py:368 --#: ../engine/python2/engine.py:435 ../engine/python2/engine.py:511 --#: ../engine/python2/engine.py:842 ../engine/python2/engine.py:870 --#: ../engine/python2/engine.py:894 ../engine/python2/engine.py:920 --#: ../engine/python2/engine.py:982 ../engine/python3/engine.py:281 --#: ../engine/python3/engine.py:369 ../engine/python3/engine.py:436 --#: ../engine/python3/engine.py:512 ../engine/python3/engine.py:837 --#: ../engine/python3/engine.py:865 ../engine/python3/engine.py:889 --#: ../engine/python3/engine.py:915 ../engine/python3/engine.py:977 -+#: ../engine/python2/engine.py:351 ../engine/python2/engine.py:439 -+#: ../engine/python2/engine.py:506 ../engine/python2/engine.py:582 -+#: ../engine/python2/engine.py:913 ../engine/python2/engine.py:944 -+#: ../engine/python2/engine.py:968 ../engine/python2/engine.py:994 -+#: ../engine/python2/engine.py:1056 ../engine/python3/engine.py:352 -+#: ../engine/python3/engine.py:440 ../engine/python3/engine.py:507 -+#: ../engine/python3/engine.py:583 ../engine/python3/engine.py:908 -+#: ../engine/python3/engine.py:939 ../engine/python3/engine.py:963 -+#: ../engine/python3/engine.py:989 ../engine/python3/engine.py:1051 - #, python-format - msgid "%(description)s (%(symbol)s)" - msgstr "%(description)s (%(symbol)s)" - --#: ../engine/python2/engine.py:281 ../engine/python2/engine.py:843 --#: ../engine/python3/engine.py:282 ../engine/python3/engine.py:838 --#: ../setup/python2/main.py:393 ../setup/python3/main.py:398 -+#: ../engine/python2/engine.py:352 ../engine/python2/engine.py:914 -+#: ../engine/python3/engine.py:353 ../engine/python3/engine.py:909 -+#: ../setup/python2/main.py:397 ../setup/python3/main.py:402 - msgid "Input mode" - msgstr "入力モード" - --#: ../engine/python2/engine.py:287 ../engine/python3/engine.py:288 -+#: ../engine/python2/engine.py:358 ../engine/python3/engine.py:359 - msgid "Switch input mode" - msgstr "入力モードを切り替えます" - --#: ../engine/python2/engine.py:297 ../engine/python3/engine.py:298 -+#: ../engine/python2/engine.py:368 ../engine/python3/engine.py:369 - #: ../setup/python2/setup.ui.h:1 ../setup/python3/setup.ui.h:1 - msgid "Hiragana" - msgstr "ひらがな" - --#: ../engine/python2/engine.py:306 ../engine/python3/engine.py:307 -+#: ../engine/python2/engine.py:377 ../engine/python3/engine.py:378 - #: ../setup/python2/setup.ui.h:2 ../setup/python3/setup.ui.h:2 - msgid "Katakana" - msgstr "カタカナ" - --#: ../engine/python2/engine.py:315 ../engine/python3/engine.py:316 -+#: ../engine/python2/engine.py:386 ../engine/python3/engine.py:387 - #: ../setup/python2/setup.ui.h:3 ../setup/python3/setup.ui.h:3 - msgid "Halfwidth Katakana" - msgstr "半角カタカナ" - --#: ../engine/python2/engine.py:324 ../engine/python3/engine.py:325 -+#: ../engine/python2/engine.py:395 ../engine/python3/engine.py:396 - #: ../setup/python2/setup.ui.h:4 ../setup/python3/setup.ui.h:4 - msgid "Latin" - msgstr "英数" - --#: ../engine/python2/engine.py:333 ../engine/python3/engine.py:334 -+#: ../engine/python2/engine.py:404 ../engine/python3/engine.py:405 - #: ../setup/python2/setup.ui.h:5 ../setup/python3/setup.ui.h:5 - msgid "Wide Latin" - msgstr "全角英数" - --#: ../engine/python2/engine.py:369 ../engine/python2/engine.py:871 --#: ../engine/python2/engine.py:895 ../engine/python3/engine.py:370 --#: ../engine/python3/engine.py:866 ../engine/python3/engine.py:890 --#: ../setup/python2/main.py:396 ../setup/python3/main.py:401 -+#: ../engine/python2/engine.py:440 ../engine/python2/engine.py:945 -+#: ../engine/python2/engine.py:969 ../engine/python3/engine.py:441 -+#: ../engine/python3/engine.py:940 ../engine/python3/engine.py:964 -+#: ../setup/python2/main.py:400 ../setup/python3/main.py:405 - msgid "Typing method" - msgstr "入力タイプ" - --#: ../engine/python2/engine.py:375 ../engine/python3/engine.py:376 -+#: ../engine/python2/engine.py:446 ../engine/python3/engine.py:447 - msgid "Switch typing method" - msgstr "入力タイプを切り替えます" - --#: ../engine/python2/engine.py:385 ../engine/python3/engine.py:386 -+#: ../engine/python2/engine.py:456 ../engine/python3/engine.py:457 - #: ../setup/python2/setup.ui.h:12 ../setup/python3/setup.ui.h:12 - msgid "Romaji" - msgstr "ローマ字" - --#: ../engine/python2/engine.py:394 ../engine/python3/engine.py:395 -+#: ../engine/python2/engine.py:465 ../engine/python3/engine.py:466 - #: ../setup/python2/setup.ui.h:13 ../setup/python3/setup.ui.h:13 - msgid "Kana" - msgstr "かな" - --#: ../engine/python2/engine.py:403 ../engine/python3/engine.py:404 -+#: ../engine/python2/engine.py:474 ../engine/python3/engine.py:475 - #: ../setup/python2/setup.ui.h:14 ../setup/python3/setup.ui.h:14 - msgid "Thumb shift" - msgstr "親指シフト" - --#: ../engine/python2/engine.py:436 ../engine/python2/engine.py:921 --#: ../engine/python3/engine.py:437 ../engine/python3/engine.py:916 --#: ../setup/python2/main.py:399 ../setup/python3/main.py:404 -+#: ../engine/python2/engine.py:507 ../engine/python2/engine.py:995 -+#: ../engine/python3/engine.py:508 ../engine/python3/engine.py:990 -+#: ../setup/python2/main.py:403 ../setup/python3/main.py:408 - msgid "Segment mode" - msgstr "文節モード" - --#: ../engine/python2/engine.py:442 ../engine/python3/engine.py:443 -+#: ../engine/python2/engine.py:513 ../engine/python3/engine.py:514 - msgid "Switch conversion mode" - msgstr "変換モードを切り替えます" - --#: ../engine/python2/engine.py:452 ../engine/python3/engine.py:453 -+#: ../engine/python2/engine.py:523 ../engine/python3/engine.py:524 - #: ../setup/python2/setup.ui.h:15 ../setup/python3/setup.ui.h:15 - msgid "Multiple segment" - msgstr "連文節" - --#: ../engine/python2/engine.py:461 ../engine/python3/engine.py:462 -+#: ../engine/python2/engine.py:532 ../engine/python3/engine.py:533 - #: ../setup/python2/setup.ui.h:16 ../setup/python3/setup.ui.h:16 - msgid "Single segment" - msgstr "単文節" - --#: ../engine/python2/engine.py:470 ../engine/python3/engine.py:471 -+#: ../engine/python2/engine.py:541 ../engine/python3/engine.py:542 - #: ../setup/python2/setup.ui.h:17 ../setup/python3/setup.ui.h:17 - msgid "Immediate conversion (multiple segment)" - msgstr "逐次変換 (連文節)" - --#: ../engine/python2/engine.py:479 ../engine/python3/engine.py:480 -+#: ../engine/python2/engine.py:550 ../engine/python3/engine.py:551 - #: ../setup/python2/setup.ui.h:18 ../setup/python3/setup.ui.h:18 - msgid "Immediate conversion (single segment)" - msgstr "逐次変換 (単文節)" - --#: ../engine/python2/engine.py:512 ../engine/python2/engine.py:983 --#: ../engine/python3/engine.py:513 ../engine/python3/engine.py:978 --#: ../setup/python2/main.py:402 ../setup/python3/main.py:407 -+#: ../engine/python2/engine.py:583 ../engine/python2/engine.py:1057 -+#: ../engine/python3/engine.py:584 ../engine/python3/engine.py:1052 -+#: ../setup/python2/main.py:406 ../setup/python3/main.py:411 - msgid "Dictionary mode" - msgstr "辞書モード" - --#: ../engine/python2/engine.py:518 ../engine/python3/engine.py:519 -+#: ../engine/python2/engine.py:589 ../engine/python3/engine.py:590 - msgid "Switch dictionary" - msgstr "辞書を切り替えます" - --#: ../engine/python2/engine.py:601 ../engine/python3/engine.py:601 --#: ../setup/python2/main.py:405 ../setup/python3/main.py:410 -+#: ../engine/python2/engine.py:672 ../engine/python3/engine.py:672 -+#: ../setup/python2/main.py:409 ../setup/python3/main.py:414 - msgid "Dictionary - Anthy" - msgstr "辞書 - Anthy" - - #. Translators: "Dic" means 'dictionary', One kanji may be good. --#: ../engine/python2/engine.py:607 ../engine/python3/engine.py:606 -+#: ../engine/python2/engine.py:678 ../engine/python3/engine.py:677 - msgid "Dic" - msgstr "辞" - --#: ../engine/python2/engine.py:614 ../engine/python3/engine.py:613 -+#: ../engine/python2/engine.py:685 ../engine/python3/engine.py:684 - msgid "Configure dictionaries" - msgstr "辞書を構成します" - --#: ../engine/python2/engine.py:624 ../engine/python3/engine.py:623 -+#: ../engine/python2/engine.py:695 ../engine/python3/engine.py:694 - msgid "Edit dictionaries" - msgstr "辞書を編集する" - --#: ../engine/python2/engine.py:626 ../engine/python3/engine.py:625 -+#: ../engine/python2/engine.py:697 ../engine/python3/engine.py:696 - msgid "Launch the dictionary tool" - msgstr "辞書ツールを起動する" - --#: ../engine/python2/engine.py:633 ../engine/python3/engine.py:632 -+#: ../engine/python2/engine.py:704 ../engine/python3/engine.py:703 - msgid "Add words" - msgstr "単語を追加する" - --#: ../engine/python2/engine.py:635 ../engine/python3/engine.py:634 -+#: ../engine/python2/engine.py:706 ../engine/python3/engine.py:705 - msgid "Add words to the dictionary" - msgstr "辞書に単語を追加する" - --#: ../setup/python2/anthyprefs.py.in:1104 ../setup/python2/setup.ui.h:35 --#: ../setup/python3/anthyprefs.py.in:1097 ../setup/python3/setup.ui.h:35 -+#: ../setup/python2/anthyprefs.py.in:1106 ../setup/python2/setup.ui.h:36 -+#: ../setup/python3/anthyprefs.py.in:1099 ../setup/python3/setup.ui.h:36 - msgid "General" - msgstr "一般" - --#: ../setup/python2/anthyprefs.py.in:1115 --#: ../setup/python3/anthyprefs.py.in:1108 -+#: ../setup/python2/anthyprefs.py.in:1117 -+#: ../setup/python3/anthyprefs.py.in:1110 - msgid "Zip Code Conversion" - msgstr "郵便番号変換" - --#: ../setup/python2/anthyprefs.py.in:1126 --#: ../setup/python3/anthyprefs.py.in:1119 -+#: ../setup/python2/anthyprefs.py.in:1128 -+#: ../setup/python3/anthyprefs.py.in:1121 - msgid "Symbol" - msgstr "記号" - --#: ../setup/python2/anthyprefs.py.in:1137 --#: ../setup/python3/anthyprefs.py.in:1130 -+#: ../setup/python2/anthyprefs.py.in:1139 -+#: ../setup/python3/anthyprefs.py.in:1132 - msgid "Old Character Style" - msgstr "旧字体" - --#: ../setup/python2/anthyprefs.py.in:1147 --#: ../setup/python3/anthyprefs.py.in:1140 -+#: ../setup/python2/anthyprefs.py.in:1149 -+#: ../setup/python3/anthyprefs.py.in:1142 - msgid "Era" - msgstr "年号" - --#: ../setup/python2/anthyprefs.py.in:1157 --#: ../setup/python3/anthyprefs.py.in:1150 -+#: ../setup/python2/anthyprefs.py.in:1159 -+#: ../setup/python3/anthyprefs.py.in:1152 - msgid "Emoji" - msgstr "絵文字" - -@@ -227,276 +227,276 @@ msgstr "IBus Anthy エンジンの設定" - msgid "ibus is not running." - msgstr "ibus が起動していません。" - --#: ../setup/python2/main.py:180 ../setup/python3/main.py:183 -+#: ../setup/python2/main.py:181 ../setup/python3/main.py:184 - msgid "Menu label" - msgstr "メニューラベル" - --#: ../setup/python2/main.py:199 ../setup/python3/main.py:202 -+#: ../setup/python2/main.py:200 ../setup/python3/main.py:203 - msgid "Command" - msgstr "コマンド" - --#: ../setup/python2/main.py:203 ../setup/python3/main.py:206 -+#: ../setup/python2/main.py:204 ../setup/python3/main.py:207 - msgid "Shortcut" - msgstr "ショートカット" - --#: ../setup/python2/main.py:248 ../setup/python3/main.py:251 -+#: ../setup/python2/main.py:249 ../setup/python3/main.py:252 - msgid "Description" - msgstr "説明" - - #. Translators: "Embd" is an abbreviation of "embedded". --#: ../setup/python2/main.py:256 ../setup/python3/main.py:259 -+#: ../setup/python2/main.py:257 ../setup/python3/main.py:260 - msgid "Embd" - msgstr "組" - - #. Translators: "Sgl" is an abbreviation of "single". --#: ../setup/python2/main.py:264 ../setup/python3/main.py:267 -+#: ../setup/python2/main.py:265 ../setup/python3/main.py:268 - msgid "Sgl" - msgstr "単" - --#: ../setup/python2/main.py:439 ../setup/python2/main.py:475 --#: ../setup/python3/main.py:444 ../setup/python3/main.py:480 -+#: ../setup/python2/main.py:443 ../setup/python2/main.py:479 -+#: ../setup/python3/main.py:448 ../setup/python3/main.py:484 - msgid "Input Chars" - msgstr "入力文字" - --#: ../setup/python2/main.py:441 ../setup/python2/main.py:477 --#: ../setup/python3/main.py:446 ../setup/python3/main.py:482 -+#: ../setup/python2/main.py:445 ../setup/python2/main.py:481 -+#: ../setup/python3/main.py:450 ../setup/python3/main.py:486 - msgid "Output Chars" - msgstr "出力文字" - --#: ../setup/python2/main.py:523 ../setup/python3/main.py:528 -+#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 - msgid "Input" - msgstr "入力" - --#: ../setup/python2/main.py:525 ../setup/python3/main.py:530 -+#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 - msgid "Single" - msgstr "単" - --#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 -+#: ../setup/python2/main.py:531 ../setup/python3/main.py:536 - msgid "Left" - msgstr "左" - --#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 -+#: ../setup/python2/main.py:533 ../setup/python3/main.py:538 - msgid "Right" - msgstr "右" - --#: ../setup/python2/main.py:611 ../setup/python3/main.py:616 -+#: ../setup/python2/main.py:615 ../setup/python3/main.py:620 - msgid "Customize Romaji Key Table" - msgstr "ローマ字キーテーブルのカスタマイズ" - --#: ../setup/python2/main.py:612 ../setup/python2/setup.ui.h:53 --#: ../setup/python3/main.py:617 ../setup/python3/setup.ui.h:53 -+#: ../setup/python2/main.py:616 ../setup/python2/setup.ui.h:54 -+#: ../setup/python3/main.py:621 ../setup/python3/setup.ui.h:54 - msgid "_Romaji Key Table:" - msgstr "ローマ字キーテーブル(_R):" - --#: ../setup/python2/main.py:613 ../setup/python2/main.py:619 --#: ../setup/python3/main.py:618 ../setup/python3/main.py:624 -+#: ../setup/python2/main.py:617 ../setup/python2/main.py:623 -+#: ../setup/python3/main.py:622 ../setup/python3/main.py:628 - msgid "_Output Chars" - msgstr "出力文字(_O)" - --#: ../setup/python2/main.py:614 ../setup/python2/main.py:1114 --#: ../setup/python2/main.py:1196 ../setup/python2/setup.ui.h:26 --#: ../setup/python3/main.py:619 ../setup/python3/main.py:1108 --#: ../setup/python3/main.py:1190 ../setup/python3/setup.ui.h:26 -+#: ../setup/python2/main.py:618 ../setup/python2/main.py:1118 -+#: ../setup/python2/main.py:1200 ../setup/python2/setup.ui.h:26 -+#: ../setup/python3/main.py:623 ../setup/python3/main.py:1112 -+#: ../setup/python3/main.py:1194 ../setup/python3/setup.ui.h:26 - msgid "Default" - msgstr "デフォルト" - --#: ../setup/python2/main.py:617 ../setup/python3/main.py:622 -+#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 - msgid "Customize Kana Key Table" - msgstr "かなキーテーブルのカスタマイズ" - --#: ../setup/python2/main.py:618 ../setup/python2/setup.ui.h:55 --#: ../setup/python3/main.py:623 ../setup/python3/setup.ui.h:55 -+#: ../setup/python2/main.py:622 ../setup/python2/setup.ui.h:56 -+#: ../setup/python3/main.py:627 ../setup/python3/setup.ui.h:56 - msgid "_Kana Key Table:" - msgstr "かなキーテーブル(_K):" - --#: ../setup/python2/main.py:620 ../setup/python3/main.py:625 -+#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 - msgid "Japanese Keyboard Layout" - msgstr "日本語キーボードレイアウト" - --#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 -+#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 - msgid "U.S. Keyboard Layout" - msgstr "U.S. キーボードレイアウト" - --#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 -+#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 - msgid "Customize Thumb Shift Key Table" - msgstr "親指シフトキーテーブルのカスタマイズ" - --#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 -+#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 - msgid "_Thumb Shift Key Table:" - msgstr "親指シフトキーテーブル(_T):" - --#: ../setup/python2/main.py:626 ../setup/python3/main.py:631 -+#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 - msgid "Single _Output Chars" - msgstr "単出力文字(_O)" - --#: ../setup/python2/main.py:627 ../setup/python3/main.py:632 -+#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 - msgid "Base" - msgstr "基本" - --#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 -+#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 - msgid "NICOLA-J key extension" - msgstr "NICOLA-J キー拡張" - --#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 -+#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 - msgid "NICOLA-A key extension" - msgstr "NICOLA-A キー拡張" - --#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 -+#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 - msgid "NICOLA-F key extension" - msgstr "NICOLA-F キー拡張" - --#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 -+#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 - msgid "FMV KB231-J key extension" - msgstr "FMV KB231-J キー拡張" - --#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 -+#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 - msgid "FMV KB231-A key extension" - msgstr "FMV KB231-A キー拡張" - --#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 -+#: ../setup/python2/main.py:637 ../setup/python3/main.py:642 - msgid "FMV KB231-F key extension" - msgstr "FMV KB231-F キー拡張" - --#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 -+#: ../setup/python2/main.py:638 ../setup/python3/main.py:643 - msgid "FMV KB611-J key extension" - msgstr "FMV KB611-J キー拡張" - --#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 -+#: ../setup/python2/main.py:639 ../setup/python3/main.py:644 - msgid "FMV KB611-A key extension" - msgstr "FMV KB611-A キー拡張" - --#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 -+#: ../setup/python2/main.py:640 ../setup/python3/main.py:645 - msgid "FMV KB611-F key extension" - msgstr "FMV KB611-F キー拡張" - --#: ../setup/python2/main.py:780 ../setup/python3/main.py:785 -+#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 - msgid "Your choosed file has already been added: " - msgstr "選択したファイルはすでに追加されています: " - --#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 -+#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 - msgid "The file you have chosen does not exist: " - msgstr "選択したファイルは存在しません: " - --#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 -+#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 - msgid "Your choosed file is a directory: " - msgstr "選択したファイルはディレクトリです: " - --#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 -+#: ../setup/python2/main.py:796 ../setup/python3/main.py:801 - msgid "You cannot add dictionaries in the anthy private directory: " - msgstr "Anthy 私用ディレクトリにあるファイルを追加することはできません: " - --#: ../setup/python2/main.py:799 ../setup/python3/main.py:804 -+#: ../setup/python2/main.py:803 ../setup/python3/main.py:808 - msgid "Your file path is not good: " - msgstr "ファイルパスはよくないです: " - --#: ../setup/python2/main.py:978 ../setup/python3/main.py:981 -+#: ../setup/python2/main.py:982 ../setup/python3/main.py:985 - msgid "The engine xml file does not exist: " - msgstr "エンジン xml ファイルは存在しません: " - --#: ../setup/python2/main.py:1094 ../setup/python3/main.py:1088 -+#: ../setup/python2/main.py:1098 ../setup/python3/main.py:1092 - msgid "" - "Anthy keyboard layout is changed. Please restart ibus to reload the layout." - msgstr "Anthy キーボードレイアウトが変更されました。レイアウトを再読み込みするために ibus を再起動してください。" - --#: ../setup/python2/main.py:1157 ../setup/python3/main.py:1151 -+#: ../setup/python2/main.py:1161 ../setup/python3/main.py:1155 - msgid "Confirmation" - msgstr "確認" - --#: ../setup/python2/main.py:1159 ../setup/python3/main.py:1153 -+#: ../setup/python2/main.py:1163 ../setup/python3/main.py:1157 - msgid "You are about to close the setup dialog, is that OK?" - msgstr "この設定ツールを終了します。よろしいですか?" - --#: ../setup/python2/main.py:1174 ../setup/python3/main.py:1168 -+#: ../setup/python2/main.py:1178 ../setup/python3/main.py:1172 - msgid "Notice!" - msgstr "注意!" - --#: ../setup/python2/main.py:1176 ../setup/python3/main.py:1170 -+#: ../setup/python2/main.py:1180 ../setup/python3/main.py:1174 - msgid "" - "You are about to close the setup dialog without saving your changes, is that " - "OK?" - msgstr "変更を保存せずに終了します。よろしいですか?" - --#: ../setup/python2/main.py:1297 ../setup/python3/main.py:1291 -+#: ../setup/python2/main.py:1301 ../setup/python3/main.py:1295 - msgid "Please specify Input Chars" - msgstr "入力文字を指定してください" - --#: ../setup/python2/main.py:1300 ../setup/python3/main.py:1294 -+#: ../setup/python2/main.py:1304 ../setup/python3/main.py:1298 - msgid "Please specify Output Chars" - msgstr "出力文字を指定してください" - --#: ../setup/python2/main.py:1303 ../setup/python3/main.py:1297 -+#: ../setup/python2/main.py:1307 ../setup/python3/main.py:1301 - msgid "Please specify Left Thumb Shift Chars" - msgstr "左親指シフト文字を指定してください" - --#: ../setup/python2/main.py:1306 ../setup/python3/main.py:1300 -+#: ../setup/python2/main.py:1310 ../setup/python3/main.py:1304 - msgid "Please specify Right Thumb Shift Chars" - msgstr "右親指シフト文字を指定してください" - --#: ../setup/python2/main.py:1319 ../setup/python2/main.py:1363 --#: ../setup/python3/main.py:1313 ../setup/python3/main.py:1357 -+#: ../setup/python2/main.py:1323 ../setup/python2/main.py:1367 -+#: ../setup/python3/main.py:1317 ../setup/python3/main.py:1361 - msgid "Your custom key is not assigned in any sections. Maybe a bug." - msgstr "カスタムキーがどのセクションにも割り当てられていません。たぶんバグです。" - --#: ../setup/python2/main.py:1429 ../setup/python2/main.py:1516 --#: ../setup/python3/main.py:1423 ../setup/python3/main.py:1510 -+#: ../setup/python2/main.py:1433 ../setup/python2/main.py:1520 -+#: ../setup/python3/main.py:1427 ../setup/python3/main.py:1514 - msgid "Your file does not exist: " - msgstr "ファイルは存在しません: " - --#: ../setup/python2/main.py:1439 ../setup/python3/main.py:1433 -+#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 - msgid "Open Dictionary File" - msgstr "辞書ファイルを開く" - --#: ../setup/python2/main.py:1442 ../setup/python2/main.py:1448 --#: ../setup/python2/setup.ui.h:89 ../setup/python3/main.py:1436 --#: ../setup/python3/main.py:1442 ../setup/python3/setup.ui.h:89 -+#: ../setup/python2/main.py:1446 ../setup/python2/main.py:1452 -+#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1440 -+#: ../setup/python3/main.py:1446 ../setup/python3/setup.ui.h:90 - msgid "_Cancel" - msgstr "キャンセル(_C)" - --#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 -+#: ../setup/python2/main.py:1447 ../setup/python3/main.py:1441 - msgid "_Open" - msgstr "開く(_O)" - --#: ../setup/python2/main.py:1446 ../setup/python3/main.py:1440 -+#: ../setup/python2/main.py:1450 ../setup/python3/main.py:1444 - msgid "Edit Dictionary File" - msgstr "辞書ファイルの編集" - --#: ../setup/python2/main.py:1449 ../setup/python2/main.py:1544 --#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1443 --#: ../setup/python3/main.py:1538 ../setup/python3/setup.ui.h:90 -+#: ../setup/python2/main.py:1453 ../setup/python2/main.py:1548 -+#: ../setup/python2/setup.ui.h:91 ../setup/python3/main.py:1447 -+#: ../setup/python3/main.py:1542 ../setup/python3/setup.ui.h:91 - msgid "_OK" - msgstr "OK(_O)" - --#: ../setup/python2/main.py:1460 ../setup/python3/main.py:1454 -+#: ../setup/python2/main.py:1464 ../setup/python3/main.py:1458 - msgid "Your choosed file is not correct." - msgstr "選択したファイルは正しくありません。" - --#: ../setup/python2/main.py:1489 ../setup/python3/main.py:1483 -+#: ../setup/python2/main.py:1493 ../setup/python3/main.py:1487 - msgid "You cannot delete the system dictionary." - msgstr "システム辞書を削除することはできません。" - --#: ../setup/python2/main.py:1512 ../setup/python3/main.py:1506 -+#: ../setup/python2/main.py:1516 ../setup/python3/main.py:1510 - msgid "Your file is not good." - msgstr "ファイルは良くないです。" - --#: ../setup/python2/main.py:1542 ../setup/python3/main.py:1536 -+#: ../setup/python2/main.py:1546 ../setup/python3/main.py:1540 - msgid "View Dictionary File" - msgstr "辞書ファイルの表示" - --#: ../setup/python2/main.py:1694 ../setup/python3/main.py:1688 -+#: ../setup/python2/main.py:1698 ../setup/python3/main.py:1692 - msgid "Please press a key (or a key combination)" - msgstr "キーを入力してください" - --#: ../setup/python2/main.py:1695 ../setup/python3/main.py:1689 -+#: ../setup/python2/main.py:1699 ../setup/python3/main.py:1693 - msgid "The dialog will be closed when the key is released" - msgstr "このダイアログはキーリリース時に閉じられます" - --#: ../setup/python2/main.py:1715 ../setup/python2/main.py:1736 --#: ../setup/python3/main.py:1709 ../setup/python3/main.py:1730 -+#: ../setup/python2/main.py:1719 ../setup/python2/main.py:1740 -+#: ../setup/python3/main.py:1713 ../setup/python3/main.py:1734 - msgid "Invalid keysym" - msgstr "無効なキーシンボル" - --#: ../setup/python2/main.py:1716 ../setup/python2/main.py:1737 --#: ../setup/python3/main.py:1710 ../setup/python3/main.py:1731 -+#: ../setup/python2/main.py:1720 ../setup/python2/main.py:1741 -+#: ../setup/python3/main.py:1714 ../setup/python3/main.py:1735 - msgid "This keysym is not valid" - msgstr "このキーシンボルは有効ではありません" - -@@ -581,298 +581,302 @@ msgid "Initial Setting" - msgstr "初期値の設定" - - #: ../setup/python2/setup.ui.h:34 ../setup/python3/setup.ui.h:34 -+msgid "_Show input mode icon" -+msgstr "入力モードのアイコンを表示する(_S)" -+ -+#: ../setup/python2/setup.ui.h:35 ../setup/python3/setup.ui.h:35 - msgid "Menu Visibility on Status Icon" - msgstr "ステータスアイコン上のメニューの表示" - --#: ../setup/python2/setup.ui.h:36 ../setup/python3/setup.ui.h:36 -+#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 - msgid "_Period Style:" - msgstr "句読点スタイル(_P):" - --#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 -+#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 - msgid "Symbo_l Style:" - msgstr "記号スタイル(_L):" - --#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 -+#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 - msgid "Numpad _Key Type:" - msgstr "テンキータイプ(_K):" - --#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 -+#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 - msgid "_Behavior on Period:" - msgstr "句読点入力時の動作(_B):" - --#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 -+#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 - msgid "Behavior on _Focus Out:" - msgstr "フォーカスアウト時の動作(_F):" - --#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 -+#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 - msgid "Behavior" - msgstr "動作" - --#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 -+#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 - msgid "Candidate _Window Page Size:" - msgstr "候補ウインドウの項目数(_W):" - --#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 -+#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 - msgid "Convert _symbols with the one column width" - msgstr "記号を半角で変換する(_S)" - --#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 -+#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 - msgid "Convert _numbers with the one column width" - msgstr "数字を半角で変換する(_N)" - --#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 -+#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 - msgid "Con_vert spaces with the one column width" - msgstr "空白を半角で変換する(_V)" - --#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 -+#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 - msgid "" - "Swi_tch “Hiragana” and “Latin” with Shift key and Hiragana–Katakana key in " - "preedit" - msgstr "前変換候補において「ひらがな」と「英数」をシフトキーとひらがな・カタカナキーで切り替える(_T)" - --#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 -+#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 - msgid "Other" - msgstr "その他" - --#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 -+#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 - msgid "Conversion" - msgstr "変換" - --#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 -+#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 - msgid "_Shortcut Type:" - msgstr "ショートカットタイプ(_S):" - --#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 -+#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 - msgid "De_fault" - msgstr "デフォルト(_F)" - --#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 -+#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 - msgid "_Edit" - msgstr "編集(_E)" - --#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 -+#: ../setup/python2/setup.ui.h:53 ../setup/python3/setup.ui.h:53 - msgid "Key Binding" - msgstr "キー割り当て" - --#: ../setup/python2/setup.ui.h:54 ../setup/python3/setup.ui.h:54 -+#: ../setup/python2/setup.ui.h:55 ../setup/python3/setup.ui.h:55 - msgid "Romaji" - msgstr "ローマ字" - --#: ../setup/python2/setup.ui.h:56 ../setup/python3/setup.ui.h:56 -+#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 - msgid "Kana" - msgstr "かな" - --#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 -+#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 - msgid "Keyboad _layout:" - msgstr "キーボードレイアウト(_L):" - --#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 -+#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 - msgid "Keyboard layout" - msgstr "キーボードレイアウト" - --#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 -+#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 - msgid "Typing Method" - msgstr "入力タイプ" - --#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 -+#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 - msgid "_Left Thumb Shift Key:" - msgstr "左親指シフトキー(_L):" - --#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 -+#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 - msgid "Right _Thumb Shift Key:" - msgstr "右親指シフトキー(_T):" - --#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 -+#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 - msgid "Adjust _input method layout to system keyboard layout" - msgstr "インプットメソッドレイアウトをシステムキーボードレイアウトに合わせる(_I)" - --#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 -+#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 - msgid "Adjust IM layout to XKB layout" - msgstr "IM レイアウトを XKB レイアウトに合わせる" - --#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 -+#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 - msgid "Input _Method Layout:" - msgstr "インプットメソッドレイアウト(_M):" - --#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 -+#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 - msgid "Restart IBus when you change the keyboard layout" - msgstr "キーボードレイアウトを変更するときは IBus をリスタートしてください" - --#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 -+#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 - msgid "Restart IBus when you change XKB" - msgstr "XKB を変更するときは IBus を再起動してください" - --#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 -+#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 - msgid "_Additional Key Arrangement:" - msgstr "追加のキー割り当て(_A):" - --#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 -+#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 - msgid "" - "'~', '『', '¢', '£' and so on can be output with " - "Thumb Shift key" - msgstr "親指シフトキーで '~', '『', '¢', '£' 等を入力することが可能です" - --#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 -+#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 - msgid "" - "You do not have to reconfigure the system keyboard layout for \"Additional " - "Key Arrangement\" since this option changes input method layout only in case " - "input method is turned on." - msgstr "このオプションはインプットメソッドがオンの場合にインプットメソッドレイアウトのみを変更するので「追加のキー割り当て」のためにシステムキーボードレイアウトを再構成する必要はありません。" - --#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 -+#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 - msgid "" - "You do not have to reconfigure XKB since this option changes IM layout only " - "with IM on." - msgstr "このオプションは IM オンで IM レイアウトのみを変更するので XKB を再構成する必要はありません。" - --#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 -+#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 - msgid "_Enable semi-voiced sound mark with Shift key" - msgstr "シフトキーで半濁点を可能にする(_E)" - --#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 -+#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 - msgid "Seion + Shift can output Handakuon" - msgstr "清音 + シフトで半濁音を出力することが可能です" - --#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 -+#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 - msgid "Thumb _Shift Key Table:" - msgstr "親指シフトキーテーブル(_S):" - --#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 -+#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 - msgid "Thumb Shift Layout" - msgstr "親指シフトレイアウト" - --#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 -+#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 - msgid "Thumb Shift" - msgstr "親指シフト" - --#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 -+#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 - msgid "_Edit Dictionary Command:" - msgstr "辞書の編集コマンド(_E):" - --#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 -+#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 - msgid "_Add Word Command:" - msgstr "単語の追加コマンド(_A):" - --#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 -+#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 - msgid "Default Dictionary Configuration" - msgstr "デフォルト辞書の構成" - --#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 -+#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 - msgid "_View" - msgstr "表示(_V)" - --#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 -+#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 - msgid "_Add" - msgstr "追加(_A)" - --#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 -+#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 - msgid "_Delete" - msgstr "削除(_D)" - --#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 -+#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 - msgid "_Up" - msgstr "上へ(_U)" - --#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 -+#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 - msgid "You can change the order on language bar" - msgstr "言語バー上で順序を変更することが可能です" - --#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 -+#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 - msgid "_Down" - msgstr "下へ(_D)" - --#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 -+#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 - msgid "Extended Dictionaries" - msgstr "拡張辞書" - --#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 -+#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 - msgid "Dictionary" - msgstr "辞書" - --#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 -+#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 - msgid "About" - msgstr "情報" - --#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 -+#: ../setup/python2/setup.ui.h:89 ../setup/python3/setup.ui.h:89 - msgid "_Apply" - msgstr "適用(_A)" - --#: ../setup/python2/setup.ui.h:91 ../setup/python3/setup.ui.h:91 -+#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 - msgid "Edit Shortcut" - msgstr "ショートカットの編集" - --#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 -+#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 - msgid "Key Code:" - msgstr "キーコード:" - --#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 -+#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 - msgid "Modifier:" - msgstr "キー修飾:" - --#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 -+#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 - msgid "A_lternate" - msgstr "A_lt" - --#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 -+#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 - msgid "Co_ntrol" - msgstr "Co_ntrol" - --#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 -+#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 - msgid "_Shift" - msgstr "_Shift" - --#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 -+#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 - msgid "_Refresh" - msgstr "更新(_R)" - --#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 -+#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 - msgid "_Input Characters" - msgstr "入力文字(_I)" - --#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 -+#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 - msgid "_Output Characters" - msgstr "出力文字(_O)" - --#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 -+#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 - msgid "_Left Thumb Shift" - msgstr "左親指シフト(_L)" - --#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 -+#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 - msgid "_Right Thumb Shift" - msgstr "右親指シフト(_R)" - --#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 -+#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 - msgid "_Remove" - msgstr "削除(_R)" - --#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 -+#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 - msgid "_Close" - msgstr "閉じる(_C)" - --#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 -+#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 - msgid "_Short Label:" - msgstr "短ラベル(_S):" - --#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 -+#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 - msgid "_Description:" - msgstr "説明(_D):" - --#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 -+#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 - msgid "_Use your dictionary alone with switching dictionaries" - msgstr "辞書を切り替えることで選択した辞書を単独で使用する(_U)" - --#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 -+#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 - msgid "_Embed your dictionary in the system dictionary" - msgstr "システム辞書にユーザー辞書を組み込む(_E)" - --#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 -+#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 - msgid "Enable the _reverse conversion" - msgstr "逆変換を可能にする(_R)" - --#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 -+#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 - msgid "The Anthy engine for the IBus input platform" - msgstr "IBus 入力プラットフォーム用 Anthy エンジン" - --#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 -+#: ../setup/python2/setup.ui.h:111 ../setup/python3/setup.ui.h:111 - msgid "translator_credits" - msgstr "UTUMI Hirosi " -diff --git a/po/zh_CN.po b/po/zh_CN.po -index cf4f026..db9b54e 100644 ---- a/po/zh_CN.po -+++ b/po/zh_CN.po -@@ -11,17 +11,17 @@ msgid "" - msgstr "" - "Project-Id-Version: IBus-Anthy\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/entry\n" --"POT-Creation-Date: 2014-08-21 18:57+0900\n" -+"POT-Creation-Date: 2014-08-21 19:31+0900\n" - "PO-Revision-Date: 2014-02-18 08:42+0000\n" - "Last-Translator: Peng Huang \n" - "Language-Team: Peng Huang \n" -+"Language: zh_CN\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"Language: zh_CN\n" - "Plural-Forms: nplurals=1; plural=0;\n" - --#: ../engine/python2/engine.py:193 ../engine/python3/engine.py:194 -+#: ../engine/python2/engine.py:197 ../engine/python3/engine.py:198 - msgid "" - "Could not enable Anthy.\n" - "The end of the content of the file .anthy/last-record2_default.utf8 in your " -@@ -29,188 +29,188 @@ msgid "" - "Please fix the file or remove it by manual and restart IBus." - msgstr "" - --#: ../engine/python2/engine.py:241 ../engine/python3/engine.py:242 --#: ../setup/python2/main.py:408 ../setup/python3/main.py:413 -+#: ../engine/python2/engine.py:245 ../engine/python3/engine.py:246 -+#: ../setup/python2/main.py:412 ../setup/python3/main.py:417 - msgid "Preferences - Anthy" - msgstr "- Anthy" - --#: ../engine/python2/engine.py:243 ../engine/python3/engine.py:244 -+#: ../engine/python2/engine.py:247 ../engine/python3/engine.py:248 - msgid "Configure Anthy" - msgstr "" - - #. Translators: Specify the order of %s with your translation. - #. It will be "Input Mode (A)" for example. --#: ../engine/python2/engine.py:280 ../engine/python2/engine.py:368 --#: ../engine/python2/engine.py:435 ../engine/python2/engine.py:511 --#: ../engine/python2/engine.py:842 ../engine/python2/engine.py:870 --#: ../engine/python2/engine.py:894 ../engine/python2/engine.py:920 --#: ../engine/python2/engine.py:982 ../engine/python3/engine.py:281 --#: ../engine/python3/engine.py:369 ../engine/python3/engine.py:436 --#: ../engine/python3/engine.py:512 ../engine/python3/engine.py:837 --#: ../engine/python3/engine.py:865 ../engine/python3/engine.py:889 --#: ../engine/python3/engine.py:915 ../engine/python3/engine.py:977 -+#: ../engine/python2/engine.py:351 ../engine/python2/engine.py:439 -+#: ../engine/python2/engine.py:506 ../engine/python2/engine.py:582 -+#: ../engine/python2/engine.py:913 ../engine/python2/engine.py:944 -+#: ../engine/python2/engine.py:968 ../engine/python2/engine.py:994 -+#: ../engine/python2/engine.py:1056 ../engine/python3/engine.py:352 -+#: ../engine/python3/engine.py:440 ../engine/python3/engine.py:507 -+#: ../engine/python3/engine.py:583 ../engine/python3/engine.py:908 -+#: ../engine/python3/engine.py:939 ../engine/python3/engine.py:963 -+#: ../engine/python3/engine.py:989 ../engine/python3/engine.py:1051 - #, python-format - msgid "%(description)s (%(symbol)s)" - msgstr "" - --#: ../engine/python2/engine.py:281 ../engine/python2/engine.py:843 --#: ../engine/python3/engine.py:282 ../engine/python3/engine.py:838 --#: ../setup/python2/main.py:393 ../setup/python3/main.py:398 -+#: ../engine/python2/engine.py:352 ../engine/python2/engine.py:914 -+#: ../engine/python3/engine.py:353 ../engine/python3/engine.py:909 -+#: ../setup/python2/main.py:397 ../setup/python3/main.py:402 - msgid "Input mode" - msgstr "" - --#: ../engine/python2/engine.py:287 ../engine/python3/engine.py:288 -+#: ../engine/python2/engine.py:358 ../engine/python3/engine.py:359 - msgid "Switch input mode" - msgstr "切换输入模式" - --#: ../engine/python2/engine.py:297 ../engine/python3/engine.py:298 -+#: ../engine/python2/engine.py:368 ../engine/python3/engine.py:369 - #: ../setup/python2/setup.ui.h:1 ../setup/python3/setup.ui.h:1 - msgid "Hiragana" - msgstr "平假名" - --#: ../engine/python2/engine.py:306 ../engine/python3/engine.py:307 -+#: ../engine/python2/engine.py:377 ../engine/python3/engine.py:378 - #: ../setup/python2/setup.ui.h:2 ../setup/python3/setup.ui.h:2 - msgid "Katakana" - msgstr "片假名" - --#: ../engine/python2/engine.py:315 ../engine/python3/engine.py:316 -+#: ../engine/python2/engine.py:386 ../engine/python3/engine.py:387 - #: ../setup/python2/setup.ui.h:3 ../setup/python3/setup.ui.h:3 - msgid "Halfwidth Katakana" - msgstr "" - --#: ../engine/python2/engine.py:324 ../engine/python3/engine.py:325 -+#: ../engine/python2/engine.py:395 ../engine/python3/engine.py:396 - #: ../setup/python2/setup.ui.h:4 ../setup/python3/setup.ui.h:4 - msgid "Latin" - msgstr "英数" - --#: ../engine/python2/engine.py:333 ../engine/python3/engine.py:334 -+#: ../engine/python2/engine.py:404 ../engine/python3/engine.py:405 - #: ../setup/python2/setup.ui.h:5 ../setup/python3/setup.ui.h:5 - msgid "Wide Latin" - msgstr "全角英数" - --#: ../engine/python2/engine.py:369 ../engine/python2/engine.py:871 --#: ../engine/python2/engine.py:895 ../engine/python3/engine.py:370 --#: ../engine/python3/engine.py:866 ../engine/python3/engine.py:890 --#: ../setup/python2/main.py:396 ../setup/python3/main.py:401 -+#: ../engine/python2/engine.py:440 ../engine/python2/engine.py:945 -+#: ../engine/python2/engine.py:969 ../engine/python3/engine.py:441 -+#: ../engine/python3/engine.py:940 ../engine/python3/engine.py:964 -+#: ../setup/python2/main.py:400 ../setup/python3/main.py:405 - msgid "Typing method" - msgstr "" - --#: ../engine/python2/engine.py:375 ../engine/python3/engine.py:376 -+#: ../engine/python2/engine.py:446 ../engine/python3/engine.py:447 - msgid "Switch typing method" - msgstr "" - --#: ../engine/python2/engine.py:385 ../engine/python3/engine.py:386 -+#: ../engine/python2/engine.py:456 ../engine/python3/engine.py:457 - #: ../setup/python2/setup.ui.h:12 ../setup/python3/setup.ui.h:12 - msgid "Romaji" - msgstr "罗马字" - --#: ../engine/python2/engine.py:394 ../engine/python3/engine.py:395 -+#: ../engine/python2/engine.py:465 ../engine/python3/engine.py:466 - #: ../setup/python2/setup.ui.h:13 ../setup/python3/setup.ui.h:13 - msgid "Kana" - msgstr "假名" - --#: ../engine/python2/engine.py:403 ../engine/python3/engine.py:404 -+#: ../engine/python2/engine.py:474 ../engine/python3/engine.py:475 - #: ../setup/python2/setup.ui.h:14 ../setup/python3/setup.ui.h:14 - msgid "Thumb shift" - msgstr "" - --#: ../engine/python2/engine.py:436 ../engine/python2/engine.py:921 --#: ../engine/python3/engine.py:437 ../engine/python3/engine.py:916 --#: ../setup/python2/main.py:399 ../setup/python3/main.py:404 -+#: ../engine/python2/engine.py:507 ../engine/python2/engine.py:995 -+#: ../engine/python3/engine.py:508 ../engine/python3/engine.py:990 -+#: ../setup/python2/main.py:403 ../setup/python3/main.py:408 - msgid "Segment mode" - msgstr "" - --#: ../engine/python2/engine.py:442 ../engine/python3/engine.py:443 -+#: ../engine/python2/engine.py:513 ../engine/python3/engine.py:514 - msgid "Switch conversion mode" - msgstr "" - --#: ../engine/python2/engine.py:452 ../engine/python3/engine.py:453 -+#: ../engine/python2/engine.py:523 ../engine/python3/engine.py:524 - #: ../setup/python2/setup.ui.h:15 ../setup/python3/setup.ui.h:15 - msgid "Multiple segment" - msgstr "" - --#: ../engine/python2/engine.py:461 ../engine/python3/engine.py:462 -+#: ../engine/python2/engine.py:532 ../engine/python3/engine.py:533 - #: ../setup/python2/setup.ui.h:16 ../setup/python3/setup.ui.h:16 - msgid "Single segment" - msgstr "" - --#: ../engine/python2/engine.py:470 ../engine/python3/engine.py:471 -+#: ../engine/python2/engine.py:541 ../engine/python3/engine.py:542 - #: ../setup/python2/setup.ui.h:17 ../setup/python3/setup.ui.h:17 - msgid "Immediate conversion (multiple segment)" - msgstr "" - --#: ../engine/python2/engine.py:479 ../engine/python3/engine.py:480 -+#: ../engine/python2/engine.py:550 ../engine/python3/engine.py:551 - #: ../setup/python2/setup.ui.h:18 ../setup/python3/setup.ui.h:18 - msgid "Immediate conversion (single segment)" - msgstr "" - --#: ../engine/python2/engine.py:512 ../engine/python2/engine.py:983 --#: ../engine/python3/engine.py:513 ../engine/python3/engine.py:978 --#: ../setup/python2/main.py:402 ../setup/python3/main.py:407 -+#: ../engine/python2/engine.py:583 ../engine/python2/engine.py:1057 -+#: ../engine/python3/engine.py:584 ../engine/python3/engine.py:1052 -+#: ../setup/python2/main.py:406 ../setup/python3/main.py:411 - msgid "Dictionary mode" - msgstr "" - --#: ../engine/python2/engine.py:518 ../engine/python3/engine.py:519 -+#: ../engine/python2/engine.py:589 ../engine/python3/engine.py:590 - msgid "Switch dictionary" - msgstr "" - --#: ../engine/python2/engine.py:601 ../engine/python3/engine.py:601 --#: ../setup/python2/main.py:405 ../setup/python3/main.py:410 -+#: ../engine/python2/engine.py:672 ../engine/python3/engine.py:672 -+#: ../setup/python2/main.py:409 ../setup/python3/main.py:414 - msgid "Dictionary - Anthy" - msgstr "词典 - Anthy" - - #. Translators: "Dic" means 'dictionary', One kanji may be good. --#: ../engine/python2/engine.py:607 ../engine/python3/engine.py:606 -+#: ../engine/python2/engine.py:678 ../engine/python3/engine.py:677 - msgid "Dic" - msgstr "" - --#: ../engine/python2/engine.py:614 ../engine/python3/engine.py:613 -+#: ../engine/python2/engine.py:685 ../engine/python3/engine.py:684 - msgid "Configure dictionaries" - msgstr "" - --#: ../engine/python2/engine.py:624 ../engine/python3/engine.py:623 -+#: ../engine/python2/engine.py:695 ../engine/python3/engine.py:694 - msgid "Edit dictionaries" - msgstr "" - --#: ../engine/python2/engine.py:626 ../engine/python3/engine.py:625 -+#: ../engine/python2/engine.py:697 ../engine/python3/engine.py:696 - msgid "Launch the dictionary tool" - msgstr "" - --#: ../engine/python2/engine.py:633 ../engine/python3/engine.py:632 -+#: ../engine/python2/engine.py:704 ../engine/python3/engine.py:703 - msgid "Add words" - msgstr "" - --#: ../engine/python2/engine.py:635 ../engine/python3/engine.py:634 -+#: ../engine/python2/engine.py:706 ../engine/python3/engine.py:705 - msgid "Add words to the dictionary" - msgstr "" - --#: ../setup/python2/anthyprefs.py.in:1104 ../setup/python2/setup.ui.h:35 --#: ../setup/python3/anthyprefs.py.in:1097 ../setup/python3/setup.ui.h:35 -+#: ../setup/python2/anthyprefs.py.in:1106 ../setup/python2/setup.ui.h:36 -+#: ../setup/python3/anthyprefs.py.in:1099 ../setup/python3/setup.ui.h:36 - msgid "General" - msgstr "" - --#: ../setup/python2/anthyprefs.py.in:1115 --#: ../setup/python3/anthyprefs.py.in:1108 -+#: ../setup/python2/anthyprefs.py.in:1117 -+#: ../setup/python3/anthyprefs.py.in:1110 - msgid "Zip Code Conversion" - msgstr "" - --#: ../setup/python2/anthyprefs.py.in:1126 --#: ../setup/python3/anthyprefs.py.in:1119 -+#: ../setup/python2/anthyprefs.py.in:1128 -+#: ../setup/python3/anthyprefs.py.in:1121 - msgid "Symbol" - msgstr "" - --#: ../setup/python2/anthyprefs.py.in:1137 --#: ../setup/python3/anthyprefs.py.in:1130 -+#: ../setup/python2/anthyprefs.py.in:1139 -+#: ../setup/python3/anthyprefs.py.in:1132 - msgid "Old Character Style" - msgstr "" - --#: ../setup/python2/anthyprefs.py.in:1147 --#: ../setup/python3/anthyprefs.py.in:1140 -+#: ../setup/python2/anthyprefs.py.in:1149 -+#: ../setup/python3/anthyprefs.py.in:1142 - msgid "Era" - msgstr "" - --#: ../setup/python2/anthyprefs.py.in:1157 --#: ../setup/python3/anthyprefs.py.in:1150 -+#: ../setup/python2/anthyprefs.py.in:1159 -+#: ../setup/python3/anthyprefs.py.in:1152 - msgid "Emoji" - msgstr "" - -@@ -229,276 +229,276 @@ msgstr "" - msgid "ibus is not running." - msgstr "" - --#: ../setup/python2/main.py:180 ../setup/python3/main.py:183 -+#: ../setup/python2/main.py:181 ../setup/python3/main.py:184 - msgid "Menu label" - msgstr "" - --#: ../setup/python2/main.py:199 ../setup/python3/main.py:202 -+#: ../setup/python2/main.py:200 ../setup/python3/main.py:203 - msgid "Command" - msgstr "" - --#: ../setup/python2/main.py:203 ../setup/python3/main.py:206 -+#: ../setup/python2/main.py:204 ../setup/python3/main.py:207 - msgid "Shortcut" - msgstr "捷径" - --#: ../setup/python2/main.py:248 ../setup/python3/main.py:251 -+#: ../setup/python2/main.py:249 ../setup/python3/main.py:252 - msgid "Description" - msgstr "描述" - - #. Translators: "Embd" is an abbreviation of "embedded". --#: ../setup/python2/main.py:256 ../setup/python3/main.py:259 -+#: ../setup/python2/main.py:257 ../setup/python3/main.py:260 - msgid "Embd" - msgstr "" - - #. Translators: "Sgl" is an abbreviation of "single". --#: ../setup/python2/main.py:264 ../setup/python3/main.py:267 -+#: ../setup/python2/main.py:265 ../setup/python3/main.py:268 - msgid "Sgl" - msgstr "" - --#: ../setup/python2/main.py:439 ../setup/python2/main.py:475 --#: ../setup/python3/main.py:444 ../setup/python3/main.py:480 -+#: ../setup/python2/main.py:443 ../setup/python2/main.py:479 -+#: ../setup/python3/main.py:448 ../setup/python3/main.py:484 - msgid "Input Chars" - msgstr "" - --#: ../setup/python2/main.py:441 ../setup/python2/main.py:477 --#: ../setup/python3/main.py:446 ../setup/python3/main.py:482 -+#: ../setup/python2/main.py:445 ../setup/python2/main.py:481 -+#: ../setup/python3/main.py:450 ../setup/python3/main.py:486 - msgid "Output Chars" - msgstr "" - --#: ../setup/python2/main.py:523 ../setup/python3/main.py:528 -+#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 - msgid "Input" - msgstr "输入" - --#: ../setup/python2/main.py:525 ../setup/python3/main.py:530 -+#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 - msgid "Single" - msgstr "" - --#: ../setup/python2/main.py:527 ../setup/python3/main.py:532 -+#: ../setup/python2/main.py:531 ../setup/python3/main.py:536 - msgid "Left" - msgstr "" - --#: ../setup/python2/main.py:529 ../setup/python3/main.py:534 -+#: ../setup/python2/main.py:533 ../setup/python3/main.py:538 - msgid "Right" - msgstr "" - --#: ../setup/python2/main.py:611 ../setup/python3/main.py:616 -+#: ../setup/python2/main.py:615 ../setup/python3/main.py:620 - msgid "Customize Romaji Key Table" - msgstr "" - --#: ../setup/python2/main.py:612 ../setup/python2/setup.ui.h:53 --#: ../setup/python3/main.py:617 ../setup/python3/setup.ui.h:53 -+#: ../setup/python2/main.py:616 ../setup/python2/setup.ui.h:54 -+#: ../setup/python3/main.py:621 ../setup/python3/setup.ui.h:54 - msgid "_Romaji Key Table:" - msgstr "" - --#: ../setup/python2/main.py:613 ../setup/python2/main.py:619 --#: ../setup/python3/main.py:618 ../setup/python3/main.py:624 -+#: ../setup/python2/main.py:617 ../setup/python2/main.py:623 -+#: ../setup/python3/main.py:622 ../setup/python3/main.py:628 - msgid "_Output Chars" - msgstr "" - --#: ../setup/python2/main.py:614 ../setup/python2/main.py:1114 --#: ../setup/python2/main.py:1196 ../setup/python2/setup.ui.h:26 --#: ../setup/python3/main.py:619 ../setup/python3/main.py:1108 --#: ../setup/python3/main.py:1190 ../setup/python3/setup.ui.h:26 -+#: ../setup/python2/main.py:618 ../setup/python2/main.py:1118 -+#: ../setup/python2/main.py:1200 ../setup/python2/setup.ui.h:26 -+#: ../setup/python3/main.py:623 ../setup/python3/main.py:1112 -+#: ../setup/python3/main.py:1194 ../setup/python3/setup.ui.h:26 - msgid "Default" - msgstr "" - --#: ../setup/python2/main.py:617 ../setup/python3/main.py:622 -+#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 - msgid "Customize Kana Key Table" - msgstr "" - --#: ../setup/python2/main.py:618 ../setup/python2/setup.ui.h:55 --#: ../setup/python3/main.py:623 ../setup/python3/setup.ui.h:55 -+#: ../setup/python2/main.py:622 ../setup/python2/setup.ui.h:56 -+#: ../setup/python3/main.py:627 ../setup/python3/setup.ui.h:56 - msgid "_Kana Key Table:" - msgstr "" - --#: ../setup/python2/main.py:620 ../setup/python3/main.py:625 -+#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 - msgid "Japanese Keyboard Layout" - msgstr "" - --#: ../setup/python2/main.py:621 ../setup/python3/main.py:626 -+#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 - msgid "U.S. Keyboard Layout" - msgstr "" - --#: ../setup/python2/main.py:624 ../setup/python3/main.py:629 -+#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 - msgid "Customize Thumb Shift Key Table" - msgstr "" - --#: ../setup/python2/main.py:625 ../setup/python3/main.py:630 -+#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 - msgid "_Thumb Shift Key Table:" - msgstr "" - --#: ../setup/python2/main.py:626 ../setup/python3/main.py:631 -+#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 - msgid "Single _Output Chars" - msgstr "" - --#: ../setup/python2/main.py:627 ../setup/python3/main.py:632 -+#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 - msgid "Base" - msgstr "" - --#: ../setup/python2/main.py:628 ../setup/python3/main.py:633 -+#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 - msgid "NICOLA-J key extension" - msgstr "" - --#: ../setup/python2/main.py:629 ../setup/python3/main.py:634 -+#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 - msgid "NICOLA-A key extension" - msgstr "" - --#: ../setup/python2/main.py:630 ../setup/python3/main.py:635 -+#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 - msgid "NICOLA-F key extension" - msgstr "" - --#: ../setup/python2/main.py:631 ../setup/python3/main.py:636 -+#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 - msgid "FMV KB231-J key extension" - msgstr "" - --#: ../setup/python2/main.py:632 ../setup/python3/main.py:637 -+#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 - msgid "FMV KB231-A key extension" - msgstr "" - --#: ../setup/python2/main.py:633 ../setup/python3/main.py:638 -+#: ../setup/python2/main.py:637 ../setup/python3/main.py:642 - msgid "FMV KB231-F key extension" - msgstr "" - --#: ../setup/python2/main.py:634 ../setup/python3/main.py:639 -+#: ../setup/python2/main.py:638 ../setup/python3/main.py:643 - msgid "FMV KB611-J key extension" - msgstr "" - --#: ../setup/python2/main.py:635 ../setup/python3/main.py:640 -+#: ../setup/python2/main.py:639 ../setup/python3/main.py:644 - msgid "FMV KB611-A key extension" - msgstr "" - --#: ../setup/python2/main.py:636 ../setup/python3/main.py:641 -+#: ../setup/python2/main.py:640 ../setup/python3/main.py:645 - msgid "FMV KB611-F key extension" - msgstr "" - --#: ../setup/python2/main.py:780 ../setup/python3/main.py:785 -+#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 - msgid "Your choosed file has already been added: " - msgstr "" - --#: ../setup/python2/main.py:784 ../setup/python3/main.py:789 -+#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 - msgid "The file you have chosen does not exist: " - msgstr "" - --#: ../setup/python2/main.py:788 ../setup/python3/main.py:793 -+#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 - msgid "Your choosed file is a directory: " - msgstr "" - --#: ../setup/python2/main.py:792 ../setup/python3/main.py:797 -+#: ../setup/python2/main.py:796 ../setup/python3/main.py:801 - msgid "You cannot add dictionaries in the anthy private directory: " - msgstr "" - --#: ../setup/python2/main.py:799 ../setup/python3/main.py:804 -+#: ../setup/python2/main.py:803 ../setup/python3/main.py:808 - msgid "Your file path is not good: " - msgstr "" - --#: ../setup/python2/main.py:978 ../setup/python3/main.py:981 -+#: ../setup/python2/main.py:982 ../setup/python3/main.py:985 - msgid "The engine xml file does not exist: " - msgstr "" - --#: ../setup/python2/main.py:1094 ../setup/python3/main.py:1088 -+#: ../setup/python2/main.py:1098 ../setup/python3/main.py:1092 - msgid "" - "Anthy keyboard layout is changed. Please restart ibus to reload the layout." - msgstr "" - --#: ../setup/python2/main.py:1157 ../setup/python3/main.py:1151 -+#: ../setup/python2/main.py:1161 ../setup/python3/main.py:1155 - msgid "Confirmation" - msgstr "" - --#: ../setup/python2/main.py:1159 ../setup/python3/main.py:1153 -+#: ../setup/python2/main.py:1163 ../setup/python3/main.py:1157 - msgid "You are about to close the setup dialog, is that OK?" - msgstr "" - --#: ../setup/python2/main.py:1174 ../setup/python3/main.py:1168 -+#: ../setup/python2/main.py:1178 ../setup/python3/main.py:1172 - msgid "Notice!" - msgstr "" - --#: ../setup/python2/main.py:1176 ../setup/python3/main.py:1170 -+#: ../setup/python2/main.py:1180 ../setup/python3/main.py:1174 - msgid "" - "You are about to close the setup dialog without saving your changes, is that " - "OK?" - msgstr "" - --#: ../setup/python2/main.py:1297 ../setup/python3/main.py:1291 -+#: ../setup/python2/main.py:1301 ../setup/python3/main.py:1295 - msgid "Please specify Input Chars" - msgstr "" - --#: ../setup/python2/main.py:1300 ../setup/python3/main.py:1294 -+#: ../setup/python2/main.py:1304 ../setup/python3/main.py:1298 - msgid "Please specify Output Chars" - msgstr "" - --#: ../setup/python2/main.py:1303 ../setup/python3/main.py:1297 -+#: ../setup/python2/main.py:1307 ../setup/python3/main.py:1301 - msgid "Please specify Left Thumb Shift Chars" - msgstr "" - --#: ../setup/python2/main.py:1306 ../setup/python3/main.py:1300 -+#: ../setup/python2/main.py:1310 ../setup/python3/main.py:1304 - msgid "Please specify Right Thumb Shift Chars" - msgstr "" - --#: ../setup/python2/main.py:1319 ../setup/python2/main.py:1363 --#: ../setup/python3/main.py:1313 ../setup/python3/main.py:1357 -+#: ../setup/python2/main.py:1323 ../setup/python2/main.py:1367 -+#: ../setup/python3/main.py:1317 ../setup/python3/main.py:1361 - msgid "Your custom key is not assigned in any sections. Maybe a bug." - msgstr "" - --#: ../setup/python2/main.py:1429 ../setup/python2/main.py:1516 --#: ../setup/python3/main.py:1423 ../setup/python3/main.py:1510 -+#: ../setup/python2/main.py:1433 ../setup/python2/main.py:1520 -+#: ../setup/python3/main.py:1427 ../setup/python3/main.py:1514 - msgid "Your file does not exist: " - msgstr "" - --#: ../setup/python2/main.py:1439 ../setup/python3/main.py:1433 -+#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 - msgid "Open Dictionary File" - msgstr "" - --#: ../setup/python2/main.py:1442 ../setup/python2/main.py:1448 --#: ../setup/python2/setup.ui.h:89 ../setup/python3/main.py:1436 --#: ../setup/python3/main.py:1442 ../setup/python3/setup.ui.h:89 -+#: ../setup/python2/main.py:1446 ../setup/python2/main.py:1452 -+#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1440 -+#: ../setup/python3/main.py:1446 ../setup/python3/setup.ui.h:90 - msgid "_Cancel" - msgstr "取消(_C)" - --#: ../setup/python2/main.py:1443 ../setup/python3/main.py:1437 -+#: ../setup/python2/main.py:1447 ../setup/python3/main.py:1441 - msgid "_Open" - msgstr "打开(_O)" - --#: ../setup/python2/main.py:1446 ../setup/python3/main.py:1440 -+#: ../setup/python2/main.py:1450 ../setup/python3/main.py:1444 - msgid "Edit Dictionary File" - msgstr "" - --#: ../setup/python2/main.py:1449 ../setup/python2/main.py:1544 --#: ../setup/python2/setup.ui.h:90 ../setup/python3/main.py:1443 --#: ../setup/python3/main.py:1538 ../setup/python3/setup.ui.h:90 -+#: ../setup/python2/main.py:1453 ../setup/python2/main.py:1548 -+#: ../setup/python2/setup.ui.h:91 ../setup/python3/main.py:1447 -+#: ../setup/python3/main.py:1542 ../setup/python3/setup.ui.h:91 - msgid "_OK" - msgstr "确定(_O)" - --#: ../setup/python2/main.py:1460 ../setup/python3/main.py:1454 -+#: ../setup/python2/main.py:1464 ../setup/python3/main.py:1458 - msgid "Your choosed file is not correct." - msgstr "" - --#: ../setup/python2/main.py:1489 ../setup/python3/main.py:1483 -+#: ../setup/python2/main.py:1493 ../setup/python3/main.py:1487 - msgid "You cannot delete the system dictionary." - msgstr "" - --#: ../setup/python2/main.py:1512 ../setup/python3/main.py:1506 -+#: ../setup/python2/main.py:1516 ../setup/python3/main.py:1510 - msgid "Your file is not good." - msgstr "" - --#: ../setup/python2/main.py:1542 ../setup/python3/main.py:1536 -+#: ../setup/python2/main.py:1546 ../setup/python3/main.py:1540 - msgid "View Dictionary File" - msgstr "" - --#: ../setup/python2/main.py:1694 ../setup/python3/main.py:1688 -+#: ../setup/python2/main.py:1698 ../setup/python3/main.py:1692 - msgid "Please press a key (or a key combination)" - msgstr "" - --#: ../setup/python2/main.py:1695 ../setup/python3/main.py:1689 -+#: ../setup/python2/main.py:1699 ../setup/python3/main.py:1693 - msgid "The dialog will be closed when the key is released" - msgstr "" - --#: ../setup/python2/main.py:1715 ../setup/python2/main.py:1736 --#: ../setup/python3/main.py:1709 ../setup/python3/main.py:1730 -+#: ../setup/python2/main.py:1719 ../setup/python2/main.py:1740 -+#: ../setup/python3/main.py:1713 ../setup/python3/main.py:1734 - msgid "Invalid keysym" - msgstr "" - --#: ../setup/python2/main.py:1716 ../setup/python2/main.py:1737 --#: ../setup/python3/main.py:1710 ../setup/python3/main.py:1731 -+#: ../setup/python2/main.py:1720 ../setup/python2/main.py:1741 -+#: ../setup/python3/main.py:1714 ../setup/python3/main.py:1735 - msgid "This keysym is not valid" - msgstr "" - -@@ -583,298 +583,303 @@ msgid "Initial Setting" - msgstr "" - - #: ../setup/python2/setup.ui.h:34 ../setup/python3/setup.ui.h:34 -+#, fuzzy -+msgid "_Show input mode icon" -+msgstr "切换输入模式" -+ -+#: ../setup/python2/setup.ui.h:35 ../setup/python3/setup.ui.h:35 - msgid "Menu Visibility on Status Icon" - msgstr "" - --#: ../setup/python2/setup.ui.h:36 ../setup/python3/setup.ui.h:36 -+#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 - msgid "_Period Style:" - msgstr "" - --#: ../setup/python2/setup.ui.h:37 ../setup/python3/setup.ui.h:37 -+#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 - msgid "Symbo_l Style:" - msgstr "" - --#: ../setup/python2/setup.ui.h:38 ../setup/python3/setup.ui.h:38 -+#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 - msgid "Numpad _Key Type:" - msgstr "" - --#: ../setup/python2/setup.ui.h:39 ../setup/python3/setup.ui.h:39 -+#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 - msgid "_Behavior on Period:" - msgstr "" - --#: ../setup/python2/setup.ui.h:40 ../setup/python3/setup.ui.h:40 -+#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 - msgid "Behavior on _Focus Out:" - msgstr "" - --#: ../setup/python2/setup.ui.h:41 ../setup/python3/setup.ui.h:41 -+#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 - msgid "Behavior" - msgstr "" - --#: ../setup/python2/setup.ui.h:42 ../setup/python3/setup.ui.h:42 -+#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 - msgid "Candidate _Window Page Size:" - msgstr "" - --#: ../setup/python2/setup.ui.h:43 ../setup/python3/setup.ui.h:43 -+#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 - msgid "Convert _symbols with the one column width" - msgstr "" - --#: ../setup/python2/setup.ui.h:44 ../setup/python3/setup.ui.h:44 -+#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 - msgid "Convert _numbers with the one column width" - msgstr "" - --#: ../setup/python2/setup.ui.h:45 ../setup/python3/setup.ui.h:45 -+#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 - msgid "Con_vert spaces with the one column width" - msgstr "" - --#: ../setup/python2/setup.ui.h:46 ../setup/python3/setup.ui.h:46 -+#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 - msgid "" - "Swi_tch “Hiragana” and “Latin” with Shift key and Hiragana–Katakana key in " - "preedit" - msgstr "" - --#: ../setup/python2/setup.ui.h:47 ../setup/python3/setup.ui.h:47 -+#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 - msgid "Other" - msgstr "" - --#: ../setup/python2/setup.ui.h:48 ../setup/python3/setup.ui.h:48 -+#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 - msgid "Conversion" - msgstr "" - --#: ../setup/python2/setup.ui.h:49 ../setup/python3/setup.ui.h:49 -+#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 - msgid "_Shortcut Type:" - msgstr "" - --#: ../setup/python2/setup.ui.h:50 ../setup/python3/setup.ui.h:50 -+#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 - msgid "De_fault" - msgstr "" - --#: ../setup/python2/setup.ui.h:51 ../setup/python3/setup.ui.h:51 -+#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 - msgid "_Edit" - msgstr "编辑(_E)" - --#: ../setup/python2/setup.ui.h:52 ../setup/python3/setup.ui.h:52 -+#: ../setup/python2/setup.ui.h:53 ../setup/python3/setup.ui.h:53 - msgid "Key Binding" - msgstr "" - --#: ../setup/python2/setup.ui.h:54 ../setup/python3/setup.ui.h:54 -+#: ../setup/python2/setup.ui.h:55 ../setup/python3/setup.ui.h:55 - msgid "Romaji" - msgstr "" - --#: ../setup/python2/setup.ui.h:56 ../setup/python3/setup.ui.h:56 -+#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 - msgid "Kana" - msgstr "" - --#: ../setup/python2/setup.ui.h:57 ../setup/python3/setup.ui.h:57 -+#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 - msgid "Keyboad _layout:" - msgstr "" - --#: ../setup/python2/setup.ui.h:58 ../setup/python3/setup.ui.h:58 -+#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 - msgid "Keyboard layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:59 ../setup/python3/setup.ui.h:59 -+#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 - msgid "Typing Method" - msgstr "" - --#: ../setup/python2/setup.ui.h:60 ../setup/python3/setup.ui.h:60 -+#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 - msgid "_Left Thumb Shift Key:" - msgstr "" - --#: ../setup/python2/setup.ui.h:61 ../setup/python3/setup.ui.h:61 -+#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 - msgid "Right _Thumb Shift Key:" - msgstr "" - --#: ../setup/python2/setup.ui.h:62 ../setup/python3/setup.ui.h:62 -+#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 - msgid "Adjust _input method layout to system keyboard layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:63 ../setup/python3/setup.ui.h:63 -+#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 - msgid "Adjust IM layout to XKB layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:64 ../setup/python3/setup.ui.h:64 -+#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 - msgid "Input _Method Layout:" - msgstr "" - --#: ../setup/python2/setup.ui.h:65 ../setup/python3/setup.ui.h:65 -+#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 - msgid "Restart IBus when you change the keyboard layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:66 ../setup/python3/setup.ui.h:66 -+#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 - msgid "Restart IBus when you change XKB" - msgstr "" - --#: ../setup/python2/setup.ui.h:67 ../setup/python3/setup.ui.h:67 -+#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 - msgid "_Additional Key Arrangement:" - msgstr "" - --#: ../setup/python2/setup.ui.h:68 ../setup/python3/setup.ui.h:68 -+#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 - msgid "" - "'~', '『', '¢', '£' and so on can be output with " - "Thumb Shift key" - msgstr "" - --#: ../setup/python2/setup.ui.h:69 ../setup/python3/setup.ui.h:69 -+#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 - msgid "" - "You do not have to reconfigure the system keyboard layout for \"Additional " - "Key Arrangement\" since this option changes input method layout only in case " - "input method is turned on." - msgstr "" - --#: ../setup/python2/setup.ui.h:70 ../setup/python3/setup.ui.h:70 -+#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 - msgid "" - "You do not have to reconfigure XKB since this option changes IM layout only " - "with IM on." - msgstr "" - --#: ../setup/python2/setup.ui.h:71 ../setup/python3/setup.ui.h:71 -+#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 - msgid "_Enable semi-voiced sound mark with Shift key" - msgstr "" - --#: ../setup/python2/setup.ui.h:72 ../setup/python3/setup.ui.h:72 -+#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 - msgid "Seion + Shift can output Handakuon" - msgstr "" - --#: ../setup/python2/setup.ui.h:73 ../setup/python3/setup.ui.h:73 -+#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 - msgid "Thumb _Shift Key Table:" - msgstr "" - --#: ../setup/python2/setup.ui.h:74 ../setup/python3/setup.ui.h:74 -+#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 - msgid "Thumb Shift Layout" - msgstr "" - --#: ../setup/python2/setup.ui.h:75 ../setup/python3/setup.ui.h:75 -+#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 - msgid "Thumb Shift" - msgstr "" - --#: ../setup/python2/setup.ui.h:76 ../setup/python3/setup.ui.h:76 -+#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 - msgid "_Edit Dictionary Command:" - msgstr "" - --#: ../setup/python2/setup.ui.h:77 ../setup/python3/setup.ui.h:77 -+#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 - msgid "_Add Word Command:" - msgstr "" - --#: ../setup/python2/setup.ui.h:78 ../setup/python3/setup.ui.h:78 -+#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 - msgid "Default Dictionary Configuration" - msgstr "" - --#: ../setup/python2/setup.ui.h:79 ../setup/python3/setup.ui.h:79 -+#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 - msgid "_View" - msgstr "" - --#: ../setup/python2/setup.ui.h:80 ../setup/python3/setup.ui.h:80 -+#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 - msgid "_Add" - msgstr "添加(_A)" - --#: ../setup/python2/setup.ui.h:81 ../setup/python3/setup.ui.h:81 -+#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 - msgid "_Delete" - msgstr "删除(_D)" - --#: ../setup/python2/setup.ui.h:82 ../setup/python3/setup.ui.h:82 -+#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 - msgid "_Up" - msgstr "向上(_U)" - --#: ../setup/python2/setup.ui.h:83 ../setup/python3/setup.ui.h:83 -+#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 - msgid "You can change the order on language bar" - msgstr "" - --#: ../setup/python2/setup.ui.h:84 ../setup/python3/setup.ui.h:84 -+#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 - msgid "_Down" - msgstr "向下(_D)" - --#: ../setup/python2/setup.ui.h:85 ../setup/python3/setup.ui.h:85 -+#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 - msgid "Extended Dictionaries" - msgstr "" - --#: ../setup/python2/setup.ui.h:86 ../setup/python3/setup.ui.h:86 -+#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 - msgid "Dictionary" - msgstr "" - --#: ../setup/python2/setup.ui.h:87 ../setup/python3/setup.ui.h:87 -+#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 - msgid "About" - msgstr "" - --#: ../setup/python2/setup.ui.h:88 ../setup/python3/setup.ui.h:88 -+#: ../setup/python2/setup.ui.h:89 ../setup/python3/setup.ui.h:89 - msgid "_Apply" - msgstr "应用(_A)" - --#: ../setup/python2/setup.ui.h:91 ../setup/python3/setup.ui.h:91 -+#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 - msgid "Edit Shortcut" - msgstr "" - --#: ../setup/python2/setup.ui.h:92 ../setup/python3/setup.ui.h:92 -+#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 - msgid "Key Code:" - msgstr "" - --#: ../setup/python2/setup.ui.h:93 ../setup/python3/setup.ui.h:93 -+#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 - msgid "Modifier:" - msgstr "" - --#: ../setup/python2/setup.ui.h:94 ../setup/python3/setup.ui.h:94 -+#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 - msgid "A_lternate" - msgstr "" - --#: ../setup/python2/setup.ui.h:95 ../setup/python3/setup.ui.h:95 -+#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 - msgid "Co_ntrol" - msgstr "" - --#: ../setup/python2/setup.ui.h:96 ../setup/python3/setup.ui.h:96 -+#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 - msgid "_Shift" - msgstr "" - --#: ../setup/python2/setup.ui.h:97 ../setup/python3/setup.ui.h:97 -+#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 - msgid "_Refresh" - msgstr "刷新(_R)" - --#: ../setup/python2/setup.ui.h:98 ../setup/python3/setup.ui.h:98 -+#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 - msgid "_Input Characters" - msgstr "" - --#: ../setup/python2/setup.ui.h:99 ../setup/python3/setup.ui.h:99 -+#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 - msgid "_Output Characters" - msgstr "" - --#: ../setup/python2/setup.ui.h:100 ../setup/python3/setup.ui.h:100 -+#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 - msgid "_Left Thumb Shift" - msgstr "" - --#: ../setup/python2/setup.ui.h:101 ../setup/python3/setup.ui.h:101 -+#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 - msgid "_Right Thumb Shift" - msgstr "" - --#: ../setup/python2/setup.ui.h:102 ../setup/python3/setup.ui.h:102 -+#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 - msgid "_Remove" - msgstr "删除(_R)" - --#: ../setup/python2/setup.ui.h:103 ../setup/python3/setup.ui.h:103 -+#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 - msgid "_Close" - msgstr "关闭(_C)" - --#: ../setup/python2/setup.ui.h:104 ../setup/python3/setup.ui.h:104 -+#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 - msgid "_Short Label:" - msgstr "" - --#: ../setup/python2/setup.ui.h:105 ../setup/python3/setup.ui.h:105 -+#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 - msgid "_Description:" - msgstr "" - --#: ../setup/python2/setup.ui.h:106 ../setup/python3/setup.ui.h:106 -+#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 - msgid "_Use your dictionary alone with switching dictionaries" - msgstr "" - --#: ../setup/python2/setup.ui.h:107 ../setup/python3/setup.ui.h:107 -+#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 - msgid "_Embed your dictionary in the system dictionary" - msgstr "" - --#: ../setup/python2/setup.ui.h:108 ../setup/python3/setup.ui.h:108 -+#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 - msgid "Enable the _reverse conversion" - msgstr "" - --#: ../setup/python2/setup.ui.h:109 ../setup/python3/setup.ui.h:109 -+#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 - msgid "The Anthy engine for the IBus input platform" - msgstr "" - --#: ../setup/python2/setup.ui.h:110 ../setup/python3/setup.ui.h:110 -+#: ../setup/python2/setup.ui.h:111 ../setup/python3/setup.ui.h:111 - msgid "translator_credits" - msgstr "" --- -1.8.5.3 - -From e388a61d0d9fd676651b6042dc32c59c7e554e40 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 21 Aug 2014 19:31:44 +0900 -Subject: [PATCH 3/4] Fix to unref pixbuf when propery icon is unrefed. - ---- - engine/python2/engine.py | 1 + - engine/python2/propertyicon.py | 6 ++++++ - engine/python3/engine.py | 1 + - engine/python3/propertyicon.py | 6 ++++++ - 4 files changed, 14 insertions(+) - -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 3339eda..5995375 100644 ---- a/engine/python2/engine.py -+++ b/engine/python2/engine.py -@@ -1104,6 +1104,7 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -+ self.__input_mode_icon.clear() - self.__input_mode_icon = None - - def __join_all_segments(self): -diff --git a/engine/python2/propertyicon.py b/engine/python2/propertyicon.py -index fa5f34f..437e94c 100644 ---- a/engine/python2/propertyicon.py -+++ b/engine/python2/propertyicon.py -@@ -76,6 +76,12 @@ class PropertyIcon(Gtk.StatusIcon): - self.__xkb_icon_pixbufs[symbol] = pixbuf - return pixbuf - -+ def clear(self): -+ self.set_from_icon_name('') -+ self.set_visible(False) -+ self.__xkb_icon_pixbufs = {} -+ self.__xkb_icon_rgba = None -+ - def set_from_symbol(self, symbol): - pixbuf = self.__create_icon_pixbuf_with_string(symbol) - self.set_from_pixbuf(pixbuf) -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index ab9e8fa..73de005 100644 ---- a/engine/python3/engine.py -+++ b/engine/python3/engine.py -@@ -1099,6 +1099,7 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -+ self.__input_mode_icon.clear() - self.__input_mode_icon = None - - def __join_all_segments(self): -diff --git a/engine/python3/propertyicon.py b/engine/python3/propertyicon.py -index fa5f34f..437e94c 100644 ---- a/engine/python3/propertyicon.py -+++ b/engine/python3/propertyicon.py -@@ -76,6 +76,12 @@ class PropertyIcon(Gtk.StatusIcon): - self.__xkb_icon_pixbufs[symbol] = pixbuf - return pixbuf - -+ def clear(self): -+ self.set_from_icon_name('') -+ self.set_visible(False) -+ self.__xkb_icon_pixbufs = {} -+ self.__xkb_icon_rgba = None -+ - def set_from_symbol(self, symbol): - pixbuf = self.__create_icon_pixbuf_with_string(symbol) - self.set_from_pixbuf(pixbuf) --- -1.8.5.3 - -From 41ee4feea5f4341e106ed6d258a213692cdd0bca Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 21 Aug 2014 19:31:50 +0900 -Subject: [PATCH 4/4] Fix None object has clear() in input mode icon. - (#1097364) - ---- - engine/python2/engine.py | 3 ++- - engine/python3/engine.py | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 5995375..cc37bb7 100644 ---- a/engine/python2/engine.py -+++ b/engine/python2/engine.py -@@ -1104,7 +1104,8 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -- self.__input_mode_icon.clear() -+ if self.__input_mode_icon != None: -+ self.__input_mode_icon.clear() - self.__input_mode_icon = None - - def __join_all_segments(self): -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index 73de005..e97a98b 100644 ---- a/engine/python3/engine.py -+++ b/engine/python3/engine.py -@@ -1099,7 +1099,8 @@ class Engine(IBus.EngineSimple): - # It seems do_destroy() is called when launch_engine() is called. - #self.__remove_dict_files() - # It seems super.destroy() does not unref the engine. -- self.__input_mode_icon.clear() -+ if self.__input_mode_icon != None: -+ self.__input_mode_icon.clear() - self.__input_mode_icon = None - - def __join_all_segments(self): --- -1.8.5.3 - From 0df9fe713d34dfd755c542071ce8d9280deae030 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 16 Jul 2015 19:16:16 +0900 Subject: [PATCH 096/202] Bumped to 1.5.7 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 1 + ibus-anthy.spec | 48 ++++++++----------------------------------- sources | 2 +- 4 files changed, 11 insertions(+), 41 deletions(-) create mode 100644 ibus-anthy-HEAD.patch diff --git a/.gitignore b/.gitignore index 22c7a15..ec0777c 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ ibus-anthy.png /ibus-anthy-1.5.4.tar.gz /ibus-anthy-1.5.5.tar.gz /ibus-anthy-1.5.6.tar.gz +/ibus-anthy-1.5.7.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1 @@ + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 8e8bf87..e8e8976 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -21,19 +21,16 @@ %endif Name: ibus-anthy -Version: 1.5.6 -Release: 7%{?dist} +Version: 1.5.7 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries -URL: http://code.google.com/p/ibus/ +URL: https://github.com/ibus/ibus/wiki Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/%{name}-%{version}.tar.gz # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch -# Add an input mode icon until ibus-ui-gtk3 is fixed. -Patch1: %%{name}-xx-input-mode.patch BuildRequires: anthy-devel BuildRequires: desktop-file-utils @@ -92,8 +89,6 @@ for developers. %prep %setup -q # %%patch0 -p1 -%patch0 -p1 -%patch1 -p1 -b .input-mode %build autoreconf @@ -116,38 +111,8 @@ make %{?_smp_mflags} make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la -%if %with_appdata -# Register as an AppStream component to be visible in the software center -# -# NOTE: It would be *awesome* if this file was maintained by the upstream -# project, translated and installed into the right place during `make install`. -# -# See http://www.freedesktop.org/software/appstream/docs/ for more details. -# -mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata -cat > $RPM_BUILD_ROOT%{_datadir}/appdata/anthy.appdata.xml < - - anthy.xml - CC0-1.0 - Anthy - Japanese input method - -

- The Anthy input method is designed for entering Japanese text. -

-

- Input methods are typing systems allowing users to input complex languages. - They are necessary because these contain too many characters to simply be laid - out on a traditional keyboard. -

-
- http://code.google.com/p/ibus/ - https://code.google.com/p/ibus/issues/list - https://code.google.com/p/ibus/wiki/FAQ - -
-EOF +%if ! %with_appdata +rm $RPM_BUILD_ROOT%{_datadir}/appdata/*.appdata.xml %endif %find_lang %{name} @@ -199,6 +164,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Thu Jul 16 2015 Takao Fujiwara - 1.5.7-1 +- Bumped to 1.5.7 + * Wed Jun 17 2015 Fedora Release Engineering - 1.5.6-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/sources b/sources index 91def0f..0108d5e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -240d049304172f86473c73784fbe577a ibus-anthy-1.5.6.tar.gz +95b103e895a049807b1cf6d51527bdc7 ibus-anthy-1.5.7.tar.gz From 4fa9b7459b7fc3811d86183bb357579c18d47184 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 3 Sep 2015 11:27:24 +0900 Subject: [PATCH 097/202] Fix URL in anthy.appdata.xml --- ibus-anthy-HEAD.patch | 27 +++++++++++++++++++++++++++ ibus-anthy.spec | 7 ++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..fcdee5a 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,28 @@ +From b4a93404d83a4d051f4804bd97655c021c7ebc7a Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 2 Sep 2015 17:25:45 +0900 +Subject: [PATCH] Updated URL in anthy.appdata.xml.in + +--- + data/anthy.appdata.xml.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/data/anthy.appdata.xml.in b/data/anthy.appdata.xml.in +index 0c75a8f..273f51e 100644 +--- a/data/anthy.appdata.xml.in ++++ b/data/anthy.appdata.xml.in +@@ -14,8 +14,8 @@ + out on a traditional keyboard. +

+ +- http://code.google.com/p/ibus/ +- https://code.google.com/p/ibus/issues/list +- https://code.google.com/p/ibus/wiki/FAQ ++ https://github.com/ibus/ibus/wiki ++ https://github.com/ibus/ibus-anthy/issues ++ https://github.com/ibus/ibus/wiki/FAQ + + +-- +2.4.3 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e8e8976..e33f53d 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -31,6 +31,7 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch BuildRequires: anthy-devel BuildRequires: desktop-file-utils @@ -89,6 +90,7 @@ for developers. %prep %setup -q # %%patch0 -p1 +%patch0 -p1 %build autoreconf @@ -164,6 +166,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Thu Sep 03 2015 Takao Fujiwara - 1.5.7-2 +- Fix URL in anthy.appdata.xml + * Thu Jul 16 2015 Takao Fujiwara - 1.5.7-1 - Bumped to 1.5.7 From 74153116b2c037e00c9921e9fffcda63d9583942 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 10 Nov 2015 14:28:11 +0000 Subject: [PATCH 098/202] - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e33f53d..5208508 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -166,6 +166,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Tue Nov 10 2015 Fedora Release Engineering - 1.5.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + * Thu Sep 03 2015 Takao Fujiwara - 1.5.7-2 - Fix URL in anthy.appdata.xml From 8a6025b8dcabc0e0e92bfe6974608cc36499e278 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 20 Jan 2016 17:37:29 +0900 Subject: [PATCH 099/202] Bumped to 1.5.8 --- .gitignore | 1 + ibus-anthy.spec | 9 +++++---- sources | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index ec0777c..16eb545 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ ibus-anthy.png /ibus-anthy-1.5.5.tar.gz /ibus-anthy-1.5.6.tar.gz /ibus-anthy-1.5.7.tar.gz +/ibus-anthy-1.5.8.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 5208508..90930bb 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -21,8 +21,8 @@ %endif Name: ibus-anthy -Version: 1.5.7 -Release: 3%{?dist} +Version: 1.5.8 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -31,7 +31,6 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch BuildRequires: anthy-devel BuildRequires: desktop-file-utils @@ -90,7 +89,6 @@ for developers. %prep %setup -q # %%patch0 -p1 -%patch0 -p1 %build autoreconf @@ -166,6 +164,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Jan 20 2016 Takao Fujiwara - 1.5.8-1 +- Bumped to 1.5.8 + * Tue Nov 10 2015 Fedora Release Engineering - 1.5.7-3 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 diff --git a/sources b/sources index 0108d5e..98c1274 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -95b103e895a049807b1cf6d51527bdc7 ibus-anthy-1.5.7.tar.gz +57e156f8fa58de814a42c547b11c0049 ibus-anthy-1.5.8.tar.gz From 19037297048c62c8b56febf2a5a4bb9ec8ab17d9 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 20 Jan 2016 18:29:09 +0900 Subject: [PATCH 100/202] Deleted upstreamed patches --- ibus-anthy-HEAD.patch | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index fcdee5a..8b13789 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,28 +1 @@ -From b4a93404d83a4d051f4804bd97655c021c7ebc7a Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 2 Sep 2015 17:25:45 +0900 -Subject: [PATCH] Updated URL in anthy.appdata.xml.in - ---- - data/anthy.appdata.xml.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/data/anthy.appdata.xml.in b/data/anthy.appdata.xml.in -index 0c75a8f..273f51e 100644 ---- a/data/anthy.appdata.xml.in -+++ b/data/anthy.appdata.xml.in -@@ -14,8 +14,8 @@ - out on a traditional keyboard. -

- -- http://code.google.com/p/ibus/ -- https://code.google.com/p/ibus/issues/list -- https://code.google.com/p/ibus/wiki/FAQ -+ https://github.com/ibus/ibus/wiki -+ https://github.com/ibus/ibus-anthy/issues -+ https://github.com/ibus/ibus/wiki/FAQ - - --- -2.4.3 From e9610a034a7fdc66a817bfab8a146ad05e9a1875 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 4 Feb 2016 00:19:33 +0000 Subject: [PATCH 101/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 90930bb..3acffbb 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -164,6 +164,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Thu Feb 04 2016 Fedora Release Engineering - 1.5.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Wed Jan 20 2016 Takao Fujiwara - 1.5.8-1 - Bumped to 1.5.8 From fe9a319387c28fbc7519e2ab873e439cc50b7328 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 20 Oct 2016 12:40:32 +0900 Subject: [PATCH 102/202] Bumped to 1.5.9 --- .gitignore | 1 + ibus-anthy.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 16eb545..64027e0 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ ibus-anthy.png /ibus-anthy-1.5.6.tar.gz /ibus-anthy-1.5.7.tar.gz /ibus-anthy-1.5.8.tar.gz +/ibus-anthy-1.5.9.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 3acffbb..3fc491d 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -21,8 +21,8 @@ %endif Name: ibus-anthy -Version: 1.5.8 -Release: 2%{?dist} +Version: 1.5.9 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -164,6 +164,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Thu Oct 20 2016 Takao Fujiwara - 1.5.9-1 +- Bumped to 1.5.9 + * Thu Feb 04 2016 Fedora Release Engineering - 1.5.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/sources b/sources index 98c1274..afa7734 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -57e156f8fa58de814a42c547b11c0049 ibus-anthy-1.5.8.tar.gz +9629d84d9fb9eca81d17b3763258b807 ibus-anthy-1.5.9.tar.gz From b87e1fa01a44cbccfcbd29b308923823a2143f27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Dec 2016 18:20:36 +0100 Subject: [PATCH 103/202] Rebuild for Python 3.6 --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 3fc491d..4452a3e 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -164,6 +164,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon Dec 19 2016 Miro Hrončok - 1.5.9-2 +- Rebuild for Python 3.6 + * Thu Oct 20 2016 Takao Fujiwara - 1.5.9-1 - Bumped to 1.5.9 From b316dcc2957ee00784a4931fed1bfec7656c9685 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 16:12:42 +0000 Subject: [PATCH 104/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 4452a3e..6deffd0 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.9 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -164,6 +164,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 1.5.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Mon Dec 19 2016 Miro Hrončok - 1.5.9-2 - Rebuild for Python 3.6 From dd3c38d6bf9d817a00251440d079b2d3020ff41b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 13:19:38 +0000 Subject: [PATCH 105/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 6deffd0..e94d206 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.9 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -164,6 +164,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 1.5.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Fri Feb 10 2017 Fedora Release Engineering - 1.5.9-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From 998a1af33d68df964541a36047bdfa9a38ea87a9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 23:37:56 +0000 Subject: [PATCH 106/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e94d206..fec744c 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.9 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -164,6 +164,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 1.5.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 1.5.9-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 6003ef4457d581661f384ae46c7db251dc7fece4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 17:08:53 +0000 Subject: [PATCH 107/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index fec744c..c16bdbe 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.9 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -164,6 +164,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 1.5.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Wed Aug 02 2017 Fedora Release Engineering - 1.5.9-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From 410f66978975e9e4e6df05c6a1c6263d4b483516 Mon Sep 17 00:00:00 2001 From: Iryna Shcherbina Date: Tue, 20 Feb 2018 10:20:16 +0100 Subject: [PATCH 108/202] Update Python 2 dependency declarations to new packaging standards --- ibus-anthy.spec | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index c16bdbe..7914308 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.9 -Release: 6%{?dist} +Release: 7%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -46,13 +46,13 @@ BuildRequires: python3-devel BuildRequires: python3-gobject %else BuildRequires: python2-devel -BuildRequires: pygobject3-base +BuildRequires: python2-gobject-base %endif Requires: ibus >= %{require_ibus_version} Requires: kasumi Requires: anthy -Requires: %{name}-python = %{version}-%{release} +Requires: python2-%{name} = %{version}-%{release} %description The Anthy engine for IBus platform. It provides Japanese input method from @@ -68,8 +68,8 @@ Requires: gtk3 Requires: python3-cairo Requires: python3-gobject %else -Requires: pycairo -Requires: pygobject3 +Requires: python2-cairo +Requires: python2-gobject %endif %description python @@ -164,6 +164,10 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Tue Feb 20 2018 Iryna Shcherbina - 1.5.9-7 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + * Wed Feb 07 2018 Fedora Release Engineering - 1.5.9-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 643ad09b6f22e2f1a155caae10b26af1758ff170 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 19 Mar 2018 19:36:58 +0900 Subject: [PATCH 109/202] Reverted ibus-anthy-python --- ibus-anthy.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 7914308..7b39d66 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -46,13 +46,17 @@ BuildRequires: python3-devel BuildRequires: python3-gobject %else BuildRequires: python2-devel +% if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) +BuildRequires: pygobject3-base +% else BuildRequires: python2-gobject-base +% endif %endif Requires: ibus >= %{require_ibus_version} Requires: kasumi Requires: anthy -Requires: python2-%{name} = %{version}-%{release} +Requires: %{name}-python = %{version}-%{release} %description The Anthy engine for IBus platform. It provides Japanese input method from @@ -68,8 +72,13 @@ Requires: gtk3 Requires: python3-cairo Requires: python3-gobject %else +% if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) +Requires: pycairo +Requires: pygobject3 +% else Requires: python2-cairo Requires: python2-gobject +% endif %endif %description python From 70b5daf5f98166aa098af80fcab9465320eeb327 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 19 Mar 2018 19:55:38 +0900 Subject: [PATCH 110/202] Bumped to 1.5.10 --- .gitignore | 1 + ibus-anthy.spec | 20 ++++++++------------ sources | 2 +- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 64027e0..74f7e9f 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ ibus-anthy.png /ibus-anthy-1.5.7.tar.gz /ibus-anthy-1.5.8.tar.gz /ibus-anthy-1.5.9.tar.gz +/ibus-anthy-1.5.10.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 7b39d66..dc9a277 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -21,8 +21,8 @@ %endif Name: ibus-anthy -Version: 1.5.9 -Release: 7%{?dist} +Version: 1.5.10 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -130,21 +130,13 @@ rm $RPM_BUILD_ROOT%{_datadir}/appdata/*.appdata.xml desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop +%ldconfig_scriptlets + %post -/sbin/ldconfig -# recreate icon cache -touch --no-create %{_datadir}/icons/hicolor || : -[ -x %{_bindir}/gtk-update-icon-cache ] && \ - %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : [ -x %{_bindir}/ibus ] && \ %{_bindir}/ibus write-cache --system &>/dev/null || : %postun -/sbin/ldconfig -# recreate icon cache -touch --no-create %{_datadir}/icons/hicolor || : -[ -x %{_bindir}/gtk-update-icon-cache ] && \ - %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : [ -x %{_bindir}/ibus ] && \ %{_bindir}/ibus write-cache --system &>/dev/null || : @@ -153,6 +145,7 @@ touch --no-create %{_datadir}/icons/hicolor || : # dir {python2_sitearch}/ibus %{_libdir}/libanthygobject-%{sub_version}.so.* %{_libdir}/girepository-1.0/Anthy*.typelib +%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.engine.anthy.gschema.xml %dir %{_datadir}/ibus-anthy %{_datadir}/ibus-anthy/dicts %{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg @@ -173,6 +166,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-1 +- Bumped to 1.5.10 + * Tue Feb 20 2018 Iryna Shcherbina - 1.5.9-7 - Update Python 2 dependency declarations to new packaging standards (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) diff --git a/sources b/sources index afa7734..b8a1433 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9629d84d9fb9eca81d17b3763258b807 ibus-anthy-1.5.9.tar.gz +SHA512 (ibus-anthy-1.5.10.tar.gz) = 963b1dfba18259aad2296c10de35f9f321b0169d6f85afa058ed57b6894fe4e1d44514ffadeee3c3108aac77f54aa645096ddf4bdb353fafaedb83d27d8c5d47 From fd5dfc11d4f1b1402d1ecdf6aca3f739dfbf5b40 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 19 Mar 2018 20:18:18 +0900 Subject: [PATCH 111/202] Reverted ldconfig for f27 --- ibus-anthy.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index dc9a277..ea66a67 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -22,7 +22,7 @@ Name: ibus-anthy Version: 1.5.10 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -130,13 +130,13 @@ rm $RPM_BUILD_ROOT%{_datadir}/appdata/*.appdata.xml desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop -%ldconfig_scriptlets - %post +/sbin/ldconfig [ -x %{_bindir}/ibus ] && \ %{_bindir}/ibus write-cache --system &>/dev/null || : %postun +/sbin/ldconfig [ -x %{_bindir}/ibus ] && \ %{_bindir}/ibus write-cache --system &>/dev/null || : @@ -166,6 +166,9 @@ desktop-file-validate \ %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-2 +- Reverted ldconfig for f27 + * Mon Mar 19 2018 Takao Fujiwara - 1.5.10-1 - Bumped to 1.5.10 From d67ca0fce14dc33a10f78a0db96e3dbdf7a025b3 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 19 Mar 2018 20:57:15 +0900 Subject: [PATCH 112/202] Reverted scriptlets for f27 --- ibus-anthy.spec | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index ea66a67..02307c9 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -15,6 +15,12 @@ %global with_appdata 0 %endif +%if (0%{?fedora} > 27 || 0%{?rhel} > 7) +%global with_gtk_script 0 +%else +%global with_gtk_script 1 +%endif + %if %with_python3 # for bytecompile in %%{_datadir}/ibus-anthy %global __python %{__python3} @@ -22,7 +28,7 @@ Name: ibus-anthy Version: 1.5.10 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -132,11 +138,25 @@ desktop-file-validate \ %post /sbin/ldconfig +%if %with_gtk_script +glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : +# recreate icon cache +touch --no-create %{_datadir}/icons/hicolor || : +[ -x %{_bindir}/gtk-update-icon-cache ] && \ + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +%endif [ -x %{_bindir}/ibus ] && \ %{_bindir}/ibus write-cache --system &>/dev/null || : %postun /sbin/ldconfig +%if %with_gtk_script +glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : +# recreate icon cache +touch --no-create %{_datadir}/icons/hicolor || : +[ -x %{_bindir}/gtk-update-icon-cache ] && \ + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +%endif [ -x %{_bindir}/ibus ] && \ %{_bindir}/ibus write-cache --system &>/dev/null || : @@ -166,6 +186,9 @@ desktop-file-validate \ %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-3 +- Reverted scriptlets for f27 + * Mon Mar 19 2018 Takao Fujiwara - 1.5.10-2 - Reverted ldconfig for f27 From c70f253ba3377748bcfc612d9f1f484d0c65ab92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 19 Jun 2018 10:44:50 +0200 Subject: [PATCH 113/202] Rebuilt for Python 3.7 --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 02307c9..8abb655 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -28,7 +28,7 @@ Name: ibus-anthy Version: 1.5.10 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -186,6 +186,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Tue Jun 19 2018 Miro Hrončok - 1.5.10-4 +- Rebuilt for Python 3.7 + * Mon Mar 19 2018 Takao Fujiwara - 1.5.10-3 - Reverted scriptlets for f27 From 6e35432fbafc7e2ed05be939bf5b64e4e5cf4d9e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 13 Jul 2018 05:30:48 +0000 Subject: [PATCH 114/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 8abb655..fc9bcce 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -28,7 +28,7 @@ Name: ibus-anthy Version: 1.5.10 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ Group: System Environment/Libraries @@ -186,6 +186,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Fri Jul 13 2018 Fedora Release Engineering - 1.5.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue Jun 19 2018 Miro Hrončok - 1.5.10-4 - Rebuilt for Python 3.7 From 8895463b26ecc42150524f09b5dfff03f8e539d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 15 Nov 2018 12:53:55 +0100 Subject: [PATCH 115/202] https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 --- ibus-anthy.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index fc9bcce..1da5878 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,3 +1,7 @@ +# This package depends on automagic byte compilation +# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 +%global _python_bytecompile_extra 1 + %global sub_version 1.0 %global require_ibus_version 1.5.3 %global have_default_layout 1 From 8494e8f436d54f8dc6a3209879e8ec6bef0edd59 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:48 +0100 Subject: [PATCH 116/202] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- ibus-anthy.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 1da5878..7b58e43 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -35,7 +35,6 @@ Version: 1.5.10 Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ -Group: System Environment/Libraries URL: https://github.com/ibus/ibus/wiki Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/%{name}-%{version}.tar.gz @@ -74,7 +73,6 @@ a library of the Anthy. %package python Summary: Anthy Python files for IBus -Group: System Environment/Libraries BuildArch: noarch Requires: %{name} = %{version}-%{release} Requires: gtk3 @@ -96,7 +94,6 @@ This package contains the Anthy Python files for IBus %package devel Summary: Development tools for IBus -Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: glib2-devel Requires: anthy-devel From 03542b2fc5b0d15fd452e05b7800cc5d8b1b47c0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 1 Feb 2019 03:03:44 +0000 Subject: [PATCH 117/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 7b58e43..fb95068 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -32,7 +32,7 @@ Name: ibus-anthy Version: 1.5.10 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -187,6 +187,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Fri Feb 01 2019 Fedora Release Engineering - 1.5.10-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Fri Jul 13 2018 Fedora Release Engineering - 1.5.10-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 91e5f73610b7bfab5668d634f47e8900a6354400 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 14 May 2019 17:38:11 +0900 Subject: [PATCH 118/202] Bump to 1.5.11 --- .gitignore | 1 + ibus-anthy.spec | 19 +++++++++++-------- sources | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 74f7e9f..c60ab8d 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ ibus-anthy.png /ibus-anthy-1.5.8.tar.gz /ibus-anthy-1.5.9.tar.gz /ibus-anthy-1.5.10.tar.gz +/ibus-anthy-1.5.11.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index fb95068..4c1468c 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -14,9 +14,9 @@ %endif %if (0%{?fedora} > 22 || 0%{?rhel} > 7) -%global with_appdata 1 +%global with_metainfo 1 %else -%global with_appdata 0 +%global with_metainfo 0 %endif %if (0%{?fedora} > 27 || 0%{?rhel} > 7) @@ -31,8 +31,8 @@ %endif Name: ibus-anthy -Version: 1.5.10 -Release: 6%{?dist} +Version: 1.5.11 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -127,8 +127,8 @@ make %{?_smp_mflags} make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la -%if ! %with_appdata -rm $RPM_BUILD_ROOT%{_datadir}/appdata/*.appdata.xml +%if ! %with_metainfo +rm $RPM_BUILD_ROOT%{_datadir}/metainfo/*.metainfo.xml %endif %find_lang %{name} @@ -173,8 +173,8 @@ touch --no-create %{_datadir}/icons/hicolor || : %files python %{_libexecdir}/ibus-*-anthy -%if %with_appdata -%{_datadir}/appdata/*.appdata.xml +%if %with_metainfo +%{_datadir}/metainfo/*.metainfo.xml %endif %{_datadir}/applications/ibus-setup-anthy.desktop %{_datadir}/ibus-anthy/engine @@ -187,6 +187,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Tue May 14 2019 Takao Fujiwara - 1.5.11-1 +- Bump to 1.5.11 + * Fri Feb 01 2019 Fedora Release Engineering - 1.5.10-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index b8a1433..7f3b381 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ibus-anthy-1.5.10.tar.gz) = 963b1dfba18259aad2296c10de35f9f321b0169d6f85afa058ed57b6894fe4e1d44514ffadeee3c3108aac77f54aa645096ddf4bdb353fafaedb83d27d8c5d47 +SHA512 (ibus-anthy-1.5.11.tar.gz) = 2ac85bf4ddba56e3f84c3732082b3b63a07175ea712aad2865de4f87b8c0967da303ee1edccbed0890095e8ddab10e58307a47b72ee11b51de3927fdb9e72418 From 58ef87e3173030dc1331f2eca4e45cf61eb235a5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jul 2019 09:13:01 +0000 Subject: [PATCH 119/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 4c1468c..7e62af5 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -32,7 +32,7 @@ Name: ibus-anthy Version: 1.5.11 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -187,6 +187,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_libdir}/libanthygobject-%{sub_version}.so %changelog +* Thu Jul 25 2019 Fedora Release Engineering - 1.5.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Tue May 14 2019 Takao Fujiwara - 1.5.11-1 - Bump to 1.5.11 From 3234a6238e61202580fb47e2c9c0fb30fb2aaee6 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 16 Oct 2019 19:44:36 +0900 Subject: [PATCH 120/202] Replace anthy with anthy-unicode - Install ibus-anthy-tests sub package --- ibus-anthy-HEAD.patch | 369 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 38 ++++- 2 files changed, 399 insertions(+), 8 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 8b13789..6d25c2f 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1 +1,370 @@ +From 5a9e4858f1a2b6cad02ef1d272fc5bed959ec0bf Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 16 Oct 2019 17:58:55 +0900 +Subject: [PATCH] Integrate anthy automation tests to + ibus-desktop-testing-runner + +The test cases can be run with ibus-desktop-testing-runner: +% ibus-desktop-testing-runner \ + --no-graphics \ + --runner=gnome \ + --tests='ibus-anthy' \ + --output='./ibus-anthy.log' \ + --result='./test.log' +ibus-desktop-testing-runner requires gnome-desktop-testing-runner +in case --runner option is given. +--- + configure.ac | 14 +++++ + tests/Makefile.am | 46 +++++++++++++-- + tests/anthycases.py | 0 + tests/anthytest.py | 135 +++++++++++++++++++++++++++----------------- + tests/meta.test.in | 4 ++ + 5 files changed, 142 insertions(+), 57 deletions(-) + mode change 100644 => 100755 tests/anthycases.py + mode change 100644 => 100755 tests/anthytest.py + create mode 100644 tests/meta.test.in + +diff --git a/configure.ac b/configure.ac +index 06c4521..64afcc6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -398,6 +398,20 @@ LAYOUT_XML="${LAYOUT}" + AC_SUBST(LAYOUT) + AC_SUBST(LAYOUT_XML) + ++dnl --enable-installed-tests ++AC_ARG_ENABLE(installed-tests, ++ AS_HELP_STRING([--enable-installed-tests], ++ [Enable to installed tests]), ++ [enable_installed_tests=$enableval], ++ [enable_installed_tests=no] ++) ++AM_CONDITIONAL([ENABLE_INSTALLED_TESTS], ++ [test x"$enable_installed_tests" = x"yes"]) ++if test x"$enable_installed_tests" = x"no"; then ++ enable_installed_tests="no (disabled, use --enable-installed-tests to enable)" ++fi ++ ++ + dnl libtool versioning + dnl + dnl If LT_VERSION_INFO="lt_current:lt_revision:lt_age", libibus is +diff --git a/tests/Makefile.am b/tests/Makefile.am +index b2d35d6..d891ff2 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -19,12 +19,48 @@ + # with this program; if not, write to the Free Software Foundation, Inc., + # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + ++ ++CLEANFILES = ++ + check: ++ @TAP_DIR=`python -m site --user-site`/tap; \ ++ if test x"$$TAP_DIR" != x -a ! -d "$$TAP_DIR" ; then \ ++ echo "pip install tap.py --user"; \ ++ pip install tap.py --user; \ ++ fi; \ + bash -x $(srcdir)/test-build.sh --builddir=$(builddir) --srcdir=$(srcdir) + ++if ENABLE_INSTALLED_TESTS ++test_execsdir = $(libexecdir)/installed-tests/ibus-anthy ++test_execs = anthytest ++test_execs_SCRIPTS = \ ++ anthycases.py \ ++ anthytest.py \ ++ $(NULL) ++ ++test_metas_in = meta.test.in ++test_metas = $(addsuffix .test, $(test_execs)) ++test_sources_DATA = \ ++ $(test_metas) \ ++ $(NULL) ++test_sourcesdir = $(datadir)/installed-tests/ibus-anthy ++ ++CLEANFILES += \ ++ $(test_metas) \ ++ $(NULL) ++endif ++ ++$(test_metas): $(test_metas_in) ++ f=`echo $@ | sed -e 's/\.test//'`; \ ++ TEST_EXEC=$(test_execsdir)/$${f}.py; \ ++ sed -e "s|@TEST_EXEC[@]|$$TEST_EXEC|g" $(test_metas_in) > $@.tmp; \ ++ mv $@.tmp $@; \ ++ $(NULL) ++ + EXTRA_DIST = \ +- anthycases.py \ +- anthytest.py \ +- test-build.sh \ +- test-console.sh \ +- $(NULL) ++ anthycases.py \ ++ anthytest.py \ ++ meta.test.in \ ++ test-build.sh \ ++ test-console.sh \ ++ $(NULL) +diff --git a/tests/anthycases.py b/tests/anthycases.py +old mode 100644 +new mode 100755 +diff --git a/tests/anthytest.py b/tests/anthytest.py +old mode 100644 +new mode 100755 +index 377576c..11d0e2b +--- a/tests/anthytest.py ++++ b/tests/anthytest.py +@@ -5,19 +5,28 @@ from __future__ import print_function + + from gi import require_version as gi_require_version + gi_require_version('GLib', '2.0') ++gi_require_version('Gio', '2.0') + gi_require_version('Gtk', '3.0') + gi_require_version('IBus', '1.0') + from gi.repository import GLib ++from gi.repository import Gio + from gi.repository import Gtk + from gi.repository import IBus + ++import argparse + import getopt + import os + import sys + import subprocess ++import unittest ++ ++try: ++ from tap import TAPTestRunner ++except ModuleNotFoundError as err: ++ print('Ignore tap module: %s' % str(err)) + + PY3K = sys.version_info >= (3, 0) +-DONE_EXIT = False ++DONE_EXIT = True + + if 'IBUS_ANTHY_ENGINE_PATH' in os.environ: + engine_path = os.environ['IBUS_ANTHY_ENGINE_PATH'] +@@ -31,11 +40,28 @@ sys.path.append('/usr/share/ibus-anthy/engine') + + from anthycases import TestCases + +-class AnthyTest: ++# Need to flush the output against Gtk.main() ++def printflush(sentence): ++ try: ++ print(sentence, flush=True) ++ except IOError: ++ pass ++ ++def printerr(sentence): ++ try: ++ print(sentence, flush=True, file=sys.stderr) ++ except IOError: ++ pass ++ ++class AnthyTest(unittest.TestCase): + global DONE_EXIT + ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Test/Engine' +- def __init__(self): ++ ++ @classmethod ++ def setUpClass(cls): + IBus.init() ++ ++ def setUp(self): + self.__id = 0 + self.__rerun = False + self.__test_index = 0 +@@ -141,7 +167,6 @@ class AnthyTest: + if not self.__bus.set_global_engine_async_finish(res): + warning('set engine failed: ' + error.message) + return +- print('enabled engine') + self.__enable_hiragana() + self.__main_test() + +@@ -173,28 +198,15 @@ class AnthyTest: + self.__run_cases('commit') + + def __enable_hiragana(self): +- commands = ['gsettings', 'get', +- 'org.freedesktop.ibus.engine.anthy.common', +- 'input-mode' +- ] +- if PY3K: +- py3result = subprocess.run(commands, stdout=subprocess.PIPE) +- try: +- result = int(py3result.stdout) +- except ValueError: +- # No user data +- result = 0 +- else: +- py2result = subprocess.check_output(commands) +- result = py2result +- if result == '': +- result = 0 ++ settings = Gio.Settings( ++ schema = "org.freedesktop.ibus.engine.anthy.common"); ++ result = settings.get_int('input-mode') + if result != 0: +- print('Enable hiragana', result) ++ printflush('Enable hiragana %d' % result) + key = TestCases['init'] + self.__typing(key[0], key[1], key[2]) + else: +- print('Already hiragana') ++ printflush('Already hiragana') + + def __main_test(self): + self.__conversion_index = 0 +@@ -214,7 +226,8 @@ class AnthyTest: + i = 0 + if type == 'string': + if start == -1 and end == -1: +- print('test step:', tag, 'sequences: "' + cases['string'] + '"') ++ printflush('test step: %s sequences: "%s"' \ ++ % (tag, str(cases['string']))) + for a in cases['string']: + if start >= 0 and i < start: + i += 1 +@@ -222,12 +235,14 @@ class AnthyTest: + if end >= 0 and i >= end: + break; + if start != -1 or end != -1: +- print('test step:', tag, 'sequences: "' + cases['string'][i] + '"') ++ printflush('test step: %s sequences: "%s"' \ ++ % (tag, str(cases['string']))) + self.__typing(ord(a), 0, 0) + i += 1 + if type == 'keys': + if start == -1 and end == -1: +- print('test step:', tag, 'sequences:', cases['keys']) ++ printflush('test step: %s sequences: %s' \ ++ % (tag, str(cases['keys']))) + for key in cases['keys']: + if start >= 0 and i < start: + i += 1 +@@ -235,7 +250,8 @@ class AnthyTest: + if end >= 0 and i >= end: + break; + if start != -1 or end != -1: +- print('test step: %s sequences: [0x%X, 0x%X, 0x%X]' % (tag, key[0], key[1], key[2])) ++ printflush('test step: %s sequences: [0x%X, 0x%X, 0x%X]' \ ++ % (tag, key[0], key[1], key[2])) + self.__typing(key[0], key[1], key[2]) + i += 1 + +@@ -248,9 +264,10 @@ class AnthyTest: + tests = TestCases['tests'][self.__test_index] + cases = tests['result'] + if cases['string'] == chars: +- print("OK: ", chars) ++ printflush('OK: %d %s' % (self.__test_index, chars)) + else: +- print("NG: ", cases['string'], chars) ++ printflush('NG: %d %s %s' \ ++ % (self.__test_index, str(cases['string']), chars)) + self.__test_index += 1 + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +@@ -259,9 +276,15 @@ class AnthyTest: + self.__entry.set_text('') + self.__main_test() + +- def run(self): ++ def main(self): + Gtk.main() + ++ def test_typing(self): ++ if not self.register_ibus_engine(): ++ sys.exit(-1) ++ self.create_window() ++ self.main() ++ + def print_help(out, v = 0): + print('-e, --exit Exit this program after test is done.', + file=out) +@@ -285,25 +308,30 @@ def get_userhome(): + return userhome + + def main(): +- shortopt = 'efh' +- longopt = ['exit', 'force', 'help'] + force_run = False +- try: +- opts, args = getopt.getopt(sys.argv[1:], shortopt, longopt) +- except getopt.GetoptError as err: +- print_help(sys.stderr, 1) +- +- for o, a in opts: +- if o in ('-e', '--exit'): +- global DONE_EXIT +- DONE_EXIT = True +- elif o in ('-f', '--force'): +- force_run = True +- elif o in ('-h', '--help'): +- print_help(sys.stderr) +- else: +- print('Unknown argument: %s' % o, file=sys.stderr) +- print_help(sys.stderr, 1) ++ parser = argparse.ArgumentParser() ++ parser.add_argument('-k', '--keep', action='store_true', ++ help='keep this GtkWindow after test is done') ++ parser.add_argument('-f', '--force', action='store_true', ++ help='run this program forcibly with .anthy') ++ parser.add_argument('-t', '--tap', action='store_true', ++ help='enable TAP') ++ parser.add_argument('-F', '--unittest-failfast', action='store_true', ++ help='stop on first fail or error in unittest') ++ parser.add_argument('-H', '--unittest-help', action='store_true', ++ help='show unittest help message and exit') ++ args, unittest_args = parser.parse_known_args() ++ sys.argv[1:] = unittest_args ++ if args.keep: ++ global DONE_EXIT ++ DONE_EXIT = False ++ if args.force: ++ force_run = True ++ if args.unittest_failfast: ++ sys.argv.append('-f') ++ if args.unittest_help: ++ sys.argv.append('-h') ++ unittest.main() + + for anthy_config in ['/.config/anthy', '/.anthy']: + anthy_user_dir = get_userhome() + anthy_config +@@ -312,11 +340,14 @@ def main(): + print('Please remove %s before the test' % anthy_last_file, + file=sys.stderr) + sys.exit(-1) +- EngineTest = AnthyTest() +- if not EngineTest.register_ibus_engine(): +- sys.exit(-1) +- EngineTest.create_window() +- EngineTest.run() ++ ++ if args.tap: ++ loader = unittest.TestLoader() ++ runner = TAPTestRunner() ++ runner.set_stream(True) ++ unittest.main(testRunner=runner, testLoader=loader) ++ else: ++ unittest.main() + + if __name__ == '__main__': + main() +diff --git a/tests/meta.test.in b/tests/meta.test.in +new file mode 100644 +index 0000000..ae2b299 +--- /dev/null ++++ b/tests/meta.test.in +@@ -0,0 +1,4 @@ ++[Test] ++Type=session ++Exec=@TEST_EXEC@ --tap ++Output=TAP +-- +2.21.0 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 7e62af5..337d2df 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -32,7 +32,7 @@ Name: ibus-anthy Version: 1.5.11 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -40,10 +40,12 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch -BuildRequires: anthy-devel +BuildRequires: anthy-unicode-devel BuildRequires: desktop-file-utils BuildRequires: gettext-devel +BuildRequires: git BuildRequires: glib2-devel BuildRequires: gobject-introspection-devel BuildRequires: ibus @@ -64,7 +66,7 @@ BuildRequires: python2-gobject-base Requires: ibus >= %{require_ibus_version} Requires: kasumi -Requires: anthy +Requires: anthy-unicode Requires: %{name}-python = %{version}-%{release} %description @@ -94,20 +96,29 @@ This package contains the Anthy Python files for IBus %package devel Summary: Development tools for IBus -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: glib2-devel -Requires: anthy-devel +Requires: anthy-unicode-devel %description devel The ibus-anthy-devel package contains .so file and .gir files for developers. +%package tests +Summary: Tests for the %{name} package +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tests +The %{name}-tests package contains tests that can be used to verify +the functionality of the installed %{name} package. + + %prep -%setup -q -# %%patch0 -p1 +%autosetup -S git %build -autoreconf +#autoreconf -f -i -v +autoreconf -f -i -v %configure \ %if %have_default_layout --with-layout='default' \ @@ -119,6 +130,7 @@ autoreconf %if %with_python3 --with-python=python3 \ %endif + --enable-installed-tests \ --disable-static # make -C po update-gmo make %{?_smp_mflags} @@ -186,7 +198,17 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_includedir}/ibus-anthy-%{sub_version} %{_libdir}/libanthygobject-%{sub_version}.so +%files tests +%dir %{_libexecdir}/installed-tests +%{_libexecdir}/installed-tests/%{name} +%dir %{_datadir}/installed-tests +%{_datadir}/installed-tests/%{name} + %changelog +* Wed Oct 16 2019 Takao Fujiwara - 1.5.11-3 +- Replace anthy with anthy-unicode +- Install ibus-anthy-tests sub package + * Thu Jul 25 2019 Fedora Release Engineering - 1.5.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 1d2a83b9a26c0b172f362c6f9728efe2bf8e7c31 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 17 Oct 2019 15:45:08 +0900 Subject: [PATCH 121/202] Add CI --- .gitignore | 1 + ibus-anthy.spec | 5 +- .../defaults/main.yml | 3 + .../ibus-desktop-testing-role/meta/main.yml | 4 + .../ibus-desktop-testing-role/tasks/main.yml | 114 ++++++++++++++++++ tests/tests.yml | 8 ++ 6 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 tests/roles/ibus-desktop-testing-role/defaults/main.yml create mode 100644 tests/roles/ibus-desktop-testing-role/meta/main.yml create mode 100644 tests/roles/ibus-desktop-testing-role/tasks/main.yml create mode 100644 tests/tests.yml diff --git a/.gitignore b/.gitignore index c60ab8d..b265bd5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +tests/artifacts ibus-anthy-1.2.1.tar.gz ibus-anthy.png /ibus-anthy-1.2.2.20101015.tar.gz diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 337d2df..18282b4 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -32,7 +32,7 @@ Name: ibus-anthy Version: 1.5.11 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -205,6 +205,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/installed-tests/%{name} %changelog +* Thu Oct 17 2019 Takao Fujiwara - 1.5.11-4 +- Add CI + * Wed Oct 16 2019 Takao Fujiwara - 1.5.11-3 - Replace anthy with anthy-unicode - Install ibus-anthy-tests sub package diff --git a/tests/roles/ibus-desktop-testing-role/defaults/main.yml b/tests/roles/ibus-desktop-testing-role/defaults/main.yml new file mode 100644 index 0000000..8ff7991 --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/defaults/main.yml @@ -0,0 +1,3 @@ +role_pkgs_req: + - rsync + - xorg-x11-server-Xvfb diff --git a/tests/roles/ibus-desktop-testing-role/meta/main.yml b/tests/roles/ibus-desktop-testing-role/meta/main.yml new file mode 100644 index 0000000..6626402 --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/meta/main.yml @@ -0,0 +1,4 @@ +--- + +dependencies: + - role: str-common-init diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml new file mode 100644 index 0000000..5d1d8cc --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -0,0 +1,114 @@ +--- +- name: Check if GNOME installed-tests testing harness is installed + register: gnome_desktop_testing_runner + find: + paths: "{{ ansible_env.PATH.split(':') }}" + pattern: gnome-desktop-testing-runner + +- name: Build and install GNOME installed-tests testing harness + when: gnome_desktop_testing_runner.matched == 0 + block: + - name: Installing build dependencies for IBus and GNOME installed-tests testing harness + package: + name: + - git + - make + - gcc + - diffutils + - autoconf + - automake + - libtool + - glib2-devel + - systemd-devel + - gnome-session + - gnome-shell + - dbus-x11 + - xorg-x11-server-Xvfb + - ibus + - ibus-desktop-testing + - ibus-anthy-tests + # ibus-compose test needs locales + - glibc-langpack-el + - glibc-langpack-fi + - glibc-langpack-pt + + - name: Fetching GNOME installed-tests testing harness source from remote repository + git: + repo: 'https://gitlab.gnome.org/GNOME/gnome-desktop-testing.git' + dest: gnome-desktop-testing + force: yes + + - name: Configure GNOME installed-tests testing harness build + command: ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var + args: + chdir: gnome-desktop-testing + + - name: Build GNOME installed-tests testing harness + command: make + args: + chdir: gnome-desktop-testing + + - name: Install GNOME installed-tests testing harness + command: make install + args: + chdir: gnome-desktop-testing + + - name: Install tap.py + shell: | + TAP_DIR=`python -m site --user-site`/tap + if [ x"$TAP_DIR" != x -a ! -d "$TAP_DIR" ] ; then + echo "pip install tap.py --user" + pip install tap.py --user + fi + +- name: Start IBus installed-tests testing harness + block: + - name: Execute IBus tests + shell: | + set -e + status="FAIL: frame" + if [ -f $HOME/.config/anthy/last-record2_default.utf8 ] ; then \ + rm $HOME/.config/anthy/last-record2_default.utf8 + fi + if [ -f $HOME/.anthy/last-record2_default.utf8 ] ; then \ + rm $HOME/.anthy/last-record2_default.utf8 + fi + env TMPDIR='{{ remote_artifacts }}' G_MESSAGES_DEBUG='all' \ + ibus-desktop-testing-runner \ + --no-graphics \ + --runner=gnome \ + --tests='{{ installed_test_name }}' \ + --output='{{ remote_artifacts }}/{{ installed_test_name }}.log' \ + --result='{{ remote_artifacts }}/test.log' \ + null + if [ $? -eq 0 ]; then + status="PASS: frame" + fi + echo "${status} $TEST" >> {{ remote_artifacts }}/test.log + + - name: Check the results + #shell: grep "^FAIL" {{ remote_artifacts }}/test.log + shell: | + log="{{ remote_artifacts }}/test.log" + if [ ! -f $log ] ; then + echo ERROR + else + FAIL=`grep "^FAIL: " {{ remote_artifacts }}/test.log | grep -v 'FAIL: 0$'` + if [ x"$FAIL" != x ] ; then + echo ERROR + else + echo PASS + fi + fi + register: test_fails + #failed_when: False + + - name: Set role result + set_fact: + role_result: "{{ test_fails.stdout }}" + role_result_failed: "{{ (test_fails.stdout|d|length > 0) or (test_fails.stderr|d|length > 0) }}" + role_result_msg: "{{ test_fails.stdout|d('tests failed.') }}" + + - include_role: + name: str-common-final + diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..b175564 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,8 @@ +- hosts: localhost + roles: + - role: ibus-desktop-testing-role + installed_test_name: ibus-anthy + tags: + - classic + - gating + From dd352ed511b09c88e87eed082a63311781c41c81 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 4 Dec 2019 17:10:58 +0900 Subject: [PATCH 122/202] Bug 1779129- Fix to install zipcode dict with anthy-unicode --- ibus-anthy-HEAD.patch | 76 +++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 ++- 2 files changed, 80 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 6d25c2f..879456d 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -368,3 +368,79 @@ index 0000000..ae2b299 -- 2.21.0 +From a2e418003b3733c5792fbab62a2e364a343a6e49 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 4 Dec 2019 16:58:52 +0900 +Subject: [PATCH] configure: Fix to install zipcode dict with anthy-unicode + (#1779129) + +--- + configure.ac | 2 +- + setup/python2/main.py | 6 +++--- + setup/python3/main.py | 6 +++--- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 64afcc6..3fecd12 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -236,7 +236,7 @@ AC_ARG_WITH(anthy-zipcode, + [AC_HELP_STRING([--with-anthy-zipcode=FILE], + [file path of Anty zipcode.t])], + [ANTHY_ZIPCODE_FILE="$withval"], +- [ANTHY_ZIPCODE_FILE="$datadir/anthy/zipcode.t"]) ++ [ANTHY_ZIPCODE_FILE="$datadir/$ANTHY_PC/zipcode.t"]) + test "x$prefix" = xNONE && prefix=$ac_default_prefix + eval ANTHY_ZIPCODE_FILE=$ANTHY_ZIPCODE_FILE + eval ANTHY_ZIPCODE_FILE=$ANTHY_ZIPCODE_FILE +diff --git a/setup/python2/main.py b/setup/python2/main.py +index 1fb5a67..4e6b15b 100644 +--- a/setup/python2/main.py ++++ b/setup/python2/main.py +@@ -4,8 +4,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2017 Takao Fujiwara +-# Copyright (c) 2007-2017 Red Hat, Inc. ++# Copyright (c) 2010-2019 Takao Fujiwara ++# Copyright (c) 2007-2019 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -1460,7 +1460,7 @@ class AnthySetup(object): + Gtk.MessageType.ERROR) + return + if not path.exists(dict_file[0]): +- self.__run_message_dialog(_("Your file does not exist: ") + dict_file, ++ self.__run_message_dialog(_("Your file does not exist: ") + dict_file[0], + Gtk.MessageType.ERROR) + return + +diff --git a/setup/python3/main.py b/setup/python3/main.py +index 5fd3040..340e8ef 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -4,8 +4,8 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2017 Takao Fujiwara +-# Copyright (c) 2007-2017 Red Hat, Inc. ++# Copyright (c) 2010-2019 Takao Fujiwara ++# Copyright (c) 2007-2019 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -1454,7 +1454,7 @@ class AnthySetup(object): + Gtk.MessageType.ERROR) + return + if not path.exists(dict_file[0]): +- self.__run_message_dialog(_("Your file does not exist: ") + dict_file, ++ self.__run_message_dialog(_("Your file does not exist: ") + dict_file[0], + Gtk.MessageType.ERROR) + return + +-- +2.21.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 18282b4..4a9a94f 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -32,7 +32,7 @@ Name: ibus-anthy Version: 1.5.11 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -205,6 +205,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/installed-tests/%{name} %changelog +* Wed Dec 04 2019 Takao Fujiwara - 1.5.11-5 +- Bug 1779129- Fix to install zipcode dict with anthy-unicode + * Thu Oct 17 2019 Takao Fujiwara - 1.5.11-4 - Add CI From c68416fc79be5aa041228a2215badf66ddccb996 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jan 2020 05:07:25 +0000 Subject: [PATCH 123/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 4a9a94f..1917005 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -32,7 +32,7 @@ Name: ibus-anthy Version: 1.5.11 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -205,6 +205,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/installed-tests/%{name} %changelog +* Wed Jan 29 2020 Fedora Release Engineering - 1.5.11-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Wed Dec 04 2019 Takao Fujiwara - 1.5.11-5 - Bug 1779129- Fix to install zipcode dict with anthy-unicode From 2bce534c0c2f648f76fee167189b6c4b7fda66ae Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 9 Jul 2020 22:57:02 +0900 Subject: [PATCH 124/202] Use pycotap instead of tappy in CI - Revise CI from ibus-typing-booster - Delete _python_bytecompile_extra --- ibus-anthy-HEAD.patch | 170 ++++++++++++++++++ ibus-anthy.spec | 13 +- .../ibus-desktop-testing-role/tasks/main.yml | 18 +- 3 files changed, 186 insertions(+), 15 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 879456d..c15bb68 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -444,3 +444,173 @@ index 5fd3040..340e8ef 100644 -- 2.21.0 +From 390d6273096fe0e435a0d145e6a785f38372ba67 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 2 Jul 2020 14:47:39 +0900 +Subject: [PATCH] tests: Enable pycotap + +--- + tests/anthytest.py | 20 +++++++++++++++++--- + 1 file changed, 17 insertions(+), 3 deletions(-) + +diff --git a/tests/anthytest.py b/tests/anthytest.py +index 11d0e2b..03a7c31 100755 +--- a/tests/anthytest.py ++++ b/tests/anthytest.py +@@ -20,10 +20,23 @@ import sys + import subprocess + import unittest + ++TAP_MODULE_NONE, \ ++TAP_MODULE_TAPPY, \ ++TAP_MODULE_PYCOTAP = list(range(3)) ++ ++tap_module = TAP_MODULE_NONE ++ + try: + from tap import TAPTestRunner +-except ModuleNotFoundError as err: +- print('Ignore tap module: %s' % str(err)) ++ tap_module = TAP_MODULE_TAPPY ++ print('Load tappy') ++except ModuleNotFoundError: ++ try: ++ from pycotap import TAPTestRunner ++ tap_module = TAP_MODULE_PYCOTAP ++ print('Load pycotap') ++ except ModuleNotFoundError as err: ++ print('Ignore tap module: %s' % str(err)) + + PY3K = sys.version_info >= (3, 0) + DONE_EXIT = True +@@ -344,7 +357,8 @@ def main(): + if args.tap: + loader = unittest.TestLoader() + runner = TAPTestRunner() +- runner.set_stream(True) ++ if tap_module == TAP_MODULE_TAPPY: ++ runner.set_stream(True) + unittest.main(testRunner=runner, testLoader=loader) + else: + unittest.main() +-- +2.24.1 + +From f4f35c32942a649d67fb52730d7a5d4f2ef5058a Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 9 Jul 2020 20:20:57 +0900 +Subject: [PATCH] tests: Use unittest.fail and unittest.skipIf + +--- + tests/anthytest.py | 39 +++++++++++++++++++++++++++------------ + 1 file changed, 27 insertions(+), 12 deletions(-) + +diff --git a/tests/anthytest.py b/tests/anthytest.py +index 03a7c31..bff3078 100755 +--- a/tests/anthytest.py ++++ b/tests/anthytest.py +@@ -5,10 +5,12 @@ from __future__ import print_function + + from gi import require_version as gi_require_version + gi_require_version('GLib', '2.0') ++gi_require_version('Gdk', '3.0') + gi_require_version('Gio', '2.0') + gi_require_version('Gtk', '3.0') + gi_require_version('IBus', '1.0') + from gi.repository import GLib ++from gi.repository import Gdk + from gi.repository import Gio + from gi.repository import Gtk + from gi.repository import IBus +@@ -66,6 +68,7 @@ def printerr(sentence): + except IOError: + pass + ++@unittest.skipIf(Gdk.Display.open('') == None, 'Display cannot be open.') + class AnthyTest(unittest.TestCase): + global DONE_EXIT + ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Test/Engine' +@@ -84,7 +87,7 @@ class AnthyTest(unittest.TestCase): + def register_ibus_engine(self): + self.__bus = IBus.Bus() + if not self.__bus.is_connected(): +- error('ibus-daemon is not running') ++ self.fail('ibus-daemon is not running') + return False; + self.__bus.get_connection().signal_subscribe('org.freedesktop.DBus', + 'org.freedesktop.DBus', +@@ -130,12 +133,24 @@ class AnthyTest(unittest.TestCase): + interface_name, signal_name, parameters, + user_data): + if signal_name == 'NameOwnerChanged': +- import engine ++ try: ++ import engine ++ except ModuleNotFoundError as e: ++ with self.subTest(i = 'name-owner-changed'): ++ self.fail('NG: Not installed ibus-anthy %s' % str(e)) ++ Gtk.main_quit() ++ return + engine.Engine.CONFIG_RELOADED() + + def __create_engine_cb(self, factory, engine_name): + if engine_name == 'testanthy': +- import engine ++ try: ++ import engine ++ except ModuleNotFoundError as e: ++ with self.subTest(i = 'create-engine'): ++ self.fail('NG: Not installed ibus-anthy %s' % str(e)) ++ Gtk.main_quit() ++ return + self.__id += 1 + self.__engine = engine.Engine(self.__bus, '%s/%d' % (self.ENGINE_PATH, self.__id)) + self.__engine.connect('focus-in', self.__engine_focus_in) +@@ -178,7 +193,8 @@ class AnthyTest(unittest.TestCase): + + def __set_engine_cb(self, object, res): + if not self.__bus.set_global_engine_async_finish(res): +- warning('set engine failed: ' + error.message) ++ with self.subTest(i = self.__test_index): ++ self.fail('set engine failed: ' + error.message) + return + self.__enable_hiragana() + self.__main_test() +@@ -238,18 +254,14 @@ class AnthyTest(unittest.TestCase): + type = list(cases.keys())[0] + i = 0 + if type == 'string': +- if start == -1 and end == -1: +- printflush('test step: %s sequences: "%s"' \ +- % (tag, str(cases['string']))) ++ printflush('test step: %s sequences: "%s"' \ ++ % (tag, str(cases['string']))) + for a in cases['string']: + if start >= 0 and i < start: + i += 1 + continue + if end >= 0 and i >= end: + break; +- if start != -1 or end != -1: +- printflush('test step: %s sequences: "%s"' \ +- % (tag, str(cases['string']))) + self.__typing(ord(a), 0, 0) + i += 1 + if type == 'keys': +@@ -279,8 +291,11 @@ class AnthyTest(unittest.TestCase): + if cases['string'] == chars: + printflush('OK: %d %s' % (self.__test_index, chars)) + else: +- printflush('NG: %d %s %s' \ +- % (self.__test_index, str(cases['string']), chars)) ++ with self.subTest(i = self.__test_index): ++ self.fail('NG: %d %s %s' \ ++ % (self.__test_index, str(cases['string']), chars)) ++ if DONE_EXIT: ++ Gtk.main_quit() + self.__test_index += 1 + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +-- +2.24.1 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 1917005..0290ecf 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -1,7 +1,4 @@ -# This package depends on automagic byte compilation -# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 -%global _python_bytecompile_extra 1 - +# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_3 %global sub_version 1.0 %global require_ibus_version 1.5.3 %global have_default_layout 1 @@ -32,7 +29,7 @@ Name: ibus-anthy Version: 1.5.11 -Release: 6%{?dist} +Release: 7%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -107,6 +104,7 @@ for developers. %package tests Summary: Tests for the %{name} package Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python3-pycotap %description tests The %{name}-tests package contains tests that can be used to verify @@ -205,6 +203,11 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/installed-tests/%{name} %changelog +* Thu Jul 09 2020 Takao Fujiwara - 1.5.11-7 +- Use pycotap instead of tappy in CI +- Revise CI from ibus-typing-booster +- Delete _python_bytecompile_extra + * Wed Jan 29 2020 Fedora Release Engineering - 1.5.11-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml index 5d1d8cc..5844d5a 100644 --- a/tests/roles/ibus-desktop-testing-role/tasks/main.yml +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -53,15 +53,11 @@ args: chdir: gnome-desktop-testing - - name: Install tap.py - shell: | - TAP_DIR=`python -m site --user-site`/tap - if [ x"$TAP_DIR" != x -a ! -d "$TAP_DIR" ] ; then - echo "pip install tap.py --user" - pip install tap.py --user - fi - - name: Start IBus installed-tests testing harness + environment: + ANSIBLE: 1 + TMPDIR: '{{ remote_artifacts }}' + G_MESSAGES_DEBUG: 'all' block: - name: Execute IBus tests shell: | @@ -73,10 +69,10 @@ if [ -f $HOME/.anthy/last-record2_default.utf8 ] ; then \ rm $HOME/.anthy/last-record2_default.utf8 fi - env TMPDIR='{{ remote_artifacts }}' G_MESSAGES_DEBUG='all' \ - ibus-desktop-testing-runner \ + ibus-desktop-testing-runner \ --no-graphics \ --runner=gnome \ + --timeout=1200 \ --tests='{{ installed_test_name }}' \ --output='{{ remote_artifacts }}/{{ installed_test_name }}.log' \ --result='{{ remote_artifacts }}/test.log' \ @@ -92,10 +88,12 @@ log="{{ remote_artifacts }}/test.log" if [ ! -f $log ] ; then echo ERROR + exit 1 else FAIL=`grep "^FAIL: " {{ remote_artifacts }}/test.log | grep -v 'FAIL: 0$'` if [ x"$FAIL" != x ] ; then echo ERROR + exit 1 else echo PASS fi From 546a0fd4a4f4867a55c30bed8f1367b71e80b137 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jul 2020 01:32:14 +0000 Subject: [PATCH 125/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 0290ecf..2f0c43e 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -29,7 +29,7 @@ Name: ibus-anthy Version: 1.5.11 -Release: 7%{?dist} +Release: 8%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -203,6 +203,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/installed-tests/%{name} %changelog +* Tue Jul 28 2020 Fedora Release Engineering - 1.5.11-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Thu Jul 09 2020 Takao Fujiwara - 1.5.11-7 - Use pycotap instead of tappy in CI - Revise CI from ibus-typing-booster From 392779f98bd14291f602e7ffc04694208db1e063 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Tue, 5 Jan 2021 06:14:57 +0000 Subject: [PATCH 126/202] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- ibus-anthy.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 2f0c43e..3eee8d4 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -49,6 +49,7 @@ BuildRequires: ibus BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig +BuildRequires: make %if %with_python3 BuildRequires: python3-devel BuildRequires: python3-gobject From a8e8d33fdc7d11b29b7bb24c4e2b5095bfdafc99 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 14:06:35 +0000 Subject: [PATCH 127/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 3eee8d4..23af2b6 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -29,7 +29,7 @@ Name: ibus-anthy Version: 1.5.11 -Release: 8%{?dist} +Release: 9%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -204,6 +204,9 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/installed-tests/%{name} %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 1.5.11-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Jul 28 2020 Fedora Release Engineering - 1.5.11-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From a2e3ccd8ee70e7c068774dbb698e17dcc6d9e010 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 10 Feb 2021 21:14:59 +0900 Subject: [PATCH 128/202] Replace kasumi with kausmi-unicode - Delete to require intltool - Delete to call gettext.bind_textdomain_codeset() --- ibus-anthy-HEAD.patch | 119 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 75 ++++++-------------------- 2 files changed, 136 insertions(+), 58 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index c15bb68..e5246ca 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -614,3 +614,122 @@ index 03a7c31..bff3078 100755 -- 2.24.1 +From c744be610dff270f1c0f0367f809b9df95aeea2d Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 10 Feb 2021 20:50:11 +0900 +Subject: [PATCH] setup: Set ANTHY_PC in _config.py + +Forgot to update setup/Makefile besides engine/Makefile +Also delete deprecated gettext.bind_textdomain_codeset() +--- + setup/python3/Makefile.am | 3 ++- + setup/python3/main.py | 3 +-- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/setup/python3/Makefile.am b/setup/python3/Makefile.am +index 90b3aa1..1eb3747 100644 +--- a/setup/python3/Makefile.am ++++ b/setup/python3/Makefile.am +@@ -4,7 +4,7 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2017 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2007-2017 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -86,6 +86,7 @@ _config.py: _config.py.in + sed -e "s|\@pkgdatadir\@|$(pkgdatadir)|g" \ + -e "s|\@libexecdir\@|$(libexecdir)|g" \ + -e "s|\@datadir\@|$(datadir)|g" \ ++ -e "s|\@ANTHY_PC\@|$(ANTHY_PC)|g" \ + -e "s|\@LAYOUT\@|$(LAYOUT)|g" \ + -e "s|\@SYMBOL_CHAR_INT\@|$(SYMBOL_CHAR_INT)|g" \ + -e "s|\@ICON_PREFERENCE\@|$(ICON_PREFERENCE)|g" \ +diff --git a/setup/python3/main.py b/setup/python3/main.py +index 340e8ef..7e16093 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -4,7 +4,7 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2019 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2007-2019 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -76,7 +76,6 @@ class AnthySetup(object): + except AttributeError: + pass + gettext.bindtextdomain(DOMAINNAME, config.LOCALEDIR) +- gettext.bind_textdomain_codeset(DOMAINNAME, 'UTF-8') + + self.__prefs = AnthyPrefs() + +-- +2.28.0 + +From 00bab0ac26dfcd635f559b68ef76cc662a51f35b Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 10 Feb 2021 20:52:30 +0900 +Subject: [PATCH] data: Enable to configure kasumi-unicode in gschema + +kasumi-unicode can be generated from kasumi source codes +with anthy-unicode but not anthy. +kasumi-unicode can save the dicts in XDG config dir but not +$HOME/.anthy + +% ./configure --with-kasumi-exec=/usr/bin/kasumi-unicode +--- + data/Makefile.am | 4 +++- + data/org.freedesktop.ibus.engine.anthy.gschema.xml.in | 4 ++-- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index da86209..5e45c39 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2018 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2010-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -49,8 +49,10 @@ $(metainfo_DATA): $(metainfo_in_files) Makefile + $(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ + + $(schemas_DATA): $(schemas_in_files) ++ KASUMI_EXEC_BASENAME=`basename $(KASUMI_EXEC_FILE)`; \ + $(SED) -e "s|\@ANTHY_ZIPCODE_FILE\@|$(ANTHY_ZIPCODE_FILE)|g" \ + -e "s|\@KASUMI_EXEC_FILE\@|$(KASUMI_EXEC_FILE)|g" \ ++ -e "s|\@KASUMI_EXEC_BASENAME\@|$$KASUMI_EXEC_BASENAME|g" \ + -e "s|\@KASUMI_ICON_FILE\@|$(KASUMI_ICON_FILE)|g" \ + -e "s|\@ON_OFF_KEYS\@|$(ON_OFF_KEYS)|g" \ + -e "s|\@pkgdatadir\@|$(pkgdatadir)|g" \ +diff --git a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +index 3b68b4b..773be09 100644 +--- a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in ++++ b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +@@ -108,12 +108,12 @@ + + + +- ['@KASUMI_EXEC_FILE@', 'kasumi'] ++ ['@KASUMI_EXEC_FILE@', '@KASUMI_EXEC_BASENAME@'] + Dictionary Administration Command + + + +- ['@KASUMI_EXEC_FILE@', 'kasumi', '-a'] ++ ['@KASUMI_EXEC_FILE@', '@KASUMI_EXEC_BASENAME@', '-a'] + Add Word Command + + +-- +2.28.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 23af2b6..0ce8199 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -3,23 +3,12 @@ %global require_ibus_version 1.5.3 %global have_default_layout 1 %global have_bridge_hotkey 1 - -%if (0%{?fedora} > 19 || 0%{?rhel} > 7) %global with_python3 1 -%else -%global with_python3 0 -%endif -%if (0%{?fedora} > 22 || 0%{?rhel} > 7) -%global with_metainfo 1 +%if (0%{?fedora} > 33 || 0%{?rhel} > 8) +%bcond_without kasumi_unicode %else -%global with_metainfo 0 -%endif - -%if (0%{?fedora} > 27 || 0%{?rhel} > 7) -%global with_gtk_script 0 -%else -%global with_gtk_script 1 +%bcond_with kasumi_unicode %endif %if %with_python3 @@ -29,7 +18,7 @@ Name: ibus-anthy Version: 1.5.11 -Release: 9%{?dist} +Release: 10%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -46,24 +35,17 @@ BuildRequires: git BuildRequires: glib2-devel BuildRequires: gobject-introspection-devel BuildRequires: ibus -BuildRequires: intltool BuildRequires: libtool BuildRequires: pkgconfig -BuildRequires: make -%if %with_python3 BuildRequires: python3-devel BuildRequires: python3-gobject -%else -BuildRequires: python2-devel -% if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -BuildRequires: pygobject3-base -% else -BuildRequires: python2-gobject-base -% endif -%endif Requires: ibus >= %{require_ibus_version} +%if %{with kasumi_unicode} +Requires: kasumi-unicode +%else Requires: kasumi +%endif Requires: anthy-unicode Requires: %{name}-python = %{version}-%{release} @@ -76,18 +58,8 @@ Summary: Anthy Python files for IBus BuildArch: noarch Requires: %{name} = %{version}-%{release} Requires: gtk3 -%if %with_python3 Requires: python3-cairo Requires: python3-gobject -%else -% if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) -Requires: pycairo -Requires: pygobject3 -% else -Requires: python2-cairo -Requires: python2-gobject -% endif -%endif %description python This package contains the Anthy Python files for IBus @@ -125,10 +97,11 @@ autoreconf -f -i -v %if %have_bridge_hotkey --with-hotkeys \ %endif - --with-on-off-keys="'Zenkaku_Hankaku', 'Ctrl+space', 'Ctrl+J'" \ -%if %with_python3 - --with-python=python3 \ +%if %{with kasumi_unicode} + --with-kasumi-exec=/usr/bin/kasumi-unicode \ %endif + --with-on-off-keys="'Zenkaku_Hankaku', 'Ctrl+space', 'Ctrl+J'" \ + --with-python=python3 \ --enable-installed-tests \ --disable-static # make -C po update-gmo @@ -138,9 +111,6 @@ make %{?_smp_mflags} make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la -%if ! %with_metainfo -rm $RPM_BUILD_ROOT%{_datadir}/metainfo/*.metainfo.xml -%endif %find_lang %{name} @@ -150,25 +120,11 @@ desktop-file-validate \ %post /sbin/ldconfig -%if %with_gtk_script -glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : -# recreate icon cache -touch --no-create %{_datadir}/icons/hicolor || : -[ -x %{_bindir}/gtk-update-icon-cache ] && \ - %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : -%endif [ -x %{_bindir}/ibus ] && \ %{_bindir}/ibus write-cache --system &>/dev/null || : %postun /sbin/ldconfig -%if %with_gtk_script -glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || : -# recreate icon cache -touch --no-create %{_datadir}/icons/hicolor || : -[ -x %{_bindir}/gtk-update-icon-cache ] && \ - %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : -%endif [ -x %{_bindir}/ibus ] && \ %{_bindir}/ibus write-cache --system &>/dev/null || : @@ -184,9 +140,7 @@ touch --no-create %{_datadir}/icons/hicolor || : %files python %{_libexecdir}/ibus-*-anthy -%if %with_metainfo %{_datadir}/metainfo/*.metainfo.xml -%endif %{_datadir}/applications/ibus-setup-anthy.desktop %{_datadir}/ibus-anthy/engine %{_datadir}/ibus-anthy/setup @@ -204,6 +158,11 @@ touch --no-create %{_datadir}/icons/hicolor || : %{_datadir}/installed-tests/%{name} %changelog +* Wed Feb 10 2021 Takao Fujiwara - 1.5.11-10 +- Replace kasumi with kausmi-unicode +- Delete to require intltool +- Delete to call gettext.bind_textdomain_codeset() + * Tue Jan 26 2021 Fedora Release Engineering - 1.5.11-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From a2b39e9ca7fab050e1277e5ed55e41114457d982 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 22 Feb 2021 10:51:45 +0900 Subject: [PATCH 129/202] Delete upstream patches --- ibus-anthy-HEAD.patch | 735 ------------------------------------------ 1 file changed, 735 deletions(-) delete mode 100644 ibus-anthy-HEAD.patch diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch deleted file mode 100644 index e5246ca..0000000 --- a/ibus-anthy-HEAD.patch +++ /dev/null @@ -1,735 +0,0 @@ -From 5a9e4858f1a2b6cad02ef1d272fc5bed959ec0bf Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 16 Oct 2019 17:58:55 +0900 -Subject: [PATCH] Integrate anthy automation tests to - ibus-desktop-testing-runner - -The test cases can be run with ibus-desktop-testing-runner: -% ibus-desktop-testing-runner \ - --no-graphics \ - --runner=gnome \ - --tests='ibus-anthy' \ - --output='./ibus-anthy.log' \ - --result='./test.log' -ibus-desktop-testing-runner requires gnome-desktop-testing-runner -in case --runner option is given. ---- - configure.ac | 14 +++++ - tests/Makefile.am | 46 +++++++++++++-- - tests/anthycases.py | 0 - tests/anthytest.py | 135 +++++++++++++++++++++++++++----------------- - tests/meta.test.in | 4 ++ - 5 files changed, 142 insertions(+), 57 deletions(-) - mode change 100644 => 100755 tests/anthycases.py - mode change 100644 => 100755 tests/anthytest.py - create mode 100644 tests/meta.test.in - -diff --git a/configure.ac b/configure.ac -index 06c4521..64afcc6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -398,6 +398,20 @@ LAYOUT_XML="${LAYOUT}" - AC_SUBST(LAYOUT) - AC_SUBST(LAYOUT_XML) - -+dnl --enable-installed-tests -+AC_ARG_ENABLE(installed-tests, -+ AS_HELP_STRING([--enable-installed-tests], -+ [Enable to installed tests]), -+ [enable_installed_tests=$enableval], -+ [enable_installed_tests=no] -+) -+AM_CONDITIONAL([ENABLE_INSTALLED_TESTS], -+ [test x"$enable_installed_tests" = x"yes"]) -+if test x"$enable_installed_tests" = x"no"; then -+ enable_installed_tests="no (disabled, use --enable-installed-tests to enable)" -+fi -+ -+ - dnl libtool versioning - dnl - dnl If LT_VERSION_INFO="lt_current:lt_revision:lt_age", libibus is -diff --git a/tests/Makefile.am b/tests/Makefile.am -index b2d35d6..d891ff2 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -19,12 +19,48 @@ - # with this program; if not, write to the Free Software Foundation, Inc., - # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -+ -+CLEANFILES = -+ - check: -+ @TAP_DIR=`python -m site --user-site`/tap; \ -+ if test x"$$TAP_DIR" != x -a ! -d "$$TAP_DIR" ; then \ -+ echo "pip install tap.py --user"; \ -+ pip install tap.py --user; \ -+ fi; \ - bash -x $(srcdir)/test-build.sh --builddir=$(builddir) --srcdir=$(srcdir) - -+if ENABLE_INSTALLED_TESTS -+test_execsdir = $(libexecdir)/installed-tests/ibus-anthy -+test_execs = anthytest -+test_execs_SCRIPTS = \ -+ anthycases.py \ -+ anthytest.py \ -+ $(NULL) -+ -+test_metas_in = meta.test.in -+test_metas = $(addsuffix .test, $(test_execs)) -+test_sources_DATA = \ -+ $(test_metas) \ -+ $(NULL) -+test_sourcesdir = $(datadir)/installed-tests/ibus-anthy -+ -+CLEANFILES += \ -+ $(test_metas) \ -+ $(NULL) -+endif -+ -+$(test_metas): $(test_metas_in) -+ f=`echo $@ | sed -e 's/\.test//'`; \ -+ TEST_EXEC=$(test_execsdir)/$${f}.py; \ -+ sed -e "s|@TEST_EXEC[@]|$$TEST_EXEC|g" $(test_metas_in) > $@.tmp; \ -+ mv $@.tmp $@; \ -+ $(NULL) -+ - EXTRA_DIST = \ -- anthycases.py \ -- anthytest.py \ -- test-build.sh \ -- test-console.sh \ -- $(NULL) -+ anthycases.py \ -+ anthytest.py \ -+ meta.test.in \ -+ test-build.sh \ -+ test-console.sh \ -+ $(NULL) -diff --git a/tests/anthycases.py b/tests/anthycases.py -old mode 100644 -new mode 100755 -diff --git a/tests/anthytest.py b/tests/anthytest.py -old mode 100644 -new mode 100755 -index 377576c..11d0e2b ---- a/tests/anthytest.py -+++ b/tests/anthytest.py -@@ -5,19 +5,28 @@ from __future__ import print_function - - from gi import require_version as gi_require_version - gi_require_version('GLib', '2.0') -+gi_require_version('Gio', '2.0') - gi_require_version('Gtk', '3.0') - gi_require_version('IBus', '1.0') - from gi.repository import GLib -+from gi.repository import Gio - from gi.repository import Gtk - from gi.repository import IBus - -+import argparse - import getopt - import os - import sys - import subprocess -+import unittest -+ -+try: -+ from tap import TAPTestRunner -+except ModuleNotFoundError as err: -+ print('Ignore tap module: %s' % str(err)) - - PY3K = sys.version_info >= (3, 0) --DONE_EXIT = False -+DONE_EXIT = True - - if 'IBUS_ANTHY_ENGINE_PATH' in os.environ: - engine_path = os.environ['IBUS_ANTHY_ENGINE_PATH'] -@@ -31,11 +40,28 @@ sys.path.append('/usr/share/ibus-anthy/engine') - - from anthycases import TestCases - --class AnthyTest: -+# Need to flush the output against Gtk.main() -+def printflush(sentence): -+ try: -+ print(sentence, flush=True) -+ except IOError: -+ pass -+ -+def printerr(sentence): -+ try: -+ print(sentence, flush=True, file=sys.stderr) -+ except IOError: -+ pass -+ -+class AnthyTest(unittest.TestCase): - global DONE_EXIT - ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Test/Engine' -- def __init__(self): -+ -+ @classmethod -+ def setUpClass(cls): - IBus.init() -+ -+ def setUp(self): - self.__id = 0 - self.__rerun = False - self.__test_index = 0 -@@ -141,7 +167,6 @@ class AnthyTest: - if not self.__bus.set_global_engine_async_finish(res): - warning('set engine failed: ' + error.message) - return -- print('enabled engine') - self.__enable_hiragana() - self.__main_test() - -@@ -173,28 +198,15 @@ class AnthyTest: - self.__run_cases('commit') - - def __enable_hiragana(self): -- commands = ['gsettings', 'get', -- 'org.freedesktop.ibus.engine.anthy.common', -- 'input-mode' -- ] -- if PY3K: -- py3result = subprocess.run(commands, stdout=subprocess.PIPE) -- try: -- result = int(py3result.stdout) -- except ValueError: -- # No user data -- result = 0 -- else: -- py2result = subprocess.check_output(commands) -- result = py2result -- if result == '': -- result = 0 -+ settings = Gio.Settings( -+ schema = "org.freedesktop.ibus.engine.anthy.common"); -+ result = settings.get_int('input-mode') - if result != 0: -- print('Enable hiragana', result) -+ printflush('Enable hiragana %d' % result) - key = TestCases['init'] - self.__typing(key[0], key[1], key[2]) - else: -- print('Already hiragana') -+ printflush('Already hiragana') - - def __main_test(self): - self.__conversion_index = 0 -@@ -214,7 +226,8 @@ class AnthyTest: - i = 0 - if type == 'string': - if start == -1 and end == -1: -- print('test step:', tag, 'sequences: "' + cases['string'] + '"') -+ printflush('test step: %s sequences: "%s"' \ -+ % (tag, str(cases['string']))) - for a in cases['string']: - if start >= 0 and i < start: - i += 1 -@@ -222,12 +235,14 @@ class AnthyTest: - if end >= 0 and i >= end: - break; - if start != -1 or end != -1: -- print('test step:', tag, 'sequences: "' + cases['string'][i] + '"') -+ printflush('test step: %s sequences: "%s"' \ -+ % (tag, str(cases['string']))) - self.__typing(ord(a), 0, 0) - i += 1 - if type == 'keys': - if start == -1 and end == -1: -- print('test step:', tag, 'sequences:', cases['keys']) -+ printflush('test step: %s sequences: %s' \ -+ % (tag, str(cases['keys']))) - for key in cases['keys']: - if start >= 0 and i < start: - i += 1 -@@ -235,7 +250,8 @@ class AnthyTest: - if end >= 0 and i >= end: - break; - if start != -1 or end != -1: -- print('test step: %s sequences: [0x%X, 0x%X, 0x%X]' % (tag, key[0], key[1], key[2])) -+ printflush('test step: %s sequences: [0x%X, 0x%X, 0x%X]' \ -+ % (tag, key[0], key[1], key[2])) - self.__typing(key[0], key[1], key[2]) - i += 1 - -@@ -248,9 +264,10 @@ class AnthyTest: - tests = TestCases['tests'][self.__test_index] - cases = tests['result'] - if cases['string'] == chars: -- print("OK: ", chars) -+ printflush('OK: %d %s' % (self.__test_index, chars)) - else: -- print("NG: ", cases['string'], chars) -+ printflush('NG: %d %s %s' \ -+ % (self.__test_index, str(cases['string']), chars)) - self.__test_index += 1 - if self.__test_index == len(TestCases['tests']): - if DONE_EXIT: -@@ -259,9 +276,15 @@ class AnthyTest: - self.__entry.set_text('') - self.__main_test() - -- def run(self): -+ def main(self): - Gtk.main() - -+ def test_typing(self): -+ if not self.register_ibus_engine(): -+ sys.exit(-1) -+ self.create_window() -+ self.main() -+ - def print_help(out, v = 0): - print('-e, --exit Exit this program after test is done.', - file=out) -@@ -285,25 +308,30 @@ def get_userhome(): - return userhome - - def main(): -- shortopt = 'efh' -- longopt = ['exit', 'force', 'help'] - force_run = False -- try: -- opts, args = getopt.getopt(sys.argv[1:], shortopt, longopt) -- except getopt.GetoptError as err: -- print_help(sys.stderr, 1) -- -- for o, a in opts: -- if o in ('-e', '--exit'): -- global DONE_EXIT -- DONE_EXIT = True -- elif o in ('-f', '--force'): -- force_run = True -- elif o in ('-h', '--help'): -- print_help(sys.stderr) -- else: -- print('Unknown argument: %s' % o, file=sys.stderr) -- print_help(sys.stderr, 1) -+ parser = argparse.ArgumentParser() -+ parser.add_argument('-k', '--keep', action='store_true', -+ help='keep this GtkWindow after test is done') -+ parser.add_argument('-f', '--force', action='store_true', -+ help='run this program forcibly with .anthy') -+ parser.add_argument('-t', '--tap', action='store_true', -+ help='enable TAP') -+ parser.add_argument('-F', '--unittest-failfast', action='store_true', -+ help='stop on first fail or error in unittest') -+ parser.add_argument('-H', '--unittest-help', action='store_true', -+ help='show unittest help message and exit') -+ args, unittest_args = parser.parse_known_args() -+ sys.argv[1:] = unittest_args -+ if args.keep: -+ global DONE_EXIT -+ DONE_EXIT = False -+ if args.force: -+ force_run = True -+ if args.unittest_failfast: -+ sys.argv.append('-f') -+ if args.unittest_help: -+ sys.argv.append('-h') -+ unittest.main() - - for anthy_config in ['/.config/anthy', '/.anthy']: - anthy_user_dir = get_userhome() + anthy_config -@@ -312,11 +340,14 @@ def main(): - print('Please remove %s before the test' % anthy_last_file, - file=sys.stderr) - sys.exit(-1) -- EngineTest = AnthyTest() -- if not EngineTest.register_ibus_engine(): -- sys.exit(-1) -- EngineTest.create_window() -- EngineTest.run() -+ -+ if args.tap: -+ loader = unittest.TestLoader() -+ runner = TAPTestRunner() -+ runner.set_stream(True) -+ unittest.main(testRunner=runner, testLoader=loader) -+ else: -+ unittest.main() - - if __name__ == '__main__': - main() -diff --git a/tests/meta.test.in b/tests/meta.test.in -new file mode 100644 -index 0000000..ae2b299 ---- /dev/null -+++ b/tests/meta.test.in -@@ -0,0 +1,4 @@ -+[Test] -+Type=session -+Exec=@TEST_EXEC@ --tap -+Output=TAP --- -2.21.0 - -From a2e418003b3733c5792fbab62a2e364a343a6e49 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 4 Dec 2019 16:58:52 +0900 -Subject: [PATCH] configure: Fix to install zipcode dict with anthy-unicode - (#1779129) - ---- - configure.ac | 2 +- - setup/python2/main.py | 6 +++--- - setup/python3/main.py | 6 +++--- - 3 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 64afcc6..3fecd12 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -236,7 +236,7 @@ AC_ARG_WITH(anthy-zipcode, - [AC_HELP_STRING([--with-anthy-zipcode=FILE], - [file path of Anty zipcode.t])], - [ANTHY_ZIPCODE_FILE="$withval"], -- [ANTHY_ZIPCODE_FILE="$datadir/anthy/zipcode.t"]) -+ [ANTHY_ZIPCODE_FILE="$datadir/$ANTHY_PC/zipcode.t"]) - test "x$prefix" = xNONE && prefix=$ac_default_prefix - eval ANTHY_ZIPCODE_FILE=$ANTHY_ZIPCODE_FILE - eval ANTHY_ZIPCODE_FILE=$ANTHY_ZIPCODE_FILE -diff --git a/setup/python2/main.py b/setup/python2/main.py -index 1fb5a67..4e6b15b 100644 ---- a/setup/python2/main.py -+++ b/setup/python2/main.py -@@ -4,8 +4,8 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2017 Takao Fujiwara --# Copyright (c) 2007-2017 Red Hat, Inc. -+# Copyright (c) 2010-2019 Takao Fujiwara -+# Copyright (c) 2007-2019 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -1460,7 +1460,7 @@ class AnthySetup(object): - Gtk.MessageType.ERROR) - return - if not path.exists(dict_file[0]): -- self.__run_message_dialog(_("Your file does not exist: ") + dict_file, -+ self.__run_message_dialog(_("Your file does not exist: ") + dict_file[0], - Gtk.MessageType.ERROR) - return - -diff --git a/setup/python3/main.py b/setup/python3/main.py -index 5fd3040..340e8ef 100644 ---- a/setup/python3/main.py -+++ b/setup/python3/main.py -@@ -4,8 +4,8 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2017 Takao Fujiwara --# Copyright (c) 2007-2017 Red Hat, Inc. -+# Copyright (c) 2010-2019 Takao Fujiwara -+# Copyright (c) 2007-2019 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -1454,7 +1454,7 @@ class AnthySetup(object): - Gtk.MessageType.ERROR) - return - if not path.exists(dict_file[0]): -- self.__run_message_dialog(_("Your file does not exist: ") + dict_file, -+ self.__run_message_dialog(_("Your file does not exist: ") + dict_file[0], - Gtk.MessageType.ERROR) - return - --- -2.21.0 - -From 390d6273096fe0e435a0d145e6a785f38372ba67 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 2 Jul 2020 14:47:39 +0900 -Subject: [PATCH] tests: Enable pycotap - ---- - tests/anthytest.py | 20 +++++++++++++++++--- - 1 file changed, 17 insertions(+), 3 deletions(-) - -diff --git a/tests/anthytest.py b/tests/anthytest.py -index 11d0e2b..03a7c31 100755 ---- a/tests/anthytest.py -+++ b/tests/anthytest.py -@@ -20,10 +20,23 @@ import sys - import subprocess - import unittest - -+TAP_MODULE_NONE, \ -+TAP_MODULE_TAPPY, \ -+TAP_MODULE_PYCOTAP = list(range(3)) -+ -+tap_module = TAP_MODULE_NONE -+ - try: - from tap import TAPTestRunner --except ModuleNotFoundError as err: -- print('Ignore tap module: %s' % str(err)) -+ tap_module = TAP_MODULE_TAPPY -+ print('Load tappy') -+except ModuleNotFoundError: -+ try: -+ from pycotap import TAPTestRunner -+ tap_module = TAP_MODULE_PYCOTAP -+ print('Load pycotap') -+ except ModuleNotFoundError as err: -+ print('Ignore tap module: %s' % str(err)) - - PY3K = sys.version_info >= (3, 0) - DONE_EXIT = True -@@ -344,7 +357,8 @@ def main(): - if args.tap: - loader = unittest.TestLoader() - runner = TAPTestRunner() -- runner.set_stream(True) -+ if tap_module == TAP_MODULE_TAPPY: -+ runner.set_stream(True) - unittest.main(testRunner=runner, testLoader=loader) - else: - unittest.main() --- -2.24.1 - -From f4f35c32942a649d67fb52730d7a5d4f2ef5058a Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 9 Jul 2020 20:20:57 +0900 -Subject: [PATCH] tests: Use unittest.fail and unittest.skipIf - ---- - tests/anthytest.py | 39 +++++++++++++++++++++++++++------------ - 1 file changed, 27 insertions(+), 12 deletions(-) - -diff --git a/tests/anthytest.py b/tests/anthytest.py -index 03a7c31..bff3078 100755 ---- a/tests/anthytest.py -+++ b/tests/anthytest.py -@@ -5,10 +5,12 @@ from __future__ import print_function - - from gi import require_version as gi_require_version - gi_require_version('GLib', '2.0') -+gi_require_version('Gdk', '3.0') - gi_require_version('Gio', '2.0') - gi_require_version('Gtk', '3.0') - gi_require_version('IBus', '1.0') - from gi.repository import GLib -+from gi.repository import Gdk - from gi.repository import Gio - from gi.repository import Gtk - from gi.repository import IBus -@@ -66,6 +68,7 @@ def printerr(sentence): - except IOError: - pass - -+@unittest.skipIf(Gdk.Display.open('') == None, 'Display cannot be open.') - class AnthyTest(unittest.TestCase): - global DONE_EXIT - ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Test/Engine' -@@ -84,7 +87,7 @@ class AnthyTest(unittest.TestCase): - def register_ibus_engine(self): - self.__bus = IBus.Bus() - if not self.__bus.is_connected(): -- error('ibus-daemon is not running') -+ self.fail('ibus-daemon is not running') - return False; - self.__bus.get_connection().signal_subscribe('org.freedesktop.DBus', - 'org.freedesktop.DBus', -@@ -130,12 +133,24 @@ class AnthyTest(unittest.TestCase): - interface_name, signal_name, parameters, - user_data): - if signal_name == 'NameOwnerChanged': -- import engine -+ try: -+ import engine -+ except ModuleNotFoundError as e: -+ with self.subTest(i = 'name-owner-changed'): -+ self.fail('NG: Not installed ibus-anthy %s' % str(e)) -+ Gtk.main_quit() -+ return - engine.Engine.CONFIG_RELOADED() - - def __create_engine_cb(self, factory, engine_name): - if engine_name == 'testanthy': -- import engine -+ try: -+ import engine -+ except ModuleNotFoundError as e: -+ with self.subTest(i = 'create-engine'): -+ self.fail('NG: Not installed ibus-anthy %s' % str(e)) -+ Gtk.main_quit() -+ return - self.__id += 1 - self.__engine = engine.Engine(self.__bus, '%s/%d' % (self.ENGINE_PATH, self.__id)) - self.__engine.connect('focus-in', self.__engine_focus_in) -@@ -178,7 +193,8 @@ class AnthyTest(unittest.TestCase): - - def __set_engine_cb(self, object, res): - if not self.__bus.set_global_engine_async_finish(res): -- warning('set engine failed: ' + error.message) -+ with self.subTest(i = self.__test_index): -+ self.fail('set engine failed: ' + error.message) - return - self.__enable_hiragana() - self.__main_test() -@@ -238,18 +254,14 @@ class AnthyTest(unittest.TestCase): - type = list(cases.keys())[0] - i = 0 - if type == 'string': -- if start == -1 and end == -1: -- printflush('test step: %s sequences: "%s"' \ -- % (tag, str(cases['string']))) -+ printflush('test step: %s sequences: "%s"' \ -+ % (tag, str(cases['string']))) - for a in cases['string']: - if start >= 0 and i < start: - i += 1 - continue - if end >= 0 and i >= end: - break; -- if start != -1 or end != -1: -- printflush('test step: %s sequences: "%s"' \ -- % (tag, str(cases['string']))) - self.__typing(ord(a), 0, 0) - i += 1 - if type == 'keys': -@@ -279,8 +291,11 @@ class AnthyTest(unittest.TestCase): - if cases['string'] == chars: - printflush('OK: %d %s' % (self.__test_index, chars)) - else: -- printflush('NG: %d %s %s' \ -- % (self.__test_index, str(cases['string']), chars)) -+ with self.subTest(i = self.__test_index): -+ self.fail('NG: %d %s %s' \ -+ % (self.__test_index, str(cases['string']), chars)) -+ if DONE_EXIT: -+ Gtk.main_quit() - self.__test_index += 1 - if self.__test_index == len(TestCases['tests']): - if DONE_EXIT: --- -2.24.1 - -From c744be610dff270f1c0f0367f809b9df95aeea2d Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 10 Feb 2021 20:50:11 +0900 -Subject: [PATCH] setup: Set ANTHY_PC in _config.py - -Forgot to update setup/Makefile besides engine/Makefile -Also delete deprecated gettext.bind_textdomain_codeset() ---- - setup/python3/Makefile.am | 3 ++- - setup/python3/main.py | 3 +-- - 2 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/setup/python3/Makefile.am b/setup/python3/Makefile.am -index 90b3aa1..1eb3747 100644 ---- a/setup/python3/Makefile.am -+++ b/setup/python3/Makefile.am -@@ -4,7 +4,7 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2017 Takao Fujiwara -+# Copyright (c) 2010-2021 Takao Fujiwara - # Copyright (c) 2007-2017 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -86,6 +86,7 @@ _config.py: _config.py.in - sed -e "s|\@pkgdatadir\@|$(pkgdatadir)|g" \ - -e "s|\@libexecdir\@|$(libexecdir)|g" \ - -e "s|\@datadir\@|$(datadir)|g" \ -+ -e "s|\@ANTHY_PC\@|$(ANTHY_PC)|g" \ - -e "s|\@LAYOUT\@|$(LAYOUT)|g" \ - -e "s|\@SYMBOL_CHAR_INT\@|$(SYMBOL_CHAR_INT)|g" \ - -e "s|\@ICON_PREFERENCE\@|$(ICON_PREFERENCE)|g" \ -diff --git a/setup/python3/main.py b/setup/python3/main.py -index 340e8ef..7e16093 100644 ---- a/setup/python3/main.py -+++ b/setup/python3/main.py -@@ -4,7 +4,7 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2019 Takao Fujiwara -+# Copyright (c) 2010-2021 Takao Fujiwara - # Copyright (c) 2007-2019 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -76,7 +76,6 @@ class AnthySetup(object): - except AttributeError: - pass - gettext.bindtextdomain(DOMAINNAME, config.LOCALEDIR) -- gettext.bind_textdomain_codeset(DOMAINNAME, 'UTF-8') - - self.__prefs = AnthyPrefs() - --- -2.28.0 - -From 00bab0ac26dfcd635f559b68ef76cc662a51f35b Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 10 Feb 2021 20:52:30 +0900 -Subject: [PATCH] data: Enable to configure kasumi-unicode in gschema - -kasumi-unicode can be generated from kasumi source codes -with anthy-unicode but not anthy. -kasumi-unicode can save the dicts in XDG config dir but not -$HOME/.anthy - -% ./configure --with-kasumi-exec=/usr/bin/kasumi-unicode ---- - data/Makefile.am | 4 +++- - data/org.freedesktop.ibus.engine.anthy.gschema.xml.in | 4 ++-- - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/data/Makefile.am b/data/Makefile.am -index da86209..5e45c39 100644 ---- a/data/Makefile.am -+++ b/data/Makefile.am -@@ -2,7 +2,7 @@ - # - # ibus-anthy - The Anthy engine for IBus - # --# Copyright (c) 2010-2018 Takao Fujiwara -+# Copyright (c) 2010-2021 Takao Fujiwara - # Copyright (c) 2010-2018 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -49,8 +49,10 @@ $(metainfo_DATA): $(metainfo_in_files) Makefile - $(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ - - $(schemas_DATA): $(schemas_in_files) -+ KASUMI_EXEC_BASENAME=`basename $(KASUMI_EXEC_FILE)`; \ - $(SED) -e "s|\@ANTHY_ZIPCODE_FILE\@|$(ANTHY_ZIPCODE_FILE)|g" \ - -e "s|\@KASUMI_EXEC_FILE\@|$(KASUMI_EXEC_FILE)|g" \ -+ -e "s|\@KASUMI_EXEC_BASENAME\@|$$KASUMI_EXEC_BASENAME|g" \ - -e "s|\@KASUMI_ICON_FILE\@|$(KASUMI_ICON_FILE)|g" \ - -e "s|\@ON_OFF_KEYS\@|$(ON_OFF_KEYS)|g" \ - -e "s|\@pkgdatadir\@|$(pkgdatadir)|g" \ -diff --git a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in -index 3b68b4b..773be09 100644 ---- a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in -+++ b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in -@@ -108,12 +108,12 @@ - - - -- ['@KASUMI_EXEC_FILE@', 'kasumi'] -+ ['@KASUMI_EXEC_FILE@', '@KASUMI_EXEC_BASENAME@'] - Dictionary Administration Command - - - -- ['@KASUMI_EXEC_FILE@', 'kasumi', '-a'] -+ ['@KASUMI_EXEC_FILE@', '@KASUMI_EXEC_BASENAME@', '-a'] - Add Word Command - - --- -2.28.0 - From 3ae4d6f22d4d1f8afa5be9517de3df7f36d08df5 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 22 Feb 2021 13:35:00 +0900 Subject: [PATCH 130/202] Bump to 1.5.12 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 0 ibus-anthy.spec | 8 +++++--- sources | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 ibus-anthy-HEAD.patch diff --git a/.gitignore b/.gitignore index b265bd5..00d1574 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ ibus-anthy.png /ibus-anthy-1.5.9.tar.gz /ibus-anthy-1.5.10.tar.gz /ibus-anthy-1.5.11.tar.gz +/ibus-anthy-1.5.12.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..e69de29 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 0ce8199..aa1c357 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -17,8 +17,8 @@ %endif Name: ibus-anthy -Version: 1.5.11 -Release: 10%{?dist} +Version: 1.5.12 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -26,7 +26,6 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch BuildRequires: anthy-unicode-devel BuildRequires: desktop-file-utils @@ -158,6 +157,9 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Mon Feb 22 2021 Takao Fujiwara - 1.5.12-1 +- Bump to 1.5.12 + * Wed Feb 10 2021 Takao Fujiwara - 1.5.11-10 - Replace kasumi with kausmi-unicode - Delete to require intltool diff --git a/sources b/sources index 7f3b381..1c24df9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ibus-anthy-1.5.11.tar.gz) = 2ac85bf4ddba56e3f84c3732082b3b63a07175ea712aad2865de4f87b8c0967da303ee1edccbed0890095e8ddab10e58307a47b72ee11b51de3927fdb9e72418 +SHA512 (ibus-anthy-1.5.12.tar.gz) = 6950a2865e4753831f8918f4a5926571bc8304454b6368662ef56a6fb11a60f0675e3d589108ebfd38cb5d193f7b61053a10baa6dad23adad67b3b3fc58760e8 From 8cbcd7091b2bd64936fe93af32e847d6883fdf41 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 16 Mar 2021 22:31:46 +0900 Subject: [PATCH 131/202] Change default input mode to Hiragana --- ibus-anthy-1938129-default-hiragana.patch | 28 +++++++++++++++++++++++ ibus-anthy.spec | 6 ++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 ibus-anthy-1938129-default-hiragana.patch diff --git a/ibus-anthy-1938129-default-hiragana.patch b/ibus-anthy-1938129-default-hiragana.patch new file mode 100644 index 0000000..79f769a --- /dev/null +++ b/ibus-anthy-1938129-default-hiragana.patch @@ -0,0 +1,28 @@ +From e4ef13166118fe991f7590b093671f9361e9c1cc Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 16 Mar 2021 22:13:01 +0900 +Subject: [PATCH] data: Change default input mode to Hiragana (rhbz#1938129) + +GNOME desktop sets unnecessary JP keymap by default and a few newcomers +wish to use Hiragana mode directly. +This internal patch will be deleted if the default desktop would be changed. +--- + data/org.freedesktop.ibus.engine.anthy.gschema.xml.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +index 773be09..cd5a13b 100644 +--- a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in ++++ b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +@@ -3,7 +3,7 @@ + + +- 3 ++ 0 + Input Mode + + +-- +2.28.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index aa1c357..b9aff94 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.12 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -26,6 +26,7 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel BuildRequires: desktop-file-utils @@ -157,6 +158,9 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Tue Mar 16 2021 Takao Fujiwara - 1.5.12-2 +- Change default input mode to Hiragana + * Mon Feb 22 2021 Takao Fujiwara - 1.5.12-1 - Bump to 1.5.12 From 84497af6b62678bb8c1a14224fd58446a2785423 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sun, 21 Mar 2021 15:35:18 +0900 Subject: [PATCH 132/202] Output info to stderr instead of StringIO --- ibus-anthy-HEAD.patch | 137 ++++++++++++++++++ ibus-anthy.spec | 6 +- .../ibus-desktop-testing-role/tasks/main.yml | 18 ++- 3 files changed, 154 insertions(+), 7 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e69de29..34b9127 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1,137 @@ +From 4d1f0b36c43780586f5d0c2622eb92d068ebe281 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Sun, 21 Mar 2021 15:25:41 +0900 +Subject: [PATCH] tests: Output info to stderr instead of StringIO + +--- + tests/anthytest.py | 51 ++++++++++++++++++++++++++++++---------------- + 1 file changed, 33 insertions(+), 18 deletions(-) + +diff --git a/tests/anthytest.py b/tests/anthytest.py +index bff3078..1d18d19 100755 +--- a/tests/anthytest.py ++++ b/tests/anthytest.py +@@ -28,17 +28,31 @@ TAP_MODULE_PYCOTAP = list(range(3)) + + tap_module = TAP_MODULE_NONE + ++# Need to flush the output against Gtk.main() ++def printflush(sentence): ++ try: ++ print(sentence, flush=True) ++ except IOError: ++ pass ++ ++def printerr(sentence): ++ try: ++ print(sentence, flush=True, file=sys.stderr) ++ except IOError: ++ pass ++ + try: + from tap import TAPTestRunner + tap_module = TAP_MODULE_TAPPY +- print('Load tappy') ++ printflush('## Load tappy') + except ModuleNotFoundError: + try: + from pycotap import TAPTestRunner ++ from pycotap import LogMode + tap_module = TAP_MODULE_PYCOTAP +- print('Load pycotap') ++ printflush('## Load pycotap') + except ModuleNotFoundError as err: +- print('Ignore tap module: %s' % str(err)) ++ printflush('## Ignore tap module: %s' % str(err)) + + PY3K = sys.version_info >= (3, 0) + DONE_EXIT = True +@@ -55,18 +69,6 @@ sys.path.append('/usr/share/ibus-anthy/engine') + + from anthycases import TestCases + +-# Need to flush the output against Gtk.main() +-def printflush(sentence): +- try: +- print(sentence, flush=True) +- except IOError: +- pass +- +-def printerr(sentence): +- try: +- print(sentence, flush=True, file=sys.stderr) +- except IOError: +- pass + + @unittest.skipIf(Gdk.Display.open('') == None, 'Display cannot be open.') + class AnthyTest(unittest.TestCase): +@@ -83,8 +85,10 @@ class AnthyTest(unittest.TestCase): + self.__test_index = 0 + self.__conversion_index = 0 + self.__commit_done = False ++ self.__engine = None + + def register_ibus_engine(self): ++ printflush('## Registering engine') + self.__bus = IBus.Bus() + if not self.__bus.is_connected(): + self.fail('ibus-daemon is not running') +@@ -144,6 +148,7 @@ class AnthyTest(unittest.TestCase): + + def __create_engine_cb(self, factory, engine_name): + if engine_name == 'testanthy': ++ printflush('## Creating engine') + try: + import engine + except ModuleNotFoundError as e: +@@ -176,14 +181,20 @@ class AnthyTest(unittest.TestCase): + window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL) + self.__entry = entry = Gtk.Entry() + window.connect('destroy', Gtk.main_quit) ++ entry.connect('map', self.__entry_map_cb) + entry.connect('focus-in-event', self.__entry_focus_in_event_cb) + entry.connect('preedit-changed', self.__entry_preedit_changed_cb) + buffer = entry.get_buffer() + buffer.connect('inserted-text', self.__buffer_inserted_text_cb) + window.add(entry) + window.show_all() ++ printflush('## Build window') ++ ++ def __entry_map_cb(self, entry): ++ printflush('## Map window') + + def __entry_focus_in_event_cb(self, entry, event): ++ printflush('## Get focus') + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: + Gtk.main_quit() +@@ -231,11 +242,11 @@ class AnthyTest(unittest.TestCase): + schema = "org.freedesktop.ibus.engine.anthy.common"); + result = settings.get_int('input-mode') + if result != 0: +- printflush('Enable hiragana %d' % result) ++ printflush('## Enable hiragana %d' % result) + key = TestCases['init'] + self.__typing(key[0], key[1], key[2]) + else: +- printflush('Already hiragana') ++ printflush('## Already hiragana') + + def __main_test(self): + self.__conversion_index = 0 +@@ -371,7 +382,11 @@ def main(): + + if args.tap: + loader = unittest.TestLoader() +- runner = TAPTestRunner() ++ if tap_module == TAP_MODULE_PYCOTAP: ++ # Log should be in stderr instead of StringIO ++ runner = TAPTestRunner(test_output_log=LogMode.LogToError) ++ else: ++ runner = TAPTestRunner() + if tap_module == TAP_MODULE_TAPPY: + runner.set_stream(True) + unittest.main(testRunner=runner, testLoader=loader) +-- +2.28.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index b9aff94..d350e87 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.12 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -76,6 +76,7 @@ for developers. %package tests Summary: Tests for the %{name} package +BuildRequires: python3-pycotap Requires: %{name}%{?_isa} = %{version}-%{release} Requires: python3-pycotap @@ -158,6 +159,9 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Sun Mar 21 2021 Takao Fujiwara - 1.5.12-3 +- Output info to stderr instead of StringIO + * Tue Mar 16 2021 Takao Fujiwara - 1.5.12-2 - Change default input mode to Hiragana diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml index 5844d5a..44c70e2 100644 --- a/tests/roles/ibus-desktop-testing-role/tasks/main.yml +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -80,7 +80,17 @@ if [ $? -eq 0 ]; then status="PASS: frame" fi - echo "${status} $TEST" >> {{ remote_artifacts }}/test.log + echo "${status}" >> {{ remote_artifacts }}/test.log + echo "#### {{ remote_artifacts }}/{{ installed_test_name }}.log" + if [ -f {{ remote_artifacts }}/{{ installed_test_name }}.log ] ; then + cat {{ remote_artifacts }}/{{ installed_test_name }}.log + fi + echo "#" + echo "#### {{ remote_artifacts }}/test.log" + if [ -f {{ remote_artifacts }}/test.log ] ; then + cat {{ remote_artifacts }}/test.log + fi + echo "#" - name: Check the results #shell: grep "^FAIL" {{ remote_artifacts }}/test.log @@ -88,18 +98,14 @@ log="{{ remote_artifacts }}/test.log" if [ ! -f $log ] ; then echo ERROR - exit 1 else FAIL=`grep "^FAIL: " {{ remote_artifacts }}/test.log | grep -v 'FAIL: 0$'` if [ x"$FAIL" != x ] ; then echo ERROR - exit 1 - else - echo PASS fi fi register: test_fails - #failed_when: False + failed_when: False - name: Set role result set_fact: From eb6aeefd5c62c302ff0fa626d829749a8ac21ee1 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 22 Mar 2021 10:03:44 +0900 Subject: [PATCH 133/202] Rebuild to get the latest ibus in CI Seems there is a time lag between koji build and CI in package versions --- ibus-anthy.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index d350e87..bc18d10 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.12 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -26,6 +26,7 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -159,7 +160,7 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog -* Sun Mar 21 2021 Takao Fujiwara - 1.5.12-3 +* Sun Mar 21 2021 Takao Fujiwara - 1.5.12-4 - Output info to stderr instead of StringIO * Tue Mar 16 2021 Takao Fujiwara - 1.5.12-2 From 88c9137784aec032f3b6deaa9dc95157222946f8 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 20 Apr 2021 20:37:00 +0900 Subject: [PATCH 134/202] Delete postscripts --- ibus-anthy.spec | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index bc18d10..27899eb 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.12 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -120,16 +120,6 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop -%post -/sbin/ldconfig -[ -x %{_bindir}/ibus ] && \ - %{_bindir}/ibus write-cache --system &>/dev/null || : - -%postun -/sbin/ldconfig -[ -x %{_bindir}/ibus ] && \ - %{_bindir}/ibus write-cache --system &>/dev/null || : - %files -f %{name}.lang %doc AUTHORS COPYING README # dir {python2_sitearch}/ibus @@ -160,6 +150,9 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Tue Apr 20 2021 Takao Fujiwara - 1.5.12-5 +- Delete postscripts + * Sun Mar 21 2021 Takao Fujiwara - 1.5.12-4 - Output info to stderr instead of StringIO From ed33e17c361cb6b6b2fa6a0d138f844430042a47 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 21 Apr 2021 11:22:22 +0900 Subject: [PATCH 135/202] Move post to posttrans --- ibus-anthy.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 27899eb..6faf88b 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.12 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -120,6 +120,11 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop +%posttrans +/sbin/ldconfig +[ -x %{_bindir}/ibus ] && \ + %{_bindir}/ibus write-cache --system &>/dev/null || : + %files -f %{name}.lang %doc AUTHORS COPYING README # dir {python2_sitearch}/ibus @@ -150,6 +155,9 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Wed Apr 21 2021 Takao Fujiwara - 1.5.12-6 +- Move post to posttrans + * Tue Apr 20 2021 Takao Fujiwara - 1.5.12-5 - Delete postscripts From d37061f27f9742e30ad5ea2b7b8601cf86a8fe36 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 21 Apr 2021 11:28:09 +0900 Subject: [PATCH 136/202] Resolves: #1948197 Move post to posttrans We'll migrate %posttrans to %transfiletriggerin after f34 GA --- ibus-anthy.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 6faf88b..5d65daa 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -156,7 +156,7 @@ desktop-file-validate \ %changelog * Wed Apr 21 2021 Takao Fujiwara - 1.5.12-6 -- Move post to posttrans +- Resolves: #1948197 Move post to posttrans * Tue Apr 20 2021 Takao Fujiwara - 1.5.12-5 - Delete postscripts From 51b4b380fa1f3f60c20deffc481f25bf8a50a3d5 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 27 Apr 2021 19:58:05 +0900 Subject: [PATCH 137/202] Move .desktop file from ibus-anthy-python to ibus-anthy - Fix covscan --- ibus-anthy-HEAD.patch | 205 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 8 +- 2 files changed, 211 insertions(+), 2 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 34b9127..778b813 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -135,3 +135,208 @@ index bff3078..1d18d19 100755 -- 2.28.0 +From 84f080278a7351a26df441429bd58e5931944c32 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 27 Apr 2021 19:56:07 +0900 +Subject: [PATCH] Fix covscan result + +- Fix double quote not to re-splitting elements +- Fix deprecated GObject private +- Fix section variable initialization +- Fix dlg variable condition assignment +--- + engine/python2/ibus-engine-anthy.in | 4 ++-- + engine/python3/ibus-engine-anthy.in | 4 ++-- + gir/anthygcontext.c | 4 ++-- + setup/python2/ibus-setup-anthy.in | 4 ++-- + setup/python2/main.py | 8 +++++--- + setup/python3/ibus-setup-anthy.in | 4 ++-- + setup/python3/main.py | 6 ++++-- + 7 files changed, 19 insertions(+), 15 deletions(-) + +diff --git a/engine/python2/ibus-engine-anthy.in b/engine/python2/ibus-engine-anthy.in +index f663165..07b99fe 100644 +--- a/engine/python2/ibus-engine-anthy.in ++++ b/engine/python2/ibus-engine-anthy.in +@@ -5,7 +5,7 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2016 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2007-2016 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -25,4 +25,4 @@ + export IBUS_PREFIX=@prefix@ + export IBUS_ANTHY_PKGDATADIR=@datarootdir@/@PACKAGE@ + export LIBEXECDIR=@libexecdir@ +-exec @ENV_IBUS_ENGINE@ @PYTHON@ @datarootdir@/@PACKAGE@/engine/main.py $@ ++exec @ENV_IBUS_ENGINE@ @PYTHON@ @datarootdir@/@PACKAGE@/engine/main.py "$@" +diff --git a/engine/python3/ibus-engine-anthy.in b/engine/python3/ibus-engine-anthy.in +index f663165..07b99fe 100644 +--- a/engine/python3/ibus-engine-anthy.in ++++ b/engine/python3/ibus-engine-anthy.in +@@ -5,7 +5,7 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2016 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2007-2016 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -25,4 +25,4 @@ + export IBUS_PREFIX=@prefix@ + export IBUS_ANTHY_PKGDATADIR=@datarootdir@/@PACKAGE@ + export LIBEXECDIR=@libexecdir@ +-exec @ENV_IBUS_ENGINE@ @PYTHON@ @datarootdir@/@PACKAGE@/engine/main.py $@ ++exec @ENV_IBUS_ENGINE@ @PYTHON@ @datarootdir@/@PACKAGE@/engine/main.py "$@" +diff --git a/gir/anthygcontext.c b/gir/anthygcontext.c +index b342579..7698d4d 100644 +--- a/gir/anthygcontext.c ++++ b/gir/anthygcontext.c +@@ -1,7 +1,7 @@ + /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ + /* vim:set et sts=4: */ + /* ibus-anthy - The Anthy engine for IBus +- * Copyright (c) 2012-2019 Takao Fujiwara ++ * Copyright (c) 2012-2021 Takao Fujiwara + * Copyright (c) 2012 Peng Huang + * Copyright (c) 2012-2013 Red Hat, Inc. + * +@@ -29,7 +29,7 @@ extern int anthy_do_set_personality (const char *id); + #include "anthygcontext.h" + + #define ANTHY_GCONTEXT_GET_PRIVATE(o) \ +- (G_TYPE_INSTANCE_GET_PRIVATE ((o), ANTHY_TYPE_GCONTEXT, AnthyGContextPrivate)) ++ ((AnthyGContextPrivate *)anthy_gcontext_get_instance_private (o)) + + struct _AnthyGContextPrivate { + anthy_context_t context; +diff --git a/setup/python2/ibus-setup-anthy.in b/setup/python2/ibus-setup-anthy.in +index b936d2c..81c9dfc 100644 +--- a/setup/python2/ibus-setup-anthy.in ++++ b/setup/python2/ibus-setup-anthy.in +@@ -4,7 +4,7 @@ + # ibus-tmpl - The Input Bus template project + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2016 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2007-2016 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -22,4 +22,4 @@ + # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + export IBUS_LOCALEDIR=@localedir@ +-exec @PYTHON@ @prefix@/share/ibus-anthy/setup/main.py $@ ++exec @PYTHON@ @prefix@/share/ibus-anthy/setup/main.py "$@" +diff --git a/setup/python2/main.py b/setup/python2/main.py +index 4e6b15b..f870ee5 100644 +--- a/setup/python2/main.py ++++ b/setup/python2/main.py +@@ -4,7 +4,7 @@ + # + # Copyright (c) 2007-2008 Peng Huang + # Copyright (c) 2009 Hideaki ABE +-# Copyright (c) 2010-2019 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2007-2019 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -1253,7 +1253,7 @@ class AnthySetup(object): + model_combobox = combobox.get_model() + method = model_combobox[id][1] + type = user_data +- section_base = None ++ section = None + key = input.get_text() + value = output.get_text() + left_text = left.get_text() +@@ -1308,7 +1308,7 @@ class AnthySetup(object): + l, i = tv.get_selection().get_selected() + type = l[i][0] + key = l[i][1] +- section_base = None ++ section = None + if type == 'romaji': + section = 'romaji-typing-rule' + elif type == 'kana': +@@ -1379,6 +1379,7 @@ class AnthySetup(object): + def on_btn_dict_add_clicked(self, widget): + file = None + id = None ++ dlg = None + + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': + dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), +@@ -1394,6 +1395,7 @@ class AnthySetup(object): + _("_OK"), Gtk.ResponseType.OK) + dlg.add_buttons(*buttons) + ++ assert(dlg != None), 'Button name is undefined.' + vbox = self.__builder.get_object('dict:add_extra_vbox') + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': + # Need to init for the second time +diff --git a/setup/python3/ibus-setup-anthy.in b/setup/python3/ibus-setup-anthy.in +index b936d2c..81c9dfc 100644 +--- a/setup/python3/ibus-setup-anthy.in ++++ b/setup/python3/ibus-setup-anthy.in +@@ -4,7 +4,7 @@ + # ibus-tmpl - The Input Bus template project + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2016 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2007-2016 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -22,4 +22,4 @@ + # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + export IBUS_LOCALEDIR=@localedir@ +-exec @PYTHON@ @prefix@/share/ibus-anthy/setup/main.py $@ ++exec @PYTHON@ @prefix@/share/ibus-anthy/setup/main.py "$@" +diff --git a/setup/python3/main.py b/setup/python3/main.py +index 7e16093..6641f7f 100644 +--- a/setup/python3/main.py ++++ b/setup/python3/main.py +@@ -1246,7 +1246,7 @@ class AnthySetup(object): + model_combobox = combobox.get_model() + method = model_combobox[id][1] + type = user_data +- section_base = None ++ section = None + key = input.get_text() + value = output.get_text() + left_text = left.get_text() +@@ -1301,7 +1301,7 @@ class AnthySetup(object): + l, i = tv.get_selection().get_selected() + type = l[i][0] + key = l[i][1] +- section_base = None ++ section = None + if type == 'romaji': + section = 'romaji-typing-rule' + elif type == 'kana': +@@ -1372,6 +1372,7 @@ class AnthySetup(object): + def on_btn_dict_add_clicked(self, widget): + file = None + id = None ++ dlg = None + + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': + dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), +@@ -1387,6 +1388,7 @@ class AnthySetup(object): + _("_OK"), Gtk.ResponseType.OK) + dlg.add_buttons(*buttons) + ++ assert (dlg != None), 'Button name is undefined.' + vbox = self.__builder.get_object('dict:add_extra_vbox') + if Gtk.Buildable.get_name(widget) == 'dict:btn_add': + # Need to init for the second time +-- +2.28.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 5d65daa..858346d 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.12 -Release: 6%{?dist} +Release: 7%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -132,13 +132,13 @@ desktop-file-validate \ %{_libdir}/girepository-1.0/Anthy*.typelib %{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.engine.anthy.gschema.xml %dir %{_datadir}/ibus-anthy +%{_datadir}/applications/ibus-setup-anthy.desktop %{_datadir}/ibus-anthy/dicts %{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg %files python %{_libexecdir}/ibus-*-anthy %{_datadir}/metainfo/*.metainfo.xml -%{_datadir}/applications/ibus-setup-anthy.desktop %{_datadir}/ibus-anthy/engine %{_datadir}/ibus-anthy/setup %{_datadir}/ibus/component/* @@ -155,6 +155,10 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Tue Apr 27 2021 Takao Fujiwara - 1.5.12-7 +- Move .desktop file from ibus-anthy-python to ibus-anthy +- Fix covscan + * Wed Apr 21 2021 Takao Fujiwara - 1.5.12-6 - Resolves: #1948197 Move post to posttrans From e3673a694138f4c4fb784821ecd55329e93cd2d7 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 17 Jun 2021 18:05:09 +0900 Subject: [PATCH 138/202] Delete postscript for ibus write-cache --- ibus-anthy.spec | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 858346d..0a6f519 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.12 -Release: 7%{?dist} +Release: 8%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -120,10 +120,8 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop -%posttrans -/sbin/ldconfig -[ -x %{_bindir}/ibus ] && \ - %{_bindir}/ibus write-cache --system &>/dev/null || : +%ldconfig_scriptlets libs + %files -f %{name}.lang %doc AUTHORS COPYING README @@ -155,6 +153,9 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Thu Jun 17 2021 Takao Fujiwara - 1.5.12-8 +- Delete postscript for ibus write-cache + * Tue Apr 27 2021 Takao Fujiwara - 1.5.12-7 - Move .desktop file from ibus-anthy-python to ibus-anthy - Fix covscan From 7c43d0721698109e777621b565e98b7356150c4f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 22 Jul 2021 08:18:16 +0000 Subject: [PATCH 139/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 0a6f519..8c882eb 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.12 -Release: 8%{?dist} +Release: 9%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -153,6 +153,9 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Thu Jul 22 2021 Fedora Release Engineering - 1.5.12-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Thu Jun 17 2021 Takao Fujiwara - 1.5.12-8 - Delete postscript for ibus write-cache From d1b1f619f24302faba83ac42841b5a818eb2d42e Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 12 Aug 2021 19:05:47 +0900 Subject: [PATCH 140/202] Remove Ctrl+period in circle_kana_mode --- ibus-anthy-HEAD.patch | 33 +++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 ++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 778b813..0b24991 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -340,3 +340,36 @@ index 7e16093..6641f7f 100644 -- 2.28.0 +From 39773ff8c30b4793a841c44b02ff92b52d2bdaeb Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 12 Aug 2021 18:44:51 +0900 +Subject: [PATCH] data/gschema: Remove Ctrl+period in circle_kana_mode (#23) + +Ctrl-period key is now Emoji typing on-off shortcut key in IBus core +to follow GNOME desktop. +--- + data/org.freedesktop.ibus.engine.anthy.gschema.xml.in | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +index 773be09..75e42b3 100644 +--- a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in ++++ b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +@@ -908,8 +908,13 @@ + 'circle_input_mode': <['Ctrl+comma', 'Ctrl+less']>, + +- 'circle_kana_mode': <['Ctrl+period', 'Ctrl+greater']>, ++ 'circle_kana_mode': <['Ctrl+greater']>, + + 'circle_typing_method': <['Alt+Romaji', 'Ctrl+slash']>, + 'circle_dict_method': <['Alt+Henkan']>, +-- +2.28.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 8c882eb..d395959 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.12 -Release: 9%{?dist} +Release: 10%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -153,6 +153,9 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Thu Aug 12 2021 Takao Fujiwara - 1.5.12-10 +- Remove Ctrl+period in circle_kana_mode + * Thu Jul 22 2021 Fedora Release Engineering - 1.5.12-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 83d527da6063d276c6e412ffcce2eec48c1bfd71 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 20 Aug 2021 18:06:44 +0900 Subject: [PATCH 141/202] Delete upstreamed patches --- ibus-anthy-HEAD.patch | 375 ------------------------------------------ 1 file changed, 375 deletions(-) delete mode 100644 ibus-anthy-HEAD.patch diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch deleted file mode 100644 index 0b24991..0000000 --- a/ibus-anthy-HEAD.patch +++ /dev/null @@ -1,375 +0,0 @@ -From 4d1f0b36c43780586f5d0c2622eb92d068ebe281 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Sun, 21 Mar 2021 15:25:41 +0900 -Subject: [PATCH] tests: Output info to stderr instead of StringIO - ---- - tests/anthytest.py | 51 ++++++++++++++++++++++++++++++---------------- - 1 file changed, 33 insertions(+), 18 deletions(-) - -diff --git a/tests/anthytest.py b/tests/anthytest.py -index bff3078..1d18d19 100755 ---- a/tests/anthytest.py -+++ b/tests/anthytest.py -@@ -28,17 +28,31 @@ TAP_MODULE_PYCOTAP = list(range(3)) - - tap_module = TAP_MODULE_NONE - -+# Need to flush the output against Gtk.main() -+def printflush(sentence): -+ try: -+ print(sentence, flush=True) -+ except IOError: -+ pass -+ -+def printerr(sentence): -+ try: -+ print(sentence, flush=True, file=sys.stderr) -+ except IOError: -+ pass -+ - try: - from tap import TAPTestRunner - tap_module = TAP_MODULE_TAPPY -- print('Load tappy') -+ printflush('## Load tappy') - except ModuleNotFoundError: - try: - from pycotap import TAPTestRunner -+ from pycotap import LogMode - tap_module = TAP_MODULE_PYCOTAP -- print('Load pycotap') -+ printflush('## Load pycotap') - except ModuleNotFoundError as err: -- print('Ignore tap module: %s' % str(err)) -+ printflush('## Ignore tap module: %s' % str(err)) - - PY3K = sys.version_info >= (3, 0) - DONE_EXIT = True -@@ -55,18 +69,6 @@ sys.path.append('/usr/share/ibus-anthy/engine') - - from anthycases import TestCases - --# Need to flush the output against Gtk.main() --def printflush(sentence): -- try: -- print(sentence, flush=True) -- except IOError: -- pass -- --def printerr(sentence): -- try: -- print(sentence, flush=True, file=sys.stderr) -- except IOError: -- pass - - @unittest.skipIf(Gdk.Display.open('') == None, 'Display cannot be open.') - class AnthyTest(unittest.TestCase): -@@ -83,8 +85,10 @@ class AnthyTest(unittest.TestCase): - self.__test_index = 0 - self.__conversion_index = 0 - self.__commit_done = False -+ self.__engine = None - - def register_ibus_engine(self): -+ printflush('## Registering engine') - self.__bus = IBus.Bus() - if not self.__bus.is_connected(): - self.fail('ibus-daemon is not running') -@@ -144,6 +148,7 @@ class AnthyTest(unittest.TestCase): - - def __create_engine_cb(self, factory, engine_name): - if engine_name == 'testanthy': -+ printflush('## Creating engine') - try: - import engine - except ModuleNotFoundError as e: -@@ -176,14 +181,20 @@ class AnthyTest(unittest.TestCase): - window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL) - self.__entry = entry = Gtk.Entry() - window.connect('destroy', Gtk.main_quit) -+ entry.connect('map', self.__entry_map_cb) - entry.connect('focus-in-event', self.__entry_focus_in_event_cb) - entry.connect('preedit-changed', self.__entry_preedit_changed_cb) - buffer = entry.get_buffer() - buffer.connect('inserted-text', self.__buffer_inserted_text_cb) - window.add(entry) - window.show_all() -+ printflush('## Build window') -+ -+ def __entry_map_cb(self, entry): -+ printflush('## Map window') - - def __entry_focus_in_event_cb(self, entry, event): -+ printflush('## Get focus') - if self.__test_index == len(TestCases['tests']): - if DONE_EXIT: - Gtk.main_quit() -@@ -231,11 +242,11 @@ class AnthyTest(unittest.TestCase): - schema = "org.freedesktop.ibus.engine.anthy.common"); - result = settings.get_int('input-mode') - if result != 0: -- printflush('Enable hiragana %d' % result) -+ printflush('## Enable hiragana %d' % result) - key = TestCases['init'] - self.__typing(key[0], key[1], key[2]) - else: -- printflush('Already hiragana') -+ printflush('## Already hiragana') - - def __main_test(self): - self.__conversion_index = 0 -@@ -371,7 +382,11 @@ def main(): - - if args.tap: - loader = unittest.TestLoader() -- runner = TAPTestRunner() -+ if tap_module == TAP_MODULE_PYCOTAP: -+ # Log should be in stderr instead of StringIO -+ runner = TAPTestRunner(test_output_log=LogMode.LogToError) -+ else: -+ runner = TAPTestRunner() - if tap_module == TAP_MODULE_TAPPY: - runner.set_stream(True) - unittest.main(testRunner=runner, testLoader=loader) --- -2.28.0 - -From 84f080278a7351a26df441429bd58e5931944c32 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 27 Apr 2021 19:56:07 +0900 -Subject: [PATCH] Fix covscan result - -- Fix double quote not to re-splitting elements -- Fix deprecated GObject private -- Fix section variable initialization -- Fix dlg variable condition assignment ---- - engine/python2/ibus-engine-anthy.in | 4 ++-- - engine/python3/ibus-engine-anthy.in | 4 ++-- - gir/anthygcontext.c | 4 ++-- - setup/python2/ibus-setup-anthy.in | 4 ++-- - setup/python2/main.py | 8 +++++--- - setup/python3/ibus-setup-anthy.in | 4 ++-- - setup/python3/main.py | 6 ++++-- - 7 files changed, 19 insertions(+), 15 deletions(-) - -diff --git a/engine/python2/ibus-engine-anthy.in b/engine/python2/ibus-engine-anthy.in -index f663165..07b99fe 100644 ---- a/engine/python2/ibus-engine-anthy.in -+++ b/engine/python2/ibus-engine-anthy.in -@@ -5,7 +5,7 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2016 Takao Fujiwara -+# Copyright (c) 2010-2021 Takao Fujiwara - # Copyright (c) 2007-2016 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -25,4 +25,4 @@ - export IBUS_PREFIX=@prefix@ - export IBUS_ANTHY_PKGDATADIR=@datarootdir@/@PACKAGE@ - export LIBEXECDIR=@libexecdir@ --exec @ENV_IBUS_ENGINE@ @PYTHON@ @datarootdir@/@PACKAGE@/engine/main.py $@ -+exec @ENV_IBUS_ENGINE@ @PYTHON@ @datarootdir@/@PACKAGE@/engine/main.py "$@" -diff --git a/engine/python3/ibus-engine-anthy.in b/engine/python3/ibus-engine-anthy.in -index f663165..07b99fe 100644 ---- a/engine/python3/ibus-engine-anthy.in -+++ b/engine/python3/ibus-engine-anthy.in -@@ -5,7 +5,7 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2016 Takao Fujiwara -+# Copyright (c) 2010-2021 Takao Fujiwara - # Copyright (c) 2007-2016 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -25,4 +25,4 @@ - export IBUS_PREFIX=@prefix@ - export IBUS_ANTHY_PKGDATADIR=@datarootdir@/@PACKAGE@ - export LIBEXECDIR=@libexecdir@ --exec @ENV_IBUS_ENGINE@ @PYTHON@ @datarootdir@/@PACKAGE@/engine/main.py $@ -+exec @ENV_IBUS_ENGINE@ @PYTHON@ @datarootdir@/@PACKAGE@/engine/main.py "$@" -diff --git a/gir/anthygcontext.c b/gir/anthygcontext.c -index b342579..7698d4d 100644 ---- a/gir/anthygcontext.c -+++ b/gir/anthygcontext.c -@@ -1,7 +1,7 @@ - /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ - /* vim:set et sts=4: */ - /* ibus-anthy - The Anthy engine for IBus -- * Copyright (c) 2012-2019 Takao Fujiwara -+ * Copyright (c) 2012-2021 Takao Fujiwara - * Copyright (c) 2012 Peng Huang - * Copyright (c) 2012-2013 Red Hat, Inc. - * -@@ -29,7 +29,7 @@ extern int anthy_do_set_personality (const char *id); - #include "anthygcontext.h" - - #define ANTHY_GCONTEXT_GET_PRIVATE(o) \ -- (G_TYPE_INSTANCE_GET_PRIVATE ((o), ANTHY_TYPE_GCONTEXT, AnthyGContextPrivate)) -+ ((AnthyGContextPrivate *)anthy_gcontext_get_instance_private (o)) - - struct _AnthyGContextPrivate { - anthy_context_t context; -diff --git a/setup/python2/ibus-setup-anthy.in b/setup/python2/ibus-setup-anthy.in -index b936d2c..81c9dfc 100644 ---- a/setup/python2/ibus-setup-anthy.in -+++ b/setup/python2/ibus-setup-anthy.in -@@ -4,7 +4,7 @@ - # ibus-tmpl - The Input Bus template project - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2016 Takao Fujiwara -+# Copyright (c) 2010-2021 Takao Fujiwara - # Copyright (c) 2007-2016 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -22,4 +22,4 @@ - # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - export IBUS_LOCALEDIR=@localedir@ --exec @PYTHON@ @prefix@/share/ibus-anthy/setup/main.py $@ -+exec @PYTHON@ @prefix@/share/ibus-anthy/setup/main.py "$@" -diff --git a/setup/python2/main.py b/setup/python2/main.py -index 4e6b15b..f870ee5 100644 ---- a/setup/python2/main.py -+++ b/setup/python2/main.py -@@ -4,7 +4,7 @@ - # - # Copyright (c) 2007-2008 Peng Huang - # Copyright (c) 2009 Hideaki ABE --# Copyright (c) 2010-2019 Takao Fujiwara -+# Copyright (c) 2010-2021 Takao Fujiwara - # Copyright (c) 2007-2019 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -1253,7 +1253,7 @@ class AnthySetup(object): - model_combobox = combobox.get_model() - method = model_combobox[id][1] - type = user_data -- section_base = None -+ section = None - key = input.get_text() - value = output.get_text() - left_text = left.get_text() -@@ -1308,7 +1308,7 @@ class AnthySetup(object): - l, i = tv.get_selection().get_selected() - type = l[i][0] - key = l[i][1] -- section_base = None -+ section = None - if type == 'romaji': - section = 'romaji-typing-rule' - elif type == 'kana': -@@ -1379,6 +1379,7 @@ class AnthySetup(object): - def on_btn_dict_add_clicked(self, widget): - file = None - id = None -+ dlg = None - - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': - dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), -@@ -1394,6 +1395,7 @@ class AnthySetup(object): - _("_OK"), Gtk.ResponseType.OK) - dlg.add_buttons(*buttons) - -+ assert(dlg != None), 'Button name is undefined.' - vbox = self.__builder.get_object('dict:add_extra_vbox') - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': - # Need to init for the second time -diff --git a/setup/python3/ibus-setup-anthy.in b/setup/python3/ibus-setup-anthy.in -index b936d2c..81c9dfc 100644 ---- a/setup/python3/ibus-setup-anthy.in -+++ b/setup/python3/ibus-setup-anthy.in -@@ -4,7 +4,7 @@ - # ibus-tmpl - The Input Bus template project - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2016 Takao Fujiwara -+# Copyright (c) 2010-2021 Takao Fujiwara - # Copyright (c) 2007-2016 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -22,4 +22,4 @@ - # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - - export IBUS_LOCALEDIR=@localedir@ --exec @PYTHON@ @prefix@/share/ibus-anthy/setup/main.py $@ -+exec @PYTHON@ @prefix@/share/ibus-anthy/setup/main.py "$@" -diff --git a/setup/python3/main.py b/setup/python3/main.py -index 7e16093..6641f7f 100644 ---- a/setup/python3/main.py -+++ b/setup/python3/main.py -@@ -1246,7 +1246,7 @@ class AnthySetup(object): - model_combobox = combobox.get_model() - method = model_combobox[id][1] - type = user_data -- section_base = None -+ section = None - key = input.get_text() - value = output.get_text() - left_text = left.get_text() -@@ -1301,7 +1301,7 @@ class AnthySetup(object): - l, i = tv.get_selection().get_selected() - type = l[i][0] - key = l[i][1] -- section_base = None -+ section = None - if type == 'romaji': - section = 'romaji-typing-rule' - elif type == 'kana': -@@ -1372,6 +1372,7 @@ class AnthySetup(object): - def on_btn_dict_add_clicked(self, widget): - file = None - id = None -+ dlg = None - - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': - dlg = Gtk.FileChooserDialog(title=_("Open Dictionary File"), -@@ -1387,6 +1388,7 @@ class AnthySetup(object): - _("_OK"), Gtk.ResponseType.OK) - dlg.add_buttons(*buttons) - -+ assert (dlg != None), 'Button name is undefined.' - vbox = self.__builder.get_object('dict:add_extra_vbox') - if Gtk.Buildable.get_name(widget) == 'dict:btn_add': - # Need to init for the second time --- -2.28.0 - -From 39773ff8c30b4793a841c44b02ff92b52d2bdaeb Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 12 Aug 2021 18:44:51 +0900 -Subject: [PATCH] data/gschema: Remove Ctrl+period in circle_kana_mode (#23) - -Ctrl-period key is now Emoji typing on-off shortcut key in IBus core -to follow GNOME desktop. ---- - data/org.freedesktop.ibus.engine.anthy.gschema.xml.in | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in -index 773be09..75e42b3 100644 ---- a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in -+++ b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in -@@ -908,8 +908,13 @@ - 'circle_input_mode': <['Ctrl+comma', 'Ctrl+less']>, - -- 'circle_kana_mode': <['Ctrl+period', 'Ctrl+greater']>, -+ 'circle_kana_mode': <['Ctrl+greater']>, - - 'circle_typing_method': <['Alt+Romaji', 'Ctrl+slash']>, - 'circle_dict_method': <['Alt+Henkan']>, --- -2.28.0 - From 461abf651f95977794c5ced32948ad381eb7f4f2 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 20 Aug 2021 18:40:54 +0900 Subject: [PATCH 142/202] Bump to 1.5.13 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 0 ibus-anthy.spec | 8 +++++--- sources | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 ibus-anthy-HEAD.patch diff --git a/.gitignore b/.gitignore index 00d1574..ca31c00 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ ibus-anthy.png /ibus-anthy-1.5.10.tar.gz /ibus-anthy-1.5.11.tar.gz /ibus-anthy-1.5.12.tar.gz +/ibus-anthy-1.5.13.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..e69de29 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index d395959..83187be 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -17,8 +17,8 @@ %endif Name: ibus-anthy -Version: 1.5.12 -Release: 10%{?dist} +Version: 1.5.13 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -26,7 +26,6 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -153,6 +152,9 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Fri Aug 20 2021 Takao Fujiwara - 1.5.13-1 +- Bump to 1.5.13 + * Thu Aug 12 2021 Takao Fujiwara - 1.5.12-10 - Remove Ctrl+period in circle_kana_mode diff --git a/sources b/sources index 1c24df9..13b5f4f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ibus-anthy-1.5.12.tar.gz) = 6950a2865e4753831f8918f4a5926571bc8304454b6368662ef56a6fb11a60f0675e3d589108ebfd38cb5d193f7b61053a10baa6dad23adad67b3b3fc58760e8 +SHA512 (ibus-anthy-1.5.13.tar.gz) = 02d63f578d0d5c099bc63dfa050b9091809b8af53a4b4372f1896f647b54f735b56ebead51b34fb9302c94afecaf439473b1df311fca640105e71ac9b80f94dd From 176721cfae5a38d2c5d617c8e462b35d1d714e41 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 30 Aug 2021 20:54:59 +0900 Subject: [PATCH 143/202] Initial implementation ibus-anthy-1.5.13 - Add kasumi-unicode - Add python3-pycotap --- .gitignore | 3 + ibus-anthy-1938129-default-hiragana.patch | 28 + ibus-anthy-HEAD.patch | 0 ibus-anthy-xx-revert-ctrl-period.patch | 32 ++ ibus-anthy.png | Bin 0 -> 4973 bytes ibus-anthy.spec | 669 ++++++++++++++++++++++ kasumi-1928410-gtk3.patch | 369 ++++++++++++ kasumi-853099-manpage.patch | 25 + kasumi-check-anthy-pkg.patch | 16 + sources | 3 + 10 files changed, 1145 insertions(+) create mode 100644 .gitignore create mode 100644 ibus-anthy-1938129-default-hiragana.patch create mode 100644 ibus-anthy-HEAD.patch create mode 100644 ibus-anthy-xx-revert-ctrl-period.patch create mode 100644 ibus-anthy.png create mode 100644 ibus-anthy.spec create mode 100644 kasumi-1928410-gtk3.patch create mode 100644 kasumi-853099-manpage.patch create mode 100644 kasumi-check-anthy-pkg.patch diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea06539 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/ibus-anthy-1.5.13.tar.gz +/kasumi-2.5.tar.gz +/pycotap-1.1.0.tar.gz diff --git a/ibus-anthy-1938129-default-hiragana.patch b/ibus-anthy-1938129-default-hiragana.patch new file mode 100644 index 0000000..79f769a --- /dev/null +++ b/ibus-anthy-1938129-default-hiragana.patch @@ -0,0 +1,28 @@ +From e4ef13166118fe991f7590b093671f9361e9c1cc Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 16 Mar 2021 22:13:01 +0900 +Subject: [PATCH] data: Change default input mode to Hiragana (rhbz#1938129) + +GNOME desktop sets unnecessary JP keymap by default and a few newcomers +wish to use Hiragana mode directly. +This internal patch will be deleted if the default desktop would be changed. +--- + data/org.freedesktop.ibus.engine.anthy.gschema.xml.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +index 773be09..cd5a13b 100644 +--- a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in ++++ b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +@@ -3,7 +3,7 @@ + + +- 3 ++ 0 + Input Mode + + +-- +2.28.0 + diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..e69de29 diff --git a/ibus-anthy-xx-revert-ctrl-period.patch b/ibus-anthy-xx-revert-ctrl-period.patch new file mode 100644 index 0000000..d3fe03a --- /dev/null +++ b/ibus-anthy-xx-revert-ctrl-period.patch @@ -0,0 +1,32 @@ +From 39773ff8c30b4793a841c44b02ff92b52d2bdaeb Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 12 Aug 2021 18:44:51 +0900 +Subject: [PATCH] data/gschema: Revert Ctrl+period in circle_kana_mode + +Ctrl-period key is not available in RHEL8 IBus core yet. +--- + data/org.freedesktop.ibus.engine.anthy.gschema.xml.in | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +index 773be09..75e42b3 100644 +--- a/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in ++++ b/data/org.freedesktop.ibus.engine.anthy.gschema.xml.in +@@ -908,13 +908,8 @@ + 'circle_input_mode': <['Ctrl+comma', 'Ctrl+less']>, + +- 'circle_kana_mode': <['Ctrl+greater']>, ++ 'circle_kana_mode': <['Ctrl+period', 'Ctrl+greater']>, + + 'circle_typing_method': <['Alt+Romaji', 'Ctrl+slash']>, + 'circle_dict_method': <['Alt+Henkan']>, +-- +2.28.0 + diff --git a/ibus-anthy.png b/ibus-anthy.png new file mode 100644 index 0000000000000000000000000000000000000000..de1c85f38c4006dd077374ed9d7e7e087e0352d6 GIT binary patch literal 4973 zcmV-z6O!zSP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igP$ z0w5eeE^n9s000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000umNkl!G=i3@Z4#gXOh|ylA+||u$NTmc+s}Ucd-vXR=8w0;P8`Ue zohx0vbMHC#zTfiw{eIuyxq`yc)6>J+wQB+B>gvMp_lv@T)|z>T5D2Z&TBGOP&ac&4 zBZNRHRhpaoj^g-QzjMb*DU?#A(`g-vMD*Qv-#t$hSsWCFKmO)%VHn0H;8h?FI6{c| zCpZ+&x%cPZn>%;q{cD|{F+U-teA4UlEh)--;>3x((E$4U`&qquH6MQXAvHBM+ohC8 zrIa;=1$lFpOat@n&NZxDSbQB8|D0c~wH8`ylF8(onM~%vTW`HJ0`TuY{V8Iu00RR9 zON0xa;1%xOSGqtU0*>GTu(_U+4Rt&x5GeE{_L^-Ced ze#0=f2_bY5{|lY6a2BtN_+RK6#5L#UUeAAqg?8wT0veEjpgui+YAZIxwQdt~FA?5We0cf||O)8ao?7l;PWtL)~ zr?*!ahVi$iVZ30P<~-`I0E)9l|Qczj$Wyh8kED2O0rCbmuS3<+G9nN)* z&~b5??He0dx27J`bS((4h2SKFpuN3aMtmZNe zM#iUk`Sp{$^nM?*Lv$HX*5K2e#A>HM^ZXmonM@P$-b z%s|Co+g6N+qL`*&$>MTuXk3BIbA6MhwG1O2PXd_Aojz#oUr11SHcrqB9A~ z{FMZj?Is-a@W!!o#e`d`HKpr0W7Ck_ymK{K6|V3dL35N?-? zOWmK)P+!ZU+AY{h5>H8bd;8hCbt`^h(kX8`OvJgVx^7xp_npn9slVfLTs12}X z%hpl~Ua(rv(MW5}qUvodSyEGUK*0lr1y@3-7&H^%8Ttl8xZNhRQ=?S)U2NR65nC*w zcW|1SScZ)4p}V`6n{K*^va&LiquIH0H|y7LED1Lrn&sb~`2#p+YH4*v}Y4<4MC z_pel>$Y_iAT`m`&c6AX7hf!K#%7VZP#ekHO*;tD1zHu^H3!l!BOGjy5w~7@jR#8#4 zlwBPgXx?_7Rwl}Z4YyNUTMK}r6b*F&>XubA zIz9!mjDg`W!^6YW)zy`tT7_R%R0L*2!TkN8>mS%1WWNjcFLz%0L=k zf{_^Qox|LD^BQiuc_S6&WuveWa67sw>@W-m-?AGw_E242U4oF(d5@V&UGALZ9O@j4 zr#RO+h}ME^dY0MgQ8qL+(A>Nhug8O<91J7x+Pyn&{yT4{qOx*MV$hgctGVrN$wjlV6lXj7F-?gn4A!mN%)0ff84YEaOGr#6{ul*0PnQ=C6-b_nN3w!tO%?n;uhEWJu ztrbdXY%9lw-VuKN+DD8}WckyH_t>z04eKf@N<~efFc;eTP)aiqiZU=1#$Vnuhv%TrL+oc5G+ey5@X}^!XNS+=~gM_>cKiDhth!!SL`1xooZ!18QLf z^5pHK_C8#uiE?tJVi7DWONn+Ya46+a+t7sV2;3e&(b*jR{r%L{)#aI_VNhAXZ?PcF z-!v2R$s3T)SlEt2N=Y~pCK{c_Q4R`~_kf-Qp<;9GIEvBnDf)+kR92P~9=pV)bHCw+ z<;$tAuD+%Mj%~55Y6TNfH;&e%Y(Hnuo@M9Gop`<8c|2!sm7d!x%=NCzWzgLhWHy#Y zs~ovZ9GA;P3W-*E4>*p4c^UV417xxm?VW?T-7c(bibQmrb?esg{l^|>)22;V6_m@o zNf3<0dFI(akxXSNTeO^xj!vS{DE0OA*W5q4vbq+FsAVbMZtEgEnIIazglRxSLnCgt z8&&Y4<2dsngn(o+%gK+rak)&g$ryHanoYZRuzUAz>g(%q9Os%%-@0`sM}F7Nz;GDD z@Gu$8($mvJZEY?2be*rXc^ae83beSK1hj@+&LN)6@Y|zjId$d|RxZQDU_147OK5Ix z&bOZh;pZzL1-9cbGCsxF#1xekelqD8I0-gx+(dPCHMVWfBWhRf#2L0^&-NP`8K12IrKit zn&GzFzQn3kt1t`$6issrLl3NaP_dQ>xdT{_DB#v^hEE~(R=0nJGEI#cS!s{_eC!=KI z6KvnQj;5xjYYIL;6Dc;VyMczK-melY}rapO-(8FeclGI<0!sz&n_AQio|3W)01KP`ue!%uA6AN zs zJGi5#v8)`KOontOjj0M$LTEu%g@;22_mG+GqudoIXEoB*)y0VuCpd86z~_3QNS*iY zXl6RJ5tp9CXysdTw`|jM&&9{7k7hZUQL?VIP?Z)f%l1^u+tE=Pw`|r4NtWE=0T=U&n`d z$Df5Ts6uVqZfym^W#A37La=H0jD4kAIRaHeco29L-jh2=c+S}U+hr`$V znV_Vo*XzaS^D#Cy#*Q633f^((>+56Hs#T?QT--Q7Xz(n?s=pVzq8X&?^2d}y+LbOJ z!EltG?rtKHNIs1gUL+8C8XJ$tdFiE>sH&=>rKN?Dkr75lM&?;R91iotAO4WJn+B+tXZ>$C!c(h(b3WTXRG7KId|?HPdxDi6B85c-Mg1pUU`M~ z_I8rVB(=4*96EG}HEWysuj6SV5igJb;GZwEPNn$IXMT({3}&M*(b?5mET}>j%DbbK z#&H~d>eMN^y1Mx4SHFtS=OYjZFf%hlE|)7QFgQ2}!1K>PPaqKB;fEjQo_p?Lbaa$o z{_>XqeCu1^;_%_a06g~CV?6rkqYMoVp|$4d(W8`=mGRI+4{`9|K_(_9c=5#-K`Rzl zS1~&?jkMzkJC1Y`^nQAVf&NP@Z>;C7x85Wa3h8h-%=Gkh&MbVoIjyzEvTbqn=uuX$ zUd@UXE68LrCH@l(21}HnuP^^q=fMXbWXqN<2q9={YND;Jjbt*3ZQE2=S2H>~N<~El z%a<<);L@c_0JOHYvUTfCfMVs!m9(|BkxHeoau$`9m1MJ7VzC%*w;S8GdHwa*X>4rd zgAYEy=krotUM>=e#8@VinKXCq+{x)vr!FGIvD2qd?~ljh96o%Q>8UAVu~=!#yt})* zgvp+s9vT}P2?PR+jg95My5w@q%*?QA)hb3t@>?q%9Uauy*O#Dl;lc%KYikJv0t^oi zmG(+wu^0^v4fOZ-lgVTNID7UCUayayo*t&Br>Uu_A(cu|QBkS0*_<#8<0q?|*QCvS zbFQ=J&!2nh)TvW1P2n2}5VkoT`A0KDKh7HWl&Y~QJ(uz zh(>47S~E2{h2uCZTefUoaSKia0cdDwz;r!i9%T)4Xxf zqD7But#oHs*Y|-ND=I1;QA%0o&!67|JXBUz_NY=Ssg#4G6n*`D{~)E@;P;n(-*#** z4Jm{WKMMwfZ^z^DTPiCnk7%t=X{~cYh)%%=i{#>cN^_6m%ot=FG_=DE^S=+Wy%0X-WXe<`H4Y*id zUjA*Rl+vJIdF2(W2;F-+jwz$W0fM;>`ZA31UafG>RE3#Gi-+S)n<-2IE6 z|3U&gfm3(f@x{6GbwGpG`sn`scjXHA{u}s5%d&nO3emXNZ7JI^Be)PyAy!`UZ{MjC@t*x)Owzj@@J!{QBL*f4d_!6-B r|CIs-7%m5%1Actu$dR7wdG7xJ2i)2miE24v00000NkvXXu0mjf@tCB6 literal 0 HcmV?d00001 diff --git a/ibus-anthy.spec b/ibus-anthy.spec new file mode 100644 index 0000000..38516b3 --- /dev/null +++ b/ibus-anthy.spec @@ -0,0 +1,669 @@ +# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_3 +%global sub_version 1.0 +%global require_ibus_version 1.5.3 +%global have_default_layout 1 +%global have_bridge_hotkey 1 +%global with_python3 1 + +%if (0%{?fedora} > 33 || 0%{?rhel} >= 8) +%bcond_without kasumi_unicode +%else +%bcond_with kasumi_unicode +%endif + +%global pypi_name pycotap +%if (0%{?fedora} > 33 || 0%{?rhel} >= 8) +%bcond_without pycotap +%else +%bcond_with pycotap +%endif + +%if %with_python3 +# for bytecompile in %%{_datadir}/ibus-anthy +%global __python %{__python3} +%endif + +Name: ibus-anthy +Version: 1.5.13 +Release: 1%{?dist} +Summary: The Anthy engine for IBus input platform +License: GPLv2+ +URL: https://github.com/ibus/ibus/wiki +Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/%{name}-%{version}.tar.gz +%if %{with kasumi_unicode} +Source1: http://jaist.dl.sourceforge.jp/kasumi/41436/kasumi-2.5.tar.gz +Source2: kasumi-853099-manpage.patch +Source3: kasumi-1928410-gtk3.patch +Source4: kasumi-check-anthy-pkg.patch +%endif +%if %{with pycotap} +Source5: pycotap-1.1.0.tar.gz +%endif + +# Upstreamed patches. +# Patch0: %%{name}-HEAD.patch +Patch1: %{name}-1938129-default-hiragana.patch +Patch2: %{name}-xx-revert-ctrl-period.patch + +BuildRequires: anthy-unicode-devel +BuildRequires: desktop-file-utils +BuildRequires: gettext-devel +BuildRequires: git +BuildRequires: glib2-devel +BuildRequires: gobject-introspection-devel +BuildRequires: ibus +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: python3-devel +BuildRequires: python3-gobject +# for kasumi +BuildRequires: gcc-c++ +BuildRequires: gtk3-devel + +Requires: ibus >= %{require_ibus_version} +%if %{with kasumi_unicode} +Requires: ibus-anthy-kasumi-unicode = %{version}-%{release} +%else +Requires: kasumi +%endif +Requires: anthy-unicode +Requires: %{name}-python = %{version}-%{release} + +%description +The Anthy engine for IBus platform. It provides Japanese input method from +a library of the Anthy. + +%package python +Summary: Anthy Python files for IBus +BuildArch: noarch +Requires: %{name} = %{version}-%{release} +Requires: gtk3 +Requires: python3-cairo +Requires: python3-gobject + +%description python +This package contains the Anthy Python files for IBus + +%package devel +Summary: Development tools for IBus +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: glib2-devel +Requires: anthy-unicode-devel + +%description devel +The ibus-anthy-devel package contains .so file and .gir files +for developers. + +%package tests +Summary: Tests for the %{name} package +%if %{without pycotap} +BuildRequires: python3-pycotap +%endif +Requires: %{name}%{?_isa} = %{version}-%{release} +%if %{with pycotap} +Requires: ibus-anthy-python3-pycotap = %{version}-%{release} +%else +Requires: python3-pycotap +%endif + + +%description tests +The %{name}-tests package contains tests that can be used to verify +the functionality of the installed %{name} package. + +%if %{with kasumi_unicode} +%package kasumi-unicode +Summary: An anthy-unicode dictionary management tool + +%description kasumi-unicode +Kasumi-unicode is a dictionary management tool for Anthy-unicode. +%endif + +%if %{with pycotap} +%package python3-%{pypi_name} +Summary: A tiny test runner that outputs TAP results to standard output +%{?python_provide:%python_provide python3-%{pypi_name}} +License: MIT +BuildArch: noarch +BuildRequires: python3-devel +BuildRequires: python3dist(setuptools) + +%description python3-%{pypi_name} +pycotap is a simple Python test runner for unit tests that outputs Test Anything +Protocol results directly to standard output.Contrary to other TAP runners +for Python, pycotap prints TAP (and *only* TAP) to standard output +instead of to a separate file, allowing you to pipe it directly to TAP pretty +printers and processors. +%endif + + +%prep +%autosetup -S git +%if %{with kasumi_unicode} +zcat %SOURCE1 | tar xfv - +cd kasumi-2.5 +patch -p1 -b -z .man < %SOURCE2 +patch -p1 -b -z .gtk3 < %SOURCE3 +patch -p1 -b -z .anthy < %SOURCE4 +sed -i -e '/AM_PATH_GTK_2_0(/i\ +PKG_CHECK_MODULES([GTK], [gtk+-3.0])\ +CFLAGS="$CFLAGS $GTK_CFLAGS"\ +CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"\ +LIBS="$LIBS $GTK_LIBS"' \ + -e '/AM_PATH_GTK_2_0(/d' \ + configure.in +sed -e 's/AC_CHECK_LIB(anthydic,/AC_CHECK_LIB(anthydic-unicode,/' \ + -e 's/AC_CHECK_LIB(anthy,/AC_CHECK_LIB(anthy-unicode,/' \ + -e 's/PKG_CHECK_MODULES(ANTHY, anthy/PKG_CHECK_MODULES(ANTHY, anthy-unicode/' \ + -i.orig configure.in +cd .. +%endif + +%if %{with pycotap} +zcat %SOURCE5 | tar xfv - +cd pycotap-1.1.0 +rm -rf %{pypi_name}.egg-info +cd .. +%endif + +%build +%if %{with kasumi_unicode} +echo "# Building kasumi-unicode" +cd kasumi-2.5 +autoreconf -f -i -v +export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS" +%configure +make %{?_smp_mflags} +cd .. +%endif + +%if %{with pycotap} +echo "# Building python-pycotap" +cd pycotap-1.1.0 +%py3_build +cd .. +%endif + +echo "# Building ibus-anthy" +#autoreconf -f -i -v +autoreconf -f -i -v +%configure \ +%if %have_default_layout + --with-layout='default' \ +%endif +%if %have_bridge_hotkey + --with-hotkeys \ +%endif +%if %{with kasumi_unicode} + --with-kasumi-exec=/usr/bin/kasumi-unicode \ +%endif + --with-on-off-keys="'Zenkaku_Hankaku', 'Ctrl+space', 'Ctrl+J'" \ + --with-python=python3 \ + --enable-installed-tests \ + --disable-static +# make -C po update-gmo +make %{?_smp_mflags} + +%install +%if %{with kasumi_unicode} +cd kasumi-2.5 +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" +mv $RPM_BUILD_ROOT%{_bindir}/kasumi $RPM_BUILD_ROOT%{_bindir}/kasumi-unicode +# remove .desktop file so that kasumi is accessible from scim panel/ibus panel and it's not necessary for other users. +rm -rf $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop +cd .. +%endif +%if %{with pycotap} +cd pycotap-1.1.0 +%py3_install +find %{buildroot}/%{python3_sitelib} -name '*.py' | xargs sed -i '/^#!/d' +cd .. +%endif +make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' +rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la + + +%find_lang %{name} +%if %{with kasumi_unicode} +%find_lang kasumi +%endif + +%check +desktop-file-validate \ + $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop + +%ldconfig_scriptlets libs + + +%files -f %{name}.lang +%doc AUTHORS COPYING README +# dir {python2_sitearch}/ibus +%{_libdir}/libanthygobject-%{sub_version}.so.* +%{_libdir}/girepository-1.0/Anthy*.typelib +%{_datadir}/glib-2.0/schemas/org.freedesktop.ibus.engine.anthy.gschema.xml +%dir %{_datadir}/ibus-anthy +%{_datadir}/applications/ibus-setup-anthy.desktop +%{_datadir}/ibus-anthy/dicts +%{_datadir}/icons/hicolor/scalable/apps/ibus-anthy.svg + +%files python +%{_libexecdir}/ibus-*-anthy +%{_datadir}/metainfo/*.metainfo.xml +%{_datadir}/ibus-anthy/engine +%{_datadir}/ibus-anthy/setup +%{_datadir}/ibus/component/* + +%files devel +%{_datadir}/gir-1.0/Anthy*.gir +%{_includedir}/ibus-anthy-%{sub_version} +%{_libdir}/libanthygobject-%{sub_version}.so + +%files tests +%dir %{_libexecdir}/installed-tests +%{_libexecdir}/installed-tests/%{name} +%dir %{_datadir}/installed-tests +%{_datadir}/installed-tests/%{name} + +%if %{with kasumi_unicode} +%files kasumi-unicode -f kasumi.lang +%{_bindir}/kasumi-unicode +%{_mandir}/man1/kasumi.1* +%{_datadir}/pixmaps/kasumi.png +%doc kasumi-2.5/AUTHORS kasumi-2.5/ChangeLog kasumi-2.5/NEWS kasumi-2.5/README +%license kasumi-2.5/COPYING +%endif + +%if %{with pycotap} +%files python3-%{pypi_name} +%{python3_sitelib}/%{pypi_name} +%{python3_sitelib}/%{pypi_name}-1.1.0-py%{python3_version}.egg-info +%endif + +%changelog +* Fri Aug 20 2021 Takao Fujiwara - 1.5.13-1 +- Bump to 1.5.13 +- Add kasumi-unicode +- Add python3-pycotap + +* Thu Aug 12 2021 Takao Fujiwara - 1.5.12-10 +- Remove Ctrl+period in circle_kana_mode + +* Thu Jul 22 2021 Fedora Release Engineering - 1.5.12-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 17 2021 Takao Fujiwara - 1.5.12-8 +- Delete postscript for ibus write-cache + +* Tue Apr 27 2021 Takao Fujiwara - 1.5.12-7 +- Move .desktop file from ibus-anthy-python to ibus-anthy +- Fix covscan + +* Wed Apr 21 2021 Takao Fujiwara - 1.5.12-6 +- Resolves: #1948197 Move post to posttrans + +* Tue Apr 20 2021 Takao Fujiwara - 1.5.12-5 +- Delete postscripts + +* Sun Mar 21 2021 Takao Fujiwara - 1.5.12-4 +- Output info to stderr instead of StringIO + +* Tue Mar 16 2021 Takao Fujiwara - 1.5.12-2 +- Change default input mode to Hiragana + +* Mon Feb 22 2021 Takao Fujiwara - 1.5.12-1 +- Bump to 1.5.12 + +* Wed Feb 10 2021 Takao Fujiwara - 1.5.11-10 +- Replace kasumi with kausmi-unicode +- Delete to require intltool +- Delete to call gettext.bind_textdomain_codeset() + +* Tue Jan 26 2021 Fedora Release Engineering - 1.5.11-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.5.11-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 09 2020 Takao Fujiwara - 1.5.11-7 +- Use pycotap instead of tappy in CI +- Revise CI from ibus-typing-booster +- Delete _python_bytecompile_extra + +* Wed Jan 29 2020 Fedora Release Engineering - 1.5.11-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Dec 04 2019 Takao Fujiwara - 1.5.11-5 +- Bug 1779129- Fix to install zipcode dict with anthy-unicode + +* Thu Oct 17 2019 Takao Fujiwara - 1.5.11-4 +- Add CI + +* Wed Oct 16 2019 Takao Fujiwara - 1.5.11-3 +- Replace anthy with anthy-unicode +- Install ibus-anthy-tests sub package + +* Thu Jul 25 2019 Fedora Release Engineering - 1.5.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 14 2019 Takao Fujiwara - 1.5.11-1 +- Bump to 1.5.11 + +* Fri Feb 01 2019 Fedora Release Engineering - 1.5.10-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.5.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1.5.10-4 +- Rebuilt for Python 3.7 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-3 +- Reverted scriptlets for f27 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-2 +- Reverted ldconfig for f27 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-1 +- Bumped to 1.5.10 + +* Tue Feb 20 2018 Iryna Shcherbina - 1.5.9-7 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Feb 07 2018 Fedora Release Engineering - 1.5.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 1.5.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.5.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.5.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 1.5.9-2 +- Rebuild for Python 3.6 + +* Thu Oct 20 2016 Takao Fujiwara - 1.5.9-1 +- Bumped to 1.5.9 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.5.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 20 2016 Takao Fujiwara - 1.5.8-1 +- Bumped to 1.5.8 + +* Tue Nov 10 2015 Fedora Release Engineering - 1.5.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Sep 03 2015 Takao Fujiwara - 1.5.7-2 +- Fix URL in anthy.appdata.xml + +* Thu Jul 16 2015 Takao Fujiwara - 1.5.7-1 +- Bumped to 1.5.7 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.5.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Apr 22 2015 Takao Fujiwara - 1.5.6-6 +- Resolved #1214092 Updated ibus-anthy-HEAD.patch +- Added with_appdata macro and removed with_python_pkg macro + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-5 +- Add the AppData file to the right built RPM, in this case we have to install + ibus-anthy-python rather than the main package in gnome-software. +- It turns out adding the AppData file to spec files is a great way to fix these + kinds of bugs. :) + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-4 +- Use an AppStream file compatible with F22 also. + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-3 +- Register as an AppStream component. + +* Thu Nov 13 2014 Takao Fujiwara - 1.5.6-2 +- Updated ibus-anthy-HEAD.patch to fix Enter key on setup dialog. +- Use python2 for epel7. + +* Tue Sep 16 2014 Takao Fujiwara - 1.5.6-1 +- Bumped to 1.5.6 +- Added ibus-anthy-xx-input-mode.patch from ibus-anthy-HEAD.patch. + +* Sat Aug 16 2014 Fedora Release Engineering - 1.5.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Kalev Lember - 1.5.5-8 +- Rebuilt for gobject-introspection 1.41.4 + +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-7 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-6 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + Set max-width-chars in ibus-anthy-setup wrapped GtkLabel. + Set 'IBUS_SETUP_XID' environment variable in setup. + +* Sat Jun 07 2014 Fedora Release Engineering - 1.5.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 19 2014 Takao Fujiwara - 1.5.5-4 +- Updated ibus-anthy-HEAD.patch to fix clear() in input mode. + +* Mon Apr 21 2014 Takao Fujiwara - 1.5.5-3 +- Updated ibus-anthy-HEAD.patch to unref pixbuf on destroy. + +* Thu Feb 27 2014 Takao Fujiwara - 1.5.5-2 +- Updated ibus-anthy-HEAD.patch to enable property icon. + +* Wed Feb 05 2014 Takao Fujiwara - 1.5.5-1 +- Bumped to 1.5.5 +- Enabled python3. + +* Tue Dec 24 2013 Takao Fujiwara - 1.5.4-2 +- Required ibus-anthy by ibus-anthy-python + +* Mon Sep 09 2013 Takao Fujiwara - 1.5.4-1 +- Bumped to 1.5.4 +- Added ibus-anthy-python subpackage for noarch. +- Deleted ibus-anthy-xx-disable-prop-symbol.patch + +* Sat Aug 03 2013 Fedora Release Engineering - 1.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon May 13 2013 Takao Fujiwara - 1.5.3-1 +- Bumped to 1.5.3 + +* Mon May 13 2013 Takao Fujiwara - 1.5.2-1 +- Bumped to 1.5.2 + +* Sat May 11 2013 Takao Fujiwara - 1.5.1-1 +- Bumped to 1.5.1 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 16 2013 Takao Fujiwara - 1.5.0-1 +- Bumped to 1.5.0 + +* Wed Dec 12 2012 Takao Fujiwara - 1.4.99.20121006-3 +- Resolved #884031. Deleted arch depended files. + +* Thu Nov 22 2012 Takao Fujiwara - 1.4.99.20121006-2 +- Updated to save the spec update. + +* Sat Oct 06 2012 Takao Fujiwara - 1.4.99.20121006-1 +- Bumped to 1.4.99.20121006 +- Added ibus-anthy-xx-disable-prop-symbol.patch for Fedora 17 + +* Thu Jul 19 2012 Fedora Release Engineering - 1.4.99.20120327-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Mar 27 2012 Takao Fujiwara - 1.4.99.20120327-1 +- Bumped to 1.4.99.20120327 + +* Sun Mar 04 2012 Takao Fujiwara - 1.3.99.20120304-1 +- Bumped to 1.3.99.20120304 + +* Mon Feb 06 2012 Takao Fujiwara - 1.2.6-5 +- Added ibus-anthy-xx-layout.patch to set 'default' layout in f17. + +* Fri Jan 13 2012 Fedora Release Engineering - 1.2.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Jul 29 2011 Takao Fujiwara - 1.2.6-3 +- Added ibus-anthy-xx-icon-symbol.patch to enable the engine symbol & hotkeys. + +* Mon May 16 2011 Takao Fujiwara - 1.2.6-1 +- Bumped to 1.2.6 + Fixed Bug 661943 - the latest page_size for ibus.LookupTable. + +* Wed Feb 09 2011 Fedora Release Engineering - 1.2.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 01 2010 Takao Fujiwara - 1.2.5-1 +- Updated to 1.2.5 + Fixed Bug 652881 - SEGV when key tables are customized in new gconf. + Fixed Bug 654322 - new custom keys are not loaded. + +* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-1 +- Updated to 1.2.4 +- Resolves #644771 ibus-anthy [F7] key cannot work with SEGV + +* Sat Oct 16 2010 Takao Fujiwara - 1.2.3-1 +- Updated to 1.2.3 +- Updated translations. + +* Fri Oct 15 2010 Takao Fujiwara - 1.2.2.20101015-1 +- Updated to 1.2.2.20101015 +- Fixed Bug 643291 - ibus-anthy commit_first_segment + +* Wed Jul 21 2010 David Malcolm - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Fri Apr 23 2010 Takao Fujiwara - 1.2.1-1 +- Update to 1.2.1 + +* Mon Apr 05 2010 Takao Fujiwara - 1.2.0.20100313-3 +- Update icon + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100313-1 +- Update to 1.2.0.20100313 +- Update fr.po + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312.1-1 +- Update to 1.2.0.20100312.1 +- Minor fix for a translation + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312-1 +- Update to 1.2.0.20100312 +- Fix bug 571728 - ibus-anthy support to switch dicts +- Fix bug 572412 - ibus-anthy: Segment convertion mode + +* Fri Mar 05 2010 Takao Fujiwara - 1.2.0.20100115-2 +- Fix bug 564268 - Crash with enabled global input method +- Fix bug 570680 - Support NICOLA-F and NICOLA-A +- Fix romaji_typing_rule. #777 +- Fix Shift + char with CapsLock ON in romaji mode. +- Fix chattering bug. + +* Fri Jan 15 2010 Takao Fujiwara - 1.2.0.20100115-1 +- Update to 1.2.0.20100115 +- Fix bug 550001 - kasumi should be accessible from ibus-anthy + +* Fri Nov 27 2009 Takao Fujiwara - 1.2.0.20091127-1 +- Update to 1.2.0.20091127 +- Fix bug 520989 - ibus-anthy icon enhancement +- Fix bug 531696 - ibus-anthy KeyError is still reported by abrt +- Fix bug 536716 - ibus-anthy: Symbol type change support in ibus-anthy + +* Fri Oct 23 2009 Takao Fujiwara - 1.2.0.20090917-2 +- Fix bug 526881 - ibus-anthy backtrace is reported by the latest abrt + +* Thu Sep 17 2009 Takao Fujiwara - 1.2.0.20090917-1 +- Update to 1.2.0.20090917 +- Fix bug 523642 - ibus-anthy convert_to_char_type_{for,back}ward() + +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-2 +- Fix a build issue + +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-1 +- Update to 1.2.0.20090907 +- Fix bug 510978 - "Typing Method" configuration doesn't work +- Fix bug 518373 - ibus setup tools need to set gettext textdomain dir. + +* Thu Aug 13 2009 Takao Fujiwara - 1.2.0.20090813-1 +- Update to 1.2.0.20090813 +- Fix bug 509483 - reconversion feature doesn't work +- Fix bug 509485 - commit_first_segment feature doesn't work + +* Tue Aug 04 2009 Peng Huang - 1.2.0.20090804-1 +- Update to 1.2.0.20090804 +- Fix bug 508358 - ANTHY_HISTORY_FILE record only a single word + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.0.20090617-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jun 22 2009 Peng Huang - 1.2.0.20090617-1 +- Update to 1.2.0.20090617 + +* Wed Jun 17 2009 Jens Petersen - 1.1.0.20090603-2 +- require kasumi to pull in dictionary tool + +* Wed Jun 03 2009 Peng Huang - 1.1.0.20090603-1 +- Update to 1.1.0.20090603 +- Implement setup ui. + +* Thu Apr 30 2009 Peng Huang - 1.1.0.20090402-2 +- Update to upstream HEAD version +- Fix bug 498250 - Cannot type zenkaku-space + +* Thu Apr 02 2009 Peng Huang - 1.1.0.20090402-1 +- Update to 1.1.0.20090402. +- Fix bug 490747 - Muhenkan (no-conversion) key does not undo conversion +- Fix bug 490750 - Henkan key for candidate conversion doesn't do anything +- Fix bug 490748 - Kana key doesn't do anything + +* Tue Feb 24 2009 Fedora Release Engineering - 1.1.0.20090211-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 11 2009 Peng Huang - 1.1.0.20090211-1 +- Update to 1.1.0.20090211. + +* Thu Feb 05 2009 Peng Huang - 1.1.0.20090205-1 +- Update to 1.1.0.20090205. + +* Tue Feb 03 2009 Peng Huang - 0.1.1.20090203-1 +- Update to 0.1.1.20090203. + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20080912-2 +- Rebuild for Python 2.6 + +* Fri Sep 12 2008 Peng Huang - 0.1.1.20080912-1 +- Update to 0.1.1.20080912. + +* Mon Sep 01 2008 Peng Huang - 0.1.1.20080901-1 +- Update to 0.1.1.20080901. + +* Thu Aug 28 2008 Peng Huang - 0.1.1.20080828-1 +- Update to 0.1.1.20080828. + +* Wed Aug 27 2008 Peng Huang - 0.1.1.20080827-1 +- Update to 0.1.1.20080827. + +* Tue Aug 26 2008 Peng Huang - 0.1.1.20080826-1 +- Update to 0.1.1.20080826. + +* Sat Aug 23 2008 Peng Huang - 0.1.1.20080823-1 +- Update to 0.1.1.20080823. + +* Fri Aug 15 2008 Peng Huang - 0.1.1.20080815-1 +- Update to 0.1.1.20080815. + +* Tue Aug 12 2008 Peng Huang - 0.1.1.20080812-1 +- Update to 0.1.1.20080812. + +* Fri Aug 08 2008 Peng Huang - 0.1.0.20080810-1 +- The first version. diff --git a/kasumi-1928410-gtk3.patch b/kasumi-1928410-gtk3.patch new file mode 100644 index 0000000..ad31368 --- /dev/null +++ b/kasumi-1928410-gtk3.patch @@ -0,0 +1,369 @@ +From 9de5eb6d221bf3438c75a756c9acffa01e2c51fb Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 16 Feb 2021 07:45:51 +0900 +Subject: [PATCH] Migrate kasumi GUI to GTK3 + +--- + KasumiAddWindow.cxx | 41 ++++++++++------------ + KasumiAddWindow.hxx | 1 - + KasumiMainWindow.cxx | 82 ++++++++++++++++++++++---------------------- + cellrendererspin.c | 16 +++++---- + cellrendererspin.h | 2 +- + main.cxx | 15 ++++---- + 6 files changed, 79 insertions(+), 78 deletions(-) + +diff --git a/KasumiAddWindow.cxx b/KasumiAddWindow.cxx +index 9b42c12..49c6a05 100644 +--- a/KasumiAddWindow.cxx ++++ b/KasumiAddWindow.cxx +@@ -59,9 +59,6 @@ KasumiAddWindow::KasumiAddWindow(KasumiDic *aDictionary, + g_signal_connect(G_OBJECT(window), "delete_event", + G_CALLBACK(_call_back_add_window_delete_event), this); + +- // tooltips for every widget +- Tooltips = gtk_tooltips_new(); +- + // creating vbox for text entries, spin button and so on. + GtkWidget *vbox = gtk_vbox_new(FALSE,0); + gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); +@@ -111,12 +108,12 @@ KasumiAddWindow::KasumiAddWindow(KasumiDic *aDictionary, + const int FREQ_DEFAULT = conf->getPropertyValueByInt("DefaultFrequency"); + const int FREQ_LBOUND = conf->getPropertyValueByInt("MinFrequency"); + const int FREQ_UBOUND = conf->getPropertyValueByInt("MaxFrequency"); +- GtkObject *adjustment = gtk_adjustment_new(FREQ_DEFAULT, +- FREQ_LBOUND, +- FREQ_UBOUND, +- 1, +- FREQ_UBOUND / 100 +- ,0); ++ GtkAdjustment *adjustment = GTK_ADJUSTMENT (gtk_adjustment_new(FREQ_DEFAULT, ++ FREQ_LBOUND, ++ FREQ_UBOUND, ++ 1, ++ FREQ_UBOUND / 100 ++ ,0)); + FrequencySpin = gtk_spin_button_new(GTK_ADJUSTMENT(adjustment),1.0,0); + alignment = gtk_alignment_new(0, 0.5, 1.0, 1.0); + gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 6, 6, 6); +@@ -205,16 +202,14 @@ KasumiAddWindow::KasumiAddWindow(KasumiDic *aDictionary, + gtk_box_pack_start(GTK_BOX(hbutton_box),GTK_WIDGET(button),TRUE,TRUE,0); + g_signal_connect(G_OBJECT(button),"clicked", + G_CALLBACK(_call_back_add_window_add),this); +- gtk_tooltips_set_tip(Tooltips, button, +- _("Add entered word and quit registration."), ++ gtk_widget_set_tooltip_text(button, + _("If all the necessary items are filled in, add entered word and quit registration.")); + + button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); + gtk_box_pack_start(GTK_BOX(hbutton_box),GTK_WIDGET(button),TRUE,TRUE,0); + g_signal_connect(G_OBJECT(button),"clicked", + G_CALLBACK(_call_back_add_window_quit),this); +- gtk_tooltips_set_tip(Tooltips, button, +- _("Cancel registration and quit."), ++ gtk_widget_set_tooltip_text(button, + _("Cancel registration and quit.")); + + gtk_window_set_keep_above(GTK_WINDOW(window), TRUE); +@@ -227,24 +222,21 @@ KasumiAddWindow::KasumiAddWindow(KasumiDic *aDictionary, + gtk_box_pack_start(GTK_BOX(hbutton_box),GTK_WIDGET(button),TRUE,TRUE,0); + g_signal_connect(G_OBJECT(button),"clicked", + G_CALLBACK(_call_back_add_window_add),this); +- gtk_tooltips_set_tip(Tooltips, button, +- _("Add entered word"), ++ gtk_widget_set_tooltip_text(button, + _("If all the necessary items are filled in, add entered word.")); + + button = gtk_button_new_from_stock(GTK_STOCK_EDIT); + gtk_box_pack_start(GTK_BOX(hbutton_box),GTK_WIDGET(button),TRUE,TRUE,0); + g_signal_connect(G_OBJECT(button),"clicked", + G_CALLBACK(_call_back_manage_mode),this); +- gtk_tooltips_set_tip(Tooltips, button, +- _("Manage mode"), ++ gtk_widget_set_tooltip_text(button, + _("Make the shift to manage mode to modify and remove registered words.")); + + button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); + gtk_box_pack_start(GTK_BOX(hbutton_box),GTK_WIDGET(button),TRUE,TRUE,0); + g_signal_connect(G_OBJECT(button),"clicked", + G_CALLBACK(_call_back_add_window_quit),this); +- gtk_tooltips_set_tip(Tooltips, button, +- _("Quit this application"), ++ gtk_widget_set_tooltip_text(button, + _("Save dictionary and quit this application.")); + + // get selection at the time of launching +@@ -443,16 +435,19 @@ void _call_back_manage_mode(GtkWidget *widget, + void _call_back_selection_data_received(GtkWidget *widget, + GtkSelectionData *selection_data, + gpointer data){ +- if(selection_data->length < 0){ ++ int emit_length = gtk_selection_data_get_length(selection_data); ++ GdkAtom emit_type = gtk_selection_data_get_data_type(selection_data); ++ const guchar *emit_data = gtk_selection_data_get_data(selection_data); ++ if(emit_length < 0){ + // failed retrieving selection + // do nothing + return; + } + +- string atom_name = string(gdk_atom_name(selection_data->type)); ++ string atom_name = string(gdk_atom_name(emit_type)); + +- gchar *str; +- str = reinterpret_cast(selection_data->data); ++ const gchar *str; ++ str = reinterpret_cast(emit_data); + + if(atom_name == "UTF8_STRING"){ + gtk_entry_set_text(GTK_ENTRY(widget), str); +diff --git a/KasumiAddWindow.hxx b/KasumiAddWindow.hxx +index 5101314..352326a 100644 +--- a/KasumiAddWindow.hxx ++++ b/KasumiAddWindow.hxx +@@ -77,7 +77,6 @@ private: + GtkWidget *FrequencySpin; + GtkWidget *WordTypeCategoryCombo; + GtkWidget *WordTypeCombo; +- GtkTooltips *Tooltips; + + GtkTreeIter defaultWordTypeCategoryIter; + +diff --git a/KasumiMainWindow.cxx b/KasumiMainWindow.cxx +index 4e86c7a..e8a8d56 100644 +--- a/KasumiMainWindow.cxx ++++ b/KasumiMainWindow.cxx +@@ -150,22 +150,22 @@ void KasumiMainWindow::createWindow() + mSaveButton = gtk_button_new_from_stock ("gtk-save"); + gtk_widget_show (mSaveButton); + gtk_box_pack_start (GTK_BOX (hbuttonbox1), mSaveButton, FALSE, TRUE, 0); +- GTK_WIDGET_SET_FLAGS (mSaveButton, GTK_CAN_DEFAULT); ++ gtk_widget_set_can_default (mSaveButton, TRUE); + + mAddButton = gtk_button_new_from_stock ("gtk-add"); + gtk_widget_show (mAddButton); + gtk_box_pack_start (GTK_BOX (hbuttonbox1), mAddButton, FALSE, TRUE, 0); +- GTK_WIDGET_SET_FLAGS (mAddButton, GTK_CAN_DEFAULT); ++ gtk_widget_set_can_default (mAddButton, TRUE); + + mRemoveButton = gtk_button_new_from_stock ("gtk-delete"); + gtk_widget_show (mRemoveButton); + gtk_box_pack_start (GTK_BOX (hbuttonbox1), mRemoveButton, FALSE, TRUE, 0); +- GTK_WIDGET_SET_FLAGS (mRemoveButton, GTK_CAN_DEFAULT); ++ gtk_widget_set_can_default (mRemoveButton, TRUE); + + mQuitButton = gtk_button_new_from_stock ("gtk-close"); + gtk_widget_show (mQuitButton); + gtk_box_pack_end (GTK_BOX (hbuttonbox1), mQuitButton, FALSE, TRUE, 0); +- GTK_WIDGET_SET_FLAGS (mQuitButton, GTK_CAN_DEFAULT); ++ gtk_widget_set_can_default (mQuitButton, TRUE); + } + + void KasumiMainWindow::createWordList() +@@ -474,7 +474,7 @@ void KasumiMainWindow::editedTextColumn(GtkCellRendererText *renderer, + + // set cursor right or left + GtkTreeViewColumn *postCol = NULL; +- if(lastKeyVal == GDK_Tab) ++ if(lastKeyVal == GDK_KEY_Tab) + { + if(lastKeyState & GDK_CONTROL_MASK) + { // set cursor left +@@ -887,42 +887,42 @@ guint getAccelKey(const string &key){ + + string shortkey = key.substr(i+1); + +- if(shortkey == "A") return GDK_A; +- else if(shortkey == "B") return GDK_B; +- else if(shortkey == "C") return GDK_C; +- else if(shortkey == "D") return GDK_D; +- else if(shortkey == "E") return GDK_E; +- else if(shortkey == "F") return GDK_F; +- else if(shortkey == "G") return GDK_G; +- else if(shortkey == "H") return GDK_H; +- else if(shortkey == "I") return GDK_I; +- else if(shortkey == "J") return GDK_J; +- else if(shortkey == "K") return GDK_K; +- else if(shortkey == "L") return GDK_L; +- else if(shortkey == "M") return GDK_M; +- else if(shortkey == "N") return GDK_N; +- else if(shortkey == "O") return GDK_O; +- else if(shortkey == "P") return GDK_P; +- else if(shortkey == "Q") return GDK_Q; +- else if(shortkey == "R") return GDK_R; +- else if(shortkey == "S") return GDK_S; +- else if(shortkey == "T") return GDK_T; +- else if(shortkey == "U") return GDK_U; +- else if(shortkey == "V") return GDK_V; +- else if(shortkey == "W") return GDK_W; +- else if(shortkey == "X") return GDK_X; +- else if(shortkey == "Y") return GDK_Y; +- else if(shortkey == "Z") return GDK_Z; +- else if(shortkey == "0") return GDK_0; +- else if(shortkey == "1") return GDK_1; +- else if(shortkey == "2") return GDK_2; +- else if(shortkey == "3") return GDK_3; +- else if(shortkey == "4") return GDK_4; +- else if(shortkey == "5") return GDK_5; +- else if(shortkey == "6") return GDK_5; +- else if(shortkey == "7") return GDK_7; +- else if(shortkey == "8") return GDK_8; +- else if(shortkey == "9") return GDK_9; ++ if(shortkey == "A") return GDK_KEY_A; ++ else if(shortkey == "B") return GDK_KEY_B; ++ else if(shortkey == "C") return GDK_KEY_C; ++ else if(shortkey == "D") return GDK_KEY_D; ++ else if(shortkey == "E") return GDK_KEY_E; ++ else if(shortkey == "F") return GDK_KEY_F; ++ else if(shortkey == "G") return GDK_KEY_G; ++ else if(shortkey == "H") return GDK_KEY_H; ++ else if(shortkey == "I") return GDK_KEY_I; ++ else if(shortkey == "J") return GDK_KEY_J; ++ else if(shortkey == "K") return GDK_KEY_K; ++ else if(shortkey == "L") return GDK_KEY_L; ++ else if(shortkey == "M") return GDK_KEY_M; ++ else if(shortkey == "N") return GDK_KEY_N; ++ else if(shortkey == "O") return GDK_KEY_O; ++ else if(shortkey == "P") return GDK_KEY_P; ++ else if(shortkey == "Q") return GDK_KEY_Q; ++ else if(shortkey == "R") return GDK_KEY_R; ++ else if(shortkey == "S") return GDK_KEY_S; ++ else if(shortkey == "T") return GDK_KEY_T; ++ else if(shortkey == "U") return GDK_KEY_U; ++ else if(shortkey == "V") return GDK_KEY_V; ++ else if(shortkey == "W") return GDK_KEY_W; ++ else if(shortkey == "X") return GDK_KEY_X; ++ else if(shortkey == "Y") return GDK_KEY_Y; ++ else if(shortkey == "Z") return GDK_KEY_Z; ++ else if(shortkey == "0") return GDK_KEY_0; ++ else if(shortkey == "1") return GDK_KEY_1; ++ else if(shortkey == "2") return GDK_KEY_2; ++ else if(shortkey == "3") return GDK_KEY_3; ++ else if(shortkey == "4") return GDK_KEY_4; ++ else if(shortkey == "5") return GDK_KEY_5; ++ else if(shortkey == "6") return GDK_KEY_5; ++ else if(shortkey == "7") return GDK_KEY_7; ++ else if(shortkey == "8") return GDK_KEY_8; ++ else if(shortkey == "9") return GDK_KEY_9; + + cerr << "Invalid shortcut key option: " << key << endl; + exit(1); +diff --git a/cellrendererspin.c b/cellrendererspin.c +index 885d462..85d3bda 100644 +--- a/cellrendererspin.c ++++ b/cellrendererspin.c +@@ -52,8 +52,6 @@ + */ + + #include "cellrendererspin.h" +-#include +-#include + #include + + #define GUI_CELL_RENDERER_SPIN_PATH "gui-cell-renderer-spin-path" +@@ -239,6 +237,7 @@ gui_cell_renderer_spin_editing_done (GtkCellEditable *spinbutton, + const gchar *path; + const gchar *new_text; + GCRSpinInfo *info; ++ gboolean canceled = FALSE; + + info = g_object_get_data (G_OBJECT (data), GUI_CELL_RENDERER_SPIN_INFO); + +@@ -248,7 +247,8 @@ gui_cell_renderer_spin_editing_done (GtkCellEditable *spinbutton, + info->focus_out_id = 0; + } + +- if (GTK_ENTRY(spinbutton)->editing_canceled) ++ g_object_get (spinbutton, "editing-canceled", &canceled, NULL); ++ if (canceled) + return; + + path = g_object_get_data (G_OBJECT (spinbutton), GUI_CELL_RENDERER_SPIN_PATH); +@@ -317,19 +317,23 @@ gui_cell_renderer_spin_start_editing (GtkCellRenderer *cell, + GtkWidget *spinbutton; + GCRSpinInfo *info; + gdouble curval = 0.0; ++ gboolean editable = FALSE; ++ gchar* str = NULL; + + celltext = GTK_CELL_RENDERER_TEXT(cell); + spincell = GUI_CELL_RENDERER_SPIN(cell); + + /* If the cell isn't editable we return NULL. */ +- if (celltext->editable == FALSE) ++ editable = GPOINTER_TO_INT(g_object_get_data (G_OBJECT (celltext), "editable")); ++ if (editable == FALSE) + return NULL; + + spinbutton = g_object_new (GTK_TYPE_SPIN_BUTTON, "has_frame", FALSE, "numeric", TRUE, NULL); + + /* dirty */ +- if (celltext->text) +- curval = atof(celltext->text); ++ str = (gchar *)g_object_get_data (G_OBJECT (celltext), "text"); ++ if (str) ++ curval = atof(str); + + adj = GTK_ADJUSTMENT(gtk_adjustment_new(curval, + spincell->lower, +diff --git a/cellrendererspin.h b/cellrendererspin.h +index c6b33d2..36a2740 100644 +--- a/cellrendererspin.h ++++ b/cellrendererspin.h +@@ -27,7 +27,7 @@ + #ifndef _cellrendererspin_h_included_ + #define _cellrendererspin_h_included_ + +-#include ++#include + + G_BEGIN_DECLS + +diff --git a/main.cxx b/main.cxx +index c5c459e..8ed5edf 100644 +--- a/main.cxx ++++ b/main.cxx +@@ -101,14 +101,15 @@ static void cb_selection_get(GtkWidget *widget, + { + gchar *text = NULL; + gint length = 0; ++ GdkAtom emit_selection = gtk_selection_data_get_selection(data); + +- if (data->selection == atom0) { ++ if (emit_selection == atom0) { + text = "Kasumi Selection"; + length = strlen(text); + gtk_selection_convert(window, atom1, + GDK_SELECTION_TYPE_STRING, + GDK_CURRENT_TIME); +- } else if (data->selection == atom1 && arg_text != NULL) { ++ } else if (emit_selection == atom1 && arg_text != NULL) { + text = arg_text; + arg_text = NULL; + length = strlen(text); +@@ -116,7 +117,7 @@ static void cb_selection_get(GtkWidget *widget, + + if (text != NULL) { + gtk_selection_data_set_text(data, text, length); +- if (data->selection == atom1) ++ if (emit_selection == atom1) + g_free(text); + } + } +@@ -126,9 +127,11 @@ static void cb_selection_received(GtkWidget *widget, + guint time, + gpointer user_data) + { +- if (data->selection == atom0) { +- instance = MAX(data->length, 0); +- } else if (data->selection == atom1 && data->length > 0) { ++ GdkAtom emit_selection = gtk_selection_data_get_selection(data); ++ int emit_length = gtk_selection_data_get_length(data); ++ if (emit_selection == atom0) { ++ instance = MAX(emit_length, 0); ++ } else if (emit_selection == atom1 && emit_length > 0) { + } + } + +-- +2.28.0 + diff --git a/kasumi-853099-manpage.patch b/kasumi-853099-manpage.patch new file mode 100644 index 0000000..1ce24f9 --- /dev/null +++ b/kasumi-853099-manpage.patch @@ -0,0 +1,25 @@ +diff -pruN kasumi-2.5.orig/kasumi.1 kasumi-2.5/kasumi.1 +--- kasumi-2.5.orig/kasumi.1 2009-06-25 17:46:31.000000000 +0900 ++++ kasumi-2.5/kasumi.1 2012-08-31 11:14:19.000000000 +0900 +@@ -52,6 +52,10 @@ Run Kasumi in Manage mode\&. You may abb + Run Kasumi in Add mode\&. + + .TP ++\fB\-e\fR \fB\-\-exclusive\fR ++Run Kasumi in Exclusive mode\&. ++ ++.TP + \fB\-\-sound val\fR + Set default sound entry (only in Add mode) + +@@ -71,6 +75,10 @@ Import selected text as a spelling + \fB\-I\fR \fB\-\-ignore\fR + Ignore selected text + ++.TP ++\fB\-E\fR \fB\-\-eucjp\fR ++Use EUC-JP encoding for dictionary ++ + .SH "AUTHOR" + + .PP diff --git a/kasumi-check-anthy-pkg.patch b/kasumi-check-anthy-pkg.patch new file mode 100644 index 0000000..0a38db0 --- /dev/null +++ b/kasumi-check-anthy-pkg.patch @@ -0,0 +1,16 @@ +diff -pruN kasumi-2.5.orig/configure.in kasumi-2.5/configure.in +--- kasumi-2.5.orig/configure.in 2009-07-13 12:41:26.000000000 +0900 ++++ kasumi-2.5/configure.in 2021-03-31 16:59:21.255070350 +0900 +@@ -32,8 +32,10 @@ AC_CHECK_LIB(iconv, iconv) + AC_CHECK_LIB(anthydic, anthy_dic_util_init) + AC_CHECK_LIB(anthy, anthy_get_version_string) + +-CFLAGS="$CFLAGS -Wall" +-CXXFLAGS="$CXXFLAGS -Wall" ++PKG_CHECK_MODULES(ANTHY, anthy) ++ ++CFLAGS="$CFLAGS -Wall $ANTHY_CFLAGS" ++CXXFLAGS="$CXXFLAGS -Wall $ANTHY_CFLAGS" + + dnl Checks for header files. + diff --git a/sources b/sources index e69de29..12e56d1 100644 --- a/sources +++ b/sources @@ -0,0 +1,3 @@ +SHA512 (ibus-anthy-1.5.13.tar.gz) = 02d63f578d0d5c099bc63dfa050b9091809b8af53a4b4372f1896f647b54f735b56ebead51b34fb9302c94afecaf439473b1df311fca640105e71ac9b80f94dd +SHA512 (kasumi-2.5.tar.gz) = 066dda59d84b456c514a896b376bfc6df8ac64404f06fbfa8c369381acb6d260b1f22874885be2eab844f8f3776b944a5c700a966464ebef74d82c28bc97f970 +SHA512 (pycotap-1.1.0.tar.gz) = dbe8d76c3e4b934dd4ff9ec0d48caafef3ae5583046a7316607b3c8cebf8cb920c68dc46487243aac81823994805c76f2be8ff0cbda593c70b70f268661fa289 From 094aa3155ae345bcf5f19f93a95805b62f2982e8 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 30 Aug 2021 20:59:09 +0900 Subject: [PATCH 144/202] Add CI --- .../defaults/main.yml | 3 + .../ibus-desktop-testing-role/meta/main.yml | 4 + .../ibus-desktop-testing-role/tasks/main.yml | 118 ++++++++++++++++++ tests/tests.yml | 8 ++ 4 files changed, 133 insertions(+) create mode 100644 tests/roles/ibus-desktop-testing-role/defaults/main.yml create mode 100644 tests/roles/ibus-desktop-testing-role/meta/main.yml create mode 100644 tests/roles/ibus-desktop-testing-role/tasks/main.yml create mode 100644 tests/tests.yml diff --git a/tests/roles/ibus-desktop-testing-role/defaults/main.yml b/tests/roles/ibus-desktop-testing-role/defaults/main.yml new file mode 100644 index 0000000..8ff7991 --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/defaults/main.yml @@ -0,0 +1,3 @@ +role_pkgs_req: + - rsync + - xorg-x11-server-Xvfb diff --git a/tests/roles/ibus-desktop-testing-role/meta/main.yml b/tests/roles/ibus-desktop-testing-role/meta/main.yml new file mode 100644 index 0000000..6626402 --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/meta/main.yml @@ -0,0 +1,4 @@ +--- + +dependencies: + - role: str-common-init diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml new file mode 100644 index 0000000..44c70e2 --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -0,0 +1,118 @@ +--- +- name: Check if GNOME installed-tests testing harness is installed + register: gnome_desktop_testing_runner + find: + paths: "{{ ansible_env.PATH.split(':') }}" + pattern: gnome-desktop-testing-runner + +- name: Build and install GNOME installed-tests testing harness + when: gnome_desktop_testing_runner.matched == 0 + block: + - name: Installing build dependencies for IBus and GNOME installed-tests testing harness + package: + name: + - git + - make + - gcc + - diffutils + - autoconf + - automake + - libtool + - glib2-devel + - systemd-devel + - gnome-session + - gnome-shell + - dbus-x11 + - xorg-x11-server-Xvfb + - ibus + - ibus-desktop-testing + - ibus-anthy-tests + # ibus-compose test needs locales + - glibc-langpack-el + - glibc-langpack-fi + - glibc-langpack-pt + + - name: Fetching GNOME installed-tests testing harness source from remote repository + git: + repo: 'https://gitlab.gnome.org/GNOME/gnome-desktop-testing.git' + dest: gnome-desktop-testing + force: yes + + - name: Configure GNOME installed-tests testing harness build + command: ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var + args: + chdir: gnome-desktop-testing + + - name: Build GNOME installed-tests testing harness + command: make + args: + chdir: gnome-desktop-testing + + - name: Install GNOME installed-tests testing harness + command: make install + args: + chdir: gnome-desktop-testing + +- name: Start IBus installed-tests testing harness + environment: + ANSIBLE: 1 + TMPDIR: '{{ remote_artifacts }}' + G_MESSAGES_DEBUG: 'all' + block: + - name: Execute IBus tests + shell: | + set -e + status="FAIL: frame" + if [ -f $HOME/.config/anthy/last-record2_default.utf8 ] ; then \ + rm $HOME/.config/anthy/last-record2_default.utf8 + fi + if [ -f $HOME/.anthy/last-record2_default.utf8 ] ; then \ + rm $HOME/.anthy/last-record2_default.utf8 + fi + ibus-desktop-testing-runner \ + --no-graphics \ + --runner=gnome \ + --timeout=1200 \ + --tests='{{ installed_test_name }}' \ + --output='{{ remote_artifacts }}/{{ installed_test_name }}.log' \ + --result='{{ remote_artifacts }}/test.log' \ + null + if [ $? -eq 0 ]; then + status="PASS: frame" + fi + echo "${status}" >> {{ remote_artifacts }}/test.log + echo "#### {{ remote_artifacts }}/{{ installed_test_name }}.log" + if [ -f {{ remote_artifacts }}/{{ installed_test_name }}.log ] ; then + cat {{ remote_artifacts }}/{{ installed_test_name }}.log + fi + echo "#" + echo "#### {{ remote_artifacts }}/test.log" + if [ -f {{ remote_artifacts }}/test.log ] ; then + cat {{ remote_artifacts }}/test.log + fi + echo "#" + + - name: Check the results + #shell: grep "^FAIL" {{ remote_artifacts }}/test.log + shell: | + log="{{ remote_artifacts }}/test.log" + if [ ! -f $log ] ; then + echo ERROR + else + FAIL=`grep "^FAIL: " {{ remote_artifacts }}/test.log | grep -v 'FAIL: 0$'` + if [ x"$FAIL" != x ] ; then + echo ERROR + fi + fi + register: test_fails + failed_when: False + + - name: Set role result + set_fact: + role_result: "{{ test_fails.stdout }}" + role_result_failed: "{{ (test_fails.stdout|d|length > 0) or (test_fails.stderr|d|length > 0) }}" + role_result_msg: "{{ test_fails.stdout|d('tests failed.') }}" + + - include_role: + name: str-common-final + diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..b175564 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,8 @@ +- hosts: localhost + roles: + - role: ibus-desktop-testing-role + installed_test_name: ibus-anthy + tags: + - classic + - gating + From 14af61653eb38105e20986e13612418bae98f294 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 22 Oct 2021 09:25:22 +0900 Subject: [PATCH 145/202] Update era.t with 2021 Check python3-pycotap.rpm in Fedora instead of pip --- ibus-anthy-HEAD.patch | 151 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 7 +- 2 files changed, 157 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e69de29..0f8ab60 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1,151 @@ +From 50706f8e5fcf88f1a607ea1f977c4a8f2ebbf623 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 22 Oct 2021 00:22:09 +0900 +Subject: [PATCH] data: Update era.t with 2021 + +--- + data/Makefile.am | 9 +++++++++ + data/era.t | 15 ++++++++++++++- + 2 files changed, 23 insertions(+), 1 deletion(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index 5e45c39..d76f17a 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -79,6 +79,15 @@ zipcode.t: $(ANTHY_ZIPCODE_FILE) + CLEANFILES += zipcode.t + endif + ++check: ++ S_YEAR=`date '+%Y'`; \ ++ M_YEAR=`echo $$S_YEAR | sed 'y/0123456789/0123456789/'`; \ ++ grep -q $$M_YEAR $(srcdir)/era.t; \ ++ if test $$? -ne 0 ; then \ ++ echo "This year $$M_YEAR is not included in era.y"; \ ++ exit 1; \ ++ fi; ++ + install-data-hook: + if test -z "$(DESTDIR)"; then \ + glib-compile-schemas $(schemasdir); \ +diff --git a/data/era.t b/data/era.t +index 8d8cd32..a6d297e 100644 +--- a/data/era.t ++++ b/data/era.t +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2013 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2010-2013 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -226,6 +226,10 @@ + へいせい29 #T35*500 2017 + へいせい3 #T35*500 平成3 + へいせい3 #T35*500 1991 ++へいせい30 #T35*500 平成30 ++へいせい30 #T35*500 2018 ++へいせい31 #T35*500 平成31 ++へいせい31 #T35*500 2019 + へいせい4 #T35*500 平成4 + へいせい4 #T35*500 1992 + へいせい5 #T35*500 平成5 +@@ -328,6 +332,12 @@ + めいじ8 #T35*500 1875 + めいじ9 #T35*500 明治9 + めいじ9 #T35*500 1876 ++れいわ1 #T35*500 令和1 ++れいわ1 #T35*500 2019 ++れいわ2 #T35*500 令和2 ++れいわ2 #T35*500 2020 ++れいわ3 #T35*500 令和3 ++れいわ3 #T35*500 2021 + 1868 #T35*500 明治1 + 1869 #T35*500 明治2 + 1870 #T35*500 明治3 +@@ -482,4 +492,7 @@ + 2016 #T35*500 平成28 + 2017 #T35*500 平成29 + 2018 #T35*500 平成30 ++2019 #T35*500 令和1 + 2019 #T35*500 平成31 ++2020 #T35*500 令和2 ++2021 #T35*500 令和3 +-- +2.28.0 + +From 28aa550f728b3848b06a67579aca5f563e64d447 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 22 Oct 2021 00:22:41 +0900 +Subject: [PATCH] tests: Check python3-pycotap.rpm in Fedora instead of pip + +--- + tests/Makefile.am | 7 +------ + tests/test-build.sh | 17 ++++++++++++++++- + 2 files changed, 17 insertions(+), 7 deletions(-) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index d891ff2..a7a7108 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2017-2019 Takao Fujiwara ++# Copyright (c) 2017-2021 Takao Fujiwara + # Copyright (c) 2017-2019 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -23,11 +23,6 @@ + CLEANFILES = + + check: +- @TAP_DIR=`python -m site --user-site`/tap; \ +- if test x"$$TAP_DIR" != x -a ! -d "$$TAP_DIR" ; then \ +- echo "pip install tap.py --user"; \ +- pip install tap.py --user; \ +- fi; \ + bash -x $(srcdir)/test-build.sh --builddir=$(builddir) --srcdir=$(srcdir) + + if ENABLE_INSTALLED_TESTS +diff --git a/tests/test-build.sh b/tests/test-build.sh +index 4c85af7..e83b78f 100755 +--- a/tests/test-build.sh ++++ b/tests/test-build.sh +@@ -3,7 +3,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2018 Takao Fujiwara ++# Copyright (c) 2018-2021 Takao Fujiwara + # Copyright (c) 2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -68,6 +68,21 @@ init_environment() + if test x$FORCE_TEST != x ; then + RUN_ARGS="$RUN_ARGS --force"; + fi; ++ HAS_TAP=0; ++ if test -f /etc/redhat-release ; then ++ rpm -q --quiet python3-pycotap ++ if test $? -ne 0 ; then ++ echo "Not found python3-pycotap"; ++ exit -1; ++ fi; ++ HAS_TAP=1; ++ fi; ++ TAP_DIR=`python -m site --user-site`/pycotap; ++ if test $HAS_TAP -ne 1 && \ ++ test x"$TAP_DIR" != x && test ! -d "$TAP_DIR" ; then ++ echo "pip install pycotap --user"; ++ pip install pycotap --user; ++ fi; + if test ! -f $BUILDDIR/../data/$ANTHY_SCHEMA_FILE ; then + echo "Not found $BUILDDIR/../data/$ANTHY_SCHEMA_FILE"; + exit -1; +-- +2.28.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 83187be..6cad4f4 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.13 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -26,6 +26,7 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -152,6 +153,10 @@ desktop-file-validate \ %{_datadir}/installed-tests/%{name} %changelog +* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-2 +- Update era.t with 2021 +- Check python3-pycotap.rpm in Fedora instead of pip + * Fri Aug 20 2021 Takao Fujiwara - 1.5.13-1 - Bump to 1.5.13 From 56ea4a570fd065057dc0998f43ce7f13e99b375a Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 22 Oct 2021 09:34:50 +0900 Subject: [PATCH 146/202] Add make check --- ibus-anthy.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 6cad4f4..fcfa50a 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -119,6 +119,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la %check desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop +make -C data check %ldconfig_scriptlets libs From c27a40296b557fd84263854f67acdc4d5d800ec9 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 22 Oct 2021 12:11:19 +0900 Subject: [PATCH 147/202] export C.UTF-8 for make check --- ibus-anthy.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index fcfa50a..3179eb2 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.13 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -119,6 +119,8 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la %check desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop +export LANG=C.UTF-8 +locale make -C data check %ldconfig_scriptlets libs @@ -154,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-3 +- export C.UTF-8 for make check + * Fri Oct 22 2021 Takao Fujiwara - 1.5.13-2 - Update era.t with 2021 - Check python3-pycotap.rpm in Fedora instead of pip From a1a2b97f643e9e431ea58bee1e0eabe1fd77b20e Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 22 Oct 2021 09:25:22 +0900 Subject: [PATCH 148/202] Update era.t with 2021 Check python3-pycotap.rpm in Fedora instead of pip --- ibus-anthy-HEAD.patch | 151 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 7 +- 2 files changed, 157 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e69de29..0f8ab60 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1,151 @@ +From 50706f8e5fcf88f1a607ea1f977c4a8f2ebbf623 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 22 Oct 2021 00:22:09 +0900 +Subject: [PATCH] data: Update era.t with 2021 + +--- + data/Makefile.am | 9 +++++++++ + data/era.t | 15 ++++++++++++++- + 2 files changed, 23 insertions(+), 1 deletion(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index 5e45c39..d76f17a 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -79,6 +79,15 @@ zipcode.t: $(ANTHY_ZIPCODE_FILE) + CLEANFILES += zipcode.t + endif + ++check: ++ S_YEAR=`date '+%Y'`; \ ++ M_YEAR=`echo $$S_YEAR | sed 'y/0123456789/0123456789/'`; \ ++ grep -q $$M_YEAR $(srcdir)/era.t; \ ++ if test $$? -ne 0 ; then \ ++ echo "This year $$M_YEAR is not included in era.y"; \ ++ exit 1; \ ++ fi; ++ + install-data-hook: + if test -z "$(DESTDIR)"; then \ + glib-compile-schemas $(schemasdir); \ +diff --git a/data/era.t b/data/era.t +index 8d8cd32..a6d297e 100644 +--- a/data/era.t ++++ b/data/era.t +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2013 Takao Fujiwara ++# Copyright (c) 2010-2021 Takao Fujiwara + # Copyright (c) 2010-2013 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -226,6 +226,10 @@ + へいせい29 #T35*500 2017 + へいせい3 #T35*500 平成3 + へいせい3 #T35*500 1991 ++へいせい30 #T35*500 平成30 ++へいせい30 #T35*500 2018 ++へいせい31 #T35*500 平成31 ++へいせい31 #T35*500 2019 + へいせい4 #T35*500 平成4 + へいせい4 #T35*500 1992 + へいせい5 #T35*500 平成5 +@@ -328,6 +332,12 @@ + めいじ8 #T35*500 1875 + めいじ9 #T35*500 明治9 + めいじ9 #T35*500 1876 ++れいわ1 #T35*500 令和1 ++れいわ1 #T35*500 2019 ++れいわ2 #T35*500 令和2 ++れいわ2 #T35*500 2020 ++れいわ3 #T35*500 令和3 ++れいわ3 #T35*500 2021 + 1868 #T35*500 明治1 + 1869 #T35*500 明治2 + 1870 #T35*500 明治3 +@@ -482,4 +492,7 @@ + 2016 #T35*500 平成28 + 2017 #T35*500 平成29 + 2018 #T35*500 平成30 ++2019 #T35*500 令和1 + 2019 #T35*500 平成31 ++2020 #T35*500 令和2 ++2021 #T35*500 令和3 +-- +2.28.0 + +From 28aa550f728b3848b06a67579aca5f563e64d447 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 22 Oct 2021 00:22:41 +0900 +Subject: [PATCH] tests: Check python3-pycotap.rpm in Fedora instead of pip + +--- + tests/Makefile.am | 7 +------ + tests/test-build.sh | 17 ++++++++++++++++- + 2 files changed, 17 insertions(+), 7 deletions(-) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index d891ff2..a7a7108 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2017-2019 Takao Fujiwara ++# Copyright (c) 2017-2021 Takao Fujiwara + # Copyright (c) 2017-2019 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -23,11 +23,6 @@ + CLEANFILES = + + check: +- @TAP_DIR=`python -m site --user-site`/tap; \ +- if test x"$$TAP_DIR" != x -a ! -d "$$TAP_DIR" ; then \ +- echo "pip install tap.py --user"; \ +- pip install tap.py --user; \ +- fi; \ + bash -x $(srcdir)/test-build.sh --builddir=$(builddir) --srcdir=$(srcdir) + + if ENABLE_INSTALLED_TESTS +diff --git a/tests/test-build.sh b/tests/test-build.sh +index 4c85af7..e83b78f 100755 +--- a/tests/test-build.sh ++++ b/tests/test-build.sh +@@ -3,7 +3,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2018 Takao Fujiwara ++# Copyright (c) 2018-2021 Takao Fujiwara + # Copyright (c) 2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -68,6 +68,21 @@ init_environment() + if test x$FORCE_TEST != x ; then + RUN_ARGS="$RUN_ARGS --force"; + fi; ++ HAS_TAP=0; ++ if test -f /etc/redhat-release ; then ++ rpm -q --quiet python3-pycotap ++ if test $? -ne 0 ; then ++ echo "Not found python3-pycotap"; ++ exit -1; ++ fi; ++ HAS_TAP=1; ++ fi; ++ TAP_DIR=`python -m site --user-site`/pycotap; ++ if test $HAS_TAP -ne 1 && \ ++ test x"$TAP_DIR" != x && test ! -d "$TAP_DIR" ; then ++ echo "pip install pycotap --user"; ++ pip install pycotap --user; ++ fi; + if test ! -f $BUILDDIR/../data/$ANTHY_SCHEMA_FILE ; then + echo "Not found $BUILDDIR/../data/$ANTHY_SCHEMA_FILE"; + exit -1; +-- +2.28.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 38516b3..7eb3515 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -25,7 +25,7 @@ Name: ibus-anthy Version: 1.5.13 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -42,6 +42,7 @@ Source5: pycotap-1.1.0.tar.gz # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch Patch2: %{name}-xx-revert-ctrl-period.patch @@ -280,6 +281,10 @@ desktop-file-validate \ %endif %changelog +* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-2 +- Update era.t with 2021 +- Check python3-pycotap.rpm in Fedora instead of pip + * Fri Aug 20 2021 Takao Fujiwara - 1.5.13-1 - Bump to 1.5.13 - Add kasumi-unicode From c88cb32c28cc2cc0915d426a5eccf45fae093341 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 22 Oct 2021 09:34:50 +0900 Subject: [PATCH 149/202] Add make check --- ibus-anthy.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 7eb3515..c975512 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -232,6 +232,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la %check desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop +make -C data check %ldconfig_scriptlets libs From 08483efaeaf44e2d519f7633238474cee58e5579 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 22 Oct 2021 12:11:19 +0900 Subject: [PATCH 150/202] export C.UTF-8 for make check --- ibus-anthy.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index c975512..9489464 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -25,7 +25,7 @@ Name: ibus-anthy Version: 1.5.13 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -232,6 +232,8 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la %check desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop +export LANG=C.UTF-8 +locale make -C data check %ldconfig_scriptlets libs @@ -282,6 +284,9 @@ make -C data check %endif %changelog +* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-3 +- export C.UTF-8 for make check + * Fri Oct 22 2021 Takao Fujiwara - 1.5.13-2 - Update era.t with 2021 - Check python3-pycotap.rpm in Fedora instead of pip From dc18aae5663e7154dc3673be526124c0762f7b67 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 25 Dec 2021 00:37:38 +0900 Subject: [PATCH 151/202] Delete upstreamed ibus-anthy-HEAD.patch --- ibus-anthy-HEAD.patch | 151 ------------------------------------------ 1 file changed, 151 deletions(-) delete mode 100644 ibus-anthy-HEAD.patch diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch deleted file mode 100644 index 0f8ab60..0000000 --- a/ibus-anthy-HEAD.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 50706f8e5fcf88f1a607ea1f977c4a8f2ebbf623 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 22 Oct 2021 00:22:09 +0900 -Subject: [PATCH] data: Update era.t with 2021 - ---- - data/Makefile.am | 9 +++++++++ - data/era.t | 15 ++++++++++++++- - 2 files changed, 23 insertions(+), 1 deletion(-) - -diff --git a/data/Makefile.am b/data/Makefile.am -index 5e45c39..d76f17a 100644 ---- a/data/Makefile.am -+++ b/data/Makefile.am -@@ -79,6 +79,15 @@ zipcode.t: $(ANTHY_ZIPCODE_FILE) - CLEANFILES += zipcode.t - endif - -+check: -+ S_YEAR=`date '+%Y'`; \ -+ M_YEAR=`echo $$S_YEAR | sed 'y/0123456789/0123456789/'`; \ -+ grep -q $$M_YEAR $(srcdir)/era.t; \ -+ if test $$? -ne 0 ; then \ -+ echo "This year $$M_YEAR is not included in era.y"; \ -+ exit 1; \ -+ fi; -+ - install-data-hook: - if test -z "$(DESTDIR)"; then \ - glib-compile-schemas $(schemasdir); \ -diff --git a/data/era.t b/data/era.t -index 8d8cd32..a6d297e 100644 ---- a/data/era.t -+++ b/data/era.t -@@ -2,7 +2,7 @@ - # - # ibus-anthy - The Anthy engine for IBus - # --# Copyright (c) 2010-2013 Takao Fujiwara -+# Copyright (c) 2010-2021 Takao Fujiwara - # Copyright (c) 2010-2013 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -226,6 +226,10 @@ - へいせい29 #T35*500 2017 - へいせい3 #T35*500 平成3 - へいせい3 #T35*500 1991 -+へいせい30 #T35*500 平成30 -+へいせい30 #T35*500 2018 -+へいせい31 #T35*500 平成31 -+へいせい31 #T35*500 2019 - へいせい4 #T35*500 平成4 - へいせい4 #T35*500 1992 - へいせい5 #T35*500 平成5 -@@ -328,6 +332,12 @@ - めいじ8 #T35*500 1875 - めいじ9 #T35*500 明治9 - めいじ9 #T35*500 1876 -+れいわ1 #T35*500 令和1 -+れいわ1 #T35*500 2019 -+れいわ2 #T35*500 令和2 -+れいわ2 #T35*500 2020 -+れいわ3 #T35*500 令和3 -+れいわ3 #T35*500 2021 - 1868 #T35*500 明治1 - 1869 #T35*500 明治2 - 1870 #T35*500 明治3 -@@ -482,4 +492,7 @@ - 2016 #T35*500 平成28 - 2017 #T35*500 平成29 - 2018 #T35*500 平成30 -+2019 #T35*500 令和1 - 2019 #T35*500 平成31 -+2020 #T35*500 令和2 -+2021 #T35*500 令和3 --- -2.28.0 - -From 28aa550f728b3848b06a67579aca5f563e64d447 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 22 Oct 2021 00:22:41 +0900 -Subject: [PATCH] tests: Check python3-pycotap.rpm in Fedora instead of pip - ---- - tests/Makefile.am | 7 +------ - tests/test-build.sh | 17 ++++++++++++++++- - 2 files changed, 17 insertions(+), 7 deletions(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index d891ff2..a7a7108 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -2,7 +2,7 @@ - # - # ibus-anthy - The Anthy engine for IBus - # --# Copyright (c) 2017-2019 Takao Fujiwara -+# Copyright (c) 2017-2021 Takao Fujiwara - # Copyright (c) 2017-2019 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -23,11 +23,6 @@ - CLEANFILES = - - check: -- @TAP_DIR=`python -m site --user-site`/tap; \ -- if test x"$$TAP_DIR" != x -a ! -d "$$TAP_DIR" ; then \ -- echo "pip install tap.py --user"; \ -- pip install tap.py --user; \ -- fi; \ - bash -x $(srcdir)/test-build.sh --builddir=$(builddir) --srcdir=$(srcdir) - - if ENABLE_INSTALLED_TESTS -diff --git a/tests/test-build.sh b/tests/test-build.sh -index 4c85af7..e83b78f 100755 ---- a/tests/test-build.sh -+++ b/tests/test-build.sh -@@ -3,7 +3,7 @@ - # - # ibus-anthy - The Anthy engine for IBus - # --# Copyright (c) 2018 Takao Fujiwara -+# Copyright (c) 2018-2021 Takao Fujiwara - # Copyright (c) 2018 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -68,6 +68,21 @@ init_environment() - if test x$FORCE_TEST != x ; then - RUN_ARGS="$RUN_ARGS --force"; - fi; -+ HAS_TAP=0; -+ if test -f /etc/redhat-release ; then -+ rpm -q --quiet python3-pycotap -+ if test $? -ne 0 ; then -+ echo "Not found python3-pycotap"; -+ exit -1; -+ fi; -+ HAS_TAP=1; -+ fi; -+ TAP_DIR=`python -m site --user-site`/pycotap; -+ if test $HAS_TAP -ne 1 && \ -+ test x"$TAP_DIR" != x && test ! -d "$TAP_DIR" ; then -+ echo "pip install pycotap --user"; -+ pip install pycotap --user; -+ fi; - if test ! -f $BUILDDIR/../data/$ANTHY_SCHEMA_FILE ; then - echo "Not found $BUILDDIR/../data/$ANTHY_SCHEMA_FILE"; - exit -1; --- -2.28.0 - From d8db06fe792d83de92b015fb9f482eca5f2cdef8 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 25 Dec 2021 00:38:40 +0900 Subject: [PATCH 152/202] Bump to 1.5.14 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 0 ibus-anthy.spec | 8 +++++--- sources | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 ibus-anthy-HEAD.patch diff --git a/.gitignore b/.gitignore index ca31c00..10abb26 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ ibus-anthy.png /ibus-anthy-1.5.11.tar.gz /ibus-anthy-1.5.12.tar.gz /ibus-anthy-1.5.13.tar.gz +/ibus-anthy-1.5.14.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..e69de29 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 3179eb2..4e1d605 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -17,8 +17,8 @@ %endif Name: ibus-anthy -Version: 1.5.13 -Release: 3%{?dist} +Version: 1.5.14 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -26,7 +26,6 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -156,6 +155,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Fri Dec 24 2021 Takao Fujiwara - 1.5.14-1 +- Bump to 1.5.14 + * Fri Oct 22 2021 Takao Fujiwara - 1.5.13-3 - export C.UTF-8 for make check diff --git a/sources b/sources index 13b5f4f..aad6592 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ibus-anthy-1.5.13.tar.gz) = 02d63f578d0d5c099bc63dfa050b9091809b8af53a4b4372f1896f647b54f735b56ebead51b34fb9302c94afecaf439473b1df311fca640105e71ac9b80f94dd +SHA512 (ibus-anthy-1.5.14.tar.gz) = 1c18bb18f270f52ae32720062b69d29f2005ecffe7f2418e3f0688c4c23b2d6742b5298ab2283a1937987bb2ce7e63a913107e0c079974775daa898f3619d1d9 From 13f164d787a7246f7cf3c8d6334dede3b29220c6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 13:02:05 +0000 Subject: [PATCH 153/202] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 4e1d605..587965b 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -155,6 +155,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 1.5.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Fri Dec 24 2021 Takao Fujiwara - 1.5.14-1 - Bump to 1.5.14 From 03cc13ad374942b5e5b5bc0b08dc78c26e0ded20 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 27 Jan 2022 15:55:49 +0900 Subject: [PATCH 154/202] Add 2022 Era --- ibus-anthy-HEAD.patch | 39 +++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 6 +++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e69de29..6e07cc2 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1,39 @@ +From ed993538c711d817e5365630b65f372e0dfd01a7 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 27 Jan 2022 15:15:13 +0900 +Subject: [PATCH] data: Update era.t with 2022 + +--- + data/era.t | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/data/era.t b/data/era.t +index a6d297e..686271f 100644 +--- a/data/era.t ++++ b/data/era.t +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2021 Takao Fujiwara ++# Copyright (c) 2010-2022 Takao Fujiwara + # Copyright (c) 2010-2013 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -338,6 +338,8 @@ + れいわ2 #T35*500 2020 + れいわ3 #T35*500 令和3 + れいわ3 #T35*500 2021 ++れいわ4 #T35*500 令和4 ++れいわ4 #T35*500 2022 + 1868 #T35*500 明治1 + 1869 #T35*500 明治2 + 1870 #T35*500 明治3 +@@ -496,3 +498,4 @@ + 2019 #T35*500 平成31 + 2020 #T35*500 令和2 + 2021 #T35*500 令和3 ++2022 #T35*500 令和4 +-- +2.33.1 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 587965b..0a06e0d 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -26,6 +26,7 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -155,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Thu Jan 27 2022 Takao Fujiwara - 1.5.14-3 +- Add 2022 Era + * Thu Jan 20 2022 Fedora Release Engineering - 1.5.14-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 41dac539c5603b62d35a96652e3e4db4c06f1afd Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 14 Apr 2022 15:49:58 +0900 Subject: [PATCH 155/202] Resolves #2064261 assertion error with page size 0 --- ibus-anthy-HEAD.patch | 40 ++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 ++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 6e07cc2..04dd165 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -37,3 +37,43 @@ index a6d297e..686271f 100644 -- 2.33.1 +From 4ef5ac95e84056ebd5a446e5e21b5f2a99377363 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 14 Apr 2022 15:23:26 +0900 +Subject: [PATCH] setup: Minimum candidate window page size to 1 + +IBusLookupTable assert with page_size > 0 (rhbz#2064261) +--- + setup/python2/setup.ui | 2 +- + setup/python3/setup.ui | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui +index 88b19b8..3e82f2e 100644 +--- a/setup/python2/setup.ui ++++ b/setup/python2/setup.ui +@@ -2,7 +2,7 @@ + + + 10 +- 0 ++ 1 + 0 + 1 + 0 +diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui +index 88b19b8..3e82f2e 100644 +--- a/setup/python3/setup.ui ++++ b/setup/python3/setup.ui +@@ -2,7 +2,7 @@ + + + 10 +- 0 ++ 1 + 0 + 1 + 0 +-- +2.34.1 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 0a06e0d..dc4f718 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Thu Apr 14 2022 Takao Fujiwara - 1.5.14-4 +- Resolves #2064261 assertion error with page size 0 + * Thu Jan 27 2022 Takao Fujiwara - 1.5.14-3 - Add 2022 Era From d708323a126890176b8e9c5c0cf96336a6aded63 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 14:22:53 +0000 Subject: [PATCH 156/202] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index dc4f718..33b0bec 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Thu Jul 21 2022 Fedora Release Engineering - 1.5.14-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Thu Apr 14 2022 Takao Fujiwara - 1.5.14-4 - Resolves #2064261 assertion error with page size 0 From 6431ac298a7b33901c516845c551c9ff4c49e056 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 3 Aug 2022 08:00:59 +0900 Subject: [PATCH 157/202] 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 --- ibus-anthy-HEAD.patch | 289 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 7 +- 2 files changed, 295 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 04dd165..30cd3e7 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -77,3 +77,292 @@ index 88b19b8..3e82f2e 100644 -- 2.34.1 +From 2e9f751c45f1002a75e44daa200a379808479e9f Mon Sep 17 00:00:00 2001 +From: fujiwarat +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 @@ + ++ + + org.freedesktop.ibus.engine.anthy + GFDL-1.3 + GPL-2.0 + Anthy + Japanese input method ++ /usr/share/icons/hicolor/scalable/apps/ibus-anthy.svg + +

+ The Anthy input method is designed for entering Japanese text. +@@ -15,9 +17,29 @@ + out on a traditional keyboard. +

+
++ ++ input-method ++ Japanese ++ + https://github.com/ibus/ibus/wiki + https://github.com/ibus/ibus-anthy/issues + https://github.com/ibus/ibus/wiki/FAQ ++ https://translate.fedoraproject.org/projects/ibus/ibus-anthy/ ++ ++ ++ ++

See the upstream release list.

++
++ https://github.com/ibus/ibus-anthy/releases ++
++
++ IBus ++ ++ ++ The Anthy input method is designed for entering Japanese text. ++ https://camo.githubusercontent.com/3646c511fba557137a316be913f01fc3114e0db9c990acdfa18c29f52b5a6538/687474703a2f2f696275732e6769746875622e696f2f696d616765732f322e706e67#/ibus-anthy.jpg ++ ++ + ibus-anthy + tfujiwar_AT_redhat.com +
+-- +2.35.3 + +From 8aed07707fba1b7fafed73227916718458409c29 Mon Sep 17 00:00:00 2001 +From: fujiwarat +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 +-# Copyright (c) 2010-2021 Takao Fujiwara ++# Copyright (c) 2010-2022 Takao Fujiwara + # 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 +-# Copyright (c) 2010-2021 Takao Fujiwara ++# Copyright (c) 2010-2022 Takao Fujiwara + # 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?= +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 `:w` easily get wired into muscle memory. + +For comparison, uim has got a vi-cooperative mode for that use case. See + 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 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 33b0bec..85c19df 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,11 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Wed Aug 03 2022 Takao Fujiwara - 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 - 1.5.14-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From eba07831da10188b51693e22d573e1086550b175 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 3 Aug 2022 18:12:16 +0900 Subject: [PATCH 158/202] Change metainfo icon from SVG to PNG file --- ibus-anthy-HEAD.patch | 10 +++++----- ibus-anthy.spec | 5 ++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 30cd3e7..9500e51 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -77,9 +77,9 @@ index 88b19b8..3e82f2e 100644 -- 2.34.1 -From 2e9f751c45f1002a75e44daa200a379808479e9f Mon Sep 17 00:00:00 2001 +From 8cfc210cccbe7324e1fbe7d7911eba33c786a520 Mon Sep 17 00:00:00 2001 From: fujiwarat -Date: Tue, 2 Aug 2022 11:14:48 +0900 +Date: Wed, 3 Aug 2022 18:02:02 +0900 Subject: [PATCH] data: Add icon tag in ibus-anthy.appdata.xml.in --- @@ -87,7 +87,7 @@ Subject: [PATCH] data: Add icon tag in ibus-anthy.appdata.xml.in 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 +index 8f246e9..af32a5a 100644 --- a/data/ibus-anthy.appdata.xml.in +++ b/data/ibus-anthy.appdata.xml.in @@ -1,10 +1,12 @@ @@ -99,7 +99,7 @@ index 8f246e9..be67f9d 100644 GPL-2.0 Anthy Japanese input method -+ /usr/share/icons/hicolor/scalable/apps/ibus-anthy.svg ++ https://raw.githubusercontent.com/ibus/ibus-anthy/main/icons/ibus-anthy.png

The Anthy input method is designed for entering Japanese text. @@ -127,7 +127,7 @@ index 8f246e9..be67f9d 100644 + + + The Anthy input method is designed for entering Japanese text. -+ https://camo.githubusercontent.com/3646c511fba557137a316be913f01fc3114e0db9c990acdfa18c29f52b5a6538/687474703a2f2f696275732e6769746875622e696f2f696d616765732f322e706e67#/ibus-anthy.jpg ++ http://ibus.github.io/images/2.png + + ibus-anthy diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 85c19df..f36deae 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 6%{?dist} +Release: 7%{?dist} Summary: The Anthy engine for IBus input platform License: GPLv2+ URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Wed Aug 03 2022 Takao Fujiwara - 1.5.14-7 +- Change metainfo icon from SVG to PNG file + * Wed Aug 03 2022 Takao Fujiwara - 1.5.14-6 - Add icon tag in ibus-anthy.appdata.xml.in - Enable IBus.Engine::has-focus-id property From c9ffefdd8ad562c12e8ede1d860066b4b81a9132 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 16 Nov 2022 15:53:56 +0900 Subject: [PATCH 159/202] Migrate license tag to SPDX --- ibus-anthy.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index f36deae..9cd2b8b 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,9 +18,9 @@ Name: ibus-anthy Version: 1.5.14 -Release: 7%{?dist} +Release: 8%{?dist} Summary: The Anthy engine for IBus input platform -License: GPLv2+ +License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/%{name}-%{version}.tar.gz @@ -156,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Wed Nov 16 2022 Takao Fujiwara - 1.5.14-8 +- Migrate license tag to SPDX + * Wed Aug 03 2022 Takao Fujiwara - 1.5.14-7 - Change metainfo icon from SVG to PNG file From 242b59bae45e19a3b04c0facff0685808b6b6ee6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 12:52:38 +0000 Subject: [PATCH 160/202] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 9cd2b8b..75f47b4 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 8%{?dist} +Release: 9%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 1.5.14-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Wed Nov 16 2022 Takao Fujiwara - 1.5.14-8 - Migrate license tag to SPDX From 21a2a0fda2103b35d1ad39c75a32918acc2efede Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 26 Jan 2023 20:37:23 +0900 Subject: [PATCH 161/202] Add 2023 Era - Fix PageDown/PageUp --- ibus-anthy-HEAD.patch | 112 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 6 ++- 2 files changed, 117 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 9500e51..f512662 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -366,3 +366,115 @@ index 33b2a31..404aa09 100644 -- 2.35.3 +From d1e6853dc4f3cd26b5846b6e4e255bfcaf4e381a Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 26 Jan 2023 19:11:16 +0900 +Subject: [PATCH] engine: Fix page_up/page_down class methods (#27) + +--- + engine/python2/engine.py | 6 +++--- + engine/python3/engine.py | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 218b485..56c0cd5 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 +-# Copyright (c) 2010-2022 Takao Fujiwara ++# Copyright (c) 2010-2023 Takao Fujiwara + # Copyright (c) 2007-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -1536,14 +1536,14 @@ class Engine(IBus.EngineSimple): + if self.__preedit_ja_string.is_empty(): + return False + if self.__lookup_table_visible == True: +- self.do_page_up() ++ self.__page_up(self) + return True + + def __on_key_page_down(self): + if self.__preedit_ja_string.is_empty(): + return False + if self.__lookup_table_visible == True: +- self.do_page_down() ++ self.__page_down(self) + return True + + '''def __on_key_left(self): +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index abb9c02..2ebf894 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 +-# Copyright (c) 2010-2022 Takao Fujiwara ++# Copyright (c) 2010-2023 Takao Fujiwara + # Copyright (c) 2007-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -1531,14 +1531,14 @@ class Engine(IBus.EngineSimple): + if self.__preedit_ja_string.is_empty(): + return False + if self.__lookup_table_visible == True: +- self.do_page_up() ++ self.__page_up(self) + return True + + def __on_key_page_down(self): + if self.__preedit_ja_string.is_empty(): + return False + if self.__lookup_table_visible == True: +- self.do_page_down() ++ self.__page_down(self) + return True + + '''def __on_key_left(self): +-- +2.38.1 + +From 227ec140cdf4ffcc4f129f59d9ca7db2076554b2 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 26 Jan 2023 19:42:25 +0900 +Subject: [PATCH] data: Update era.t with 2023 + +--- + data/era.t | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/data/era.t b/data/era.t +index 686271f..7f7bd1b 100644 +--- a/data/era.t ++++ b/data/era.t +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2022 Takao Fujiwara ++# Copyright (c) 2010-2023 Takao Fujiwara + # Copyright (c) 2010-2013 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -340,6 +340,8 @@ + れいわ3 #T35*500 2021 + れいわ4 #T35*500 令和4 + れいわ4 #T35*500 2022 ++れいわ5 #T35*500 令和5 ++れいわ5 #T35*500 2023 + 1868 #T35*500 明治1 + 1869 #T35*500 明治2 + 1870 #T35*500 明治3 +@@ -499,3 +501,4 @@ + 2020 #T35*500 令和2 + 2021 #T35*500 令和3 + 2022 #T35*500 令和4 ++2023 #T35*500 令和5 +-- +2.38.1 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 75f47b4..ce335e5 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 9%{?dist} +Release: 10%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,10 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Thu Jan 26 2023 Takao Fujiwara - 1.5.14-10 +- Add 2023 Era +- Fix PageDown/PageUp + * Thu Jan 19 2023 Fedora Release Engineering - 1.5.14-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 8b5be26fa8438b515232e3c006b7c94bf93d5626 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 17 Feb 2023 19:30:03 +0900 Subject: [PATCH 162/202] Fix to load EN compose table --- ibus-anthy-HEAD.patch | 57 +++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 +++- 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index f512662..d701cd7 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -478,3 +478,60 @@ index 686271f..7f7bd1b 100644 -- 2.38.1 +From 56629c6f9d5e289fdd16388965516fe5ebf5c8dc Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 17 Feb 2023 15:52:58 +0900 +Subject: [PATCH 8/8] engine: Fix to find compose resource in IBus core + +IBus.init() has been required since 1.5.28 after the EN compose +table was moved to GResource. +--- + engine/python2/main.py | 3 ++- + engine/python3/main.py | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/engine/python2/main.py b/engine/python2/main.py +index 096cd41..c366293 100644 +--- a/engine/python2/main.py ++++ b/engine/python2/main.py +@@ -4,7 +4,7 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2016 Takao Fujiwara ++# Copyright (c) 2010-2023 Takao Fujiwara + # Copyright (c) 2007-2016 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -179,6 +179,7 @@ def main(): + print >> sys.stderr, 'Unknown argument: %s' % o + print_help(sys.stderr, 1) + ++ IBus.init() + if daemonize: + if os.fork(): + sys.exit() +diff --git a/engine/python3/main.py b/engine/python3/main.py +index 1a2e6fd..8665ae0 100644 +--- a/engine/python3/main.py ++++ b/engine/python3/main.py +@@ -4,7 +4,7 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2016 Takao Fujiwara ++# Copyright (c) 2010-2023 Takao Fujiwara + # Copyright (c) 2007-2016 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -177,6 +177,7 @@ def main(): + print('Unknown argument: %s' % o, file=sys.stderr) + print_help(sys.stderr, 1) + ++ IBus.init() + if daemonize: + if os.fork(): + sys.exit() +-- +2.38.1 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index ce335e5..e6fb533 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 10%{?dist} +Release: 11%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Fri Feb 17 2023 Takao Fujiwara - 1.5.14-11 +- Fix to load EN compose table + * Thu Jan 26 2023 Takao Fujiwara - 1.5.14-10 - Add 2023 Era - Fix PageDown/PageUp From 7496ad9bc3df7dcd4f6155b2320011ebec3120e7 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 13 Jul 2023 15:35:37 +0900 Subject: [PATCH 163/202] Resolves #2015149 Commit candidate text with clicking on candidate list in OSK --- ibus-anthy-HEAD.patch | 228 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 +- 2 files changed, 232 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index d701cd7..e9e2d58 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -535,3 +535,231 @@ index 1a2e6fd..8665ae0 100644 -- 2.38.1 +From 7f5807eaf37d0a809807c23add3964478bfbdcbe Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 13 Jul 2023 15:06:38 +0900 +Subject: [PATCH] engine: Enable OSK mode + +Currently gnome-shell sends IBUS_CAP_OSK when OSK(On-Screen Keyboard) +is enabled in GNOME Wayland only. +However users still can type characters using the physical keyboard +while OSK is enabled so the current status is not perfect. + +But ibus-anthy now commit the preedit when a candidate is clicked +on IBus lookup table instead of the selection in the OSK mode. + +BUG=https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2415 +BUG=https://gitlab.gnome.org/GNOME/mutter/-/issues/2441 +BUG=rhbz#2015149 +--- + engine/python2/engine.py | 34 ++++++++++++++++++++++++++++------ + engine/python3/engine.py | 34 ++++++++++++++++++++++++++++------ + 2 files changed, 56 insertions(+), 12 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 56c0cd5..4266d09 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -150,6 +150,10 @@ class Engine(IBus.EngineSimple): + self.__prop_dict = {} + self.__input_purpose = 0 + self.__has_input_purpose = False ++ # OSK mode is designed for OSK on gnome-shell, which always shows ++ # IBus lookup window prior to the preedit and selecting a candidate ++ # causes the commmit instead of the selection. ++ self.__osk_mode = False + if hasattr(IBus, 'InputPurpose'): + self.__has_input_purpose = True + try: +@@ -805,7 +809,10 @@ class Engine(IBus.EngineSimple): + keyval = IBus.KEY_0 + else: + keyval = IBus.KEY_1 + index ++ prev_cursor_pos = self.__cursor_pos + self.__on_key_number(keyval) ++ if self.__osk_mode and prev_cursor_pos == self.__cursor_pos: ++ self.__on_key_return() + + def __commit_string(self, text): + self.__reset() +@@ -1094,6 +1101,9 @@ class Engine(IBus.EngineSimple): + self.__reset() + self.__invalidate() + ++ def do_set_capabilities(self, caps): ++ self.__osk_mode = True if caps & IBus.Capabilite.OSK else False ++ + def __destroy(self, obj): + if self.__idle_id != 0: + GLib.source_remove(self.__idle_id) +@@ -1148,7 +1158,10 @@ class Engine(IBus.EngineSimple): + else: + self.__cursor_pos = 0 + self.__fill_lookup_table() +- self.__lookup_table_visible = False ++ if self.__osk_mode: ++ self.__lookup_table_visible = True ++ else: ++ self.__lookup_table_visible = False + + def __end_anthy_convert(self): + if self.__convert_mode == CONV_MODE_OFF: +@@ -1353,7 +1366,8 @@ class Engine(IBus.EngineSimple): + self.__lookup_table.set_cursor_pos(0) + candidate = UN(self.__lookup_table.get_candidate(0).get_text()) + self.__segments[self.__cursor_pos] = 0, candidate +- self.__lookup_table_visible = False ++ if not self.__osk_mode: ++ self.__lookup_table_visible = False + elif self.__segments[self.__cursor_pos][0] != \ + NTH_UNCONVERTED_CANDIDATE: + buf = self.__context.get_segment(self.__cursor_pos, +@@ -1582,7 +1596,8 @@ class Engine(IBus.EngineSimple): + return True + + self.__cursor_pos += 1 +- self.__lookup_table_visible = False ++ if not self.__osk_mode: ++ self.__lookup_table_visible = False + self.__fill_lookup_table() + self.__invalidate() + return True +@@ -2314,7 +2329,10 @@ class Engine(IBus.EngineSimple): + self.__convert_mode = CONV_MODE_PREDICTION + self.__cursor_pos = 0 + self.__fill_lookup_table() +- self.__lookup_table_visible = False ++ if self.__osk_mode: ++ self.__lookup_table_visible = True ++ else: ++ self.__lookup_table_visible = False + self.__invalidate() + + return True +@@ -2393,7 +2411,10 @@ class Engine(IBus.EngineSimple): + self.__convert_mode = CONV_MODE_ANTHY + self.__cursor_pos = 0 + self.__fill_lookup_table() +- self.__lookup_table_visible = False ++ lf self.__osk_mode: ++ self.__lookup_table_visible = True ++ else: ++ self.__lookup_table_visible = False + self.__invalidate() + + return True +@@ -2549,7 +2570,8 @@ class Engine(IBus.EngineSimple): + index = self.__lookup_table.get_cursor_pos() + candidate = UN(self.__lookup_table.get_candidate(index).get_text()) + self.__segments[self.__cursor_pos] = index, candidate +- self.__lookup_table_visible = False ++ if not self.__osk_mode: ++ self.__lookup_table_visible = False + self.__on_key_right() + self.__invalidate() + return True +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 2ebf894..d9013e6 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -151,6 +151,10 @@ class Engine(IBus.EngineSimple): + self.__prop_dict = {} + self.__input_purpose = 0 + self.__has_input_purpose = False ++ # OSK mode is designed for OSK on gnome-shell, which always shows ++ # IBus lookup window prior to the preedit and selecting a candidate ++ # causes the commmit instead of the selection. ++ self.__osk_mode = False + if hasattr(IBus, 'InputPurpose'): + self.__has_input_purpose = True + try: +@@ -800,7 +804,10 @@ class Engine(IBus.EngineSimple): + keyval = IBus.KEY_0 + else: + keyval = IBus.KEY_1 + index ++ prev_cursor_pos = self.__cursor_pos + self.__on_key_number(keyval) ++ if self.__osk_mode and prev_cursor_pos == self.__cursor_pos: ++ self.__on_key_return() + + def __commit_string(self, text): + self.__reset() +@@ -1089,6 +1096,9 @@ class Engine(IBus.EngineSimple): + self.__reset() + self.__invalidate() + ++ def do_set_capabilities(self, caps): ++ self.__osk_mode = True if caps & IBus.Capabilite.OSK else False ++ + def __destroy(self, obj): + if self.__idle_id != 0: + GLib.source_remove(self.__idle_id) +@@ -1143,7 +1153,10 @@ class Engine(IBus.EngineSimple): + else: + self.__cursor_pos = 0 + self.__fill_lookup_table() +- self.__lookup_table_visible = False ++ if self.__osk_mode: ++ self.__lookup_table_visible = True ++ else: ++ self.__lookup_table_visible = False + + def __end_anthy_convert(self): + if self.__convert_mode == CONV_MODE_OFF: +@@ -1348,7 +1361,8 @@ class Engine(IBus.EngineSimple): + self.__lookup_table.set_cursor_pos(0) + candidate = self.__lookup_table.get_candidate(0).get_text() + self.__segments[self.__cursor_pos] = 0, candidate +- self.__lookup_table_visible = False ++ if not self.__osk_mode: ++ self.__lookup_table_visible = False + elif self.__segments[self.__cursor_pos][0] != \ + NTH_UNCONVERTED_CANDIDATE: + buf = self.__context.get_segment(self.__cursor_pos, +@@ -1577,7 +1591,8 @@ class Engine(IBus.EngineSimple): + return True + + self.__cursor_pos += 1 +- self.__lookup_table_visible = False ++ if not self.__osk_mode: ++ self.__lookup_table_visible = False + self.__fill_lookup_table() + self.__invalidate() + return True +@@ -2308,7 +2323,10 @@ class Engine(IBus.EngineSimple): + self.__convert_mode = CONV_MODE_PREDICTION + self.__cursor_pos = 0 + self.__fill_lookup_table() +- self.__lookup_table_visible = False ++ if self.__osk_mode: ++ self.__lookup_table_visible = True ++ else: ++ self.__lookup_table_visible = False + self.__invalidate() + + return True +@@ -2387,7 +2405,10 @@ class Engine(IBus.EngineSimple): + self.__convert_mode = CONV_MODE_ANTHY + self.__cursor_pos = 0 + self.__fill_lookup_table() +- self.__lookup_table_visible = False ++ lf self.__osk_mode: ++ self.__lookup_table_visible = True ++ else: ++ self.__lookup_table_visible = False + self.__invalidate() + + return True +@@ -2543,7 +2564,8 @@ class Engine(IBus.EngineSimple): + index = self.__lookup_table.get_cursor_pos() + candidate = self.__lookup_table.get_candidate(index).get_text() + self.__segments[self.__cursor_pos] = index, candidate +- self.__lookup_table_visible = False ++ if not self.__osk_mode: ++ self.__lookup_table_visible = False + self.__on_key_right() + self.__invalidate() + return True +-- +2.41.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index e6fb533..bad2c5c 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 11%{?dist} +Release: 12%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Thu Jul 13 2023 Takao Fujiwara - 1.5.14-12 +- Resolves #2015149 Commit candidate text with clicking on candidate list in OSK + * Fri Feb 17 2023 Takao Fujiwara - 1.5.14-11 - Fix to load EN compose table From 2e13014b1a0c8d25022e888658e7b13b8c376db8 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 13 Jul 2023 17:52:57 +0900 Subject: [PATCH 164/202] Fix typo --- ibus-anthy-HEAD.patch | 12 ++++++------ ibus-anthy.spec | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e9e2d58..fb0f978 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -535,9 +535,9 @@ index 1a2e6fd..8665ae0 100644 -- 2.38.1 -From 7f5807eaf37d0a809807c23add3964478bfbdcbe Mon Sep 17 00:00:00 2001 +From ddb7d64007f25aa0108ae9bf65b96aa063157c0a Mon Sep 17 00:00:00 2001 From: fujiwarat -Date: Thu, 13 Jul 2023 15:06:38 +0900 +Date: Thu, 13 Jul 2023 17:49:57 +0900 Subject: [PATCH] engine: Enable OSK mode Currently gnome-shell sends IBUS_CAP_OSK when OSK(On-Screen Keyboard) @@ -557,7 +557,7 @@ BUG=rhbz#2015149 2 files changed, 56 insertions(+), 12 deletions(-) diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 56c0cd5..4266d09 100644 +index 56c0cd5..4b3da97 100644 --- a/engine/python2/engine.py +++ b/engine/python2/engine.py @@ -150,6 +150,10 @@ class Engine(IBus.EngineSimple): @@ -641,7 +641,7 @@ index 56c0cd5..4266d09 100644 self.__cursor_pos = 0 self.__fill_lookup_table() - self.__lookup_table_visible = False -+ lf self.__osk_mode: ++ if self.__osk_mode: + self.__lookup_table_visible = True + else: + self.__lookup_table_visible = False @@ -659,7 +659,7 @@ index 56c0cd5..4266d09 100644 self.__invalidate() return True diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index 2ebf894..d9013e6 100644 +index 2ebf894..20786f2 100644 --- a/engine/python3/engine.py +++ b/engine/python3/engine.py @@ -151,6 +151,10 @@ class Engine(IBus.EngineSimple): @@ -743,7 +743,7 @@ index 2ebf894..d9013e6 100644 self.__cursor_pos = 0 self.__fill_lookup_table() - self.__lookup_table_visible = False -+ lf self.__osk_mode: ++ if self.__osk_mode: + self.__lookup_table_visible = True + else: + self.__lookup_table_visible = False diff --git a/ibus-anthy.spec b/ibus-anthy.spec index bad2c5c..fb99ddc 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 12%{?dist} +Release: 13%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -156,7 +156,7 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog -* Thu Jul 13 2023 Takao Fujiwara - 1.5.14-12 +* Thu Jul 13 2023 Takao Fujiwara - 1.5.14-13 - Resolves #2015149 Commit candidate text with clicking on candidate list in OSK * Fri Feb 17 2023 Takao Fujiwara - 1.5.14-11 From 8ebcd4ba97e5b5c2c40e0f8a2f1b0b5bd4b818ba Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 07:07:14 +0000 Subject: [PATCH 165/202] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index fb99ddc..83a4872 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 13%{?dist} +Release: 14%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 1.5.14-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jul 13 2023 Takao Fujiwara - 1.5.14-13 - Resolves #2015149 Commit candidate text with clicking on candidate list in OSK From a6fcc88d3c28accfc524c38e765842af0f731def Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 18 Aug 2023 19:08:21 +0900 Subject: [PATCH 166/202] Resolves #2232532 converting Super+Space to wide space character --- ibus-anthy-HEAD.patch | 42 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 ++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index fb0f978..34ecce5 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -763,3 +763,45 @@ index 2ebf894..20786f2 100644 -- 2.41.0 +From c1ffc2bfcedab68ce79c2fa9a7f2bfe6cec17595 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 18 Aug 2023 18:52:58 +0900 +Subject: [PATCH] engine: Distinguish Super-space and space shortcut keys + +BUG=rhbz#2232532 +--- + engine/python2/engine.py | 3 ++- + engine/python3/engine.py | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 4b3da97..80cfa86 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -1940,7 +1940,8 @@ class Engine(IBus.EngineSimple): + + state = state & (IBus.ModifierType.SHIFT_MASK | + IBus.ModifierType.CONTROL_MASK | +- IBus.ModifierType.MOD1_MASK) ++ IBus.ModifierType.MOD1_MASK | ++ IBus.ModifierType.MOD4_MASK) + + # ignore key release events + if not is_press: +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 20786f2..7c0d283 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -1935,7 +1935,8 @@ class Engine(IBus.EngineSimple): + + state = state & (IBus.ModifierType.SHIFT_MASK | + IBus.ModifierType.CONTROL_MASK | +- IBus.ModifierType.MOD1_MASK) ++ IBus.ModifierType.MOD1_MASK | ++ IBus.ModifierType.MOD4_MASK) + + # ignore key release events + if not is_press: +-- +2.41.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 83a4872..6936f98 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.14 -Release: 14%{?dist} +Release: 15%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -156,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Fri Aug 18 2023 Takao Fujiwara - 1.5.14-15 +- Resolves #2232532 converting Super+Space to wide space character + * Thu Jul 20 2023 Fedora Release Engineering - 1.5.14-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 5f35456328f8fef135836a4cc130a6f54ce79905 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 22 Aug 2023 13:18:49 +0900 Subject: [PATCH 167/202] Delete upstreamed ibus-anthy-HEAD.patch --- ibus-anthy-HEAD.patch | 807 ------------------------------------------ 1 file changed, 807 deletions(-) delete mode 100644 ibus-anthy-HEAD.patch diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch deleted file mode 100644 index 34ecce5..0000000 --- a/ibus-anthy-HEAD.patch +++ /dev/null @@ -1,807 +0,0 @@ -From ed993538c711d817e5365630b65f372e0dfd01a7 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 27 Jan 2022 15:15:13 +0900 -Subject: [PATCH] data: Update era.t with 2022 - ---- - data/era.t | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/data/era.t b/data/era.t -index a6d297e..686271f 100644 ---- a/data/era.t -+++ b/data/era.t -@@ -2,7 +2,7 @@ - # - # ibus-anthy - The Anthy engine for IBus - # --# Copyright (c) 2010-2021 Takao Fujiwara -+# Copyright (c) 2010-2022 Takao Fujiwara - # Copyright (c) 2010-2013 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -338,6 +338,8 @@ - れいわ2 #T35*500 2020 - れいわ3 #T35*500 令和3 - れいわ3 #T35*500 2021 -+れいわ4 #T35*500 令和4 -+れいわ4 #T35*500 2022 - 1868 #T35*500 明治1 - 1869 #T35*500 明治2 - 1870 #T35*500 明治3 -@@ -496,3 +498,4 @@ - 2019 #T35*500 平成31 - 2020 #T35*500 令和2 - 2021 #T35*500 令和3 -+2022 #T35*500 令和4 --- -2.33.1 - -From 4ef5ac95e84056ebd5a446e5e21b5f2a99377363 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 14 Apr 2022 15:23:26 +0900 -Subject: [PATCH] setup: Minimum candidate window page size to 1 - -IBusLookupTable assert with page_size > 0 (rhbz#2064261) ---- - setup/python2/setup.ui | 2 +- - setup/python3/setup.ui | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/setup/python2/setup.ui b/setup/python2/setup.ui -index 88b19b8..3e82f2e 100644 ---- a/setup/python2/setup.ui -+++ b/setup/python2/setup.ui -@@ -2,7 +2,7 @@ - - - 10 -- 0 -+ 1 - 0 - 1 - 0 -diff --git a/setup/python3/setup.ui b/setup/python3/setup.ui -index 88b19b8..3e82f2e 100644 ---- a/setup/python3/setup.ui -+++ b/setup/python3/setup.ui -@@ -2,7 +2,7 @@ - - - 10 -- 0 -+ 1 - 0 - 1 - 0 --- -2.34.1 - -From 8cfc210cccbe7324e1fbe7d7911eba33c786a520 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 3 Aug 2022 18:02:02 +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..af32a5a 100644 ---- a/data/ibus-anthy.appdata.xml.in -+++ b/data/ibus-anthy.appdata.xml.in -@@ -1,10 +1,12 @@ - -+ - - org.freedesktop.ibus.engine.anthy - GFDL-1.3 - GPL-2.0 - Anthy - Japanese input method -+ https://raw.githubusercontent.com/ibus/ibus-anthy/main/icons/ibus-anthy.png - -

- The Anthy input method is designed for entering Japanese text. -@@ -15,9 +17,29 @@ - out on a traditional keyboard. -

-
-+ -+ input-method -+ Japanese -+ - https://github.com/ibus/ibus/wiki - https://github.com/ibus/ibus-anthy/issues - https://github.com/ibus/ibus/wiki/FAQ -+ https://translate.fedoraproject.org/projects/ibus/ibus-anthy/ -+ -+ -+ -+

See the upstream release list.

-+
-+ https://github.com/ibus/ibus-anthy/releases -+
-+
-+ IBus -+ -+ -+ The Anthy input method is designed for entering Japanese text. -+ http://ibus.github.io/images/2.png -+ -+ - ibus-anthy - tfujiwar_AT_redhat.com -
--- -2.35.3 - -From 8aed07707fba1b7fafed73227916718458409c29 Mon Sep 17 00:00:00 2001 -From: fujiwarat -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 --# Copyright (c) 2010-2021 Takao Fujiwara -+# Copyright (c) 2010-2022 Takao Fujiwara - # 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 --# Copyright (c) 2010-2021 Takao Fujiwara -+# Copyright (c) 2010-2022 Takao Fujiwara - # 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?= -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 `:w` easily get wired into muscle memory. - -For comparison, uim has got a vi-cooperative mode for that use case. See - 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 - -From d1e6853dc4f3cd26b5846b6e4e255bfcaf4e381a Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 26 Jan 2023 19:11:16 +0900 -Subject: [PATCH] engine: Fix page_up/page_down class methods (#27) - ---- - engine/python2/engine.py | 6 +++--- - engine/python3/engine.py | 6 +++--- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 218b485..56c0cd5 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 --# Copyright (c) 2010-2022 Takao Fujiwara -+# Copyright (c) 2010-2023 Takao Fujiwara - # Copyright (c) 2007-2018 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -1536,14 +1536,14 @@ class Engine(IBus.EngineSimple): - if self.__preedit_ja_string.is_empty(): - return False - if self.__lookup_table_visible == True: -- self.do_page_up() -+ self.__page_up(self) - return True - - def __on_key_page_down(self): - if self.__preedit_ja_string.is_empty(): - return False - if self.__lookup_table_visible == True: -- self.do_page_down() -+ self.__page_down(self) - return True - - '''def __on_key_left(self): -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index abb9c02..2ebf894 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 --# Copyright (c) 2010-2022 Takao Fujiwara -+# Copyright (c) 2010-2023 Takao Fujiwara - # Copyright (c) 2007-2018 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -1531,14 +1531,14 @@ class Engine(IBus.EngineSimple): - if self.__preedit_ja_string.is_empty(): - return False - if self.__lookup_table_visible == True: -- self.do_page_up() -+ self.__page_up(self) - return True - - def __on_key_page_down(self): - if self.__preedit_ja_string.is_empty(): - return False - if self.__lookup_table_visible == True: -- self.do_page_down() -+ self.__page_down(self) - return True - - '''def __on_key_left(self): --- -2.38.1 - -From 227ec140cdf4ffcc4f129f59d9ca7db2076554b2 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 26 Jan 2023 19:42:25 +0900 -Subject: [PATCH] data: Update era.t with 2023 - ---- - data/era.t | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/data/era.t b/data/era.t -index 686271f..7f7bd1b 100644 ---- a/data/era.t -+++ b/data/era.t -@@ -2,7 +2,7 @@ - # - # ibus-anthy - The Anthy engine for IBus - # --# Copyright (c) 2010-2022 Takao Fujiwara -+# Copyright (c) 2010-2023 Takao Fujiwara - # Copyright (c) 2010-2013 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -340,6 +340,8 @@ - れいわ3 #T35*500 2021 - れいわ4 #T35*500 令和4 - れいわ4 #T35*500 2022 -+れいわ5 #T35*500 令和5 -+れいわ5 #T35*500 2023 - 1868 #T35*500 明治1 - 1869 #T35*500 明治2 - 1870 #T35*500 明治3 -@@ -499,3 +501,4 @@ - 2020 #T35*500 令和2 - 2021 #T35*500 令和3 - 2022 #T35*500 令和4 -+2023 #T35*500 令和5 --- -2.38.1 - -From 56629c6f9d5e289fdd16388965516fe5ebf5c8dc Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 17 Feb 2023 15:52:58 +0900 -Subject: [PATCH 8/8] engine: Fix to find compose resource in IBus core - -IBus.init() has been required since 1.5.28 after the EN compose -table was moved to GResource. ---- - engine/python2/main.py | 3 ++- - engine/python3/main.py | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/engine/python2/main.py b/engine/python2/main.py -index 096cd41..c366293 100644 ---- a/engine/python2/main.py -+++ b/engine/python2/main.py -@@ -4,7 +4,7 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2016 Takao Fujiwara -+# Copyright (c) 2010-2023 Takao Fujiwara - # Copyright (c) 2007-2016 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -179,6 +179,7 @@ def main(): - print >> sys.stderr, 'Unknown argument: %s' % o - print_help(sys.stderr, 1) - -+ IBus.init() - if daemonize: - if os.fork(): - sys.exit() -diff --git a/engine/python3/main.py b/engine/python3/main.py -index 1a2e6fd..8665ae0 100644 ---- a/engine/python3/main.py -+++ b/engine/python3/main.py -@@ -4,7 +4,7 @@ - # ibus-anthy - The Anthy engine for IBus - # - # Copyright (c) 2007-2008 Peng Huang --# Copyright (c) 2010-2016 Takao Fujiwara -+# Copyright (c) 2010-2023 Takao Fujiwara - # Copyright (c) 2007-2016 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -177,6 +177,7 @@ def main(): - print('Unknown argument: %s' % o, file=sys.stderr) - print_help(sys.stderr, 1) - -+ IBus.init() - if daemonize: - if os.fork(): - sys.exit() --- -2.38.1 - -From ddb7d64007f25aa0108ae9bf65b96aa063157c0a Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 13 Jul 2023 17:49:57 +0900 -Subject: [PATCH] engine: Enable OSK mode - -Currently gnome-shell sends IBUS_CAP_OSK when OSK(On-Screen Keyboard) -is enabled in GNOME Wayland only. -However users still can type characters using the physical keyboard -while OSK is enabled so the current status is not perfect. - -But ibus-anthy now commit the preedit when a candidate is clicked -on IBus lookup table instead of the selection in the OSK mode. - -BUG=https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2415 -BUG=https://gitlab.gnome.org/GNOME/mutter/-/issues/2441 -BUG=rhbz#2015149 ---- - engine/python2/engine.py | 34 ++++++++++++++++++++++++++++------ - engine/python3/engine.py | 34 ++++++++++++++++++++++++++++------ - 2 files changed, 56 insertions(+), 12 deletions(-) - -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 56c0cd5..4b3da97 100644 ---- a/engine/python2/engine.py -+++ b/engine/python2/engine.py -@@ -150,6 +150,10 @@ class Engine(IBus.EngineSimple): - self.__prop_dict = {} - self.__input_purpose = 0 - self.__has_input_purpose = False -+ # OSK mode is designed for OSK on gnome-shell, which always shows -+ # IBus lookup window prior to the preedit and selecting a candidate -+ # causes the commmit instead of the selection. -+ self.__osk_mode = False - if hasattr(IBus, 'InputPurpose'): - self.__has_input_purpose = True - try: -@@ -805,7 +809,10 @@ class Engine(IBus.EngineSimple): - keyval = IBus.KEY_0 - else: - keyval = IBus.KEY_1 + index -+ prev_cursor_pos = self.__cursor_pos - self.__on_key_number(keyval) -+ if self.__osk_mode and prev_cursor_pos == self.__cursor_pos: -+ self.__on_key_return() - - def __commit_string(self, text): - self.__reset() -@@ -1094,6 +1101,9 @@ class Engine(IBus.EngineSimple): - self.__reset() - self.__invalidate() - -+ def do_set_capabilities(self, caps): -+ self.__osk_mode = True if caps & IBus.Capabilite.OSK else False -+ - def __destroy(self, obj): - if self.__idle_id != 0: - GLib.source_remove(self.__idle_id) -@@ -1148,7 +1158,10 @@ class Engine(IBus.EngineSimple): - else: - self.__cursor_pos = 0 - self.__fill_lookup_table() -- self.__lookup_table_visible = False -+ if self.__osk_mode: -+ self.__lookup_table_visible = True -+ else: -+ self.__lookup_table_visible = False - - def __end_anthy_convert(self): - if self.__convert_mode == CONV_MODE_OFF: -@@ -1353,7 +1366,8 @@ class Engine(IBus.EngineSimple): - self.__lookup_table.set_cursor_pos(0) - candidate = UN(self.__lookup_table.get_candidate(0).get_text()) - self.__segments[self.__cursor_pos] = 0, candidate -- self.__lookup_table_visible = False -+ if not self.__osk_mode: -+ self.__lookup_table_visible = False - elif self.__segments[self.__cursor_pos][0] != \ - NTH_UNCONVERTED_CANDIDATE: - buf = self.__context.get_segment(self.__cursor_pos, -@@ -1582,7 +1596,8 @@ class Engine(IBus.EngineSimple): - return True - - self.__cursor_pos += 1 -- self.__lookup_table_visible = False -+ if not self.__osk_mode: -+ self.__lookup_table_visible = False - self.__fill_lookup_table() - self.__invalidate() - return True -@@ -2314,7 +2329,10 @@ class Engine(IBus.EngineSimple): - self.__convert_mode = CONV_MODE_PREDICTION - self.__cursor_pos = 0 - self.__fill_lookup_table() -- self.__lookup_table_visible = False -+ if self.__osk_mode: -+ self.__lookup_table_visible = True -+ else: -+ self.__lookup_table_visible = False - self.__invalidate() - - return True -@@ -2393,7 +2411,10 @@ class Engine(IBus.EngineSimple): - self.__convert_mode = CONV_MODE_ANTHY - self.__cursor_pos = 0 - self.__fill_lookup_table() -- self.__lookup_table_visible = False -+ if self.__osk_mode: -+ self.__lookup_table_visible = True -+ else: -+ self.__lookup_table_visible = False - self.__invalidate() - - return True -@@ -2549,7 +2570,8 @@ class Engine(IBus.EngineSimple): - index = self.__lookup_table.get_cursor_pos() - candidate = UN(self.__lookup_table.get_candidate(index).get_text()) - self.__segments[self.__cursor_pos] = index, candidate -- self.__lookup_table_visible = False -+ if not self.__osk_mode: -+ self.__lookup_table_visible = False - self.__on_key_right() - self.__invalidate() - return True -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index 2ebf894..20786f2 100644 ---- a/engine/python3/engine.py -+++ b/engine/python3/engine.py -@@ -151,6 +151,10 @@ class Engine(IBus.EngineSimple): - self.__prop_dict = {} - self.__input_purpose = 0 - self.__has_input_purpose = False -+ # OSK mode is designed for OSK on gnome-shell, which always shows -+ # IBus lookup window prior to the preedit and selecting a candidate -+ # causes the commmit instead of the selection. -+ self.__osk_mode = False - if hasattr(IBus, 'InputPurpose'): - self.__has_input_purpose = True - try: -@@ -800,7 +804,10 @@ class Engine(IBus.EngineSimple): - keyval = IBus.KEY_0 - else: - keyval = IBus.KEY_1 + index -+ prev_cursor_pos = self.__cursor_pos - self.__on_key_number(keyval) -+ if self.__osk_mode and prev_cursor_pos == self.__cursor_pos: -+ self.__on_key_return() - - def __commit_string(self, text): - self.__reset() -@@ -1089,6 +1096,9 @@ class Engine(IBus.EngineSimple): - self.__reset() - self.__invalidate() - -+ def do_set_capabilities(self, caps): -+ self.__osk_mode = True if caps & IBus.Capabilite.OSK else False -+ - def __destroy(self, obj): - if self.__idle_id != 0: - GLib.source_remove(self.__idle_id) -@@ -1143,7 +1153,10 @@ class Engine(IBus.EngineSimple): - else: - self.__cursor_pos = 0 - self.__fill_lookup_table() -- self.__lookup_table_visible = False -+ if self.__osk_mode: -+ self.__lookup_table_visible = True -+ else: -+ self.__lookup_table_visible = False - - def __end_anthy_convert(self): - if self.__convert_mode == CONV_MODE_OFF: -@@ -1348,7 +1361,8 @@ class Engine(IBus.EngineSimple): - self.__lookup_table.set_cursor_pos(0) - candidate = self.__lookup_table.get_candidate(0).get_text() - self.__segments[self.__cursor_pos] = 0, candidate -- self.__lookup_table_visible = False -+ if not self.__osk_mode: -+ self.__lookup_table_visible = False - elif self.__segments[self.__cursor_pos][0] != \ - NTH_UNCONVERTED_CANDIDATE: - buf = self.__context.get_segment(self.__cursor_pos, -@@ -1577,7 +1591,8 @@ class Engine(IBus.EngineSimple): - return True - - self.__cursor_pos += 1 -- self.__lookup_table_visible = False -+ if not self.__osk_mode: -+ self.__lookup_table_visible = False - self.__fill_lookup_table() - self.__invalidate() - return True -@@ -2308,7 +2323,10 @@ class Engine(IBus.EngineSimple): - self.__convert_mode = CONV_MODE_PREDICTION - self.__cursor_pos = 0 - self.__fill_lookup_table() -- self.__lookup_table_visible = False -+ if self.__osk_mode: -+ self.__lookup_table_visible = True -+ else: -+ self.__lookup_table_visible = False - self.__invalidate() - - return True -@@ -2387,7 +2405,10 @@ class Engine(IBus.EngineSimple): - self.__convert_mode = CONV_MODE_ANTHY - self.__cursor_pos = 0 - self.__fill_lookup_table() -- self.__lookup_table_visible = False -+ if self.__osk_mode: -+ self.__lookup_table_visible = True -+ else: -+ self.__lookup_table_visible = False - self.__invalidate() - - return True -@@ -2543,7 +2564,8 @@ class Engine(IBus.EngineSimple): - index = self.__lookup_table.get_cursor_pos() - candidate = self.__lookup_table.get_candidate(index).get_text() - self.__segments[self.__cursor_pos] = index, candidate -- self.__lookup_table_visible = False -+ if not self.__osk_mode: -+ self.__lookup_table_visible = False - self.__on_key_right() - self.__invalidate() - return True --- -2.41.0 - -From c1ffc2bfcedab68ce79c2fa9a7f2bfe6cec17595 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 18 Aug 2023 18:52:58 +0900 -Subject: [PATCH] engine: Distinguish Super-space and space shortcut keys - -BUG=rhbz#2232532 ---- - engine/python2/engine.py | 3 ++- - engine/python3/engine.py | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 4b3da97..80cfa86 100644 ---- a/engine/python2/engine.py -+++ b/engine/python2/engine.py -@@ -1940,7 +1940,8 @@ class Engine(IBus.EngineSimple): - - state = state & (IBus.ModifierType.SHIFT_MASK | - IBus.ModifierType.CONTROL_MASK | -- IBus.ModifierType.MOD1_MASK) -+ IBus.ModifierType.MOD1_MASK | -+ IBus.ModifierType.MOD4_MASK) - - # ignore key release events - if not is_press: -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index 20786f2..7c0d283 100644 ---- a/engine/python3/engine.py -+++ b/engine/python3/engine.py -@@ -1935,7 +1935,8 @@ class Engine(IBus.EngineSimple): - - state = state & (IBus.ModifierType.SHIFT_MASK | - IBus.ModifierType.CONTROL_MASK | -- IBus.ModifierType.MOD1_MASK) -+ IBus.ModifierType.MOD1_MASK | -+ IBus.ModifierType.MOD4_MASK) - - # ignore key release events - if not is_press: --- -2.41.0 - From 8eceb8e421a07a93016d74634a6efda511eed8a2 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 22 Aug 2023 13:34:36 +0900 Subject: [PATCH 168/202] Bump to 1.5.15 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 0 ibus-anthy.spec | 9 +++++---- sources | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 ibus-anthy-HEAD.patch diff --git a/.gitignore b/.gitignore index 10abb26..cd2030d 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ ibus-anthy.png /ibus-anthy-1.5.12.tar.gz /ibus-anthy-1.5.13.tar.gz /ibus-anthy-1.5.14.tar.gz +/ibus-anthy-1.5.15.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..e69de29 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 6936f98..63ba817 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -17,8 +17,8 @@ %endif Name: ibus-anthy -Version: 1.5.14 -Release: 15%{?dist} +Version: 1.5.15 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -26,7 +26,6 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -91,7 +90,6 @@ the functionality of the installed %{name} package. %build #autoreconf -f -i -v -autoreconf -f -i -v %configure \ %if %have_default_layout --with-layout='default' \ @@ -156,6 +154,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Tue Aug 22 2023 Takao Fujiwara - 1.5.15-1 +- Bump to 1.5.15 + * Fri Aug 18 2023 Takao Fujiwara - 1.5.14-15 - Resolves #2232532 converting Super+Space to wide space character diff --git a/sources b/sources index aad6592..7eb2667 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ibus-anthy-1.5.14.tar.gz) = 1c18bb18f270f52ae32720062b69d29f2005ecffe7f2418e3f0688c4c23b2d6742b5298ab2283a1937987bb2ce7e63a913107e0c079974775daa898f3619d1d9 +SHA512 (ibus-anthy-1.5.15.tar.gz) = 1da813167bfa610a49a3b931c7484f488e4119df22434f5b89e64161b70058b421abb37ffb6a3017602e868a744821024c9f5e7b8df31ab2931444078d8f7ffe From fe2b41f1ee741c115b22d284709e3a1ab72dd928 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 7 Sep 2023 13:23:24 +0900 Subject: [PATCH 169/202] Resolves #2237374 Fix to commit selected candidate with OSK --- ibus-anthy-HEAD.patch | 85 +++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 6 ++- 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e69de29..141a2e8 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1,85 @@ +From 137f5d7b0eff9a6e631685a567d06b992146e362 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 7 Sep 2023 12:57:47 +0900 +Subject: [PATCH] engine: Fix to commit selected candidate with OSK + +Updating preedit after clicking a candidate on IBus candidate window +has an idle time so committing the preedit has to wait for the idle time. + +BUG=rhbz#2237374 +--- + engine/python2/engine.py | 9 ++++++++- + engine/python3/engine.py | 9 ++++++++- + 2 files changed, 16 insertions(+), 2 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 80cfa86..42d4dc1 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -154,6 +154,7 @@ class Engine(IBus.EngineSimple): + # IBus lookup window prior to the preedit and selecting a candidate + # causes the commmit instead of the selection. + self.__osk_mode = False ++ self.__selected_preedit_commit = False + if hasattr(IBus, 'InputPurpose'): + self.__has_input_purpose = True + try: +@@ -812,7 +813,10 @@ class Engine(IBus.EngineSimple): + prev_cursor_pos = self.__cursor_pos + self.__on_key_number(keyval) + if self.__osk_mode and prev_cursor_pos == self.__cursor_pos: +- self.__on_key_return() ++ if self.__idle_id != 0: ++ self.__selected_preedit_commit = True ++ else: ++ self.__on_key_return() + + def __commit_string(self, text): + self.__reset() +@@ -1328,6 +1332,9 @@ class Engine(IBus.EngineSimple): + else: + self.__update_convert_chars() + self.__idle_id = 0 ++ if self.__osk_mode and self.__selected_preedit_commit: ++ self.__on_key_return() ++ self.__selected_preedit_commit = False + + def __on_key_return(self): + if self.__preedit_ja_string.is_empty(): +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 7c0d283..4b50a01 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -155,6 +155,7 @@ class Engine(IBus.EngineSimple): + # IBus lookup window prior to the preedit and selecting a candidate + # causes the commmit instead of the selection. + self.__osk_mode = False ++ self.__selected_preedit_commit = False + if hasattr(IBus, 'InputPurpose'): + self.__has_input_purpose = True + try: +@@ -807,7 +808,10 @@ class Engine(IBus.EngineSimple): + prev_cursor_pos = self.__cursor_pos + self.__on_key_number(keyval) + if self.__osk_mode and prev_cursor_pos == self.__cursor_pos: +- self.__on_key_return() ++ if self.__idle_id != 0: ++ self.__selected_preedit_commit = True ++ else: ++ self.__on_key_return() + + def __commit_string(self, text): + self.__reset() +@@ -1323,6 +1327,9 @@ class Engine(IBus.EngineSimple): + else: + self.__update_convert_chars() + self.__idle_id = 0 ++ if self.__osk_mode and self.__selected_preedit_commit: ++ self.__on_key_return() ++ self.__selected_preedit_commit = False + + def __on_key_return(self): + if self.__preedit_ja_string.is_empty(): +-- +2.41.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 63ba817..ba61d12 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.15 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -26,6 +26,7 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -154,6 +155,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Thu Sep 07 2023 Takao Fujiwara - 1.5.15-2 +- Resolves #2237374 Fix to commit selected candidate with OSK + * Tue Aug 22 2023 Takao Fujiwara - 1.5.15-1 - Bump to 1.5.15 From f4ccb4bba383193c39cb560d5a1b5719138642e1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jan 2024 22:49:23 +0000 Subject: [PATCH 170/202] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index ba61d12..5b9bb3f 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.15 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -155,6 +155,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Sat Jan 20 2024 Fedora Release Engineering - 1.5.15-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Sep 07 2023 Takao Fujiwara - 1.5.15-2 - Resolves #2237374 Fix to commit selected candidate with OSK From 63fed62ed9fc75f6bcd05aa5ae5adcb108a3b60b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 22:26:32 +0000 Subject: [PATCH 171/202] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- ibus-anthy.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 5b9bb3f..1563415 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.15 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -155,6 +155,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 1.5.15-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Jan 20 2024 Fedora Release Engineering - 1.5.15-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From b3293cdd26201b84737b2bfdd3c32d1391aada9a Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 30 Jan 2024 13:31:11 +0900 Subject: [PATCH 172/202] Resolves #2261242 Update era.t with 2024 - Add appstream-util validattion --- ibus-anthy-HEAD.patch | 39 +++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 10 ++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 141a2e8..de26236 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -83,3 +83,42 @@ index 7c0d283..4b50a01 100644 -- 2.41.0 +From 0cb7776994fadb4a4edf3259133bb40e7db31936 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 30 Jan 2024 11:47:51 +0900 +Subject: [PATCH] data: Update era.t with 2024 + +--- + data/era.t | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/data/era.t b/data/era.t +index 7f7bd1b..8750bc5 100644 +--- a/data/era.t ++++ b/data/era.t +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2023 Takao Fujiwara ++# Copyright (c) 2010-2024 Takao Fujiwara + # Copyright (c) 2010-2013 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -342,6 +342,8 @@ + れいわ4 #T35*500 2022 + れいわ5 #T35*500 令和5 + れいわ5 #T35*500 2023 ++れいわ6 #T35*500 令和6 ++れいわ6 #T35*500 2024 + 1868 #T35*500 明治1 + 1869 #T35*500 明治2 + 1870 #T35*500 明治3 +@@ -502,3 +504,4 @@ + 2021 #T35*500 令和3 + 2022 #T35*500 令和4 + 2023 #T35*500 令和5 ++2024 #T35*500 令和6 +-- +2.43.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 1563415..f7ce310 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.15 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -40,6 +40,7 @@ BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: python3-devel BuildRequires: python3-gobject +BuildRequires: /usr/bin/appstream-util Requires: ibus >= %{require_ibus_version} %if %{with kasumi_unicode} @@ -118,6 +119,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libanthygobject-%{sub_version}.la %check desktop-file-validate \ $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup-anthy.desktop +appstream-util validate-relax --nonet $RPM_BUILD_ROOT%{_metainfodir}/*.xml export LANG=C.UTF-8 locale make -C data check @@ -138,10 +140,10 @@ make -C data check %files python %{_libexecdir}/ibus-*-anthy -%{_datadir}/metainfo/*.metainfo.xml %{_datadir}/ibus-anthy/engine %{_datadir}/ibus-anthy/setup %{_datadir}/ibus/component/* +%{_metainfodir}/*.xml %files devel %{_datadir}/gir-1.0/Anthy*.gir @@ -155,6 +157,10 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Tue Jan 30 2024 Takao Fujiwara - 1.5.15-5 +- Resolves #2261242 Update era.t with 2024 +- Add appstream-util validattion + * Wed Jan 24 2024 Fedora Release Engineering - 1.5.15-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 7bb64e22eb784daa95652cb7c5a041617c521491 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 31 Jan 2024 12:02:43 +0900 Subject: [PATCH 173/202] Fix make check with GitHub action --- ibus-anthy-HEAD.patch | 207 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 5 +- 2 files changed, 211 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index de26236..eea94cb 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -1,3 +1,116 @@ +From b279e156ea219833af7515ffa588c82889a1fa73 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer +Date: Wed, 23 Aug 2023 11:17:02 +0900 +Subject: [PATCH 1/2] test-build.sh: Fix pycotap detection + +* tests/test-build.sh (init_environment): Extract pycotap checks to... +(maybe_install_pycotap): ... this new procedure. Test if it runs +successfully directly instead of looking into the Python --user-site. + +BUG=https://github.com/ibus/ibus-anthy/pull/35 +--- + tests/test-build.sh | 37 ++++++++++++++++++++++--------------- + 1 file changed, 22 insertions(+), 15 deletions(-) + +diff --git a/tests/test-build.sh b/tests/test-build.sh +index e83b78f..bbfa7e1 100755 +--- a/tests/test-build.sh ++++ b/tests/test-build.sh +@@ -63,26 +63,33 @@ parse_args() + done; + } + ++maybe_install_pycotap() { ++ # Red Hat specific hint. ++ if test -f /etc/redhat-release ; then ++ if ! rpm -q --quiet python3-pycotap; then ++ echo "Please install python3-pycotap" ++ exit -1 ++ fi ++ fi; ++ ++ # Check if pycotap is already available. ++ if ! python3 -m pycotap >/dev/null; then ++ echo "pycotap not found; installing via pip" ++ if ! pip install pycotap --user; then ++ echo "failed to install pycotap" ++ exit -1 ++ fi ++ fi ++} ++ + init_environment() + { + if test x$FORCE_TEST != x ; then + RUN_ARGS="$RUN_ARGS --force"; + fi; +- HAS_TAP=0; +- if test -f /etc/redhat-release ; then +- rpm -q --quiet python3-pycotap +- if test $? -ne 0 ; then +- echo "Not found python3-pycotap"; +- exit -1; +- fi; +- HAS_TAP=1; +- fi; +- TAP_DIR=`python -m site --user-site`/pycotap; +- if test $HAS_TAP -ne 1 && \ +- test x"$TAP_DIR" != x && test ! -d "$TAP_DIR" ; then +- echo "pip install pycotap --user"; +- pip install pycotap --user; +- fi; ++ ++ maybe_install_pycotap ++ + if test ! -f $BUILDDIR/../data/$ANTHY_SCHEMA_FILE ; then + echo "Not found $BUILDDIR/../data/$ANTHY_SCHEMA_FILE"; + exit -1; +-- +2.43.0 + +From 678e1f0f03fe2361153e58930b5339f5a04fcc70 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 23 Aug 2023 11:27:16 +0900 +Subject: [PATCH 2/2] tests: Run ibus-daemon without panel + +ibus-panel package has been separated since Fedora 39 and this test +does not need ibus-panel. +Also checks pip3. +--- + tests/test-build.sh | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/tests/test-build.sh b/tests/test-build.sh +index bbfa7e1..78c8e04 100755 +--- a/tests/test-build.sh ++++ b/tests/test-build.sh +@@ -74,8 +74,12 @@ maybe_install_pycotap() { + + # Check if pycotap is already available. + if ! python3 -m pycotap >/dev/null; then +- echo "pycotap not found; installing via pip" +- if ! pip install pycotap --user; then ++ PIP=pip3 ++ if ! command -v $PIP &> /dev/null ; then ++ PIP=pip ++ fi ++ echo "pycotap not found; installing via $PIP" ++ if ! $PIP install pycotap --user; then + echo "failed to install pycotap" + exit -1 + fi +@@ -118,7 +122,7 @@ init_environment() + + run_ibus_daemon() + { +- ibus-daemon --daemonize --verbose; ++ ibus-daemon --daemonize --verbose --panel disable; + sleep 1; + SUSER=`echo "$USER" | cut -c 1-7`; + ps -ef | grep "$SUSER" | grep ibus | grep -v grep; +-- +2.43.0 + From 137f5d7b0eff9a6e631685a567d06b992146e362 Mon Sep 17 00:00:00 2001 From: fujiwarat Date: Thu, 7 Sep 2023 12:57:47 +0900 @@ -122,3 +235,97 @@ index 7f7bd1b..8750bc5 100644 -- 2.43.0 +From 16ba437ea9e72685f9ac3bce7000c4e9b4bd2e7b Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 31 Jan 2024 10:44:48 +0900 +Subject: [PATCH] tests: Fix make check with GitHub action + +The test scripts invoke anthytest.py whose unittest can skip tests +unless Display is available and the return value has been changed +since Python 3.12.1 + +No pycotap.__main__ and cannot be directly executed with `-m` option. + +Fedora 39 Docker does not provide USER environment variable. + +Fixes: https://github.com/ibus/ibus-anthy/commit/b279e15 +--- + tests/test-build.sh | 14 ++++++++++---- + tests/test-console.sh | 8 ++++++-- + 2 files changed, 16 insertions(+), 6 deletions(-) + +diff --git a/tests/test-build.sh b/tests/test-build.sh +index 78c8e04..4f6a5f7 100755 +--- a/tests/test-build.sh ++++ b/tests/test-build.sh +@@ -28,6 +28,8 @@ ANTHY_SCHEMA_FILE=org.freedesktop.ibus.engine.anthy.gschema.xml; + SCHEMA_TMPDIR=""; + FORCE_TEST=""; + RUN_ARGS=""; ++# Fedora 39 Docker does not provide USER ++USER=${USER:-`id | sed -e "s/uid=[0-9]*(\([^)]*\)).*/\1/"`}; + + usage() + { +@@ -73,7 +75,8 @@ maybe_install_pycotap() { + fi; + + # Check if pycotap is already available. +- if ! python3 -m pycotap >/dev/null; then ++ # No pycotap.__main__ and cannot be directly executed with `-m` option ++ if ! python3 -c "import pycotap"; then + PIP=pip3 + if ! command -v $PIP &> /dev/null ; then + PIP=pip +@@ -122,7 +125,8 @@ init_environment() + + run_ibus_daemon() + { +- ibus-daemon --daemonize --verbose --panel disable; ++ # this script can run without Display ++ ibus-daemon --daemonize --verbose --panel disable --emoji-extension disable; + sleep 1; + SUSER=`echo "$USER" | cut -c 1-7`; + ps -ef | grep "$SUSER" | grep ibus | grep -v grep; +@@ -141,8 +145,10 @@ run_test_suite() + env IBUS_ANTHY_ENGINE_PATH=$SRCDIR/../engine/python$i \ + IBUS_ANTHY_SETUP_PATH=$SRCDIR/../setup/python$i \ + python$i -u $SRCDIR/anthytest.py $RUN_ARGS; +- if test $? -ne 0 ; then +- exit -1; ++ RETVAL=$? ++ # Return 5 with "NO TESTS RAN" in unittest/runner.py since python 3.12.1 ++ if test $RETVAL -ne 0 && test $RETVAL -ne 5; then ++ exit 1; + fi; + if test x$FORCE_TEST = x ; then + rm -r $HOME/.anthy; +diff --git a/tests/test-console.sh b/tests/test-console.sh +index 374afa8..0116ae2 100755 +--- a/tests/test-console.sh ++++ b/tests/test-console.sh +@@ -34,6 +34,8 @@ PID_XORG=0; + PID_GNOME_SESSION=0; + FORCE_TEST=""; + RUN_ARGS="--exit"; ++# Fedora 39 Docker does not provide USER ++USER=${USER:-`id | sed -e "s/uid=[0-9]*(\([^)]*\)).*/\1/"`}; + + usage() + { +@@ -152,8 +154,10 @@ run_test_suite() + echo "#### Starting $PYTHON API test $RUN_ARGS"; + export GTK_IM_MODULE=ibus + $PYTHON -u $SRCDIR/anthytest.py $RUN_ARGS; +- if test $? -ne 0 ; then +- exit -1; ++ RETVAL=$? ++ # Return 5 with "NO TESTS RAN" in unittest/runner.py since python 3.12.1 ++ if test $RETVAL -ne 0 && test $RETVAL -ne 5; then ++ exit 1; + fi; + if test x$FORCE_TEST = x ; then + for ANTHY_CONFIG in ".anthy" ".config/anthy" ; do +-- +2.43.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index f7ce310..79c1817 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.15 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -157,6 +157,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Wed Jan 31 2024 Takao Fujiwara - 1.5.15-6 +- Fix make check with GitHub action + * Tue Jan 30 2024 Takao Fujiwara - 1.5.15-5 - Resolves #2261242 Update era.t with 2024 - Add appstream-util validattion From b5b5b22db7912cf94000a79cda07c162fae169ac Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 28 Feb 2024 21:36:37 +0900 Subject: [PATCH 174/202] Delete upstreamed ibus-anthy-HEAD.patch --- ibus-anthy-HEAD.patch | 331 ------------------------------------------ 1 file changed, 331 deletions(-) delete mode 100644 ibus-anthy-HEAD.patch diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch deleted file mode 100644 index eea94cb..0000000 --- a/ibus-anthy-HEAD.patch +++ /dev/null @@ -1,331 +0,0 @@ -From b279e156ea219833af7515ffa588c82889a1fa73 Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer -Date: Wed, 23 Aug 2023 11:17:02 +0900 -Subject: [PATCH 1/2] test-build.sh: Fix pycotap detection - -* tests/test-build.sh (init_environment): Extract pycotap checks to... -(maybe_install_pycotap): ... this new procedure. Test if it runs -successfully directly instead of looking into the Python --user-site. - -BUG=https://github.com/ibus/ibus-anthy/pull/35 ---- - tests/test-build.sh | 37 ++++++++++++++++++++++--------------- - 1 file changed, 22 insertions(+), 15 deletions(-) - -diff --git a/tests/test-build.sh b/tests/test-build.sh -index e83b78f..bbfa7e1 100755 ---- a/tests/test-build.sh -+++ b/tests/test-build.sh -@@ -63,26 +63,33 @@ parse_args() - done; - } - -+maybe_install_pycotap() { -+ # Red Hat specific hint. -+ if test -f /etc/redhat-release ; then -+ if ! rpm -q --quiet python3-pycotap; then -+ echo "Please install python3-pycotap" -+ exit -1 -+ fi -+ fi; -+ -+ # Check if pycotap is already available. -+ if ! python3 -m pycotap >/dev/null; then -+ echo "pycotap not found; installing via pip" -+ if ! pip install pycotap --user; then -+ echo "failed to install pycotap" -+ exit -1 -+ fi -+ fi -+} -+ - init_environment() - { - if test x$FORCE_TEST != x ; then - RUN_ARGS="$RUN_ARGS --force"; - fi; -- HAS_TAP=0; -- if test -f /etc/redhat-release ; then -- rpm -q --quiet python3-pycotap -- if test $? -ne 0 ; then -- echo "Not found python3-pycotap"; -- exit -1; -- fi; -- HAS_TAP=1; -- fi; -- TAP_DIR=`python -m site --user-site`/pycotap; -- if test $HAS_TAP -ne 1 && \ -- test x"$TAP_DIR" != x && test ! -d "$TAP_DIR" ; then -- echo "pip install pycotap --user"; -- pip install pycotap --user; -- fi; -+ -+ maybe_install_pycotap -+ - if test ! -f $BUILDDIR/../data/$ANTHY_SCHEMA_FILE ; then - echo "Not found $BUILDDIR/../data/$ANTHY_SCHEMA_FILE"; - exit -1; --- -2.43.0 - -From 678e1f0f03fe2361153e58930b5339f5a04fcc70 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 23 Aug 2023 11:27:16 +0900 -Subject: [PATCH 2/2] tests: Run ibus-daemon without panel - -ibus-panel package has been separated since Fedora 39 and this test -does not need ibus-panel. -Also checks pip3. ---- - tests/test-build.sh | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/tests/test-build.sh b/tests/test-build.sh -index bbfa7e1..78c8e04 100755 ---- a/tests/test-build.sh -+++ b/tests/test-build.sh -@@ -74,8 +74,12 @@ maybe_install_pycotap() { - - # Check if pycotap is already available. - if ! python3 -m pycotap >/dev/null; then -- echo "pycotap not found; installing via pip" -- if ! pip install pycotap --user; then -+ PIP=pip3 -+ if ! command -v $PIP &> /dev/null ; then -+ PIP=pip -+ fi -+ echo "pycotap not found; installing via $PIP" -+ if ! $PIP install pycotap --user; then - echo "failed to install pycotap" - exit -1 - fi -@@ -118,7 +122,7 @@ init_environment() - - run_ibus_daemon() - { -- ibus-daemon --daemonize --verbose; -+ ibus-daemon --daemonize --verbose --panel disable; - sleep 1; - SUSER=`echo "$USER" | cut -c 1-7`; - ps -ef | grep "$SUSER" | grep ibus | grep -v grep; --- -2.43.0 - -From 137f5d7b0eff9a6e631685a567d06b992146e362 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 7 Sep 2023 12:57:47 +0900 -Subject: [PATCH] engine: Fix to commit selected candidate with OSK - -Updating preedit after clicking a candidate on IBus candidate window -has an idle time so committing the preedit has to wait for the idle time. - -BUG=rhbz#2237374 ---- - engine/python2/engine.py | 9 ++++++++- - engine/python3/engine.py | 9 ++++++++- - 2 files changed, 16 insertions(+), 2 deletions(-) - -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 80cfa86..42d4dc1 100644 ---- a/engine/python2/engine.py -+++ b/engine/python2/engine.py -@@ -154,6 +154,7 @@ class Engine(IBus.EngineSimple): - # IBus lookup window prior to the preedit and selecting a candidate - # causes the commmit instead of the selection. - self.__osk_mode = False -+ self.__selected_preedit_commit = False - if hasattr(IBus, 'InputPurpose'): - self.__has_input_purpose = True - try: -@@ -812,7 +813,10 @@ class Engine(IBus.EngineSimple): - prev_cursor_pos = self.__cursor_pos - self.__on_key_number(keyval) - if self.__osk_mode and prev_cursor_pos == self.__cursor_pos: -- self.__on_key_return() -+ if self.__idle_id != 0: -+ self.__selected_preedit_commit = True -+ else: -+ self.__on_key_return() - - def __commit_string(self, text): - self.__reset() -@@ -1328,6 +1332,9 @@ class Engine(IBus.EngineSimple): - else: - self.__update_convert_chars() - self.__idle_id = 0 -+ if self.__osk_mode and self.__selected_preedit_commit: -+ self.__on_key_return() -+ self.__selected_preedit_commit = False - - def __on_key_return(self): - if self.__preedit_ja_string.is_empty(): -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index 7c0d283..4b50a01 100644 ---- a/engine/python3/engine.py -+++ b/engine/python3/engine.py -@@ -155,6 +155,7 @@ class Engine(IBus.EngineSimple): - # IBus lookup window prior to the preedit and selecting a candidate - # causes the commmit instead of the selection. - self.__osk_mode = False -+ self.__selected_preedit_commit = False - if hasattr(IBus, 'InputPurpose'): - self.__has_input_purpose = True - try: -@@ -807,7 +808,10 @@ class Engine(IBus.EngineSimple): - prev_cursor_pos = self.__cursor_pos - self.__on_key_number(keyval) - if self.__osk_mode and prev_cursor_pos == self.__cursor_pos: -- self.__on_key_return() -+ if self.__idle_id != 0: -+ self.__selected_preedit_commit = True -+ else: -+ self.__on_key_return() - - def __commit_string(self, text): - self.__reset() -@@ -1323,6 +1327,9 @@ class Engine(IBus.EngineSimple): - else: - self.__update_convert_chars() - self.__idle_id = 0 -+ if self.__osk_mode and self.__selected_preedit_commit: -+ self.__on_key_return() -+ self.__selected_preedit_commit = False - - def __on_key_return(self): - if self.__preedit_ja_string.is_empty(): --- -2.41.0 - -From 0cb7776994fadb4a4edf3259133bb40e7db31936 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 30 Jan 2024 11:47:51 +0900 -Subject: [PATCH] data: Update era.t with 2024 - ---- - data/era.t | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/data/era.t b/data/era.t -index 7f7bd1b..8750bc5 100644 ---- a/data/era.t -+++ b/data/era.t -@@ -2,7 +2,7 @@ - # - # ibus-anthy - The Anthy engine for IBus - # --# Copyright (c) 2010-2023 Takao Fujiwara -+# Copyright (c) 2010-2024 Takao Fujiwara - # Copyright (c) 2010-2013 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -342,6 +342,8 @@ - れいわ4 #T35*500 2022 - れいわ5 #T35*500 令和5 - れいわ5 #T35*500 2023 -+れいわ6 #T35*500 令和6 -+れいわ6 #T35*500 2024 - 1868 #T35*500 明治1 - 1869 #T35*500 明治2 - 1870 #T35*500 明治3 -@@ -502,3 +504,4 @@ - 2021 #T35*500 令和3 - 2022 #T35*500 令和4 - 2023 #T35*500 令和5 -+2024 #T35*500 令和6 --- -2.43.0 - -From 16ba437ea9e72685f9ac3bce7000c4e9b4bd2e7b Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 31 Jan 2024 10:44:48 +0900 -Subject: [PATCH] tests: Fix make check with GitHub action - -The test scripts invoke anthytest.py whose unittest can skip tests -unless Display is available and the return value has been changed -since Python 3.12.1 - -No pycotap.__main__ and cannot be directly executed with `-m` option. - -Fedora 39 Docker does not provide USER environment variable. - -Fixes: https://github.com/ibus/ibus-anthy/commit/b279e15 ---- - tests/test-build.sh | 14 ++++++++++---- - tests/test-console.sh | 8 ++++++-- - 2 files changed, 16 insertions(+), 6 deletions(-) - -diff --git a/tests/test-build.sh b/tests/test-build.sh -index 78c8e04..4f6a5f7 100755 ---- a/tests/test-build.sh -+++ b/tests/test-build.sh -@@ -28,6 +28,8 @@ ANTHY_SCHEMA_FILE=org.freedesktop.ibus.engine.anthy.gschema.xml; - SCHEMA_TMPDIR=""; - FORCE_TEST=""; - RUN_ARGS=""; -+# Fedora 39 Docker does not provide USER -+USER=${USER:-`id | sed -e "s/uid=[0-9]*(\([^)]*\)).*/\1/"`}; - - usage() - { -@@ -73,7 +75,8 @@ maybe_install_pycotap() { - fi; - - # Check if pycotap is already available. -- if ! python3 -m pycotap >/dev/null; then -+ # No pycotap.__main__ and cannot be directly executed with `-m` option -+ if ! python3 -c "import pycotap"; then - PIP=pip3 - if ! command -v $PIP &> /dev/null ; then - PIP=pip -@@ -122,7 +125,8 @@ init_environment() - - run_ibus_daemon() - { -- ibus-daemon --daemonize --verbose --panel disable; -+ # this script can run without Display -+ ibus-daemon --daemonize --verbose --panel disable --emoji-extension disable; - sleep 1; - SUSER=`echo "$USER" | cut -c 1-7`; - ps -ef | grep "$SUSER" | grep ibus | grep -v grep; -@@ -141,8 +145,10 @@ run_test_suite() - env IBUS_ANTHY_ENGINE_PATH=$SRCDIR/../engine/python$i \ - IBUS_ANTHY_SETUP_PATH=$SRCDIR/../setup/python$i \ - python$i -u $SRCDIR/anthytest.py $RUN_ARGS; -- if test $? -ne 0 ; then -- exit -1; -+ RETVAL=$? -+ # Return 5 with "NO TESTS RAN" in unittest/runner.py since python 3.12.1 -+ if test $RETVAL -ne 0 && test $RETVAL -ne 5; then -+ exit 1; - fi; - if test x$FORCE_TEST = x ; then - rm -r $HOME/.anthy; -diff --git a/tests/test-console.sh b/tests/test-console.sh -index 374afa8..0116ae2 100755 ---- a/tests/test-console.sh -+++ b/tests/test-console.sh -@@ -34,6 +34,8 @@ PID_XORG=0; - PID_GNOME_SESSION=0; - FORCE_TEST=""; - RUN_ARGS="--exit"; -+# Fedora 39 Docker does not provide USER -+USER=${USER:-`id | sed -e "s/uid=[0-9]*(\([^)]*\)).*/\1/"`}; - - usage() - { -@@ -152,8 +154,10 @@ run_test_suite() - echo "#### Starting $PYTHON API test $RUN_ARGS"; - export GTK_IM_MODULE=ibus - $PYTHON -u $SRCDIR/anthytest.py $RUN_ARGS; -- if test $? -ne 0 ; then -- exit -1; -+ RETVAL=$? -+ # Return 5 with "NO TESTS RAN" in unittest/runner.py since python 3.12.1 -+ if test $RETVAL -ne 0 && test $RETVAL -ne 5; then -+ exit 1; - fi; - if test x$FORCE_TEST = x ; then - for ANTHY_CONFIG in ".anthy" ".config/anthy" ; do --- -2.43.0 - From 9221dfea3f64bf13f64c40616ab550445cc9ba90 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 28 Feb 2024 21:38:10 +0900 Subject: [PATCH 175/202] Bump to 1.5.16 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 0 ibus-anthy.spec | 8 +++++--- sources | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 ibus-anthy-HEAD.patch diff --git a/.gitignore b/.gitignore index cd2030d..b51f22e 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ ibus-anthy.png /ibus-anthy-1.5.13.tar.gz /ibus-anthy-1.5.14.tar.gz /ibus-anthy-1.5.15.tar.gz +/ibus-anthy-1.5.16.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..e69de29 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 79c1817..3ee8e31 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -17,8 +17,8 @@ %endif Name: ibus-anthy -Version: 1.5.15 -Release: 6%{?dist} +Version: 1.5.16 +Release: 1%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -26,7 +26,6 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -157,6 +156,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Wed Feb 28 2024 Takao Fujiwara - 1.5.16-1 +- Bump to 1.5.16 + * Wed Jan 31 2024 Takao Fujiwara - 1.5.15-6 - Fix make check with GitHub action diff --git a/sources b/sources index 7eb2667..012042b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ibus-anthy-1.5.15.tar.gz) = 1da813167bfa610a49a3b931c7484f488e4119df22434f5b89e64161b70058b421abb37ffb6a3017602e868a744821024c9f5e7b8df31ab2931444078d8f7ffe +SHA512 (ibus-anthy-1.5.16.tar.gz) = d1a7b9da402d85af955f96fd8618189fb2e682763f57b5d6b54e7bcf052138ba300f4ba8130a4ac0e8e1e8821319e9b6360e57568c84c1f9845438174e51a959 From 48996d6babbd5fede568555e76eef01ce69ab9ba Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 12 Mar 2024 19:21:56 +0900 Subject: [PATCH 176/202] Disable Super-l in Hiragana mode --- ibus-anthy-HEAD.patch | 64 +++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 6 +++- 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e69de29..e33d0c9 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1,64 @@ +From 9ae92d7b8085e869d37a068a1a94815c78de6110 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 12 Mar 2024 18:25:39 +0900 +Subject: [PATCH] engine: Ignore Super modifier key + +Super-l is a shortcut key to launch a lock screen in GNOME desktop +session and now it can be sent to the engine prior to the window +manager. +--- + engine/python2/engine.py | 6 ++++-- + engine/python3/engine.py | 6 ++++-- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index 42d4dc1..c7ccd3f 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 +-# Copyright (c) 2010-2023 Takao Fujiwara ++# Copyright (c) 2010-2024 Takao Fujiwara + # Copyright (c) 2007-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -1976,7 +1976,9 @@ class Engine(IBus.EngineSimple): + state & hex_mod_mask == hex_mod_mask: + return True + +- if state & (IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK): ++ if state & (IBus.ModifierType.CONTROL_MASK | \ ++ IBus.ModifierType.MOD1_MASK | \ ++ IBus.ModifierType.MOD4_MASK): + return False + + if (IBus.KEY_exclam <= keyval <= IBus.KEY_asciitilde or +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 4b50a01..0858614 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 +-# Copyright (c) 2010-2023 Takao Fujiwara ++# Copyright (c) 2010-2024 Takao Fujiwara + # Copyright (c) 2007-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -1971,7 +1971,9 @@ class Engine(IBus.EngineSimple): + state & hex_mod_mask == hex_mod_mask: + return True + +- if state & (IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK): ++ if state & (IBus.ModifierType.CONTROL_MASK | \ ++ IBus.ModifierType.MOD1_MASK | \ ++ IBus.ModifierType.MOD4_MASK): + return False + + if (IBus.KEY_exclam <= keyval <= IBus.KEY_asciitilde or +-- +2.43.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 3ee8e31..1a28874 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.16 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -26,6 +26,7 @@ Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/ # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -156,6 +157,9 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog +* Tue Mar 12 2024 Takao Fujiwara - 1.5.16-2 +- Disable Super-l in Hiragana mode + * Wed Feb 28 2024 Takao Fujiwara - 1.5.16-1 - Bump to 1.5.16 From 9486253b377cc829ca9bed3d14a1424d91f9e1e5 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 11 May 2024 18:02:36 +0900 Subject: [PATCH 177/202] Implement autochangelog --- changelog | 462 +++++++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 464 +----------------------------------------------- 2 files changed, 464 insertions(+), 462 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..2999d16 --- /dev/null +++ b/changelog @@ -0,0 +1,462 @@ +* Tue Mar 12 2024 Takao Fujiwara - 1.5.16-2 +- Disable Super-l in Hiragana mode + +* Wed Feb 28 2024 Takao Fujiwara - 1.5.16-1 +- Bump to 1.5.16 + +* Wed Jan 31 2024 Takao Fujiwara - 1.5.15-6 +- Fix make check with GitHub action + +* Tue Jan 30 2024 Takao Fujiwara - 1.5.15-5 +- Resolves #2261242 Update era.t with 2024 +- Add appstream-util validattion + +* Wed Jan 24 2024 Fedora Release Engineering - 1.5.15-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 1.5.15-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Sep 07 2023 Takao Fujiwara - 1.5.15-2 +- Resolves #2237374 Fix to commit selected candidate with OSK + +* Tue Aug 22 2023 Takao Fujiwara - 1.5.15-1 +- Bump to 1.5.15 + +* Fri Aug 18 2023 Takao Fujiwara - 1.5.14-15 +- Resolves #2232532 converting Super+Space to wide space character + +* Thu Jul 20 2023 Fedora Release Engineering - 1.5.14-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jul 13 2023 Takao Fujiwara - 1.5.14-13 +- Resolves #2015149 Commit candidate text with clicking on candidate list in OSK + +* Fri Feb 17 2023 Takao Fujiwara - 1.5.14-11 +- Fix to load EN compose table + +* Thu Jan 26 2023 Takao Fujiwara - 1.5.14-10 +- Add 2023 Era +- Fix PageDown/PageUp + +* Thu Jan 19 2023 Fedora Release Engineering - 1.5.14-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Nov 16 2022 Takao Fujiwara - 1.5.14-8 +- Migrate license tag to SPDX + +* Wed Aug 03 2022 Takao Fujiwara - 1.5.14-7 +- Change metainfo icon from SVG to PNG file + +* Wed Aug 03 2022 Takao Fujiwara - 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 - 1.5.14-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Apr 14 2022 Takao Fujiwara - 1.5.14-4 +- Resolves #2064261 assertion error with page size 0 + +* Thu Jan 27 2022 Takao Fujiwara - 1.5.14-3 +- Add 2022 Era + +* Thu Jan 20 2022 Fedora Release Engineering - 1.5.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Dec 24 2021 Takao Fujiwara - 1.5.14-1 +- Bump to 1.5.14 + +* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-3 +- export C.UTF-8 for make check + +* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-2 +- Update era.t with 2021 +- Check python3-pycotap.rpm in Fedora instead of pip + +* Fri Aug 20 2021 Takao Fujiwara - 1.5.13-1 +- Bump to 1.5.13 + +* Thu Aug 12 2021 Takao Fujiwara - 1.5.12-10 +- Remove Ctrl+period in circle_kana_mode + +* Thu Jul 22 2021 Fedora Release Engineering - 1.5.12-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 17 2021 Takao Fujiwara - 1.5.12-8 +- Delete postscript for ibus write-cache + +* Tue Apr 27 2021 Takao Fujiwara - 1.5.12-7 +- Move .desktop file from ibus-anthy-python to ibus-anthy +- Fix covscan + +* Wed Apr 21 2021 Takao Fujiwara - 1.5.12-6 +- Resolves: #1948197 Move post to posttrans + +* Tue Apr 20 2021 Takao Fujiwara - 1.5.12-5 +- Delete postscripts + +* Sun Mar 21 2021 Takao Fujiwara - 1.5.12-4 +- Output info to stderr instead of StringIO + +* Tue Mar 16 2021 Takao Fujiwara - 1.5.12-2 +- Change default input mode to Hiragana + +* Mon Feb 22 2021 Takao Fujiwara - 1.5.12-1 +- Bump to 1.5.12 + +* Wed Feb 10 2021 Takao Fujiwara - 1.5.11-10 +- Replace kasumi with kausmi-unicode +- Delete to require intltool +- Delete to call gettext.bind_textdomain_codeset() + +* Tue Jan 26 2021 Fedora Release Engineering - 1.5.11-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.5.11-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 09 2020 Takao Fujiwara - 1.5.11-7 +- Use pycotap instead of tappy in CI +- Revise CI from ibus-typing-booster +- Delete _python_bytecompile_extra + +* Wed Jan 29 2020 Fedora Release Engineering - 1.5.11-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Dec 04 2019 Takao Fujiwara - 1.5.11-5 +- Bug 1779129- Fix to install zipcode dict with anthy-unicode + +* Thu Oct 17 2019 Takao Fujiwara - 1.5.11-4 +- Add CI + +* Wed Oct 16 2019 Takao Fujiwara - 1.5.11-3 +- Replace anthy with anthy-unicode +- Install ibus-anthy-tests sub package + +* Thu Jul 25 2019 Fedora Release Engineering - 1.5.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 14 2019 Takao Fujiwara - 1.5.11-1 +- Bump to 1.5.11 + +* Fri Feb 01 2019 Fedora Release Engineering - 1.5.10-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.5.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1.5.10-4 +- Rebuilt for Python 3.7 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-3 +- Reverted scriptlets for f27 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-2 +- Reverted ldconfig for f27 + +* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-1 +- Bumped to 1.5.10 + +* Tue Feb 20 2018 Iryna Shcherbina - 1.5.9-7 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Wed Feb 07 2018 Fedora Release Engineering - 1.5.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 1.5.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.5.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.5.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 1.5.9-2 +- Rebuild for Python 3.6 + +* Thu Oct 20 2016 Takao Fujiwara - 1.5.9-1 +- Bumped to 1.5.9 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.5.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 20 2016 Takao Fujiwara - 1.5.8-1 +- Bumped to 1.5.8 + +* Tue Nov 10 2015 Fedora Release Engineering - 1.5.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Sep 03 2015 Takao Fujiwara - 1.5.7-2 +- Fix URL in anthy.appdata.xml + +* Thu Jul 16 2015 Takao Fujiwara - 1.5.7-1 +- Bumped to 1.5.7 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.5.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Apr 22 2015 Takao Fujiwara - 1.5.6-6 +- Resolved #1214092 Updated ibus-anthy-HEAD.patch +- Added with_appdata macro and removed with_python_pkg macro + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-5 +- Add the AppData file to the right built RPM, in this case we have to install + ibus-anthy-python rather than the main package in gnome-software. +- It turns out adding the AppData file to spec files is a great way to fix these + kinds of bugs. :) + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-4 +- Use an AppStream file compatible with F22 also. + +* Wed Mar 25 2015 Richard Hughes - 1.5.6-3 +- Register as an AppStream component. + +* Thu Nov 13 2014 Takao Fujiwara - 1.5.6-2 +- Updated ibus-anthy-HEAD.patch to fix Enter key on setup dialog. +- Use python2 for epel7. + +* Tue Sep 16 2014 Takao Fujiwara - 1.5.6-1 +- Bumped to 1.5.6 +- Added ibus-anthy-xx-input-mode.patch from ibus-anthy-HEAD.patch. + +* Sat Aug 16 2014 Fedora Release Engineering - 1.5.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Kalev Lember - 1.5.5-8 +- Rebuilt for gobject-introspection 1.41.4 + +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-7 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + +* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-6 +- Updated ibus-anthy-HEAD.patch + Fixed deprecated warnings with python3-gobject 3.13.3. + Set max-width-chars in ibus-anthy-setup wrapped GtkLabel. + Set 'IBUS_SETUP_XID' environment variable in setup. + +* Sat Jun 07 2014 Fedora Release Engineering - 1.5.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 19 2014 Takao Fujiwara - 1.5.5-4 +- Updated ibus-anthy-HEAD.patch to fix clear() in input mode. + +* Mon Apr 21 2014 Takao Fujiwara - 1.5.5-3 +- Updated ibus-anthy-HEAD.patch to unref pixbuf on destroy. + +* Thu Feb 27 2014 Takao Fujiwara - 1.5.5-2 +- Updated ibus-anthy-HEAD.patch to enable property icon. + +* Wed Feb 05 2014 Takao Fujiwara - 1.5.5-1 +- Bumped to 1.5.5 +- Enabled python3. + +* Tue Dec 24 2013 Takao Fujiwara - 1.5.4-2 +- Required ibus-anthy by ibus-anthy-python + +* Mon Sep 09 2013 Takao Fujiwara - 1.5.4-1 +- Bumped to 1.5.4 +- Added ibus-anthy-python subpackage for noarch. +- Deleted ibus-anthy-xx-disable-prop-symbol.patch + +* Sat Aug 03 2013 Fedora Release Engineering - 1.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon May 13 2013 Takao Fujiwara - 1.5.3-1 +- Bumped to 1.5.3 + +* Mon May 13 2013 Takao Fujiwara - 1.5.2-1 +- Bumped to 1.5.2 + +* Sat May 11 2013 Takao Fujiwara - 1.5.1-1 +- Bumped to 1.5.1 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 16 2013 Takao Fujiwara - 1.5.0-1 +- Bumped to 1.5.0 + +* Wed Dec 12 2012 Takao Fujiwara - 1.4.99.20121006-3 +- Resolved #884031. Deleted arch depended files. + +* Thu Nov 22 2012 Takao Fujiwara - 1.4.99.20121006-2 +- Updated to save the spec update. + +* Sat Oct 06 2012 Takao Fujiwara - 1.4.99.20121006-1 +- Bumped to 1.4.99.20121006 +- Added ibus-anthy-xx-disable-prop-symbol.patch for Fedora 17 + +* Thu Jul 19 2012 Fedora Release Engineering - 1.4.99.20120327-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Mar 27 2012 Takao Fujiwara - 1.4.99.20120327-1 +- Bumped to 1.4.99.20120327 + +* Sun Mar 04 2012 Takao Fujiwara - 1.3.99.20120304-1 +- Bumped to 1.3.99.20120304 + +* Mon Feb 06 2012 Takao Fujiwara - 1.2.6-5 +- Added ibus-anthy-xx-layout.patch to set 'default' layout in f17. + +* Fri Jan 13 2012 Fedora Release Engineering - 1.2.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Jul 29 2011 Takao Fujiwara - 1.2.6-3 +- Added ibus-anthy-xx-icon-symbol.patch to enable the engine symbol & hotkeys. + +* Mon May 16 2011 Takao Fujiwara - 1.2.6-1 +- Bumped to 1.2.6 + Fixed Bug 661943 - the latest page_size for ibus.LookupTable. + +* Wed Feb 09 2011 Fedora Release Engineering - 1.2.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 01 2010 Takao Fujiwara - 1.2.5-1 +- Updated to 1.2.5 + Fixed Bug 652881 - SEGV when key tables are customized in new gconf. + Fixed Bug 654322 - new custom keys are not loaded. + +* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-1 +- Updated to 1.2.4 +- Resolves #644771 ibus-anthy [F7] key cannot work with SEGV + +* Sat Oct 16 2010 Takao Fujiwara - 1.2.3-1 +- Updated to 1.2.3 +- Updated translations. + +* Fri Oct 15 2010 Takao Fujiwara - 1.2.2.20101015-1 +- Updated to 1.2.2.20101015 +- Fixed Bug 643291 - ibus-anthy commit_first_segment + +* Wed Jul 21 2010 David Malcolm - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Fri Apr 23 2010 Takao Fujiwara - 1.2.1-1 +- Update to 1.2.1 + +* Mon Apr 05 2010 Takao Fujiwara - 1.2.0.20100313-3 +- Update icon + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100313-1 +- Update to 1.2.0.20100313 +- Update fr.po + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312.1-1 +- Update to 1.2.0.20100312.1 +- Minor fix for a translation + +* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312-1 +- Update to 1.2.0.20100312 +- Fix bug 571728 - ibus-anthy support to switch dicts +- Fix bug 572412 - ibus-anthy: Segment convertion mode + +* Fri Mar 05 2010 Takao Fujiwara - 1.2.0.20100115-2 +- Fix bug 564268 - Crash with enabled global input method +- Fix bug 570680 - Support NICOLA-F and NICOLA-A +- Fix romaji_typing_rule. #777 +- Fix Shift + char with CapsLock ON in romaji mode. +- Fix chattering bug. + +* Fri Jan 15 2010 Takao Fujiwara - 1.2.0.20100115-1 +- Update to 1.2.0.20100115 +- Fix bug 550001 - kasumi should be accessible from ibus-anthy + +* Fri Nov 27 2009 Takao Fujiwara - 1.2.0.20091127-1 +- Update to 1.2.0.20091127 +- Fix bug 520989 - ibus-anthy icon enhancement +- Fix bug 531696 - ibus-anthy KeyError is still reported by abrt +- Fix bug 536716 - ibus-anthy: Symbol type change support in ibus-anthy + +* Fri Oct 23 2009 Takao Fujiwara - 1.2.0.20090917-2 +- Fix bug 526881 - ibus-anthy backtrace is reported by the latest abrt + +* Thu Sep 17 2009 Takao Fujiwara - 1.2.0.20090917-1 +- Update to 1.2.0.20090917 +- Fix bug 523642 - ibus-anthy convert_to_char_type_{for,back}ward() + +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-2 +- Fix a build issue + +* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-1 +- Update to 1.2.0.20090907 +- Fix bug 510978 - "Typing Method" configuration doesn't work +- Fix bug 518373 - ibus setup tools need to set gettext textdomain dir. + +* Thu Aug 13 2009 Takao Fujiwara - 1.2.0.20090813-1 +- Update to 1.2.0.20090813 +- Fix bug 509483 - reconversion feature doesn't work +- Fix bug 509485 - commit_first_segment feature doesn't work + +* Tue Aug 04 2009 Peng Huang - 1.2.0.20090804-1 +- Update to 1.2.0.20090804 +- Fix bug 508358 - ANTHY_HISTORY_FILE record only a single word + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.0.20090617-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jun 22 2009 Peng Huang - 1.2.0.20090617-1 +- Update to 1.2.0.20090617 + +* Wed Jun 17 2009 Jens Petersen - 1.1.0.20090603-2 +- require kasumi to pull in dictionary tool + +* Wed Jun 03 2009 Peng Huang - 1.1.0.20090603-1 +- Update to 1.1.0.20090603 +- Implement setup ui. + +* Thu Apr 30 2009 Peng Huang - 1.1.0.20090402-2 +- Update to upstream HEAD version +- Fix bug 498250 - Cannot type zenkaku-space + +* Thu Apr 02 2009 Peng Huang - 1.1.0.20090402-1 +- Update to 1.1.0.20090402. +- Fix bug 490747 - Muhenkan (no-conversion) key does not undo conversion +- Fix bug 490750 - Henkan key for candidate conversion doesn't do anything +- Fix bug 490748 - Kana key doesn't do anything + +* Tue Feb 24 2009 Fedora Release Engineering - 1.1.0.20090211-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 11 2009 Peng Huang - 1.1.0.20090211-1 +- Update to 1.1.0.20090211. + +* Thu Feb 05 2009 Peng Huang - 1.1.0.20090205-1 +- Update to 1.1.0.20090205. + +* Tue Feb 03 2009 Peng Huang - 0.1.1.20090203-1 +- Update to 0.1.1.20090203. + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20080912-2 +- Rebuild for Python 2.6 + +* Fri Sep 12 2008 Peng Huang - 0.1.1.20080912-1 +- Update to 0.1.1.20080912. + +* Mon Sep 01 2008 Peng Huang - 0.1.1.20080901-1 +- Update to 0.1.1.20080901. + +* Thu Aug 28 2008 Peng Huang - 0.1.1.20080828-1 +- Update to 0.1.1.20080828. + +* Wed Aug 27 2008 Peng Huang - 0.1.1.20080827-1 +- Update to 0.1.1.20080827. + +* Tue Aug 26 2008 Peng Huang - 0.1.1.20080826-1 +- Update to 0.1.1.20080826. + +* Sat Aug 23 2008 Peng Huang - 0.1.1.20080823-1 +- Update to 0.1.1.20080823. + +* Fri Aug 15 2008 Peng Huang - 0.1.1.20080815-1 +- Update to 0.1.1.20080815. + +* Tue Aug 12 2008 Peng Huang - 0.1.1.20080812-1 +- Update to 0.1.1.20080812. + +* Fri Aug 08 2008 Peng Huang - 0.1.0.20080810-1 +- The first version. diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 1a28874..22eee58 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -18,7 +18,7 @@ Name: ibus-anthy Version: 1.5.16 -Release: 2%{?dist} +Release: %autorelease Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki @@ -157,465 +157,5 @@ make -C data check %{_datadir}/installed-tests/%{name} %changelog -* Tue Mar 12 2024 Takao Fujiwara - 1.5.16-2 -- Disable Super-l in Hiragana mode +%autochangelog -* Wed Feb 28 2024 Takao Fujiwara - 1.5.16-1 -- Bump to 1.5.16 - -* Wed Jan 31 2024 Takao Fujiwara - 1.5.15-6 -- Fix make check with GitHub action - -* Tue Jan 30 2024 Takao Fujiwara - 1.5.15-5 -- Resolves #2261242 Update era.t with 2024 -- Add appstream-util validattion - -* Wed Jan 24 2024 Fedora Release Engineering - 1.5.15-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jan 20 2024 Fedora Release Engineering - 1.5.15-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Sep 07 2023 Takao Fujiwara - 1.5.15-2 -- Resolves #2237374 Fix to commit selected candidate with OSK - -* Tue Aug 22 2023 Takao Fujiwara - 1.5.15-1 -- Bump to 1.5.15 - -* Fri Aug 18 2023 Takao Fujiwara - 1.5.14-15 -- Resolves #2232532 converting Super+Space to wide space character - -* Thu Jul 20 2023 Fedora Release Engineering - 1.5.14-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jul 13 2023 Takao Fujiwara - 1.5.14-13 -- Resolves #2015149 Commit candidate text with clicking on candidate list in OSK - -* Fri Feb 17 2023 Takao Fujiwara - 1.5.14-11 -- Fix to load EN compose table - -* Thu Jan 26 2023 Takao Fujiwara - 1.5.14-10 -- Add 2023 Era -- Fix PageDown/PageUp - -* Thu Jan 19 2023 Fedora Release Engineering - 1.5.14-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Nov 16 2022 Takao Fujiwara - 1.5.14-8 -- Migrate license tag to SPDX - -* Wed Aug 03 2022 Takao Fujiwara - 1.5.14-7 -- Change metainfo icon from SVG to PNG file - -* Wed Aug 03 2022 Takao Fujiwara - 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 - 1.5.14-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Apr 14 2022 Takao Fujiwara - 1.5.14-4 -- Resolves #2064261 assertion error with page size 0 - -* Thu Jan 27 2022 Takao Fujiwara - 1.5.14-3 -- Add 2022 Era - -* Thu Jan 20 2022 Fedora Release Engineering - 1.5.14-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Dec 24 2021 Takao Fujiwara - 1.5.14-1 -- Bump to 1.5.14 - -* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-3 -- export C.UTF-8 for make check - -* Fri Oct 22 2021 Takao Fujiwara - 1.5.13-2 -- Update era.t with 2021 -- Check python3-pycotap.rpm in Fedora instead of pip - -* Fri Aug 20 2021 Takao Fujiwara - 1.5.13-1 -- Bump to 1.5.13 - -* Thu Aug 12 2021 Takao Fujiwara - 1.5.12-10 -- Remove Ctrl+period in circle_kana_mode - -* Thu Jul 22 2021 Fedora Release Engineering - 1.5.12-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Thu Jun 17 2021 Takao Fujiwara - 1.5.12-8 -- Delete postscript for ibus write-cache - -* Tue Apr 27 2021 Takao Fujiwara - 1.5.12-7 -- Move .desktop file from ibus-anthy-python to ibus-anthy -- Fix covscan - -* Wed Apr 21 2021 Takao Fujiwara - 1.5.12-6 -- Resolves: #1948197 Move post to posttrans - -* Tue Apr 20 2021 Takao Fujiwara - 1.5.12-5 -- Delete postscripts - -* Sun Mar 21 2021 Takao Fujiwara - 1.5.12-4 -- Output info to stderr instead of StringIO - -* Tue Mar 16 2021 Takao Fujiwara - 1.5.12-2 -- Change default input mode to Hiragana - -* Mon Feb 22 2021 Takao Fujiwara - 1.5.12-1 -- Bump to 1.5.12 - -* Wed Feb 10 2021 Takao Fujiwara - 1.5.11-10 -- Replace kasumi with kausmi-unicode -- Delete to require intltool -- Delete to call gettext.bind_textdomain_codeset() - -* Tue Jan 26 2021 Fedora Release Engineering - 1.5.11-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 1.5.11-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jul 09 2020 Takao Fujiwara - 1.5.11-7 -- Use pycotap instead of tappy in CI -- Revise CI from ibus-typing-booster -- Delete _python_bytecompile_extra - -* Wed Jan 29 2020 Fedora Release Engineering - 1.5.11-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Dec 04 2019 Takao Fujiwara - 1.5.11-5 -- Bug 1779129- Fix to install zipcode dict with anthy-unicode - -* Thu Oct 17 2019 Takao Fujiwara - 1.5.11-4 -- Add CI - -* Wed Oct 16 2019 Takao Fujiwara - 1.5.11-3 -- Replace anthy with anthy-unicode -- Install ibus-anthy-tests sub package - -* Thu Jul 25 2019 Fedora Release Engineering - 1.5.11-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue May 14 2019 Takao Fujiwara - 1.5.11-1 -- Bump to 1.5.11 - -* Fri Feb 01 2019 Fedora Release Engineering - 1.5.10-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering - 1.5.10-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 1.5.10-4 -- Rebuilt for Python 3.7 - -* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-3 -- Reverted scriptlets for f27 - -* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-2 -- Reverted ldconfig for f27 - -* Mon Mar 19 2018 Takao Fujiwara - 1.5.10-1 -- Bumped to 1.5.10 - -* Tue Feb 20 2018 Iryna Shcherbina - 1.5.9-7 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Wed Feb 07 2018 Fedora Release Engineering - 1.5.9-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Aug 02 2017 Fedora Release Engineering - 1.5.9-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 1.5.9-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 10 2017 Fedora Release Engineering - 1.5.9-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Dec 19 2016 Miro Hrončok - 1.5.9-2 -- Rebuild for Python 3.6 - -* Thu Oct 20 2016 Takao Fujiwara - 1.5.9-1 -- Bumped to 1.5.9 - -* Thu Feb 04 2016 Fedora Release Engineering - 1.5.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Wed Jan 20 2016 Takao Fujiwara - 1.5.8-1 -- Bumped to 1.5.8 - -* Tue Nov 10 2015 Fedora Release Engineering - 1.5.7-3 -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Thu Sep 03 2015 Takao Fujiwara - 1.5.7-2 -- Fix URL in anthy.appdata.xml - -* Thu Jul 16 2015 Takao Fujiwara - 1.5.7-1 -- Bumped to 1.5.7 - -* Wed Jun 17 2015 Fedora Release Engineering - 1.5.6-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Wed Apr 22 2015 Takao Fujiwara - 1.5.6-6 -- Resolved #1214092 Updated ibus-anthy-HEAD.patch -- Added with_appdata macro and removed with_python_pkg macro - -* Wed Mar 25 2015 Richard Hughes - 1.5.6-5 -- Add the AppData file to the right built RPM, in this case we have to install - ibus-anthy-python rather than the main package in gnome-software. -- It turns out adding the AppData file to spec files is a great way to fix these - kinds of bugs. :) - -* Wed Mar 25 2015 Richard Hughes - 1.5.6-4 -- Use an AppStream file compatible with F22 also. - -* Wed Mar 25 2015 Richard Hughes - 1.5.6-3 -- Register as an AppStream component. - -* Thu Nov 13 2014 Takao Fujiwara - 1.5.6-2 -- Updated ibus-anthy-HEAD.patch to fix Enter key on setup dialog. -- Use python2 for epel7. - -* Tue Sep 16 2014 Takao Fujiwara - 1.5.6-1 -- Bumped to 1.5.6 -- Added ibus-anthy-xx-input-mode.patch from ibus-anthy-HEAD.patch. - -* Sat Aug 16 2014 Fedora Release Engineering - 1.5.5-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Tue Jul 22 2014 Kalev Lember - 1.5.5-8 -- Rebuilt for gobject-introspection 1.41.4 - -* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-7 -- Updated ibus-anthy-HEAD.patch - Fixed deprecated warnings with python3-gobject 3.13.3. - -* Mon Jul 14 2014 Takao Fujiwara - 1.5.5-6 -- Updated ibus-anthy-HEAD.patch - Fixed deprecated warnings with python3-gobject 3.13.3. - Set max-width-chars in ibus-anthy-setup wrapped GtkLabel. - Set 'IBUS_SETUP_XID' environment variable in setup. - -* Sat Jun 07 2014 Fedora Release Engineering - 1.5.5-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon May 19 2014 Takao Fujiwara - 1.5.5-4 -- Updated ibus-anthy-HEAD.patch to fix clear() in input mode. - -* Mon Apr 21 2014 Takao Fujiwara - 1.5.5-3 -- Updated ibus-anthy-HEAD.patch to unref pixbuf on destroy. - -* Thu Feb 27 2014 Takao Fujiwara - 1.5.5-2 -- Updated ibus-anthy-HEAD.patch to enable property icon. - -* Wed Feb 05 2014 Takao Fujiwara - 1.5.5-1 -- Bumped to 1.5.5 -- Enabled python3. - -* Tue Dec 24 2013 Takao Fujiwara - 1.5.4-2 -- Required ibus-anthy by ibus-anthy-python - -* Mon Sep 09 2013 Takao Fujiwara - 1.5.4-1 -- Bumped to 1.5.4 -- Added ibus-anthy-python subpackage for noarch. -- Deleted ibus-anthy-xx-disable-prop-symbol.patch - -* Sat Aug 03 2013 Fedora Release Engineering - 1.5.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Mon May 13 2013 Takao Fujiwara - 1.5.3-1 -- Bumped to 1.5.3 - -* Mon May 13 2013 Takao Fujiwara - 1.5.2-1 -- Bumped to 1.5.2 - -* Sat May 11 2013 Takao Fujiwara - 1.5.1-1 -- Bumped to 1.5.1 - -* Thu Feb 14 2013 Fedora Release Engineering - 1.5.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Wed Jan 16 2013 Takao Fujiwara - 1.5.0-1 -- Bumped to 1.5.0 - -* Wed Dec 12 2012 Takao Fujiwara - 1.4.99.20121006-3 -- Resolved #884031. Deleted arch depended files. - -* Thu Nov 22 2012 Takao Fujiwara - 1.4.99.20121006-2 -- Updated to save the spec update. - -* Sat Oct 06 2012 Takao Fujiwara - 1.4.99.20121006-1 -- Bumped to 1.4.99.20121006 -- Added ibus-anthy-xx-disable-prop-symbol.patch for Fedora 17 - -* Thu Jul 19 2012 Fedora Release Engineering - 1.4.99.20120327-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue Mar 27 2012 Takao Fujiwara - 1.4.99.20120327-1 -- Bumped to 1.4.99.20120327 - -* Sun Mar 04 2012 Takao Fujiwara - 1.3.99.20120304-1 -- Bumped to 1.3.99.20120304 - -* Mon Feb 06 2012 Takao Fujiwara - 1.2.6-5 -- Added ibus-anthy-xx-layout.patch to set 'default' layout in f17. - -* Fri Jan 13 2012 Fedora Release Engineering - 1.2.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Fri Jul 29 2011 Takao Fujiwara - 1.2.6-3 -- Added ibus-anthy-xx-icon-symbol.patch to enable the engine symbol & hotkeys. - -* Mon May 16 2011 Takao Fujiwara - 1.2.6-1 -- Bumped to 1.2.6 - Fixed Bug 661943 - the latest page_size for ibus.LookupTable. - -* Wed Feb 09 2011 Fedora Release Engineering - 1.2.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Dec 01 2010 Takao Fujiwara - 1.2.5-1 -- Updated to 1.2.5 - Fixed Bug 652881 - SEGV when key tables are customized in new gconf. - Fixed Bug 654322 - new custom keys are not loaded. - -* Tue Oct 26 2010 Takao Fujiwara - 1.2.4-1 -- Updated to 1.2.4 -- Resolves #644771 ibus-anthy [F7] key cannot work with SEGV - -* Sat Oct 16 2010 Takao Fujiwara - 1.2.3-1 -- Updated to 1.2.3 -- Updated translations. - -* Fri Oct 15 2010 Takao Fujiwara - 1.2.2.20101015-1 -- Updated to 1.2.2.20101015 -- Fixed Bug 643291 - ibus-anthy commit_first_segment - -* Wed Jul 21 2010 David Malcolm - 1.2.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild - -* Fri Apr 23 2010 Takao Fujiwara - 1.2.1-1 -- Update to 1.2.1 - -* Mon Apr 05 2010 Takao Fujiwara - 1.2.0.20100313-3 -- Update icon - -* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100313-1 -- Update to 1.2.0.20100313 -- Update fr.po - -* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312.1-1 -- Update to 1.2.0.20100312.1 -- Minor fix for a translation - -* Fri Mar 12 2010 Takao Fujiwara - 1.2.0.20100312-1 -- Update to 1.2.0.20100312 -- Fix bug 571728 - ibus-anthy support to switch dicts -- Fix bug 572412 - ibus-anthy: Segment convertion mode - -* Fri Mar 05 2010 Takao Fujiwara - 1.2.0.20100115-2 -- Fix bug 564268 - Crash with enabled global input method -- Fix bug 570680 - Support NICOLA-F and NICOLA-A -- Fix romaji_typing_rule. #777 -- Fix Shift + char with CapsLock ON in romaji mode. -- Fix chattering bug. - -* Fri Jan 15 2010 Takao Fujiwara - 1.2.0.20100115-1 -- Update to 1.2.0.20100115 -- Fix bug 550001 - kasumi should be accessible from ibus-anthy - -* Fri Nov 27 2009 Takao Fujiwara - 1.2.0.20091127-1 -- Update to 1.2.0.20091127 -- Fix bug 520989 - ibus-anthy icon enhancement -- Fix bug 531696 - ibus-anthy KeyError is still reported by abrt -- Fix bug 536716 - ibus-anthy: Symbol type change support in ibus-anthy - -* Fri Oct 23 2009 Takao Fujiwara - 1.2.0.20090917-2 -- Fix bug 526881 - ibus-anthy backtrace is reported by the latest abrt - -* Thu Sep 17 2009 Takao Fujiwara - 1.2.0.20090917-1 -- Update to 1.2.0.20090917 -- Fix bug 523642 - ibus-anthy convert_to_char_type_{for,back}ward() - -* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-2 -- Fix a build issue - -* Mon Sep 07 2009 Takao Fujiwara - 1.2.0.20090907-1 -- Update to 1.2.0.20090907 -- Fix bug 510978 - "Typing Method" configuration doesn't work -- Fix bug 518373 - ibus setup tools need to set gettext textdomain dir. - -* Thu Aug 13 2009 Takao Fujiwara - 1.2.0.20090813-1 -- Update to 1.2.0.20090813 -- Fix bug 509483 - reconversion feature doesn't work -- Fix bug 509485 - commit_first_segment feature doesn't work - -* Tue Aug 04 2009 Peng Huang - 1.2.0.20090804-1 -- Update to 1.2.0.20090804 -- Fix bug 508358 - ANTHY_HISTORY_FILE record only a single word - -* Fri Jul 24 2009 Fedora Release Engineering - 1.2.0.20090617-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Mon Jun 22 2009 Peng Huang - 1.2.0.20090617-1 -- Update to 1.2.0.20090617 - -* Wed Jun 17 2009 Jens Petersen - 1.1.0.20090603-2 -- require kasumi to pull in dictionary tool - -* Wed Jun 03 2009 Peng Huang - 1.1.0.20090603-1 -- Update to 1.1.0.20090603 -- Implement setup ui. - -* Thu Apr 30 2009 Peng Huang - 1.1.0.20090402-2 -- Update to upstream HEAD version -- Fix bug 498250 - Cannot type zenkaku-space - -* Thu Apr 02 2009 Peng Huang - 1.1.0.20090402-1 -- Update to 1.1.0.20090402. -- Fix bug 490747 - Muhenkan (no-conversion) key does not undo conversion -- Fix bug 490750 - Henkan key for candidate conversion doesn't do anything -- Fix bug 490748 - Kana key doesn't do anything - -* Tue Feb 24 2009 Fedora Release Engineering - 1.1.0.20090211-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Wed Feb 11 2009 Peng Huang - 1.1.0.20090211-1 -- Update to 1.1.0.20090211. - -* Thu Feb 05 2009 Peng Huang - 1.1.0.20090205-1 -- Update to 1.1.0.20090205. - -* Tue Feb 03 2009 Peng Huang - 0.1.1.20090203-1 -- Update to 0.1.1.20090203. - -* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20080912-2 -- Rebuild for Python 2.6 - -* Fri Sep 12 2008 Peng Huang - 0.1.1.20080912-1 -- Update to 0.1.1.20080912. - -* Mon Sep 01 2008 Peng Huang - 0.1.1.20080901-1 -- Update to 0.1.1.20080901. - -* Thu Aug 28 2008 Peng Huang - 0.1.1.20080828-1 -- Update to 0.1.1.20080828. - -* Wed Aug 27 2008 Peng Huang - 0.1.1.20080827-1 -- Update to 0.1.1.20080827. - -* Tue Aug 26 2008 Peng Huang - 0.1.1.20080826-1 -- Update to 0.1.1.20080826. - -* Sat Aug 23 2008 Peng Huang - 0.1.1.20080823-1 -- Update to 0.1.1.20080823. - -* Fri Aug 15 2008 Peng Huang - 0.1.1.20080815-1 -- Update to 0.1.1.20080815. - -* Tue Aug 12 2008 Peng Huang - 0.1.1.20080812-1 -- Update to 0.1.1.20080812. - -* Fri Aug 08 2008 Peng Huang - 0.1.0.20080810-1 -- The first version. From a337fe4f3973d415e42583fe146242db7b21dd68 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 11 May 2024 18:20:59 +0900 Subject: [PATCH 178/202] Implement latest IBus CI Generate results.yml to follow the defined result format https://docs.fedoraproject.org/en-US/ci/standard-test-interface/#_results_format --- .../files/check-results.sh | 66 +++++++++++++++ .../ibus-desktop-testing-role/tasks/main.yml | 83 ++++++++----------- tests/tests.yml | 2 + 3 files changed, 102 insertions(+), 49 deletions(-) create mode 100755 tests/roles/ibus-desktop-testing-role/files/check-results.sh diff --git a/tests/roles/ibus-desktop-testing-role/files/check-results.sh b/tests/roles/ibus-desktop-testing-role/files/check-results.sh new file mode 100755 index 0000000..1160dac --- /dev/null +++ b/tests/roles/ibus-desktop-testing-role/files/check-results.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +TEST_LOG="test.log" +TEST_RUN_IN_RAWHIDE="1" + +if [ $# -gt 0 ] ; then + TEST_LOG="$1" + TEST_RUN_IN_RAWHIDE="$2" +fi + +gen_results() +{ + TEST_RUNTIME="$1" + TEST_STATUS="$2" + TEST_STATUS_UPPER="$(echo "$TEST_STATUS" | tr '[:lower:]' '[:upper:]')" + cat > results.xml << _EOF +results: + +- test: results + result: $TEST_STATUS + runtime: $TEST_RUNTIME + logs: + - ${TEST_STATUS_UPPER}-str_results.log + +_EOF + + DIR=$(dirname "$TEST_LOG") + if [ x"$TEST_LOG" != x ] ; then + cp "$TEST_LOG" "$DIR/${TEST_STATUS_UPPER}-str_results.log" + else + touch "$DIR/${TEST_STATUS_UPPER}-str_results.log" + fi + if [ x"$DIR" != x. ] ; then + mv results.xml "$DIR" + fi +} + +if [ $TEST_RUN_IN_RAWHIDE -eq 0 ] ; then + IS_RAWHIDE="$(grep -i rawhide /etc/fedora-release)" + if [ x"$IS_RAWHIDE" != x ] ; then + gen_results "0" "pass" + exit 0 + fi +fi +if [ ! -f $TEST_LOG ] ; then + gen_results "0" "fail" + echo ERROR +else + FAIL="$(grep "^FAIL: " $TEST_LOG | grep -v 'FAIL: 0$')" + RUNTIME_FAIL="$(grep -v 'frame' $TEST_LOG | grep "^FAIL: " | sed -e "s/FAIL: //")" + RUNTIME_PASS="$(grep -v 'frame' $TEST_LOG | grep "^PASS: " | sed -e "s/PASS: //")" + if [ x"$RUNTIME_FAIL" = x ] ; then + RUNTIME_FAIL="0" + fi + if [ x"$RUNTIME_PASS" = x ] ; then + RUNTIME_PASS="0" + fi + RUNTIME="$(expr $RUNTIME_FAIL + $RUNTIME_PASS)" + if [ x"$FAIL" != x ] ; then + gen_results "$RUNTIME" "fail" + echo ERROR + else + gen_results "$RUNTIME" "pass" + fi +fi + diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml index 44c70e2..38733f3 100644 --- a/tests/roles/ibus-desktop-testing-role/tasks/main.yml +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -11,57 +11,46 @@ - name: Installing build dependencies for IBus and GNOME installed-tests testing harness package: name: - - git - - make - - gcc - - diffutils - - autoconf - - automake - - libtool - - glib2-devel - - systemd-devel - - gnome-session - - gnome-shell - - dbus-x11 + # IBus CI sets - xorg-x11-server-Xvfb - ibus - ibus-desktop-testing - - ibus-anthy-tests - # ibus-compose test needs locales - - glibc-langpack-el - - glibc-langpack-fi - - glibc-langpack-pt - - - name: Fetching GNOME installed-tests testing harness source from remote repository - git: - repo: 'https://gitlab.gnome.org/GNOME/gnome-desktop-testing.git' - dest: gnome-desktop-testing - force: yes - - - name: Configure GNOME installed-tests testing harness build - command: ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var - args: - chdir: gnome-desktop-testing - - - name: Build GNOME installed-tests testing harness - command: make - args: - chdir: gnome-desktop-testing - - - name: Install GNOME installed-tests testing harness - command: make install - args: - chdir: gnome-desktop-testing + - dbus-x11 + - gnome-desktop-testing + # dnf group info GNOME + - gnome-session-wayland-session + - gnome-session-xsession + - gnome-settings-daemon + - gnome-shell + - polkit + - NetworkManager-ssh-gnome + - PackageKit-command-not-found + - PackageKit-gtk3-module + - adobe-source-code-pro-fonts + - at-spi2-atk + - at-spi2-core + - glib-networking + - gnome-backgrounds + - gnome-classic-session + - gnome-clocks + - gnome-color-manager + - gnome-contacts + - gnome-font-viewer + - gnome-logs + - gnome-maps - name: Start IBus installed-tests testing harness environment: ANSIBLE: 1 TMPDIR: '{{ remote_artifacts }}' G_MESSAGES_DEBUG: 'all' + LANG: 'C.UTF-8' block: - name: Execute IBus tests shell: | set -e + # Delete LC_CTYPE=C.UTF-8 + export -n LC_CTYPE status="FAIL: frame" if [ -f $HOME/.config/anthy/last-record2_default.utf8 ] ; then \ rm $HOME/.config/anthy/last-record2_default.utf8 @@ -80,6 +69,12 @@ if [ $? -eq 0 ]; then status="PASS: frame" fi + if [ -f /var/tmp/ibus-ci-autostart.log ] ; then + echo "#### /var/tmp/ibus-ci-autostart.log" + cat /var/tmp/ibus-ci-autostart.log + rm /var/tmp/ibus-ci-autostart.log + echo "#" + fi echo "${status}" >> {{ remote_artifacts }}/test.log echo "#### {{ remote_artifacts }}/{{ installed_test_name }}.log" if [ -f {{ remote_artifacts }}/{{ installed_test_name }}.log ] ; then @@ -93,17 +88,7 @@ echo "#" - name: Check the results - #shell: grep "^FAIL" {{ remote_artifacts }}/test.log - shell: | - log="{{ remote_artifacts }}/test.log" - if [ ! -f $log ] ; then - echo ERROR - else - FAIL=`grep "^FAIL: " {{ remote_artifacts }}/test.log | grep -v 'FAIL: 0$'` - if [ x"$FAIL" != x ] ; then - echo ERROR - fi - fi + script: check-results.sh "{{ remote_artifacts }}/test.log" "0" register: test_fails failed_when: False diff --git a/tests/tests.yml b/tests/tests.yml index b175564..94551ce 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -5,4 +5,6 @@ tags: - classic - gating + required_packages: + - ibus-anthy-tests From e08f22e0e29bf18685271c5b4dd70444e280f04a Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 11 May 2024 18:21:51 +0900 Subject: [PATCH 179/202] Update GNOME requirements in CI main.yml - Delete broken chrome-gnome-shell in rawhide - libproxy-webkitgtk4 is no longer available in Fedora 37 --- .../ibus-desktop-testing-role/tasks/main.yml | 77 ++++++++++++++++++- 1 file changed, 74 insertions(+), 3 deletions(-) diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml index 38733f3..d4af8a1 100644 --- a/tests/roles/ibus-desktop-testing-role/tasks/main.yml +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -17,27 +17,98 @@ - ibus-desktop-testing - dbus-x11 - gnome-desktop-testing + - gnome-screenshot + # https://pagure.io/fedora-comps/blob/main/f/comps-f38.xml.in # dnf group info GNOME + # mandatory + - dconf + - gdm + - gnome-boxes + - gnome-connections + - gnome-control-center + - gnome-initial-setup - gnome-session-wayland-session - gnome-session-xsession - gnome-settings-daemon - gnome-shell + - gnome-software + - gnome-terminal + - gnome-text-editor + - nautilus - polkit - - NetworkManager-ssh-gnome - - PackageKit-command-not-found - - PackageKit-gtk3-module + - yelp + # default - adobe-source-code-pro-fonts - at-spi2-atk - at-spi2-core + - avahi + - baobab + - cheese + # Sometimes version mismatch with gnome-shell in rawhide + #- chrome-gnome-shell + - eog + - evince + - evince-djvu + - fprintd-pam - glib-networking - gnome-backgrounds + - gnome-bluetooth + - gnome-calculator + - gnome-characters - gnome-classic-session - gnome-clocks - gnome-color-manager - gnome-contacts + - gnome-disk-utility - gnome-font-viewer - gnome-logs - gnome-maps + - gnome-photos + - gnome-remote-desktop + - gnome-system-monitor + - gnome-terminal-nautilus + - gnome-themes-extra + - gnome-user-docs + - gnome-user-share + - gnome-weather + - gvfs-afc + - gvfs-afp + - gvfs-archive + - gvfs-fuse + - gvfs-goa + - gvfs-gphoto2 + - gvfs-mtp + - gvfs-smb + - libcanberra-gtk3 + - libproxy-duktape + - librsvg2 + - libsane-hpaio + - mesa-dri-drivers + - mesa-libEGL + - ModemManager + - NetworkManager-adsl + - NetworkManager-openconnect-gnome + - NetworkManager-openvpn-gnome + - NetworkManager-ppp + - NetworkManager-pptp-gnome + - NetworkManager-ssh-gnome + - NetworkManager-vpnc-gnome + - NetworkManager-wwan + - orca + - PackageKit-command-not-found + - PackageKit-gtk3-module + - rygel + - sane-backends-drivers-scanners + - simple-scan + - sushi + - systemd-oomd-defaults + - totem + - tracker + - tracker-miners + - xdg-desktop-portal + - xdg-desktop-portal-gnome + - xdg-desktop-portal-gtk + - xdg-user-dirs-gtk - name: Start IBus installed-tests testing harness environment: From 1675f64be06309465781e0d6e84bb9bc1af29d61 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sun, 12 May 2024 13:24:22 +0900 Subject: [PATCH 180/202] Fix CI freeze --- ibus-anthy-HEAD.patch | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e33d0c9..e3f6c91 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -62,3 +62,40 @@ index 4b50a01..0858614 100644 -- 2.43.0 +From c89a60350b2a949306bf75d64e06a0cde3a7846c Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Sun, 12 May 2024 13:01:50 +0900 +Subject: [PATCH] tests: Fix CI freeze + +Seems infinit calling g_resources_register_unlocked() happens +in register_lazy_static_resources_unlocked() from +g_resources_lookup_data() when ibus_init() is called after +gtk_init() or gdk_display_open() is called. +It's good to delete ibus_init() here since IBus GTK IM module already +calls it. +--- + tests/anthytest.py | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/tests/anthytest.py b/tests/anthytest.py +index 1d18d19..cf2d6bc 100755 +--- a/tests/anthytest.py ++++ b/tests/anthytest.py +@@ -77,7 +77,13 @@ class AnthyTest(unittest.TestCase): + + @classmethod + def setUpClass(cls): +- IBus.init() ++ # Already called in ibus/client/gtk3/ibusim.c:im_module_init(). ++ # Otherwise infinit g_resources_register_unlocked() happens in ++ # register_lazy_static_resources_unlocked() ++ # from g_resources_lookup_data() ++ # or IBus.init() could be called before Gdk.Display.open('') is called. ++ #IBus.init() ++ pass + + def setUp(self): + self.__id = 0 +-- +2.45.0 + From 2a530132510e895e62743fad8654d080b8ab24d7 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 15 May 2024 13:54:13 +0900 Subject: [PATCH 181/202] Separate Fedora specific packages in CI Checkout gnome-desktop-testing repo until it will be available. --- .../ibus-desktop-testing-role/tasks/main.yml | 113 +++++++++++++----- 1 file changed, 80 insertions(+), 33 deletions(-) diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml index d4af8a1..012d1bf 100644 --- a/tests/roles/ibus-desktop-testing-role/tasks/main.yml +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -1,14 +1,12 @@ --- -- name: Check if GNOME installed-tests testing harness is installed - register: gnome_desktop_testing_runner - find: - paths: "{{ ansible_env.PATH.split(':') }}" - pattern: gnome-desktop-testing-runner +- name: Check if Fedora desktop + register: fedora_desktop + stat: + path: "/etc/fedora-release" - name: Build and install GNOME installed-tests testing harness - when: gnome_desktop_testing_runner.matched == 0 block: - - name: Installing build dependencies for IBus and GNOME installed-tests testing harness + - name: Installing common GNOME desktop components package: name: # IBus CI sets @@ -16,14 +14,11 @@ - ibus - ibus-desktop-testing - dbus-x11 - - gnome-desktop-testing - - gnome-screenshot # https://pagure.io/fedora-comps/blob/main/f/comps-f38.xml.in # dnf group info GNOME # mandatory - dconf - gdm - - gnome-boxes - gnome-connections - gnome-control-center - gnome-initial-setup @@ -36,44 +31,30 @@ - gnome-text-editor - nautilus - polkit - - yelp # default - adobe-source-code-pro-fonts - at-spi2-atk - at-spi2-core - avahi - baobab - - cheese # Sometimes version mismatch with gnome-shell in rawhide #- chrome-gnome-shell - - eog - evince - - evince-djvu - fprintd-pam - glib-networking - - gnome-backgrounds - gnome-bluetooth - gnome-calculator - gnome-characters - gnome-classic-session - gnome-clocks - gnome-color-manager - - gnome-contacts - gnome-disk-utility - gnome-font-viewer - gnome-logs - - gnome-maps - - gnome-photos - gnome-remote-desktop - gnome-system-monitor - gnome-terminal-nautilus - - gnome-themes-extra - gnome-user-docs - - gnome-user-share - - gnome-weather - - gvfs-afc - - gvfs-afp - - gvfs-archive - gvfs-fuse - gvfs-goa - gvfs-gphoto2 @@ -87,28 +68,94 @@ - mesa-libEGL - ModemManager - NetworkManager-adsl - - NetworkManager-openconnect-gnome - - NetworkManager-openvpn-gnome - NetworkManager-ppp - - NetworkManager-pptp-gnome - - NetworkManager-ssh-gnome - - NetworkManager-vpnc-gnome - NetworkManager-wwan - orca - PackageKit-command-not-found - PackageKit-gtk3-module - - rygel - sane-backends-drivers-scanners - - simple-scan - - sushi - systemd-oomd-defaults - - totem - tracker - tracker-miners - xdg-desktop-portal - xdg-desktop-portal-gnome - xdg-desktop-portal-gtk - xdg-user-dirs-gtk + - name: Installing Fedora specific GNOME desktop components + when: fedora_desktop.stat.exists == true + package: + name: + - gnome-screenshot + - gnome-boxes + - yelp + - cheese + - eog + - evince-djvu + - gnome-backgrounds + - gnome-contacts + - gnome-maps + - gnome-photos + - gnome-themes-extra + - gnome-user-share + - gnome-weather + - gvfs-afc + - gvfs-afp + - gvfs-archive + - NetworkManager-openconnect-gnome + - NetworkManager-openvpn-gnome + - NetworkManager-pptp-gnome + - NetworkManager-ssh-gnome + - NetworkManager-vpnc-gnome + - rygel + - simple-scan + - sushi + - totem + - name: Installing GNOME installed-tests testing harness + when: fedora_desktop.stat.exists == true + package: + name: + - gnome-desktop-testing + - name: Installing build environment + when: fedora_desktop.stat.exists == false + package: + name: + - autoconf + - automake + - make + - gcc + - git + - libtool + + - name: Fetching GNOME installed-tests testing harness source from remote repository + when: fedora_desktop.stat.exists == false + git: + repo: 'https://gitlab.gnome.org/GNOME/gnome-desktop-testing.git' + dest: gnome-desktop-testing + force: yes + + - name: Checkout v2021.1 tag in GNOME installed-tests testing harness + when: fedora_desktop.stat.exists == false + command: git checkout -b v2021.1 refs/tags/v2021.1 + args: + chdir: gnome-desktop-testing + + - name: Configure GNOME installed-tests testing harness build + when: fedora_desktop.stat.exists == false + command: ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var + args: + chdir: gnome-desktop-testing + + - name: Build GNOME installed-tests testing harness + when: fedora_desktop.stat.exists == false + command: make + args: + chdir: gnome-desktop-testing + + - name: Install GNOME installed-tests testing harness + when: fedora_desktop.stat.exists == false + command: make install + args: + chdir: gnome-desktop-testing - name: Start IBus installed-tests testing harness environment: From 424ea5705d6d7e317e65440d44230f8b7a076099 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 16 May 2024 22:46:26 +0900 Subject: [PATCH 182/202] Enahnce str-commit-final in CI Seems set_fact task has no fail_when or abort modules and set failed_when with register module. --- .../files/check-results.sh | 13 ++++++++----- .../roles/ibus-desktop-testing-role/tasks/main.yml | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/roles/ibus-desktop-testing-role/files/check-results.sh b/tests/roles/ibus-desktop-testing-role/files/check-results.sh index 1160dac..8a46118 100755 --- a/tests/roles/ibus-desktop-testing-role/files/check-results.sh +++ b/tests/roles/ibus-desktop-testing-role/files/check-results.sh @@ -1,11 +1,13 @@ #!/bin/bash TEST_LOG="test.log" -TEST_RUN_IN_RAWHIDE="1" +TEST_RUN_IN_RAWHIDE=1 + +declare -i TEST_RUN_IN_RAWHIDE if [ $# -gt 0 ] ; then TEST_LOG="$1" - TEST_RUN_IN_RAWHIDE="$2" + TEST_RUN_IN_RAWHIDE=$2 fi gen_results() @@ -15,7 +17,6 @@ gen_results() TEST_STATUS_UPPER="$(echo "$TEST_STATUS" | tr '[:lower:]' '[:upper:]')" cat > results.xml << _EOF results: - - test: results result: $TEST_STATUS runtime: $TEST_RUNTIME @@ -39,12 +40,13 @@ if [ $TEST_RUN_IN_RAWHIDE -eq 0 ] ; then IS_RAWHIDE="$(grep -i rawhide /etc/fedora-release)" if [ x"$IS_RAWHIDE" != x ] ; then gen_results "0" "pass" + echo -n PASS exit 0 fi fi if [ ! -f $TEST_LOG ] ; then gen_results "0" "fail" - echo ERROR + echo -n ERROR else FAIL="$(grep "^FAIL: " $TEST_LOG | grep -v 'FAIL: 0$')" RUNTIME_FAIL="$(grep -v 'frame' $TEST_LOG | grep "^FAIL: " | sed -e "s/FAIL: //")" @@ -58,9 +60,10 @@ else RUNTIME="$(expr $RUNTIME_FAIL + $RUNTIME_PASS)" if [ x"$FAIL" != x ] ; then gen_results "$RUNTIME" "fail" - echo ERROR + echo -n ERROR else gen_results "$RUNTIME" "pass" + echo -n PASS fi fi diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml index 012d1bf..753384d 100644 --- a/tests/roles/ibus-desktop-testing-role/tasks/main.yml +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -208,7 +208,7 @@ - name: Check the results script: check-results.sh "{{ remote_artifacts }}/test.log" "0" register: test_fails - failed_when: False + failed_when: '"ERROR" in test_fails.stdout' - name: Set role result set_fact: From b9a29bff65eda7aa98b72b9d2d929b4d47c96acb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 10:04:30 +0000 Subject: [PATCH 183/202] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 7707be173874c5cc86b7aeefe7016cdf6720ddd8 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 13 Jul 2024 11:10:27 +0900 Subject: [PATCH 184/202] Update required packages in CI - adobe-source-code-pro-fonts is no longer available in RHEL10 - dnf and git do not work after systemd-oomd-defaults is installed --- tests/roles/ibus-desktop-testing-role/tasks/main.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml index 753384d..23984ca 100644 --- a/tests/roles/ibus-desktop-testing-role/tasks/main.yml +++ b/tests/roles/ibus-desktop-testing-role/tasks/main.yml @@ -32,7 +32,6 @@ - nautilus - polkit # default - - adobe-source-code-pro-fonts - at-spi2-atk - at-spi2-core - avahi @@ -74,7 +73,7 @@ - PackageKit-command-not-found - PackageKit-gtk3-module - sane-backends-drivers-scanners - - systemd-oomd-defaults + # Move systemd-oomd-defaults to Post-Installing section - tracker - tracker-miners - xdg-desktop-portal @@ -85,6 +84,7 @@ when: fedora_desktop.stat.exists == true package: name: + - adobe-source-code-pro-fonts - gnome-screenshot - gnome-boxes - yelp @@ -139,6 +139,13 @@ args: chdir: gnome-desktop-testing + - name: Post-Installing common GNOME desktop components + package: + name: + # TODO: DNS no longer works after install packages in this section + # so dnf and git should be done before this section + - systemd-oomd-defaults + - name: Configure GNOME installed-tests testing harness build when: fedora_desktop.stat.exists == false command: ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var From f308c02576f5e21fe8686d66128bde455ec47fc0 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 12 Sep 2024 09:26:12 +0900 Subject: [PATCH 185/202] Delete CI with STI CI with STI is archived in: https://src.fedoraproject.org/rpms/ibus-anthy/tree/ci-sti --- .../defaults/main.yml | 3 - .../files/check-results.sh | 69 ------ .../ibus-desktop-testing-role/meta/main.yml | 4 - .../ibus-desktop-testing-role/tasks/main.yml | 228 ------------------ tests/tests.yml | 10 - 5 files changed, 314 deletions(-) delete mode 100644 tests/roles/ibus-desktop-testing-role/defaults/main.yml delete mode 100755 tests/roles/ibus-desktop-testing-role/files/check-results.sh delete mode 100644 tests/roles/ibus-desktop-testing-role/meta/main.yml delete mode 100644 tests/roles/ibus-desktop-testing-role/tasks/main.yml delete mode 100644 tests/tests.yml diff --git a/tests/roles/ibus-desktop-testing-role/defaults/main.yml b/tests/roles/ibus-desktop-testing-role/defaults/main.yml deleted file mode 100644 index 8ff7991..0000000 --- a/tests/roles/ibus-desktop-testing-role/defaults/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -role_pkgs_req: - - rsync - - xorg-x11-server-Xvfb diff --git a/tests/roles/ibus-desktop-testing-role/files/check-results.sh b/tests/roles/ibus-desktop-testing-role/files/check-results.sh deleted file mode 100755 index 8a46118..0000000 --- a/tests/roles/ibus-desktop-testing-role/files/check-results.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash - -TEST_LOG="test.log" -TEST_RUN_IN_RAWHIDE=1 - -declare -i TEST_RUN_IN_RAWHIDE - -if [ $# -gt 0 ] ; then - TEST_LOG="$1" - TEST_RUN_IN_RAWHIDE=$2 -fi - -gen_results() -{ - TEST_RUNTIME="$1" - TEST_STATUS="$2" - TEST_STATUS_UPPER="$(echo "$TEST_STATUS" | tr '[:lower:]' '[:upper:]')" - cat > results.xml << _EOF -results: -- test: results - result: $TEST_STATUS - runtime: $TEST_RUNTIME - logs: - - ${TEST_STATUS_UPPER}-str_results.log - -_EOF - - DIR=$(dirname "$TEST_LOG") - if [ x"$TEST_LOG" != x ] ; then - cp "$TEST_LOG" "$DIR/${TEST_STATUS_UPPER}-str_results.log" - else - touch "$DIR/${TEST_STATUS_UPPER}-str_results.log" - fi - if [ x"$DIR" != x. ] ; then - mv results.xml "$DIR" - fi -} - -if [ $TEST_RUN_IN_RAWHIDE -eq 0 ] ; then - IS_RAWHIDE="$(grep -i rawhide /etc/fedora-release)" - if [ x"$IS_RAWHIDE" != x ] ; then - gen_results "0" "pass" - echo -n PASS - exit 0 - fi -fi -if [ ! -f $TEST_LOG ] ; then - gen_results "0" "fail" - echo -n ERROR -else - FAIL="$(grep "^FAIL: " $TEST_LOG | grep -v 'FAIL: 0$')" - RUNTIME_FAIL="$(grep -v 'frame' $TEST_LOG | grep "^FAIL: " | sed -e "s/FAIL: //")" - RUNTIME_PASS="$(grep -v 'frame' $TEST_LOG | grep "^PASS: " | sed -e "s/PASS: //")" - if [ x"$RUNTIME_FAIL" = x ] ; then - RUNTIME_FAIL="0" - fi - if [ x"$RUNTIME_PASS" = x ] ; then - RUNTIME_PASS="0" - fi - RUNTIME="$(expr $RUNTIME_FAIL + $RUNTIME_PASS)" - if [ x"$FAIL" != x ] ; then - gen_results "$RUNTIME" "fail" - echo -n ERROR - else - gen_results "$RUNTIME" "pass" - echo -n PASS - fi -fi - diff --git a/tests/roles/ibus-desktop-testing-role/meta/main.yml b/tests/roles/ibus-desktop-testing-role/meta/main.yml deleted file mode 100644 index 6626402..0000000 --- a/tests/roles/ibus-desktop-testing-role/meta/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- - -dependencies: - - role: str-common-init diff --git a/tests/roles/ibus-desktop-testing-role/tasks/main.yml b/tests/roles/ibus-desktop-testing-role/tasks/main.yml deleted file mode 100644 index 23984ca..0000000 --- a/tests/roles/ibus-desktop-testing-role/tasks/main.yml +++ /dev/null @@ -1,228 +0,0 @@ ---- -- name: Check if Fedora desktop - register: fedora_desktop - stat: - path: "/etc/fedora-release" - -- name: Build and install GNOME installed-tests testing harness - block: - - name: Installing common GNOME desktop components - package: - name: - # IBus CI sets - - xorg-x11-server-Xvfb - - ibus - - ibus-desktop-testing - - dbus-x11 - # https://pagure.io/fedora-comps/blob/main/f/comps-f38.xml.in - # dnf group info GNOME - # mandatory - - dconf - - gdm - - gnome-connections - - gnome-control-center - - gnome-initial-setup - - gnome-session-wayland-session - - gnome-session-xsession - - gnome-settings-daemon - - gnome-shell - - gnome-software - - gnome-terminal - - gnome-text-editor - - nautilus - - polkit - # default - - at-spi2-atk - - at-spi2-core - - avahi - - baobab - # Sometimes version mismatch with gnome-shell in rawhide - #- chrome-gnome-shell - - evince - - fprintd-pam - - glib-networking - - gnome-bluetooth - - gnome-calculator - - gnome-characters - - gnome-classic-session - - gnome-clocks - - gnome-color-manager - - gnome-disk-utility - - gnome-font-viewer - - gnome-logs - - gnome-remote-desktop - - gnome-system-monitor - - gnome-terminal-nautilus - - gnome-user-docs - - gvfs-fuse - - gvfs-goa - - gvfs-gphoto2 - - gvfs-mtp - - gvfs-smb - - libcanberra-gtk3 - - libproxy-duktape - - librsvg2 - - libsane-hpaio - - mesa-dri-drivers - - mesa-libEGL - - ModemManager - - NetworkManager-adsl - - NetworkManager-ppp - - NetworkManager-wwan - - orca - - PackageKit-command-not-found - - PackageKit-gtk3-module - - sane-backends-drivers-scanners - # Move systemd-oomd-defaults to Post-Installing section - - tracker - - tracker-miners - - xdg-desktop-portal - - xdg-desktop-portal-gnome - - xdg-desktop-portal-gtk - - xdg-user-dirs-gtk - - name: Installing Fedora specific GNOME desktop components - when: fedora_desktop.stat.exists == true - package: - name: - - adobe-source-code-pro-fonts - - gnome-screenshot - - gnome-boxes - - yelp - - cheese - - eog - - evince-djvu - - gnome-backgrounds - - gnome-contacts - - gnome-maps - - gnome-photos - - gnome-themes-extra - - gnome-user-share - - gnome-weather - - gvfs-afc - - gvfs-afp - - gvfs-archive - - NetworkManager-openconnect-gnome - - NetworkManager-openvpn-gnome - - NetworkManager-pptp-gnome - - NetworkManager-ssh-gnome - - NetworkManager-vpnc-gnome - - rygel - - simple-scan - - sushi - - totem - - name: Installing GNOME installed-tests testing harness - when: fedora_desktop.stat.exists == true - package: - name: - - gnome-desktop-testing - - name: Installing build environment - when: fedora_desktop.stat.exists == false - package: - name: - - autoconf - - automake - - make - - gcc - - git - - libtool - - - name: Fetching GNOME installed-tests testing harness source from remote repository - when: fedora_desktop.stat.exists == false - git: - repo: 'https://gitlab.gnome.org/GNOME/gnome-desktop-testing.git' - dest: gnome-desktop-testing - force: yes - - - name: Checkout v2021.1 tag in GNOME installed-tests testing harness - when: fedora_desktop.stat.exists == false - command: git checkout -b v2021.1 refs/tags/v2021.1 - args: - chdir: gnome-desktop-testing - - - name: Post-Installing common GNOME desktop components - package: - name: - # TODO: DNS no longer works after install packages in this section - # so dnf and git should be done before this section - - systemd-oomd-defaults - - - name: Configure GNOME installed-tests testing harness build - when: fedora_desktop.stat.exists == false - command: ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var - args: - chdir: gnome-desktop-testing - - - name: Build GNOME installed-tests testing harness - when: fedora_desktop.stat.exists == false - command: make - args: - chdir: gnome-desktop-testing - - - name: Install GNOME installed-tests testing harness - when: fedora_desktop.stat.exists == false - command: make install - args: - chdir: gnome-desktop-testing - -- name: Start IBus installed-tests testing harness - environment: - ANSIBLE: 1 - TMPDIR: '{{ remote_artifacts }}' - G_MESSAGES_DEBUG: 'all' - LANG: 'C.UTF-8' - block: - - name: Execute IBus tests - shell: | - set -e - # Delete LC_CTYPE=C.UTF-8 - export -n LC_CTYPE - status="FAIL: frame" - if [ -f $HOME/.config/anthy/last-record2_default.utf8 ] ; then \ - rm $HOME/.config/anthy/last-record2_default.utf8 - fi - if [ -f $HOME/.anthy/last-record2_default.utf8 ] ; then \ - rm $HOME/.anthy/last-record2_default.utf8 - fi - ibus-desktop-testing-runner \ - --no-graphics \ - --runner=gnome \ - --timeout=1200 \ - --tests='{{ installed_test_name }}' \ - --output='{{ remote_artifacts }}/{{ installed_test_name }}.log' \ - --result='{{ remote_artifacts }}/test.log' \ - null - if [ $? -eq 0 ]; then - status="PASS: frame" - fi - if [ -f /var/tmp/ibus-ci-autostart.log ] ; then - echo "#### /var/tmp/ibus-ci-autostart.log" - cat /var/tmp/ibus-ci-autostart.log - rm /var/tmp/ibus-ci-autostart.log - echo "#" - fi - echo "${status}" >> {{ remote_artifacts }}/test.log - echo "#### {{ remote_artifacts }}/{{ installed_test_name }}.log" - if [ -f {{ remote_artifacts }}/{{ installed_test_name }}.log ] ; then - cat {{ remote_artifacts }}/{{ installed_test_name }}.log - fi - echo "#" - echo "#### {{ remote_artifacts }}/test.log" - if [ -f {{ remote_artifacts }}/test.log ] ; then - cat {{ remote_artifacts }}/test.log - fi - echo "#" - - - name: Check the results - script: check-results.sh "{{ remote_artifacts }}/test.log" "0" - register: test_fails - failed_when: '"ERROR" in test_fails.stdout' - - - name: Set role result - set_fact: - role_result: "{{ test_fails.stdout }}" - role_result_failed: "{{ (test_fails.stdout|d|length > 0) or (test_fails.stderr|d|length > 0) }}" - role_result_msg: "{{ test_fails.stdout|d('tests failed.') }}" - - - include_role: - name: str-common-final - diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 94551ce..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,10 +0,0 @@ -- hosts: localhost - roles: - - role: ibus-desktop-testing-role - installed_test_name: ibus-anthy - tags: - - classic - - gating - required_packages: - - ibus-anthy-tests - From 0a23d31689d7c66ced6125a6d08a09982acc699b Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 12 Sep 2024 09:27:06 +0900 Subject: [PATCH 186/202] Revert change of "Fix CI freeze" (c89a603) The original issue is fixed in ibus core now. --- ibus-anthy-HEAD.patch | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e3f6c91..e33d0c9 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -62,40 +62,3 @@ index 4b50a01..0858614 100644 -- 2.43.0 -From c89a60350b2a949306bf75d64e06a0cde3a7846c Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Sun, 12 May 2024 13:01:50 +0900 -Subject: [PATCH] tests: Fix CI freeze - -Seems infinit calling g_resources_register_unlocked() happens -in register_lazy_static_resources_unlocked() from -g_resources_lookup_data() when ibus_init() is called after -gtk_init() or gdk_display_open() is called. -It's good to delete ibus_init() here since IBus GTK IM module already -calls it. ---- - tests/anthytest.py | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/tests/anthytest.py b/tests/anthytest.py -index 1d18d19..cf2d6bc 100755 ---- a/tests/anthytest.py -+++ b/tests/anthytest.py -@@ -77,7 +77,13 @@ class AnthyTest(unittest.TestCase): - - @classmethod - def setUpClass(cls): -- IBus.init() -+ # Already called in ibus/client/gtk3/ibusim.c:im_module_init(). -+ # Otherwise infinit g_resources_register_unlocked() happens in -+ # register_lazy_static_resources_unlocked() -+ # from g_resources_lookup_data() -+ # or IBus.init() could be called before Gdk.Display.open('') is called. -+ #IBus.init() -+ pass - - def setUp(self): - self.__id = 0 --- -2.45.0 - From 6b87ead8a2fca57e5c8412cc9d40129288ee1708 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 14 Sep 2024 08:52:12 +0900 Subject: [PATCH 187/202] Support GNOME Wayland and GTK4 in CI --- ibus-anthy-HEAD.patch | 402 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 402 insertions(+) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e33d0c9..2cebe3a 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -62,3 +62,405 @@ index 4b50a01..0858614 100644 -- 2.43.0 +From e62e75409de470d373865165b08d060a4cc73c8b Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Sat, 14 Sep 2024 08:39:56 +0900 +Subject: [PATCH] tests/anthytest: Support GNOME Wayland and GTK4 + +- Check "preedit-changed" signal is called twice in GNOME Wayland. + Maybe a mutter bug. +- Make sure the preedit is cleared before the next test case runs +- Wait for 3 seconds in GNOME Wayland before the test cases run to + get delayed focus events. +- Implement GTK4 +--- + tests/anthytest.py | 250 +++++++++++++++++++++++++++++++++++---------- + 1 file changed, 197 insertions(+), 53 deletions(-) + +diff --git a/tests/anthytest.py b/tests/anthytest.py +index 1d18d19..e9d1b42 100755 +--- a/tests/anthytest.py ++++ b/tests/anthytest.py +@@ -3,18 +3,22 @@ + + from __future__ import print_function + +-from gi import require_version as gi_require_version +-gi_require_version('GLib', '2.0') +-gi_require_version('Gdk', '3.0') +-gi_require_version('Gio', '2.0') +-gi_require_version('Gtk', '3.0') +-gi_require_version('IBus', '1.0') ++from gi import require_versions as gi_require_versions ++gi_require_versions({'GLib': '2.0', 'Gio': '2.0', 'GObject': '2.0', ++ 'IBus': '1.0'}) + from gi.repository import GLib +-from gi.repository import Gdk + from gi.repository import Gio +-from gi.repository import Gtk ++from gi.repository import GObject + from gi.repository import IBus + ++try: ++ gi_require_versions({'Gdk': '4.0', 'Gtk': '4.0'}) ++except ValueError: ++ gi_require_versions({'Gdk': '3.0', 'Gtk': '3.0'}) ++ ++from gi.repository import Gdk ++from gi.repository import Gtk ++ + import argparse + import getopt + import os +@@ -70,7 +74,7 @@ sys.path.append('/usr/share/ibus-anthy/engine') + from anthycases import TestCases + + +-@unittest.skipIf(Gdk.Display.open('') == None, 'Display cannot be open.') ++@unittest.skipIf(Gdk.Display.get_default() == None, 'Display cannot be open.') + class AnthyTest(unittest.TestCase): + global DONE_EXIT + ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Test/Engine' +@@ -81,11 +85,21 @@ class AnthyTest(unittest.TestCase): + + def setUp(self): + self.__id = 0 +- self.__rerun = False ++ self.__engine_is_focused = False ++ self.__idle_count = 0 ++ self.__idle_loop = None + self.__test_index = 0 ++ self.__preedit_changes = 0 ++ self.__preedit_prev = None + self.__conversion_index = 0 ++ self.__conversion_spaces = 0 + self.__commit_done = False + self.__engine = None ++ self.__list_toplevel = False ++ self.__is_wayland = False ++ display = Gdk.Display.get_default() ++ if GObject.type_name(display.__gtype__) == 'GdkWaylandDisplay': ++ self.__is_wayland = True + + def register_ibus_engine(self): + printflush('## Registering engine') +@@ -133,6 +147,59 @@ class AnthyTest(unittest.TestCase): + self.__bus.request_name('org.freedesktop.IBus.Anthy.Test', 0) + return True + ++ def create_window(self): ++ match Gtk.MAJOR_VERSION: ++ case 4: ++ self.create_window_gtk4() ++ case 3: ++ self.create_window_gtk3() ++ case _: ++ self.gtk_version_exception() ++ ++ def create_window_gtk4(self): ++ window = Gtk.Window() ++ self.__entry = entry = Gtk.Entry() ++ window.connect('destroy', self.__window_destroy_cb) ++ entry.connect('map', self.__entry_map_cb) ++ controller = Gtk.EventControllerFocus() ++ controller.set_propagation_phase(Gtk.PropagationPhase.BUBBLE) ++ controller.connect_after('enter', self.__controller_enter_cb) ++ text = entry.get_delegate() ++ text.add_controller(controller) ++ text.connect('preedit-changed', self.__entry_preedit_changed_cb) ++ buffer = entry.get_buffer() ++ buffer.connect('inserted-text', self.__buffer_inserted_text_cb) ++ window.set_child(entry) ++ window.set_focus(entry) ++ window.present() ++ printflush('## Build GTK4 window') ++ ++ def create_window_gtk3(self): ++ window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL) ++ self.__entry = entry = Gtk.Entry() ++ window.connect('destroy', self.__window_destroy_cb) ++ entry.connect('map', self.__entry_map_cb) ++ entry.connect('focus-in-event', self.__entry_focus_in_event_cb) ++ entry.connect('preedit-changed', self.__entry_preedit_changed_cb) ++ buffer = entry.get_buffer() ++ buffer.connect('inserted-text', self.__buffer_inserted_text_cb) ++ window.add(entry) ++ window.show_all() ++ printflush('## Build GTK3 window') ++ ++ def gtk_version_exception(self): ++ raise Exception("GTK version %d is not supported" % Gtk.MAJOR_VERSION) ++ ++ def is_integrated_desktop(self): ++ session_name = None ++ if 'XDG_SESSION_DESKTOP' in os.environ: ++ session_name = os.environ['XDG_SESSION_DESKTOP'] ++ if session_name == None: ++ return False ++ if len(session_name) >= 4 and session_name[0:5] == 'gnome': ++ return True ++ return False ++ + def __name_owner_changed_cb(self, connection, sender_name, object_path, + interface_name, signal_name, parameters, + user_data): +@@ -142,7 +209,7 @@ class AnthyTest(unittest.TestCase): + except ModuleNotFoundError as e: + with self.subTest(i = 'name-owner-changed'): + self.fail('NG: Not installed ibus-anthy %s' % str(e)) +- Gtk.main_quit() ++ self.__window_destroy_cb() + return + engine.Engine.CONFIG_RELOADED() + +@@ -154,60 +221,101 @@ class AnthyTest(unittest.TestCase): + except ModuleNotFoundError as e: + with self.subTest(i = 'create-engine'): + self.fail('NG: Not installed ibus-anthy %s' % str(e)) +- Gtk.main_quit() ++ self.__window_destroy_cb() + return + self.__id += 1 + self.__engine = engine.Engine(self.__bus, '%s/%d' % (self.ENGINE_PATH, self.__id)) ++ if hasattr(self.__engine.props, 'has_focus_id'): ++ self.__engine.connect('focus-in-id', self.__engine_focus_in) ++ self.__engine.connect('focus-out-id', self.__engine_focus_out) ++ # The timing of D-Bus signal of Engine.has_focus_id can cause ++ # some 'focus-in' signals earlier and 'focus-in-id' signals later. + self.__engine.connect('focus-in', self.__engine_focus_in) + self.__engine.connect('focus-out', self.__engine_focus_out) + return self.__engine + +- def __engine_focus_in(self, engine): ++ def __engine_focus_in(self, engine, object_path=None, client=None): ++ printflush('## Focus in engine %s %s' % (object_path, client)) + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + return +- # Workaround because focus-out resets the preedit text +- # ibus_bus_set_global_engine() calls bus_input_context_set_engine() +- # twice and it causes bus_engine_proxy_focus_out() +- if self.__rerun: +- self.__main_test() ++ self.__engine_is_focused = True + pass + +- def __engine_focus_out(self, engine): +- self.__rerun = True ++ def __engine_focus_out(self, engine, object_path=None): ++ printflush('## Focus out engine %s' % object_path) ++ self.__engine_is_focused = False + +- def create_window(self): +- window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL) +- self.__entry = entry = Gtk.Entry() +- window.connect('destroy', Gtk.main_quit) +- entry.connect('map', self.__entry_map_cb) +- entry.connect('focus-in-event', self.__entry_focus_in_event_cb) +- entry.connect('preedit-changed', self.__entry_preedit_changed_cb) +- buffer = entry.get_buffer() +- buffer.connect('inserted-text', self.__buffer_inserted_text_cb) +- window.add(entry) +- window.show_all() +- printflush('## Build window') ++ def __window_destroy_cb(self): ++ match Gtk.MAJOR_VERSION: ++ case 4: ++ self.__list_toplevel = False ++ case 3: ++ Gtk.main_quit() ++ case _: ++ self.gtk_version_exception() + + def __entry_map_cb(self, entry): + printflush('## Map window') + ++ def __controller_enter_cb(self, controller): ++ if self.is_integrated_desktop(): ++ # Wait for 3 seconds in GNOME Wayland because there is a long time ++ # lag between the "enter" signal on the event controller in GtkText ++ # and the "FocusIn" D-Bus signal in BusInputContext of ibus-daemon. ++ printflush('## Waiting for 3 secs') ++ GLib.timeout_add_seconds(3, ++ self.__controller_enter_delay, ++ controller) ++ else: ++ printflush('## No Wait') ++ GLib.idle_add(self.__controller_enter_delay, ++ controller) ++ ++ def __controller_enter_delay(self, controller): ++ text = controller.get_widget() ++ if not text.get_realized(): ++ return ++ self.__entry_focus_in_event_cb(None, None) ++ + def __entry_focus_in_event_cb(self, entry, event): +- printflush('## Get focus') ++ printflush('## Focus in entry') + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + return False + self.__bus.set_global_engine_async('testanthy', -1, None, self.__set_engine_cb) + return False + ++ def __idle_cb(self): ++ if self.__engine_is_focused: ++ self.__idle_loop.quit() ++ return GLib.SOURCE_REMOVE ++ elif self.__idle_count < 10: ++ self.__idle_count += 1 ++ return GLib.SOURCE_CONTINUE ++ else: ++ self.__idle_loop.quit() ++ return GLib.SOURCE_REMOVE ++ + def __set_engine_cb(self, object, res): ++ printflush('## Set engine') + if not self.__bus.set_global_engine_async_finish(res): + with self.subTest(i = self.__test_index): + self.fail('set engine failed: ' + error.message) + return + self.__enable_hiragana() ++ # ibus_im_context_focus_in() is called after GlobalEngine is set. ++ # The focus-in/out events happen more slowly in a busy system ++ # likes with a TMT tool. ++ if self.is_integrated_desktop(): ++ if 'IBUS_DAEMON_WITH_SYSTEMD' in os.environ and \ ++ os.environ['IBUS_DAEMON_WITH_SYSTEMD'] != None: ++ self.__idle_loop = GLib.MainLoop(None) ++ self.__idle_count = 0 ++ GLib.timeout_add_seconds(1, self.__idle_cb) ++ self.__idle_loop.run() + self.__main_test() + + def __get_test_condition_length(self, tag): +@@ -217,24 +325,48 @@ class AnthyTest(unittest.TestCase): + return len(cases[type]) + + def __entry_preedit_changed_cb(self, entry, preedit_str): +- if len(preedit_str) == 0: ++ # Wait for clearing the preedit before the next __main_test() is called. ++ if self.__commit_done: ++ if len(preedit_str) == 0: ++ self.__preedit_changes = 0 ++ self.__main_test() ++ else: ++ self.__preedit_changes += 1 + return ++ if self.__is_wayland: ++ # Need to fix mutter ++ # GTK calls self.__entry_preedit_changed_cb() twice by the actual ++ # preedit update in GNOME Wayland in case the lookup window is not ++ # shown yet and the preedit is changed but not the cursor position ++ # only. ++ # ++ # I.e. GTK receives the struct zwp_text_input_v3_listener.done() ++ # from Wayland text-input protocol when the preedit is updated ++ # and the "preedit-changed" signal is called at first and the ++ # zwp_text_input_v3_listener.done() also calls ++ # zwp_text_input_v3_commit() to notify IM changes to mutter and ++ # mutter receives the struct ++ # zwp_text_input_v3_interface.commit_state() from Wayland text-input ++ # protocol and it causes the zwp_text_input_v3_listener.done() and ++ # the "preedit-changed" signal in GTK. ++ if self.__preedit_changes < 1 and self.__conversion_spaces < 2 \ ++ and self.__preedit_prev != preedit_str: ++ self.__preedit_changes += 1 ++ return ++ else: ++ self.__preedit_changes = 0 + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + return ++ self.__preedit_prev = preedit_str + conversion_length = self.__get_test_condition_length('conversion') +- # Need to return again even if all the conversion is finished +- # until the final Engine.update_preedit() is called. +- if self.__conversion_index > conversion_length: +- return +- self.__run_cases('conversion', +- self.__conversion_index, +- self.__conversion_index + 1) + if self.__conversion_index < conversion_length: ++ self.__run_cases('conversion', ++ self.__conversion_index, ++ self.__conversion_index + 1) + self.__conversion_index += 1 + return +- self.__conversion_index += 1 + self.__run_cases('commit') + + def __enable_hiragana(self): +@@ -249,13 +381,12 @@ class AnthyTest(unittest.TestCase): + printflush('## Already hiragana') + + def __main_test(self): ++ printflush('## Run case %d' % self.__test_index) ++ self.__preedit_prev = None + self.__conversion_index = 0 ++ self.__conversion_spaces = 0 + self.__commit_done = False + self.__run_cases('preedit') +- self.__run_cases('conversion', +- self.__conversion_index, +- self.__conversion_index + 1) +- self.__conversion_index += 1 + + def __run_cases(self, tag, start=-1, end=-1): + tests = TestCases['tests'][self.__test_index] +@@ -288,6 +419,10 @@ class AnthyTest(unittest.TestCase): + if start != -1 or end != -1: + printflush('test step: %s sequences: [0x%X, 0x%X, 0x%X]' \ + % (tag, key[0], key[1], key[2])) ++ # Check if the lookup table is shown. ++ if tag == 'conversion' and \ ++ (key[0] == IBus.KEY_Tab or key[0] == IBus.KEY_space): ++ self.__conversion_spaces += 1 + self.__typing(key[0], key[1], key[2]) + i += 1 + +@@ -306,21 +441,30 @@ class AnthyTest(unittest.TestCase): + self.fail('NG: %d %s %s' \ + % (self.__test_index, str(cases['string']), chars)) + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + self.__test_index += 1 + if self.__test_index == len(TestCases['tests']): + if DONE_EXIT: +- Gtk.main_quit() ++ self.__window_destroy_cb() + return + self.__entry.set_text('') +- self.__main_test() ++ # ibus-anthy updates preedit after commits the text. ++ self.__commit_done = True + + def main(self): +- Gtk.main() ++ match Gtk.MAJOR_VERSION: ++ case 4: ++ while self.__list_toplevel: ++ GLib.MainContext.default().iteration(True) ++ case 3: ++ Gtk.main() ++ case _: ++ self.gtk_version_exception() + + def test_typing(self): + if not self.register_ibus_engine(): + sys.exit(-1) ++ self.__list_toplevel = True + self.create_window() + self.main() + +-- +2.45.2 + From e0a63cdb9ef4abd03c8b2f99b8f15b5d8a5b1cfa Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 14 Sep 2024 08:52:23 +0900 Subject: [PATCH 188/202] Replace STI with TMT in CI Replace GNOME Xorg with GNOME Wayland in CI --- .fmf/version | 1 + plans/test.fmf | 5 ++ .../install1-common/main.fmf | 68 +++++++++++++++++++ .../install2-fedora/main.fmf | 39 +++++++++++ .../install3-rhel/main.fmf | 13 ++++ .../install4-g-d-t/main.fmf | 6 ++ .../install5-tmt/main.fmf | 6 ++ .../install6-ibus-anthy/main.fmf | 6 ++ tests/ibus-desktop-testing/main.fmf | 3 + tests/ibus-desktop-testing/run/main.fmf | 5 ++ tests/ibus-desktop-testing/run/test.sh | 15 ++++ tests/main.fmt | 1 + 12 files changed, 168 insertions(+) create mode 100644 .fmf/version create mode 100644 plans/test.fmf create mode 100644 tests/ibus-desktop-testing/install1-common/main.fmf create mode 100644 tests/ibus-desktop-testing/install2-fedora/main.fmf create mode 100644 tests/ibus-desktop-testing/install3-rhel/main.fmf create mode 100644 tests/ibus-desktop-testing/install4-g-d-t/main.fmf create mode 100644 tests/ibus-desktop-testing/install5-tmt/main.fmf create mode 100644 tests/ibus-desktop-testing/install6-ibus-anthy/main.fmf create mode 100644 tests/ibus-desktop-testing/main.fmf create mode 100644 tests/ibus-desktop-testing/run/main.fmf create mode 100755 tests/ibus-desktop-testing/run/test.sh create mode 100644 tests/main.fmt diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/plans/test.fmf b/plans/test.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/test.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/tests/ibus-desktop-testing/install1-common/main.fmf b/tests/ibus-desktop-testing/install1-common/main.fmf new file mode 100644 index 0000000..d4d1a62 --- /dev/null +++ b/tests/ibus-desktop-testing/install1-common/main.fmf @@ -0,0 +1,68 @@ +summary: Install common GNOME desktop components +description: + The listed packages are installed commonly between Fedora and + RHEL GNOME desktop components. +require: + # IBus CI sets + - ibus + - ibus-desktop-testing + - dbus-x11 + # https://pagure.io/fedora-comps/blob/main/f/comps-f38.xml.in + # dnf group info GNOME + # mandatory + - dconf + - gdm + - gnome-connections + - gnome-control-center + - gnome-initial-setup + - gnome-session-wayland-session + - gnome-settings-daemon + - gnome-shell + - gnome-software + - gnome-text-editor + - nautilus + - polkit + # default + - at-spi2-atk + - at-spi2-core + - avahi + - baobab + # Sometimes version mismatch with gnome-shell in rawhide + #- chrome-gnome-shell + - fprintd-pam + - glib-networking + - gnome-bluetooth + - gnome-calculator + - gnome-characters + - gnome-classic-session + - gnome-clocks + - gnome-color-manager + - gnome-disk-utility + - gnome-font-viewer + - gnome-remote-desktop + - gnome-system-monitor + - gnome-user-docs + - gvfs-goa + - gvfs-mtp + - libcanberra-gtk3 + - libproxy-duktape + - librsvg2 + - libsane-hpaio + - mesa-dri-drivers + - mesa-libEGL + - ModemManager + - NetworkManager-adsl + - NetworkManager-ppp + - NetworkManager-wwan + - orca + - PackageKit-command-not-found + - PackageKit-gtk3-module + - ptyxis + - sane-backends-drivers-scanners + # Move systemd-oomd-defaults to Post-Installing section + - tracker + - tracker-miners + - xdg-desktop-portal + - xdg-desktop-portal-gnome + - xdg-desktop-portal-gtk + - xdg-user-dirs-gtk diff --git a/tests/ibus-desktop-testing/install2-fedora/main.fmf b/tests/ibus-desktop-testing/install2-fedora/main.fmf new file mode 100644 index 0000000..9bf4560 --- /dev/null +++ b/tests/ibus-desktop-testing/install2-fedora/main.fmf @@ -0,0 +1,39 @@ +summary: Install Fedora specific GNOME desktop components +description: + The listed packages are available in Fedora only. +enabled: false +adjust: + when: distro == fedora + enabled: true +require: + - adobe-source-code-pro-fonts + - gnome-screenshot + - gnome-boxes + - yelp + - cheese + - eog + - evince + - evince-djvu + - gnome-backgrounds + - gnome-contacts + - gnome-logs + - gnome-maps + - gnome-photos + - gnome-themes-extra + - gnome-user-share + - gnome-weather + - gvfs-afc + - gvfs-afp + - gvfs-archive + - gvfs-fuse + - gvfs-gphoto2 + - gvfs-smb + - NetworkManager-openconnect-gnome + - NetworkManager-openvpn-gnome + - NetworkManager-pptp-gnome + - NetworkManager-ssh-gnome + - NetworkManager-vpnc-gnome + - rygel + - simple-scan + - sushi + - totem diff --git a/tests/ibus-desktop-testing/install3-rhel/main.fmf b/tests/ibus-desktop-testing/install3-rhel/main.fmf new file mode 100644 index 0000000..9adf494 --- /dev/null +++ b/tests/ibus-desktop-testing/install3-rhel/main.fmf @@ -0,0 +1,13 @@ +summary: Install RHEL specific GNOME desktop components +description: + gdm-headless-login-session is not available in RHEL 10 GDM yet and + the listed packages are required by the command. +enabled: false +adjust: + when: distro != fedora + enabled: true +require: + - accountsservice + - accountsservice-libs + - pam + - python3-pam diff --git a/tests/ibus-desktop-testing/install4-g-d-t/main.fmf b/tests/ibus-desktop-testing/install4-g-d-t/main.fmf new file mode 100644 index 0000000..cfd4fd7 --- /dev/null +++ b/tests/ibus-desktop-testing/install4-g-d-t/main.fmf @@ -0,0 +1,6 @@ +summary: Install GNOME installed-tests testing harness +description: + gnome-desktop-testing package is required by IBus CI(ibus-desktop-testing) + and it's available in Fedora only at present. +require: + - gnome-desktop-testing diff --git a/tests/ibus-desktop-testing/install5-tmt/main.fmf b/tests/ibus-desktop-testing/install5-tmt/main.fmf new file mode 100644 index 0000000..966cf80 --- /dev/null +++ b/tests/ibus-desktop-testing/install5-tmt/main.fmf @@ -0,0 +1,6 @@ +summary: Install TMT packages +description: + The test script is calling the beakerlib script. +require: + - beakerlib + - tmt diff --git a/tests/ibus-desktop-testing/install6-ibus-anthy/main.fmf b/tests/ibus-desktop-testing/install6-ibus-anthy/main.fmf new file mode 100644 index 0000000..0443fd1 --- /dev/null +++ b/tests/ibus-desktop-testing/install6-ibus-anthy/main.fmf @@ -0,0 +1,6 @@ +summary: Install ibus-anthy specific packages +description: + The listed packages are required by CI of ibus-anthy. +require: + - ibus-anthy-tests + - glibc-langpack-ja diff --git a/tests/ibus-desktop-testing/main.fmf b/tests/ibus-desktop-testing/main.fmf new file mode 100644 index 0000000..b4d0642 --- /dev/null +++ b/tests/ibus-desktop-testing/main.fmf @@ -0,0 +1,3 @@ +summary: gnome-desktop-testing tests +# common test for sub tests +test: env diff --git a/tests/ibus-desktop-testing/run/main.fmf b/tests/ibus-desktop-testing/run/main.fmf new file mode 100644 index 0000000..d2434b1 --- /dev/null +++ b/tests/ibus-desktop-testing/run/main.fmf @@ -0,0 +1,5 @@ +summary: Run tests +description: + Run CI with ibus-desktop-testing-runner in GNOME Wayland. +duration: 15m +test: ./test.sh diff --git a/tests/ibus-desktop-testing/run/test.sh b/tests/ibus-desktop-testing/run/test.sh new file mode 100755 index 0000000..d53faf5 --- /dev/null +++ b/tests/ibus-desktop-testing/run/test.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +rlJournalStart + rlPhaseStartTest + rlRun -t "/usr/bin/ibus-desktop-testing-runner --runner gnome --tests ibus-anthy --no-graphics --lang ja_JP.UTF-8" + rlPhaseEnd + rlPhaseStartCleanup + rlRun "echo test-suite.log" + rlRun "cat test-suite.log" + rlRun "echo /export/home/itestuser/test-autostart.log" + rlRun "cat /export/home/itestuser/test-autostart.log" + rlPhaseEnd +rlJournalEnd diff --git a/tests/main.fmt b/tests/main.fmt new file mode 100644 index 0000000..e89cb45 --- /dev/null +++ b/tests/main.fmt @@ -0,0 +1 @@ +contact: Takao Fujiwara From 01e7c781f4e4ce6a055f887def128d054e57a056 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sun, 15 Sep 2024 08:17:19 +0900 Subject: [PATCH 189/202] tests: Update packages with comps-f41 - Add base-graphical - Add fonts default - Delete libcanberra-gtk3, libproxy-duktape - Delete tmt for RHEL CI --- .../install1-common/main.fmf | 40 ++++++++++++++----- .../install5-tmt/main.fmf | 1 - 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/tests/ibus-desktop-testing/install1-common/main.fmf b/tests/ibus-desktop-testing/install1-common/main.fmf index d4d1a62..b920b02 100644 --- a/tests/ibus-desktop-testing/install1-common/main.fmf +++ b/tests/ibus-desktop-testing/install1-common/main.fmf @@ -7,9 +7,25 @@ require: - ibus - ibus-desktop-testing - dbus-x11 - # https://pagure.io/fedora-comps/blob/main/f/comps-f38.xml.in + # https://pagure.io/fedora-comps/blob/main/f/comps-f41.xml.in # dnf group info GNOME - # mandatory + # base-graphical mandatory + - mesa-dri-drivers + - mesa-vulkan-drivers + - plymouth-system-theme + # fonts default + - default-fonts-cjk-mono + - default-fonts-cjk-sans + - default-fonts-cjk-serif + - default-fonts-core-emoji + - default-fonts-core-math + - default-fonts-core-mono + - default-fonts-core-sans + - default-fonts-core-serif + - default-fonts-other-mono + - default-fonts-other-sans + - default-fonts-other-serif + # gnome-desktop mandatory - dconf - gdm - gnome-connections @@ -22,9 +38,8 @@ require: - gnome-text-editor - nautilus - polkit - # default - - at-spi2-atk - - at-spi2-core + - ptyxis + # gnome-desktop default - avahi - baobab # Sometimes version mismatch with gnome-shell in rawhide @@ -32,33 +47,34 @@ require: - fprintd-pam - glib-networking - gnome-bluetooth + - gnome-browser-connector - gnome-calculator + - gnome-calendar - gnome-characters - gnome-classic-session - gnome-clocks - gnome-color-manager - gnome-disk-utility + - gnome-epub-thumbnailer - gnome-font-viewer - gnome-remote-desktop - gnome-system-monitor - gnome-user-docs - gvfs-goa - gvfs-mtp - - libcanberra-gtk3 - - libproxy-duktape - librsvg2 - libsane-hpaio + - loupe - mesa-dri-drivers - mesa-libEGL - ModemManager - NetworkManager-adsl - NetworkManager-ppp - NetworkManager-wwan - - orca - PackageKit-command-not-found - PackageKit-gtk3-module - - ptyxis - sane-backends-drivers-scanners + - snapshot # Move systemd-oomd-defaults to Post-Installing section - tracker - tracker-miners @@ -66,3 +82,9 @@ require: - xdg-desktop-portal-gnome - xdg-desktop-portal-gtk - xdg-user-dirs-gtk + # desktop-accessibility default + - at-spi2-atk + - at-spi2-core + - brltty + - orca + - speech-dispatcher diff --git a/tests/ibus-desktop-testing/install5-tmt/main.fmf b/tests/ibus-desktop-testing/install5-tmt/main.fmf index 966cf80..332864f 100644 --- a/tests/ibus-desktop-testing/install5-tmt/main.fmf +++ b/tests/ibus-desktop-testing/install5-tmt/main.fmf @@ -3,4 +3,3 @@ description: The test script is calling the beakerlib script. require: - beakerlib - - tmt From 42610e2fb01300ca4e6ee8c92900060c806793e0 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sun, 15 Sep 2024 10:43:58 +0900 Subject: [PATCH 190/202] tests: Delete RHEL specific packages gdm dependencies are updated for the headless session. --- tests/ibus-desktop-testing/install3-rhel/main.fmf | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/ibus-desktop-testing/install3-rhel/main.fmf b/tests/ibus-desktop-testing/install3-rhel/main.fmf index 9adf494..342507c 100644 --- a/tests/ibus-desktop-testing/install3-rhel/main.fmf +++ b/tests/ibus-desktop-testing/install3-rhel/main.fmf @@ -1,13 +1,7 @@ summary: Install RHEL specific GNOME desktop components description: - gdm-headless-login-session is not available in RHEL 10 GDM yet and - the listed packages are required by the command. + Currently no specific packages for RHEL. enabled: false adjust: when: distro != fedora enabled: true -require: - - accountsservice - - accountsservice-libs - - pam - - python3-pam From 71320e7c843b4cac36baa5eb8980763f6f13583d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 06:49:26 +0000 Subject: [PATCH 191/202] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 5bfc0dac3b54428e70a23c218bdec518368d42fb Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Fri, 24 Jan 2025 12:26:42 +0900 Subject: [PATCH 192/202] Resolves #2340630 Update era.t with 2025 --- ibus-anthy-HEAD.patch | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 2cebe3a..03bdf73 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -464,3 +464,42 @@ index 1d18d19..e9d1b42 100755 -- 2.45.2 +From 923138960c929df4d57e19e12c1e8ac72090eeaa Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 24 Jan 2025 12:06:19 +0900 +Subject: [PATCH] data: Update era.t with 2025 + +--- + data/era.t | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/data/era.t b/data/era.t +index 8750bc5..76a374c 100644 +--- a/data/era.t ++++ b/data/era.t +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2024 Takao Fujiwara ++# Copyright (c) 2010-2025 Takao Fujiwara + # Copyright (c) 2010-2013 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -344,6 +344,8 @@ + れいわ5 #T35*500 2023 + れいわ6 #T35*500 令和6 + れいわ6 #T35*500 2024 ++れいわ7 #T35*500 令和7 ++れいわ7 #T35*500 2025 + 1868 #T35*500 明治1 + 1869 #T35*500 明治2 + 1870 #T35*500 明治3 +@@ -505,3 +507,4 @@ + 2022 #T35*500 令和4 + 2023 #T35*500 令和5 + 2024 #T35*500 令和6 ++2025 #T35*500 令和7 +-- +2.47.0 + From 91398174d87d5a101a0986c5d7c5bf46f112bc99 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 18 Feb 2025 21:03:59 +0900 Subject: [PATCH 193/202] Delete upstreamed patches --- ibus-anthy-HEAD.patch | 505 ------------------------------------------ 1 file changed, 505 deletions(-) delete mode 100644 ibus-anthy-HEAD.patch diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch deleted file mode 100644 index 03bdf73..0000000 --- a/ibus-anthy-HEAD.patch +++ /dev/null @@ -1,505 +0,0 @@ -From 9ae92d7b8085e869d37a068a1a94815c78de6110 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 12 Mar 2024 18:25:39 +0900 -Subject: [PATCH] engine: Ignore Super modifier key - -Super-l is a shortcut key to launch a lock screen in GNOME desktop -session and now it can be sent to the engine prior to the window -manager. ---- - engine/python2/engine.py | 6 ++++-- - engine/python3/engine.py | 6 ++++-- - 2 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/engine/python2/engine.py b/engine/python2/engine.py -index 42d4dc1..c7ccd3f 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 --# Copyright (c) 2010-2023 Takao Fujiwara -+# Copyright (c) 2010-2024 Takao Fujiwara - # Copyright (c) 2007-2018 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -1976,7 +1976,9 @@ class Engine(IBus.EngineSimple): - state & hex_mod_mask == hex_mod_mask: - return True - -- if state & (IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK): -+ if state & (IBus.ModifierType.CONTROL_MASK | \ -+ IBus.ModifierType.MOD1_MASK | \ -+ IBus.ModifierType.MOD4_MASK): - return False - - if (IBus.KEY_exclam <= keyval <= IBus.KEY_asciitilde or -diff --git a/engine/python3/engine.py b/engine/python3/engine.py -index 4b50a01..0858614 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 --# Copyright (c) 2010-2023 Takao Fujiwara -+# Copyright (c) 2010-2024 Takao Fujiwara - # Copyright (c) 2007-2018 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -1971,7 +1971,9 @@ class Engine(IBus.EngineSimple): - state & hex_mod_mask == hex_mod_mask: - return True - -- if state & (IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK): -+ if state & (IBus.ModifierType.CONTROL_MASK | \ -+ IBus.ModifierType.MOD1_MASK | \ -+ IBus.ModifierType.MOD4_MASK): - return False - - if (IBus.KEY_exclam <= keyval <= IBus.KEY_asciitilde or --- -2.43.0 - -From e62e75409de470d373865165b08d060a4cc73c8b Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Sat, 14 Sep 2024 08:39:56 +0900 -Subject: [PATCH] tests/anthytest: Support GNOME Wayland and GTK4 - -- Check "preedit-changed" signal is called twice in GNOME Wayland. - Maybe a mutter bug. -- Make sure the preedit is cleared before the next test case runs -- Wait for 3 seconds in GNOME Wayland before the test cases run to - get delayed focus events. -- Implement GTK4 ---- - tests/anthytest.py | 250 +++++++++++++++++++++++++++++++++++---------- - 1 file changed, 197 insertions(+), 53 deletions(-) - -diff --git a/tests/anthytest.py b/tests/anthytest.py -index 1d18d19..e9d1b42 100755 ---- a/tests/anthytest.py -+++ b/tests/anthytest.py -@@ -3,18 +3,22 @@ - - from __future__ import print_function - --from gi import require_version as gi_require_version --gi_require_version('GLib', '2.0') --gi_require_version('Gdk', '3.0') --gi_require_version('Gio', '2.0') --gi_require_version('Gtk', '3.0') --gi_require_version('IBus', '1.0') -+from gi import require_versions as gi_require_versions -+gi_require_versions({'GLib': '2.0', 'Gio': '2.0', 'GObject': '2.0', -+ 'IBus': '1.0'}) - from gi.repository import GLib --from gi.repository import Gdk - from gi.repository import Gio --from gi.repository import Gtk -+from gi.repository import GObject - from gi.repository import IBus - -+try: -+ gi_require_versions({'Gdk': '4.0', 'Gtk': '4.0'}) -+except ValueError: -+ gi_require_versions({'Gdk': '3.0', 'Gtk': '3.0'}) -+ -+from gi.repository import Gdk -+from gi.repository import Gtk -+ - import argparse - import getopt - import os -@@ -70,7 +74,7 @@ sys.path.append('/usr/share/ibus-anthy/engine') - from anthycases import TestCases - - --@unittest.skipIf(Gdk.Display.open('') == None, 'Display cannot be open.') -+@unittest.skipIf(Gdk.Display.get_default() == None, 'Display cannot be open.') - class AnthyTest(unittest.TestCase): - global DONE_EXIT - ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Test/Engine' -@@ -81,11 +85,21 @@ class AnthyTest(unittest.TestCase): - - def setUp(self): - self.__id = 0 -- self.__rerun = False -+ self.__engine_is_focused = False -+ self.__idle_count = 0 -+ self.__idle_loop = None - self.__test_index = 0 -+ self.__preedit_changes = 0 -+ self.__preedit_prev = None - self.__conversion_index = 0 -+ self.__conversion_spaces = 0 - self.__commit_done = False - self.__engine = None -+ self.__list_toplevel = False -+ self.__is_wayland = False -+ display = Gdk.Display.get_default() -+ if GObject.type_name(display.__gtype__) == 'GdkWaylandDisplay': -+ self.__is_wayland = True - - def register_ibus_engine(self): - printflush('## Registering engine') -@@ -133,6 +147,59 @@ class AnthyTest(unittest.TestCase): - self.__bus.request_name('org.freedesktop.IBus.Anthy.Test', 0) - return True - -+ def create_window(self): -+ match Gtk.MAJOR_VERSION: -+ case 4: -+ self.create_window_gtk4() -+ case 3: -+ self.create_window_gtk3() -+ case _: -+ self.gtk_version_exception() -+ -+ def create_window_gtk4(self): -+ window = Gtk.Window() -+ self.__entry = entry = Gtk.Entry() -+ window.connect('destroy', self.__window_destroy_cb) -+ entry.connect('map', self.__entry_map_cb) -+ controller = Gtk.EventControllerFocus() -+ controller.set_propagation_phase(Gtk.PropagationPhase.BUBBLE) -+ controller.connect_after('enter', self.__controller_enter_cb) -+ text = entry.get_delegate() -+ text.add_controller(controller) -+ text.connect('preedit-changed', self.__entry_preedit_changed_cb) -+ buffer = entry.get_buffer() -+ buffer.connect('inserted-text', self.__buffer_inserted_text_cb) -+ window.set_child(entry) -+ window.set_focus(entry) -+ window.present() -+ printflush('## Build GTK4 window') -+ -+ def create_window_gtk3(self): -+ window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL) -+ self.__entry = entry = Gtk.Entry() -+ window.connect('destroy', self.__window_destroy_cb) -+ entry.connect('map', self.__entry_map_cb) -+ entry.connect('focus-in-event', self.__entry_focus_in_event_cb) -+ entry.connect('preedit-changed', self.__entry_preedit_changed_cb) -+ buffer = entry.get_buffer() -+ buffer.connect('inserted-text', self.__buffer_inserted_text_cb) -+ window.add(entry) -+ window.show_all() -+ printflush('## Build GTK3 window') -+ -+ def gtk_version_exception(self): -+ raise Exception("GTK version %d is not supported" % Gtk.MAJOR_VERSION) -+ -+ def is_integrated_desktop(self): -+ session_name = None -+ if 'XDG_SESSION_DESKTOP' in os.environ: -+ session_name = os.environ['XDG_SESSION_DESKTOP'] -+ if session_name == None: -+ return False -+ if len(session_name) >= 4 and session_name[0:5] == 'gnome': -+ return True -+ return False -+ - def __name_owner_changed_cb(self, connection, sender_name, object_path, - interface_name, signal_name, parameters, - user_data): -@@ -142,7 +209,7 @@ class AnthyTest(unittest.TestCase): - except ModuleNotFoundError as e: - with self.subTest(i = 'name-owner-changed'): - self.fail('NG: Not installed ibus-anthy %s' % str(e)) -- Gtk.main_quit() -+ self.__window_destroy_cb() - return - engine.Engine.CONFIG_RELOADED() - -@@ -154,60 +221,101 @@ class AnthyTest(unittest.TestCase): - except ModuleNotFoundError as e: - with self.subTest(i = 'create-engine'): - self.fail('NG: Not installed ibus-anthy %s' % str(e)) -- Gtk.main_quit() -+ self.__window_destroy_cb() - return - self.__id += 1 - self.__engine = engine.Engine(self.__bus, '%s/%d' % (self.ENGINE_PATH, self.__id)) -+ if hasattr(self.__engine.props, 'has_focus_id'): -+ self.__engine.connect('focus-in-id', self.__engine_focus_in) -+ self.__engine.connect('focus-out-id', self.__engine_focus_out) -+ # The timing of D-Bus signal of Engine.has_focus_id can cause -+ # some 'focus-in' signals earlier and 'focus-in-id' signals later. - self.__engine.connect('focus-in', self.__engine_focus_in) - self.__engine.connect('focus-out', self.__engine_focus_out) - return self.__engine - -- def __engine_focus_in(self, engine): -+ def __engine_focus_in(self, engine, object_path=None, client=None): -+ printflush('## Focus in engine %s %s' % (object_path, client)) - if self.__test_index == len(TestCases['tests']): - if DONE_EXIT: -- Gtk.main_quit() -+ self.__window_destroy_cb() - return -- # Workaround because focus-out resets the preedit text -- # ibus_bus_set_global_engine() calls bus_input_context_set_engine() -- # twice and it causes bus_engine_proxy_focus_out() -- if self.__rerun: -- self.__main_test() -+ self.__engine_is_focused = True - pass - -- def __engine_focus_out(self, engine): -- self.__rerun = True -+ def __engine_focus_out(self, engine, object_path=None): -+ printflush('## Focus out engine %s' % object_path) -+ self.__engine_is_focused = False - -- def create_window(self): -- window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL) -- self.__entry = entry = Gtk.Entry() -- window.connect('destroy', Gtk.main_quit) -- entry.connect('map', self.__entry_map_cb) -- entry.connect('focus-in-event', self.__entry_focus_in_event_cb) -- entry.connect('preedit-changed', self.__entry_preedit_changed_cb) -- buffer = entry.get_buffer() -- buffer.connect('inserted-text', self.__buffer_inserted_text_cb) -- window.add(entry) -- window.show_all() -- printflush('## Build window') -+ def __window_destroy_cb(self): -+ match Gtk.MAJOR_VERSION: -+ case 4: -+ self.__list_toplevel = False -+ case 3: -+ Gtk.main_quit() -+ case _: -+ self.gtk_version_exception() - - def __entry_map_cb(self, entry): - printflush('## Map window') - -+ def __controller_enter_cb(self, controller): -+ if self.is_integrated_desktop(): -+ # Wait for 3 seconds in GNOME Wayland because there is a long time -+ # lag between the "enter" signal on the event controller in GtkText -+ # and the "FocusIn" D-Bus signal in BusInputContext of ibus-daemon. -+ printflush('## Waiting for 3 secs') -+ GLib.timeout_add_seconds(3, -+ self.__controller_enter_delay, -+ controller) -+ else: -+ printflush('## No Wait') -+ GLib.idle_add(self.__controller_enter_delay, -+ controller) -+ -+ def __controller_enter_delay(self, controller): -+ text = controller.get_widget() -+ if not text.get_realized(): -+ return -+ self.__entry_focus_in_event_cb(None, None) -+ - def __entry_focus_in_event_cb(self, entry, event): -- printflush('## Get focus') -+ printflush('## Focus in entry') - if self.__test_index == len(TestCases['tests']): - if DONE_EXIT: -- Gtk.main_quit() -+ self.__window_destroy_cb() - return False - self.__bus.set_global_engine_async('testanthy', -1, None, self.__set_engine_cb) - return False - -+ def __idle_cb(self): -+ if self.__engine_is_focused: -+ self.__idle_loop.quit() -+ return GLib.SOURCE_REMOVE -+ elif self.__idle_count < 10: -+ self.__idle_count += 1 -+ return GLib.SOURCE_CONTINUE -+ else: -+ self.__idle_loop.quit() -+ return GLib.SOURCE_REMOVE -+ - def __set_engine_cb(self, object, res): -+ printflush('## Set engine') - if not self.__bus.set_global_engine_async_finish(res): - with self.subTest(i = self.__test_index): - self.fail('set engine failed: ' + error.message) - return - self.__enable_hiragana() -+ # ibus_im_context_focus_in() is called after GlobalEngine is set. -+ # The focus-in/out events happen more slowly in a busy system -+ # likes with a TMT tool. -+ if self.is_integrated_desktop(): -+ if 'IBUS_DAEMON_WITH_SYSTEMD' in os.environ and \ -+ os.environ['IBUS_DAEMON_WITH_SYSTEMD'] != None: -+ self.__idle_loop = GLib.MainLoop(None) -+ self.__idle_count = 0 -+ GLib.timeout_add_seconds(1, self.__idle_cb) -+ self.__idle_loop.run() - self.__main_test() - - def __get_test_condition_length(self, tag): -@@ -217,24 +325,48 @@ class AnthyTest(unittest.TestCase): - return len(cases[type]) - - def __entry_preedit_changed_cb(self, entry, preedit_str): -- if len(preedit_str) == 0: -+ # Wait for clearing the preedit before the next __main_test() is called. -+ if self.__commit_done: -+ if len(preedit_str) == 0: -+ self.__preedit_changes = 0 -+ self.__main_test() -+ else: -+ self.__preedit_changes += 1 - return -+ if self.__is_wayland: -+ # Need to fix mutter -+ # GTK calls self.__entry_preedit_changed_cb() twice by the actual -+ # preedit update in GNOME Wayland in case the lookup window is not -+ # shown yet and the preedit is changed but not the cursor position -+ # only. -+ # -+ # I.e. GTK receives the struct zwp_text_input_v3_listener.done() -+ # from Wayland text-input protocol when the preedit is updated -+ # and the "preedit-changed" signal is called at first and the -+ # zwp_text_input_v3_listener.done() also calls -+ # zwp_text_input_v3_commit() to notify IM changes to mutter and -+ # mutter receives the struct -+ # zwp_text_input_v3_interface.commit_state() from Wayland text-input -+ # protocol and it causes the zwp_text_input_v3_listener.done() and -+ # the "preedit-changed" signal in GTK. -+ if self.__preedit_changes < 1 and self.__conversion_spaces < 2 \ -+ and self.__preedit_prev != preedit_str: -+ self.__preedit_changes += 1 -+ return -+ else: -+ self.__preedit_changes = 0 - if self.__test_index == len(TestCases['tests']): - if DONE_EXIT: -- Gtk.main_quit() -+ self.__window_destroy_cb() - return -+ self.__preedit_prev = preedit_str - conversion_length = self.__get_test_condition_length('conversion') -- # Need to return again even if all the conversion is finished -- # until the final Engine.update_preedit() is called. -- if self.__conversion_index > conversion_length: -- return -- self.__run_cases('conversion', -- self.__conversion_index, -- self.__conversion_index + 1) - if self.__conversion_index < conversion_length: -+ self.__run_cases('conversion', -+ self.__conversion_index, -+ self.__conversion_index + 1) - self.__conversion_index += 1 - return -- self.__conversion_index += 1 - self.__run_cases('commit') - - def __enable_hiragana(self): -@@ -249,13 +381,12 @@ class AnthyTest(unittest.TestCase): - printflush('## Already hiragana') - - def __main_test(self): -+ printflush('## Run case %d' % self.__test_index) -+ self.__preedit_prev = None - self.__conversion_index = 0 -+ self.__conversion_spaces = 0 - self.__commit_done = False - self.__run_cases('preedit') -- self.__run_cases('conversion', -- self.__conversion_index, -- self.__conversion_index + 1) -- self.__conversion_index += 1 - - def __run_cases(self, tag, start=-1, end=-1): - tests = TestCases['tests'][self.__test_index] -@@ -288,6 +419,10 @@ class AnthyTest(unittest.TestCase): - if start != -1 or end != -1: - printflush('test step: %s sequences: [0x%X, 0x%X, 0x%X]' \ - % (tag, key[0], key[1], key[2])) -+ # Check if the lookup table is shown. -+ if tag == 'conversion' and \ -+ (key[0] == IBus.KEY_Tab or key[0] == IBus.KEY_space): -+ self.__conversion_spaces += 1 - self.__typing(key[0], key[1], key[2]) - i += 1 - -@@ -306,21 +441,30 @@ class AnthyTest(unittest.TestCase): - self.fail('NG: %d %s %s' \ - % (self.__test_index, str(cases['string']), chars)) - if DONE_EXIT: -- Gtk.main_quit() -+ self.__window_destroy_cb() - self.__test_index += 1 - if self.__test_index == len(TestCases['tests']): - if DONE_EXIT: -- Gtk.main_quit() -+ self.__window_destroy_cb() - return - self.__entry.set_text('') -- self.__main_test() -+ # ibus-anthy updates preedit after commits the text. -+ self.__commit_done = True - - def main(self): -- Gtk.main() -+ match Gtk.MAJOR_VERSION: -+ case 4: -+ while self.__list_toplevel: -+ GLib.MainContext.default().iteration(True) -+ case 3: -+ Gtk.main() -+ case _: -+ self.gtk_version_exception() - - def test_typing(self): - if not self.register_ibus_engine(): - sys.exit(-1) -+ self.__list_toplevel = True - self.create_window() - self.main() - --- -2.45.2 - -From 923138960c929df4d57e19e12c1e8ac72090eeaa Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 24 Jan 2025 12:06:19 +0900 -Subject: [PATCH] data: Update era.t with 2025 - ---- - data/era.t | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/data/era.t b/data/era.t -index 8750bc5..76a374c 100644 ---- a/data/era.t -+++ b/data/era.t -@@ -2,7 +2,7 @@ - # - # ibus-anthy - The Anthy engine for IBus - # --# Copyright (c) 2010-2024 Takao Fujiwara -+# Copyright (c) 2010-2025 Takao Fujiwara - # Copyright (c) 2010-2013 Red Hat, Inc. - # - # This program is free software; you can redistribute it and/or modify -@@ -344,6 +344,8 @@ - れいわ5 #T35*500 2023 - れいわ6 #T35*500 令和6 - れいわ6 #T35*500 2024 -+れいわ7 #T35*500 令和7 -+れいわ7 #T35*500 2025 - 1868 #T35*500 明治1 - 1869 #T35*500 明治2 - 1870 #T35*500 明治3 -@@ -505,3 +507,4 @@ - 2022 #T35*500 令和4 - 2023 #T35*500 令和5 - 2024 #T35*500 令和6 -+2025 #T35*500 令和7 --- -2.47.0 - From 5df253efd2f314dd7b7bfb826a0d9d4b5eabe666 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Tue, 18 Feb 2025 23:41:06 +0900 Subject: [PATCH 194/202] Bump to 1.5.17 --- .gitignore | 1 + ibus-anthy-HEAD.patch | 0 ibus-anthy.spec | 11 ++++++++--- ibus-anthy.tar.gz.sum | 4 ++++ sources | 2 +- 5 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 ibus-anthy-HEAD.patch create mode 100644 ibus-anthy.tar.gz.sum diff --git a/.gitignore b/.gitignore index b51f22e..68fd01d 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ ibus-anthy.png /ibus-anthy-1.5.14.tar.gz /ibus-anthy-1.5.15.tar.gz /ibus-anthy-1.5.16.tar.gz +/ibus-anthy-1.5.17.tar.gz diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch new file mode 100644 index 0000000..e69de29 diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 22eee58..f6ab10b 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -17,16 +17,16 @@ %endif Name: ibus-anthy -Version: 1.5.16 +Version: 1.5.17 Release: %autorelease Summary: The Anthy engine for IBus input platform License: GPL-2.0-or-later URL: https://github.com/ibus/ibus/wiki -Source0: https://github.com/ibus/ibus-anthy/releases/download/%{version}/%{name}-%{version}.tar.gz +Source0: https://github.com/ibus/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz +Source1: https://github.com/ibus/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz.sum#/%{name}.tar.gz.sum # Upstreamed patches. # Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -88,6 +88,11 @@ the functionality of the installed %{name} package. %prep +SAVED_SUM=$(grep sha512sum %SOURCE1 | awk '{print $2}') +MY_SUM=$(sha512sum %SOURCE0 | awk '{print $1}') +if test x"$SAVED_SUM" != x"$MY_SUM" ; then + abort +fi %autosetup -S git %build diff --git a/ibus-anthy.tar.gz.sum b/ibus-anthy.tar.gz.sum new file mode 100644 index 0000000..cc21697 --- /dev/null +++ b/ibus-anthy.tar.gz.sum @@ -0,0 +1,4 @@ +cksum 1682900558 914700 ibus-anthy-1.5.17.tar.gz +sha1sum 7935a5abc2a1cb4dd59ff9295d3582bdb1f0cc83 ibus-anthy-1.5.17.tar.gz +sha256sum 9e1d28ad7da2be5e0d9c0eb0d8fb7557fc89770aa2237272debe197bd61abd40 ibus-anthy-1.5.17.tar.gz +sha512sum 34775879ea4891d2f83c5f9aa341a59bac928332ad60ec4ba8d1475783b0c50c721229e48c7671f050066da3d4053531792c3fa5e5640db2c2e8bd1bc46105a1 ibus-anthy-1.5.17.tar.gz diff --git a/sources b/sources index 012042b..6c6f368 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ibus-anthy-1.5.16.tar.gz) = d1a7b9da402d85af955f96fd8618189fb2e682763f57b5d6b54e7bcf052138ba300f4ba8130a4ac0e8e1e8821319e9b6360e57568c84c1f9845438174e51a959 +SHA512 (ibus-anthy-1.5.17.tar.gz) = 34775879ea4891d2f83c5f9aa341a59bac928332ad60ec4ba8d1475783b0c50c721229e48c7671f050066da3d4053531792c3fa5e5640db2c2e8bd1bc46105a1 From d41c6ef8b3ee71ab255ffe98d4301b0044b1edc3 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Sat, 7 Jun 2025 15:41:08 +0900 Subject: [PATCH 195/202] Enable compose error notification --- ibus-anthy-HEAD.patch | 266 ++++++++++++++++++++++++++++++++++++++++++ ibus-anthy.spec | 2 +- 2 files changed, 267 insertions(+), 1 deletion(-) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index e69de29..24a85f2 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -0,0 +1,266 @@ +From 7f3101f60abc0c615ec2dcf82729b554373cddcc Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Sat, 7 Jun 2025 15:33:17 +0900 +Subject: [PATCH] configure: Drop Python 2 support + +--- + configure.ac | 26 +++++++++----------------- + engine/Makefile.am | 8 ++------ + setup/Makefile.am | 8 ++------ + 3 files changed, 13 insertions(+), 29 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 8bb6733..e4090c3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -117,12 +117,12 @@ AC_SUBST(ENV_IBUS_TEST) + dnl - define python version + AC_ARG_WITH(python, + AS_HELP_STRING([--with-python[=PATH]], +- [Select python2 or python3]), ++ [Select python3. python2 is no longer supported.]), + [PYTHON=$with_python], [] + ) + + dnl export $pyexecdir using existent $PYTHON +-AM_PATH_PYTHON([2.5]) ++AM_PATH_PYTHON([3.0]) + + dnl Decided to separate python3 directory from python2 directory here + dnl because engine/table.py includes unicode array so it's better to +@@ -142,15 +142,12 @@ dnl return gettext(a) + case "$PYTHON_VERSION" in + 3.*) + enable_python3=yes +- enable_python2=no + ;; + *) +- enable_python3=no +- enable_python2=yes ++ AC_MSG_ERROR([Not support PYTHON $PYTHON]) + ;; + esac + +-AM_CONDITIONAL([ENABLE_PYTHON2], [test x"$enable_python2" = x"yes"]) + AM_CONDITIONAL([ENABLE_PYTHON3], [test x"$enable_python3" = x"yes"]) + + dnl - check the supported ibus version +@@ -192,15 +189,14 @@ fi + AC_SUBST(ENV_IBUS_ENGINE) + + dnl - check pygtk2 +-AC_MSG_CHECKING([whether you enable pygtk2 anthy]) ++AC_MSG_NOTICE([pygtk2 does not work because python2 is no longer supported.]) + AC_ARG_ENABLE(pygtk2-anthy, + AS_HELP_STRING([--enable-pygtk2-anthy=no/yes], +- [Install pygtk2 anthy default=no]), +- [], +- enable_pygtk2_anthy=no) +-AC_MSG_RESULT($enable_pygtk2_anthy) ++ [pygtk2 is no longer supported.]), ++ enable_pygtk2=no, ++ enable_pygtk2=no) + +-if test x"$enable_pygtk2_anthy" = xyes; then ++if test x"$enable_pygtk2" = xyes; then + AM_CONDITIONAL(HAVE_PYGTK2_ANTHY, true) + + dnl - check swig +@@ -447,14 +443,10 @@ ibus-anthy.spec + data/Makefile + gir/Makefile + engine/Makefile +-engine/python2/Makefile +-engine/python2/anthy.inputMethod.xml.in +-engine/python2/default.inputMethod.xml.in + engine/python3/Makefile + engine/python3/anthy.inputMethod.xml.in + engine/python3/default.inputMethod.xml.in + setup/Makefile +-setup/python2/Makefile + setup/python3/Makefile + tests/Makefile + icons/Makefile +@@ -475,7 +467,7 @@ ANTHY_GOBJECT_GIRDIR $ANTHY_GOBJECT_GIRDIR + ANTHY_GOBJECT_TYPELIBSDIR $ANTHY_GOBJECT_TYPELIBSDIR + LT_VERSION_INFO $LT_VERSION_INFO + ENV_IBUS_ENGINE $ENV_IBUS_ENGINE +-HAVE_PYGTK2_ANTHY $enable_pygtk2_anthy ++HAVE_PYGTK2_ANTHY $enable_pygtk2 + python $PYTHON + Enable python2 $enable_python2 + Enable python3 $enable_python3 +diff --git a/engine/Makefile.am b/engine/Makefile.am +index 3c64425..991d7e3 100644 +--- a/engine/Makefile.am ++++ b/engine/Makefile.am +@@ -2,8 +2,8 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2014 Takao Fujiwara +-# Copyright (c) 2014 Red Hat, Inc. ++# Copyright (c) 2014-2025 Takao Fujiwara ++# Copyright (c) 2014-2025 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -21,10 +21,6 @@ + + SUBDIRS = + +-if ENABLE_PYTHON2 +-SUBDIRS += python2 +-endif +- + if ENABLE_PYTHON3 + SUBDIRS += python3 + endif +diff --git a/setup/Makefile.am b/setup/Makefile.am +index 3c64425..991d7e3 100644 +--- a/setup/Makefile.am ++++ b/setup/Makefile.am +@@ -2,8 +2,8 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2014 Takao Fujiwara +-# Copyright (c) 2014 Red Hat, Inc. ++# Copyright (c) 2014-2025 Takao Fujiwara ++# Copyright (c) 2014-2025 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -21,10 +21,6 @@ + + SUBDIRS = + +-if ENABLE_PYTHON2 +-SUBDIRS += python2 +-endif +- + if ENABLE_PYTHON3 + SUBDIRS += python3 + endif +-- +2.49.0 + +From 7dd0db48e69306d28cb033336e0e7429b2920fb1 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Sat, 7 Jun 2025 15:34:18 +0900 +Subject: [PATCH] engine: Enable compose error notification + +IBusEngimeSimple now can use focus-id feature to warn the messages +for GNOME and Wayland specific and the parent class needs to connect +the 'focus-in/out-id' signals instead overriding the class methods +to access ibus_engine_simple_focus_in_id(). + +Also define the name of GType of the Python classes. + +BUG=https://github.com/ibus/ibus/pull/2763 +--- + engine/python3/engine.py | 26 ++++++++++++++++---------- + engine/python3/factory.py | 3 ++- + 2 files changed, 18 insertions(+), 11 deletions(-) + +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 0858614..5678d18 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 +-# Copyright (c) 2010-2024 Takao Fujiwara ++# Copyright (c) 2010-2025 Takao Fujiwara + # Copyright (c) 2007-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -116,6 +116,7 @@ for k, v in zip(['KEY_KP_Add', 'KEY_KP_Decimal', 'KEY_KP_Divide', 'KEY_KP_Enter' + KP_Table[getattr(IBus, k)] = getattr(IBus, v) + + class Engine(IBus.EngineSimple): ++ __gtype_name__ = 'IBusEngineAnthy' + __input_mode = None + __typing_mode = None + __segment_mode = None +@@ -129,12 +130,12 @@ class Engine(IBus.EngineSimple): + + def __init__(self, bus, object_path): + if hasattr(IBus.Engine.props, 'has_focus_id'): +- super(Engine, self).__init__(engine_name="anthy", ++ 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", ++ super(Engine, self).__init__(engine_name='anthy', + connection=bus.get_connection(), + object_path=object_path) + +@@ -186,6 +187,11 @@ class Engine(IBus.EngineSimple): + # loop infinitely if this class overrides it. + # self.process_key_event is not accessible too. + self.connect('process-key-event', self.__process_key_event) ++ self.connect('focus-in', self.__focus_in) ++ # flashing compose sequence in GNOME instead of system bell ++ self.connect('focus-in-id', self.__focus_in_id) ++ self.connect('focus-out', self.__focus_out) ++ self.connect('focus-out-id', self.__focus_out_id) + self.connect('destroy', self.__destroy) + self.connect('page-down', self.__page_down) + self.connect('page-up', self.__page_up) +@@ -1059,13 +1065,10 @@ class Engine(IBus.EngineSimple): + def __rgb(self, r, g, b): + return self.__argb(255, r, g, b) + +- def do_focus_in(self): +- self.do_focus_in_id(None, None) ++ def __focus_in(self, obj): ++ self.__focus_in_id(obj, None, None) + +- def do_focus_out(self): +- self.do_focus_out_id(None) +- +- def do_focus_in_id(self, object_path, client): ++ def __focus_in_id(self, obj, object_path, client): + self.register_properties(self.__prop_list) + self.__refresh_typing_mode_property() + mode = self.__prefs.get_value('common', 'behavior-on-focus-out') +@@ -1077,7 +1080,10 @@ class Engine(IBus.EngineSimple): + if size != self.__lookup_table.get_page_size(): + self.__lookup_table.set_page_size(size) + +- def do_focus_out_id(self, object_path): ++ def __focus_out(self, obj): ++ self.__focus_out_id(obj, None) ++ ++ def __focus_out_id(self, obj, 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/factory.py b/engine/python3/factory.py +index b7b1e89..ea1d364 100644 +--- a/engine/python3/factory.py ++++ b/engine/python3/factory.py +@@ -4,7 +4,7 @@ + # ibus-anthy - The Anthy engine for IBus + # + # Copyright (c) 2007-2008 Peng Huang +-# Copyright (c) 2010-2017 Takao Fujiwara ++# Copyright (c) 2010-2025 Takao Fujiwara + # Copyright (c) 2007-2017 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -34,6 +34,7 @@ import engine + + + class EngineFactory(IBus.Factory): ++ __gtype_name__ = 'IBusFactoryAnthy' + FACTORY_PATH = '/com/redhat/IBus/engines/Anthy/Factory' + ENGINE_PATH = '/com/redhat/IBus/engines/Anthy/Engine' + NAME = 'Anthy' +-- +2.49.0 + diff --git a/ibus-anthy.spec b/ibus-anthy.spec index f6ab10b..4f94800 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -27,6 +27,7 @@ Source1: https://github.com/ibus/%{name}/releases/download/%{version}/%{n # Upstreamed patches. # Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch Patch1: %{name}-1938129-default-hiragana.patch BuildRequires: anthy-unicode-devel @@ -108,7 +109,6 @@ fi --with-kasumi-exec=/usr/bin/kasumi-unicode \ %endif --with-on-off-keys="'Zenkaku_Hankaku', 'Ctrl+space', 'Ctrl+J'" \ - --with-python=python3 \ --enable-installed-tests \ --disable-static # make -C po update-gmo From 2b23d1b0f8aea2f3d28416dddeb0ce7e52753441 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 17:29:19 +0000 Subject: [PATCH 196/202] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 2e507c163f69382e5df29b7131393a54e44fcee5 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 31 Jul 2025 10:53:19 +0900 Subject: [PATCH 197/202] Resolves #2385069 Remake aclocal.m4 for automake-1.18.1 --- ibus-anthy.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ibus-anthy.spec b/ibus-anthy.spec index 4f94800..f9255d7 100644 --- a/ibus-anthy.spec +++ b/ibus-anthy.spec @@ -98,6 +98,7 @@ fi %build #autoreconf -f -i -v +autoreconf -f -i -v %configure \ %if %have_default_layout --with-layout='default' \ From 5db75b56487a4c1164c8062d6e853a0f348a8ea7 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 12:52:17 +0200 Subject: [PATCH 198/202] Rebuilt for Python 3.14.0rc2 bytecode From 8d002f9de32d292923f8499a734272188b4a3fca Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 4 Sep 2025 10:35:11 +0900 Subject: [PATCH 199/202] Use preedit semantic API --- ibus-anthy-HEAD.patch | 109 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index 24a85f2..b6d41ec 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -264,3 +264,112 @@ index b7b1e89..ea1d364 100644 -- 2.49.0 +From 7e345f89b574b746fa9e33df3504831ff7553ec9 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 3 Sep 2025 13:38:15 +0900 +Subject: [PATCH] engine/engine: Use preedit semantic API + +ibus_attr_hint_new() API is provided and other ibus_attr_underline_new(), +ibus_attr_foreground_new() and ibus_attr_foreground_new() are deprecated +so that IBus panel or the Wayland panels decide the actual preedit colors +with the current desktop theme. + +BUG=https://github.com/ibus/ibus/pull/2790 +--- + engine/python3/engine.py | 52 ++++++++++++++++++++++++++++------------ + 1 file changed, 37 insertions(+), 15 deletions(-) + +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index 5678d18..a0bbc38 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -152,6 +152,7 @@ class Engine(IBus.EngineSimple): + self.__prop_dict = {} + self.__input_purpose = 0 + self.__has_input_purpose = False ++ self.__has_preedit_format_hint = False + # OSK mode is designed for OSK on gnome-shell, which always shows + # IBus lookup window prior to the preedit and selecting a candidate + # causes the commmit instead of the selection. +@@ -169,6 +170,8 @@ class Engine(IBus.EngineSimple): + except ValueError as e: + printerr('Disable update_preedit_text_with_mode(): %s' % str(e)) + self.__has_update_preedit_text_with_mode = False ++ if hasattr(IBus, 'attr_hint_new'): ++ self.__has_preedit_format_hint = True + + # self.__lookup_table = ibus.LookupTable.new(page_size=9, + # cursor_pos=0, +@@ -1241,9 +1244,14 @@ class Engine(IBus.EngineSimple): + def __update_input_chars(self): + text, cursor = self.__get_preedit() + attrs = IBus.AttrList() +- attrs.append(IBus.attr_underline_new( +- IBus.AttrUnderline.SINGLE, 0, +- len(text))) ++ if self.__has_preedit_format_hint: ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.WHOLE, 0, ++ len(text))) ++ else: ++ attrs.append(IBus.attr_underline_new( ++ IBus.AttrUnderline.SINGLE, 0, ++ len(text))) + + self.update_preedit(text, + attrs, cursor, not self.__preedit_ja_string.is_empty()) +@@ -1293,12 +1301,18 @@ class Engine(IBus.EngineSimple): + text = text.capitalize() + self.__convert_chars = text + attrs = IBus.AttrList() +- attrs.append(IBus.attr_underline_new( +- IBus.AttrUnderline.SINGLE, 0, len(text))) +- attrs.append(IBus.attr_background_new(self.__rgb(200, 200, 240), +- 0, len(text))) +- attrs.append(IBus.attr_foreground_new(self.__rgb(0, 0, 0), +- 0, len(text))) ++ if self.__has_preedit_format_hint: ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.WHOLE, 0, len(text))) ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.SELECTION, 0, len(text))) ++ else: ++ attrs.append(IBus.attr_underline_new( ++ IBus.AttrUnderline.SINGLE, 0, len(text))) ++ attrs.append(IBus.attr_background_new(self.__rgb(200, 200, 240), ++ 0, len(text))) ++ attrs.append(IBus.attr_foreground_new(self.__rgb(0, 0, 0), ++ 0, len(text))) + self.update_preedit(text, attrs, len(text), True) + + self.update_aux_string('', +@@ -1314,12 +1328,20 @@ class Engine(IBus.EngineSimple): + if i < self.__cursor_pos: + pos += len(text) + attrs = IBus.AttrList() +- attrs.append(IBus.attr_underline_new( +- IBus.AttrUnderline.SINGLE, 0, len(self.__convert_chars))) +- attrs.append(IBus.attr_background_new(self.__rgb(200, 200, 240), +- pos, pos + len(self.__segments[self.__cursor_pos][1]))) +- attrs.append(IBus.attr_foreground_new(self.__rgb(0, 0, 0), +- pos, pos + len(self.__segments[self.__cursor_pos][1]))) ++ if self.__has_preedit_format_hint: ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.WHOLE, 0, len(self.__convert_chars))) ++ attrs.append(IBus.attr_hint_new( ++ IBus.AttrPreedit.SELECTION, ++ pos, ++ pos + len(self.__segments[self.__cursor_pos][1]))) ++ else: ++ attrs.append(IBus.attr_underline_new( ++ IBus.AttrUnderline.SINGLE, 0, len(self.__convert_chars))) ++ attrs.append(IBus.attr_background_new(self.__rgb(200, 200, 240), ++ pos, pos + len(self.__segments[self.__cursor_pos][1]))) ++ attrs.append(IBus.attr_foreground_new(self.__rgb(0, 0, 0), ++ pos, pos + len(self.__segments[self.__cursor_pos][1]))) + self.update_preedit(self.__convert_chars, attrs, pos, True) + aux_string = '( %d / %d )' % (self.__lookup_table.get_cursor_pos() + 1, self.__lookup_table.get_number_of_candidates()) + self.update_aux_string(aux_string, +-- +2.50.1 + From eb8a7d1bf6ec16877c2e6a1c74378e757c5e413f Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 12:22:22 +0200 Subject: [PATCH 200/202] Rebuilt for Python 3.14.0rc3 bytecode From 84ebd2f5cf753b371b94b93c8de0eaaceeb155eb Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Thu, 18 Dec 2025 18:29:33 +0900 Subject: [PATCH 201/202] Fix back compatibility with IBus.init() --- ibus-anthy-HEAD.patch | 175 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index b6d41ec..c407955 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -373,3 +373,178 @@ index 5678d18..a0bbc38 100644 -- 2.50.1 +From 646ea5d63852477bd902a971952cac777019da09 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 16 Dec 2025 17:41:21 +0900 +Subject: [PATCH] engine: Fix double IBus.init() + +Calling IBus.init() twice causes a big memory leaks in OpenIndiana +2025.10 which uses IBus 1.5.29. +I have no idea to check the parent Python stack and use inspect module +to fix the double IBus.init(). +Also move ibus_check_version() from engin.py to main.py + +BUG=https://github.com/ibus/ibus-anthy/issues/44 +Fixes: https://github.com/ibus/ibus-anthy/commit/14b2759 +--- + engine/python2/engine.py | 12 ++---------- + engine/python2/main.py | 24 +++++++++++++++++++++++- + engine/python3/engine.py | 12 ++---------- + engine/python3/main.py | 24 +++++++++++++++++++++++- + 4 files changed, 50 insertions(+), 22 deletions(-) + +diff --git a/engine/python2/engine.py b/engine/python2/engine.py +index c7ccd3f..942dd33 100644 +--- a/engine/python2/engine.py ++++ b/engine/python2/engine.py +@@ -28,7 +28,7 @@ import signal + import sys + from gettext import dgettext + +-from main import get_userhome ++from main import get_userhome, ibus_check_version + + try: + from locale import getpreferredencoding +@@ -163,7 +163,7 @@ class Engine(IBus.EngineSimple): + self.__is_utf8 = False + self.__has_update_preedit_text_with_mode = True + try: +- self.__ibus_check_version('1.3') ++ ibus_check_version('1.3') + except ValueError as e: + printerr('Disable update_preedit_text_with_mode(): %s' % str(e)) + self.__has_update_preedit_text_with_mode = False +@@ -195,14 +195,6 @@ class Engine(IBus.EngineSimple): + self.__reset() + + +- def __ibus_check_version(self, v): +- major = IBus.MAJOR_VERSION +- minor = IBus.MINOR_VERSION +- micro = IBus.MICRO_VERSION +- if (major, minor, micro) < tuple(map(int, (v.split('.')))): +- raise ValueError('Required ibus %s but version of ibus is ' \ +- '%d.%d.%d' % (v, major, minor, micro)) +- + # http://en.sourceforge.jp/ticket/browse.php?group_id=14&tid=33075 + def __verify_anthy_journal_file(self): + journal = ANTHY_CONFIG_PATH + '/last-record2_default.utf8' +diff --git a/engine/python2/main.py b/engine/python2/main.py +index c1e6a2f..bae2058 100644 +--- a/engine/python2/main.py ++++ b/engine/python2/main.py +@@ -42,11 +42,33 @@ from gi.repository import IBus + + import _config as config + ++ ++def ibus_check_version(v): ++ major = IBus.MAJOR_VERSION ++ minor = IBus.MINOR_VERSION ++ micro = IBus.MICRO_VERSION ++ if (major, minor, micro) < tuple(map(int, (v.split('.')))): ++ raise ValueError('Required ibus %s but version of ibus is ' \ ++ '%d.%d.%d' % (v, major, minor, micro)) ++ ++ + # Need to call IBus.init() before IBus.EngineSimple() is loaded. + # factory -> engine -> IBus.EngineSimple +-IBus.init() ++try: ++ # IBus.init() has not been needed here since IBus 1.5.32 ++ ibus_check_version("1.5.32") ++except ValueError: ++ import inspect ++ parent_frame = inspect.currentframe().f_back ++ # Call IBus.init() again from "from main import get_userhome" in engin.py. ++ # The twice IBus.init() issue has been fixed since IBus 1.5.31 by ++ # https://github.com/ibus/ibus/commit/9f50b46 ++ if parent_frame == None: ++ IBus.init() ++ + import factory + ++ + class IMApp: + def __init__(self, exec_by_ibus): + command_line = config.LIBEXECDIR + '/ibus-engine-anthy --ibus' +diff --git a/engine/python3/engine.py b/engine/python3/engine.py +index a0bbc38..4781d42 100644 +--- a/engine/python3/engine.py ++++ b/engine/python3/engine.py +@@ -29,7 +29,7 @@ import signal + import sys + from gettext import dgettext + +-from main import get_userhome ++from main import get_userhome, ibus_check_version + + try: + from locale import getpreferredencoding +@@ -166,7 +166,7 @@ class Engine(IBus.EngineSimple): + self.__is_utf8 = False + self.__has_update_preedit_text_with_mode = True + try: +- self.__ibus_check_version('1.3') ++ ibus_check_version('1.3') + except ValueError as e: + printerr('Disable update_preedit_text_with_mode(): %s' % str(e)) + self.__has_update_preedit_text_with_mode = False +@@ -205,14 +205,6 @@ class Engine(IBus.EngineSimple): + self.__reset() + + +- def __ibus_check_version(self, v): +- major = IBus.MAJOR_VERSION +- minor = IBus.MINOR_VERSION +- micro = IBus.MICRO_VERSION +- if (major, minor, micro) < tuple(map(int, (v.split('.')))): +- raise ValueError('Required ibus %s but version of ibus is ' \ +- '%d.%d.%d' % (v, major, minor, micro)) +- + # http://en.sourceforge.jp/ticket/browse.php?group_id=14&tid=33075 + def __verify_anthy_journal_file(self): + journal = ANTHY_CONFIG_PATH + '/last-record2_default.utf8' +diff --git a/engine/python3/main.py b/engine/python3/main.py +index 05836a6..3ab99b2 100644 +--- a/engine/python3/main.py ++++ b/engine/python3/main.py +@@ -42,11 +42,33 @@ from gi.repository import IBus + + import _config as config + ++ ++def ibus_check_version(v): ++ major = IBus.MAJOR_VERSION ++ minor = IBus.MINOR_VERSION ++ micro = IBus.MICRO_VERSION ++ if (major, minor, micro) < tuple(map(int, (v.split('.')))): ++ raise ValueError('Required ibus %s but version of ibus is ' \ ++ '%d.%d.%d' % (v, major, minor, micro)) ++ ++ + # Need to call IBus.init() before IBus.EngineSimple() is loaded. + # factory -> engine -> IBus.EngineSimple +-IBus.init() ++try: ++ # IBus.init() has not been needed here since IBus 1.5.32 ++ ibus_check_version("1.5.32") ++except ValueError: ++ import inspect ++ parent_frame = inspect.currentframe().f_back ++ # Call IBus.init() again from "from main import get_userhome" in engin.py. ++ # The twice IBus.init() issue has been fixed since IBus 1.5.31 by ++ # https://github.com/ibus/ibus/commit/9f50b46 ++ if parent_frame == None: ++ IBus.init() ++ + import factory + ++ + class IMApp: + def __init__(self, exec_by_ibus): + command_line = config.LIBEXECDIR + '/ibus-engine-anthy --ibus' +-- +2.52.0 + From 480addfde1e645a21e1436f85a4f55f9d7cb1da0 Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Mon, 12 Jan 2026 10:25:03 +0900 Subject: [PATCH 202/202] Update era.t with 2026 --- ibus-anthy-HEAD.patch | 817 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 817 insertions(+) diff --git a/ibus-anthy-HEAD.patch b/ibus-anthy-HEAD.patch index c407955..c8c77b8 100644 --- a/ibus-anthy-HEAD.patch +++ b/ibus-anthy-HEAD.patch @@ -548,3 +548,820 @@ index 05836a6..3ab99b2 100644 -- 2.52.0 +From 296cd6b8e4e79964b4956953707b315c3dc010da Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Mon, 12 Jan 2026 09:49:48 +0900 +Subject: [PATCH] data: Update era.t with 2026 + +Added era.py to update the Era automatically. +--- + data/Makefile.am | 33 +++- + data/era.py | 196 +++++++++++++++++++ + data/era.t | 5 +- + data/era.t.in | 491 +++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 716 insertions(+), 9 deletions(-) + create mode 100755 data/era.py + create mode 100644 data/era.t.in + +diff --git a/data/Makefile.am b/data/Makefile.am +index d76f17a..c13d273 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2021 Takao Fujiwara ++# Copyright (c) 2010-2026 Takao Fujiwara + # Copyright (c) 2010-2018 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -19,6 +19,8 @@ + # with this program; if not, write to the Free Software Foundation, Inc., + # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + ++noinst_DATA = era.stamp ++ + dicts_DATA = \ + emoji.t \ + era.t \ +@@ -43,6 +45,7 @@ CLEANFILES = \ + $(metainfo_DATA) \ + $(schemas_DATA) \ + emoji.t \ ++ era.stamp \ + $(NULL) + + $(metainfo_DATA): $(metainfo_in_files) Makefile +@@ -79,14 +82,26 @@ zipcode.t: $(ANTHY_ZIPCODE_FILE) + CLEANFILES += zipcode.t + endif + ++era.t: era.stamp ++ ++era.stamp: ++ if test -f $(srcdir)/era.t ; then \ ++ if ! $(srcdir)/era.py --check $(srcdir)/era.t ; then \ ++ rm $(srcdir)/era.t; \ ++ $(srcdir)/era.py $(srcdir)/era.t.in \ ++ --output $(builddir)/era.t; \ ++ echo "Generate era.t"; \ ++ fi; \ ++ fi; \ ++ touch era.stampT; \ ++ mv era.stampT era.stamp; ++ + check: +- S_YEAR=`date '+%Y'`; \ +- M_YEAR=`echo $$S_YEAR | sed 'y/0123456789/0123456789/'`; \ +- grep -q $$M_YEAR $(srcdir)/era.t; \ +- if test $$? -ne 0 ; then \ +- echo "This year $$M_YEAR is not included in era.y"; \ +- exit 1; \ +- fi; ++ if test -f $(srcdir)/era.t ; then \ ++ $(srcdir)/era.py --check $(srcdir)/era.t; \ ++ else \ ++ $(srcdir)/era.py --check $(builddir)/era.t; \ ++ fi + + install-data-hook: + if test -z "$(DESTDIR)"; then \ +@@ -106,6 +121,8 @@ EXTRA_DIST = \ + emoji-each.t \ + emoji-emoji.t \ + era.t \ ++ era.t.in \ ++ era.py \ + oldchar.t \ + symbol.t \ + zipcode-textdic.py \ +diff --git a/data/era.py b/data/era.py +new file mode 100755 +index 0000000..85eb55b +--- /dev/null ++++ b/data/era.py +@@ -0,0 +1,196 @@ ++#!/usr/bin/python3 ++# vim:set et sts=4 sw=4: ++# -*- coding: utf-8 -*- ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2026 Takao Fujiwara ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++from datetime import date ++from os import path ++import getopt ++import locale ++import re ++import sys ++ ++ ++_prgname = "" ++ ++class JapaneseEra(object): ++ VERSION = 1 ++ ERA_FIRST = 2019 ++ HIRAGANA_ERA = 'れいわ' ++ KANJI_ERA = '令和' ++ KANJI_ERA_PREV = '平成' ++ __S_YEAR = 0 ++ __M_YEAR = '' ++ __narrow_to_wide_map = None ++ _check = False ++ _output_file = None ++ _parse_file = None ++ _parse_contents = None ++ ++ def __init__(self): ++ if self._parse_file == None: ++ print("%s.parse_args() should be called before the instance " ++ "is generated." % str(self), file=sys.stderr) ++ sys.exit(1) ++ self.__narrow_to_wide_map = str.maketrans('0123456789', ++ '0123456789') ++ self.__S_YEAR = date.today().year ++ self.__M_YEAR = str(self.__S_YEAR).translate(self.__narrow_to_wide_map) ++ parse_file = open(self._parse_file) ++ self._parse_contents = parse_file.read() ++ parse_file.close() ++ ++ ++ ++ @classmethod ++ def parse_args(cls)->None: ++ ++ shortopt = 'cho:v' ++ longopt = ['check', 'help', 'output=', 'version'] ++ ++ try: ++ opts, args = getopt.gnu_getopt(sys.argv[1:], shortopt, longopt) ++ except getopt.GetoptError as err: ++ cls.print_help(sys.stderr, 1) ++ ++ for o, a in opts: ++ if o in ('-h', '--help'): ++ cls.print_help(sys.stdout) ++ elif o in ('-c', '--check'): ++ cls._check = True ++ elif o in ('-o', '--output'): ++ cls._output_file = a ++ elif o in ('-v', '--version'): ++ print("%s Version %d" % (_prgname, cls.VERSION)) ++ sys.exit(0) ++ else: ++ print('Unknown argument: %s' % o, file=sys.stderr) ++ cls.print_help(sys.stderr, 1) ++ ++ if len(args) == 0: ++ cls.print_help(sys.stderr, 1) ++ cls._parse_file = args[0] ++ ++ ++ @staticmethod ++ def print_help(out, v=0)->None: ++ print("%s [OPTIONS...] ERA_FILE" % _prgname, file=out) ++ print("This replaces @HIRAGANA_TO_LATEST_ERA@ with latest Japanese Era " ++ "in ERA_FILE", ++ file=out) ++ print('OPTIONS', file=out) ++ print('-c, --check Check if the latest Japanese Era in ERA_FILE.', ++ file=out) ++ print('-h, --help Show this message.', file=out) ++ print('-v, --version Show version.', file=out) ++ sys.exit(v) ++ ++ ++ def run(self)->None: ++ if self._check: ++ self.check() ++ else: ++ self.update_file_with_keywords() ++ ++ ++ def check(self)->None: ++ if self._parse_contents == None: ++ assert() ++ pat = r'{}.*'.format(self.__M_YEAR) ++ res = re.findall(pat, self._parse_contents, re.MULTILINE) ++ if res: ++ print(res) ++ else: ++ print("This year {0} is not included in {1}".format( ++ self.__M_YEAR, self._parse_file), file=sys.stderr) ++ sys.exit(1) ++ ++ def update_file_with_keywords(self)->None: ++ if self._parse_contents == None: ++ assert() ++ HIRAGANA_TO_LATEST_ERA = '' ++ YEAR_TO_LATEST_ERA = '' ++ s_n = 1 ++ s_y = self.ERA_FIRST ++ while(s_y <= self.__S_YEAR): ++ m_n = str(s_n).translate(self.__narrow_to_wide_map) ++ m_y = str(s_y).translate(self.__narrow_to_wide_map) ++ HIRAGANA_TO_LATEST_ERA = \ ++"""{0}{1}{2} #T35*500 {3}{4} ++{5}{6} #T35*500 {7} ++""".format(HIRAGANA_TO_LATEST_ERA, ++ self.HIRAGANA_ERA, m_n, ++ self.KANJI_ERA, s_n, ++ self.HIRAGANA_ERA, m_n, ++ s_y) ++ YEAR_TO_LATEST_ERA = \ ++"""{0}{1} #T35*500 {2}{3} ++""".format(YEAR_TO_LATEST_ERA, ++ m_y, ++ self.KANJI_ERA, s_n) ++ s_n = s_n + 1 ++ s_y = s_y + 1 ++ HIRAGANA_TO_LATEST_ERA = HIRAGANA_TO_LATEST_ERA.strip() ++ YEAR_TO_LATEST_ERA = YEAR_TO_LATEST_ERA.strip() ++ tmp = self._parse_contents.replace( ++ '@HIRAGANA_TO_REIWA@', ++ HIRAGANA_TO_LATEST_ERA).replace( ++ '@YEAR_TO_REIWA@', ++ YEAR_TO_LATEST_ERA) ++ s_y = self.ERA_FIRST ++ m_y = str(s_y).translate(self.__narrow_to_wide_map) ++ pat = r'({0} #T35\*500 {1}[0-9]+)\n({2} #T35\*500 {3}1)'.format( ++ m_y, self.KANJI_ERA_PREV, m_y, self.KANJI_ERA) ++ # The lest Era should be first. ++ res = re.sub(pat, r'\2\n\1', tmp) ++ if res: ++ if self._output_file: ++ f = open(self._output_file, mode='w') ++ f.write(res) ++ f.flush() ++ f.close() ++ else: ++ print(res) ++ else: ++ print('Failed to find %s in %s' % (pat, self._parse_file), ++ file=sys.stderr) ++ if self._output_file: ++ f = open(self._output_file, mode='w') ++ f.write(tmp) ++ f.flush() ++ f.close() ++ else: ++ print(tmp) ++ ++ ++def main()->None: ++ try: ++ locale.setlocale(locale.LC_ALL, '') ++ except: ++ pass ++ global _prgname ++ _prgname = path.basename(sys.argv[0]) ++ JapaneseEra.parse_args() ++ era = JapaneseEra() ++ era.run() ++ ++ ++if __name__ == '__main__': ++ main() +diff --git a/data/era.t b/data/era.t +index 76a374c..1c07e58 100644 +--- a/data/era.t ++++ b/data/era.t +@@ -2,7 +2,7 @@ + # + # ibus-anthy - The Anthy engine for IBus + # +-# Copyright (c) 2010-2025 Takao Fujiwara ++# Copyright (c) 2010-2026 Takao Fujiwara + # Copyright (c) 2010-2013 Red Hat, Inc. + # + # This program is free software; you can redistribute it and/or modify +@@ -346,6 +346,8 @@ + れいわ6 #T35*500 2024 + れいわ7 #T35*500 令和7 + れいわ7 #T35*500 2025 ++れいわ8 #T35*500 令和8 ++れいわ8 #T35*500 2026 + 1868 #T35*500 明治1 + 1869 #T35*500 明治2 + 1870 #T35*500 明治3 +@@ -508,3 +510,4 @@ + 2023 #T35*500 令和5 + 2024 #T35*500 令和6 + 2025 #T35*500 令和7 ++2026 #T35*500 令和8 +diff --git a/data/era.t.in b/data/era.t.in +new file mode 100644 +index 0000000..4881ec2 +--- /dev/null ++++ b/data/era.t.in +@@ -0,0 +1,491 @@ ++# vim:set noet ts=4: ++# ++# ibus-anthy - The Anthy engine for IBus ++# ++# Copyright (c) 2010-2026 Takao Fujiwara ++# Copyright (c) 2010-2013 Red Hat, Inc. ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program; if not, write to the Free Software Foundation, Inc., ++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++# ++# This file was imported from im-dict-ja ++# im-dict-ja - Japanese word dictionary set for input method ++# http://github.com/fujiwarat/im-dict-ja ++しょうわ1 #T35*500 昭和1 ++しょうわ1 #T35*500 1926 ++しょうわ10 #T35*500 昭和10 ++しょうわ10 #T35*500 1935 ++しょうわ11 #T35*500 昭和11 ++しょうわ11 #T35*500 1936 ++しょうわ12 #T35*500 昭和12 ++しょうわ12 #T35*500 1937 ++しょうわ13 #T35*500 昭和13 ++しょうわ13 #T35*500 1938 ++しょうわ14 #T35*500 昭和14 ++しょうわ14 #T35*500 1939 ++しょうわ15 #T35*500 昭和15 ++しょうわ15 #T35*500 1940 ++しょうわ16 #T35*500 昭和16 ++しょうわ16 #T35*500 1941 ++しょうわ17 #T35*500 昭和17 ++しょうわ17 #T35*500 1942 ++しょうわ18 #T35*500 昭和18 ++しょうわ18 #T35*500 1943 ++しょうわ19 #T35*500 昭和19 ++しょうわ19 #T35*500 1944 ++しょうわ2 #T35*500 昭和2 ++しょうわ2 #T35*500 1927 ++しょうわ20 #T35*500 昭和20 ++しょうわ20 #T35*500 1945 ++しょうわ21 #T35*500 昭和21 ++しょうわ21 #T35*500 1946 ++しょうわ22 #T35*500 昭和22 ++しょうわ22 #T35*500 1947 ++しょうわ23 #T35*500 昭和23 ++しょうわ23 #T35*500 1948 ++しょうわ24 #T35*500 昭和24 ++しょうわ24 #T35*500 1949 ++しょうわ25 #T35*500 昭和25 ++しょうわ25 #T35*500 1950 ++しょうわ26 #T35*500 昭和26 ++しょうわ26 #T35*500 1951 ++しょうわ27 #T35*500 昭和27 ++しょうわ27 #T35*500 1952 ++しょうわ28 #T35*500 昭和28 ++しょうわ28 #T35*500 1953 ++しょうわ29 #T35*500 昭和29 ++しょうわ29 #T35*500 1954 ++しょうわ3 #T35*500 昭和3 ++しょうわ3 #T35*500 1928 ++しょうわ30 #T35*500 昭和30 ++しょうわ30 #T35*500 1955 ++しょうわ31 #T35*500 昭和31 ++しょうわ31 #T35*500 1956 ++しょうわ32 #T35*500 昭和32 ++しょうわ32 #T35*500 1957 ++しょうわ33 #T35*500 昭和33 ++しょうわ33 #T35*500 1958 ++しょうわ34 #T35*500 昭和34 ++しょうわ34 #T35*500 1959 ++しょうわ35 #T35*500 昭和35 ++しょうわ35 #T35*500 1960 ++しょうわ36 #T35*500 昭和36 ++しょうわ36 #T35*500 1961 ++しょうわ37 #T35*500 昭和37 ++しょうわ37 #T35*500 1962 ++しょうわ38 #T35*500 昭和38 ++しょうわ38 #T35*500 1963 ++しょうわ39 #T35*500 昭和39 ++しょうわ39 #T35*500 1964 ++しょうわ4 #T35*500 昭和4 ++しょうわ4 #T35*500 1929 ++しょうわ40 #T35*500 昭和40 ++しょうわ40 #T35*500 1965 ++しょうわ41 #T35*500 昭和41 ++しょうわ41 #T35*500 1966 ++しょうわ42 #T35*500 昭和42 ++しょうわ42 #T35*500 1967 ++しょうわ43 #T35*500 昭和43 ++しょうわ43 #T35*500 1968 ++しょうわ44 #T35*500 昭和44 ++しょうわ44 #T35*500 1969 ++しょうわ45 #T35*500 昭和45 ++しょうわ45 #T35*500 1970 ++しょうわ46 #T35*500 昭和46 ++しょうわ46 #T35*500 1971 ++しょうわ47 #T35*500 昭和47 ++しょうわ47 #T35*500 1972 ++しょうわ48 #T35*500 昭和48 ++しょうわ48 #T35*500 1973 ++しょうわ49 #T35*500 昭和49 ++しょうわ49 #T35*500 1974 ++しょうわ5 #T35*500 昭和5 ++しょうわ5 #T35*500 1930 ++しょうわ50 #T35*500 昭和50 ++しょうわ50 #T35*500 1975 ++しょうわ51 #T35*500 昭和51 ++しょうわ51 #T35*500 1976 ++しょうわ52 #T35*500 昭和52 ++しょうわ52 #T35*500 1977 ++しょうわ53 #T35*500 昭和53 ++しょうわ53 #T35*500 1978 ++しょうわ54 #T35*500 昭和54 ++しょうわ54 #T35*500 1979 ++しょうわ55 #T35*500 昭和55 ++しょうわ55 #T35*500 1980 ++しょうわ56 #T35*500 昭和56 ++しょうわ56 #T35*500 1981 ++しょうわ57 #T35*500 昭和57 ++しょうわ57 #T35*500 1982 ++しょうわ58 #T35*500 昭和58 ++しょうわ58 #T35*500 1983 ++しょうわ59 #T35*500 昭和59 ++しょうわ59 #T35*500 1984 ++しょうわ6 #T35*500 昭和6 ++しょうわ6 #T35*500 1931 ++しょうわ60 #T35*500 昭和60 ++しょうわ60 #T35*500 1985 ++しょうわ61 #T35*500 昭和61 ++しょうわ61 #T35*500 1986 ++しょうわ62 #T35*500 昭和62 ++しょうわ62 #T35*500 1987 ++しょうわ63 #T35*500 昭和63 ++しょうわ63 #T35*500 1988 ++しょうわ64 #T35*500 昭和64 ++しょうわ64 #T35*500 1989 ++しょうわ7 #T35*500 昭和7 ++しょうわ7 #T35*500 1932 ++しょうわ8 #T35*500 昭和8 ++しょうわ8 #T35*500 1933 ++しょうわ9 #T35*500 昭和9 ++しょうわ9 #T35*500 1934 ++たいしょう1 #T35*500 大正1 ++たいしょう1 #T35*500 1912 ++たいしょう10 #T35*500 大正10 ++たいしょう10 #T35*500 1921 ++たいしょう11 #T35*500 大正11 ++たいしょう11 #T35*500 1922 ++たいしょう12 #T35*500 大正12 ++たいしょう12 #T35*500 1923 ++たいしょう13 #T35*500 大正13 ++たいしょう13 #T35*500 1924 ++たいしょう14 #T35*500 大正14 ++たいしょう14 #T35*500 1925 ++たいしょう15 #T35*500 大正15 ++たいしょう15 #T35*500 1926 ++たいしょう2 #T35*500 大正2 ++たいしょう2 #T35*500 1913 ++たいしょう3 #T35*500 大正3 ++たいしょう3 #T35*500 1914 ++たいしょう4 #T35*500 大正4 ++たいしょう4 #T35*500 1915 ++たいしょう5 #T35*500 大正5 ++たいしょう5 #T35*500 1916 ++たいしょう6 #T35*500 大正6 ++たいしょう6 #T35*500 1917 ++たいしょう7 #T35*500 大正7 ++たいしょう7 #T35*500 1918 ++たいしょう8 #T35*500 大正8 ++たいしょう8 #T35*500 1919 ++たいしょう9 #T35*500 大正9 ++たいしょう9 #T35*500 1920 ++へいせい1 #T35*500 平成1 ++へいせい1 #T35*500 1989 ++へいせい10 #T35*500 平成10 ++へいせい10 #T35*500 1998 ++へいせい11 #T35*500 平成11 ++へいせい11 #T35*500 1999 ++へいせい12 #T35*500 平成12 ++へいせい12 #T35*500 2000 ++へいせい13 #T35*500 平成13 ++へいせい13 #T35*500 2001 ++へいせい14 #T35*500 平成14 ++へいせい14 #T35*500 2002 ++へいせい15 #T35*500 平成15 ++へいせい15 #T35*500 2003 ++へいせい16 #T35*500 平成16 ++へいせい16 #T35*500 2004 ++へいせい17 #T35*500 平成17 ++へいせい17 #T35*500 2005 ++へいせい18 #T35*500 平成18 ++へいせい18 #T35*500 2006 ++へいせい19 #T35*500 平成19 ++へいせい19 #T35*500 2007 ++へいせい2 #T35*500 平成2 ++へいせい2 #T35*500 1990 ++へいせい20 #T35*500 平成20 ++へいせい20 #T35*500 2008 ++へいせい21 #T35*500 平成21 ++へいせい21 #T35*500 2009 ++へいせい22 #T35*500 平成22 ++へいせい22 #T35*500 2010 ++へいせい23 #T35*500 平成23 ++へいせい23 #T35*500 2011 ++へいせい24 #T35*500 平成24 ++へいせい24 #T35*500 2012 ++へいせい25 #T35*500 平成25 ++へいせい25 #T35*500 2013 ++へいせい26 #T35*500 平成26 ++へいせい26 #T35*500 2014 ++へいせい27 #T35*500 平成27 ++へいせい27 #T35*500 2015 ++へいせい28 #T35*500 平成28 ++へいせい28 #T35*500 2016 ++へいせい29 #T35*500 平成29 ++へいせい29 #T35*500 2017 ++へいせい3 #T35*500 平成3 ++へいせい3 #T35*500 1991 ++へいせい30 #T35*500 平成30 ++へいせい30 #T35*500 2018 ++へいせい31 #T35*500 平成31 ++へいせい31 #T35*500 2019 ++へいせい4 #T35*500 平成4 ++へいせい4 #T35*500 1992 ++へいせい5 #T35*500 平成5 ++へいせい5 #T35*500 1993 ++へいせい6 #T35*500 平成6 ++へいせい6 #T35*500 1994 ++へいせい7 #T35*500 平成7 ++へいせい7 #T35*500 1995 ++へいせい8 #T35*500 平成8 ++へいせい8 #T35*500 1996 ++へいせい9 #T35*500 平成9 ++へいせい9 #T35*500 1997 ++めいじ1 #T35*500 明治1 ++めいじ1 #T35*500 1868 ++めいじ10 #T35*500 明治10 ++めいじ10 #T35*500 1877 ++めいじ11 #T35*500 明治11 ++めいじ11 #T35*500 1878 ++めいじ12 #T35*500 明治12 ++めいじ12 #T35*500 1879 ++めいじ13 #T35*500 明治13 ++めいじ13 #T35*500 1880 ++めいじ14 #T35*500 明治14 ++めいじ14 #T35*500 1881 ++めいじ15 #T35*500 明治15 ++めいじ15 #T35*500 1882 ++めいじ16 #T35*500 明治16 ++めいじ16 #T35*500 1883 ++めいじ17 #T35*500 明治17 ++めいじ17 #T35*500 1884 ++めいじ18 #T35*500 明治18 ++めいじ18 #T35*500 1885 ++めいじ19 #T35*500 明治19 ++めいじ19 #T35*500 1886 ++めいじ2 #T35*500 明治2 ++めいじ2 #T35*500 1869 ++めいじ20 #T35*500 明治20 ++めいじ20 #T35*500 1887 ++めいじ21 #T35*500 明治21 ++めいじ21 #T35*500 1888 ++めいじ22 #T35*500 明治22 ++めいじ22 #T35*500 1889 ++めいじ23 #T35*500 明治23 ++めいじ23 #T35*500 1890 ++めいじ24 #T35*500 明治24 ++めいじ24 #T35*500 1891 ++めいじ25 #T35*500 明治25 ++めいじ25 #T35*500 1892 ++めいじ26 #T35*500 明治26 ++めいじ26 #T35*500 1893 ++めいじ27 #T35*500 明治27 ++めいじ27 #T35*500 1894 ++めいじ28 #T35*500 明治28 ++めいじ28 #T35*500 1895 ++めいじ29 #T35*500 明治29 ++めいじ29 #T35*500 1896 ++めいじ3 #T35*500 明治3 ++めいじ3 #T35*500 1870 ++めいじ30 #T35*500 明治30 ++めいじ30 #T35*500 1897 ++めいじ31 #T35*500 明治31 ++めいじ31 #T35*500 1898 ++めいじ32 #T35*500 明治32 ++めいじ32 #T35*500 1899 ++めいじ33 #T35*500 明治33 ++めいじ33 #T35*500 1900 ++めいじ34 #T35*500 明治34 ++めいじ34 #T35*500 1901 ++めいじ35 #T35*500 明治35 ++めいじ35 #T35*500 1902 ++めいじ36 #T35*500 明治36 ++めいじ36 #T35*500 1903 ++めいじ37 #T35*500 明治37 ++めいじ37 #T35*500 1904 ++めいじ38 #T35*500 明治38 ++めいじ38 #T35*500 1905 ++めいじ39 #T35*500 明治39 ++めいじ39 #T35*500 1906 ++めいじ4 #T35*500 明治4 ++めいじ4 #T35*500 1871 ++めいじ40 #T35*500 明治40 ++めいじ40 #T35*500 1907 ++めいじ41 #T35*500 明治41 ++めいじ41 #T35*500 1908 ++めいじ42 #T35*500 明治42 ++めいじ42 #T35*500 1909 ++めいじ43 #T35*500 明治43 ++めいじ43 #T35*500 1910 ++めいじ44 #T35*500 明治44 ++めいじ44 #T35*500 1911 ++めいじ45 #T35*500 明治45 ++めいじ45 #T35*500 1912 ++めいじ5 #T35*500 明治5 ++めいじ5 #T35*500 1872 ++めいじ6 #T35*500 明治6 ++めいじ6 #T35*500 1873 ++めいじ7 #T35*500 明治7 ++めいじ7 #T35*500 1874 ++めいじ8 #T35*500 明治8 ++めいじ8 #T35*500 1875 ++めいじ9 #T35*500 明治9 ++めいじ9 #T35*500 1876 ++@HIRAGANA_TO_REIWA@ ++1868 #T35*500 明治1 ++1869 #T35*500 明治2 ++1870 #T35*500 明治3 ++1871 #T35*500 明治4 ++1872 #T35*500 明治5 ++1873 #T35*500 明治6 ++1874 #T35*500 明治7 ++1875 #T35*500 明治8 ++1876 #T35*500 明治9 ++1877 #T35*500 明治10 ++1878 #T35*500 明治11 ++1879 #T35*500 明治12 ++1880 #T35*500 明治13 ++1881 #T35*500 明治14 ++1882 #T35*500 明治15 ++1883 #T35*500 明治16 ++1884 #T35*500 明治17 ++1885 #T35*500 明治18 ++1886 #T35*500 明治19 ++1887 #T35*500 明治20 ++1888 #T35*500 明治21 ++1889 #T35*500 明治22 ++1890 #T35*500 明治23 ++1891 #T35*500 明治24 ++1892 #T35*500 明治25 ++1893 #T35*500 明治26 ++1894 #T35*500 明治27 ++1895 #T35*500 明治28 ++1896 #T35*500 明治29 ++1897 #T35*500 明治30 ++1898 #T35*500 明治31 ++1899 #T35*500 明治32 ++1900 #T35*500 明治33 ++1901 #T35*500 明治34 ++1902 #T35*500 明治35 ++1903 #T35*500 明治36 ++1904 #T35*500 明治37 ++1905 #T35*500 明治38 ++1906 #T35*500 明治39 ++1907 #T35*500 明治40 ++1908 #T35*500 明治41 ++1909 #T35*500 明治42 ++1910 #T35*500 明治43 ++1911 #T35*500 明治44 ++1912 #T35*500 大正1 ++1912 #T35*500 明治45 ++1913 #T35*500 大正2 ++1914 #T35*500 大正3 ++1915 #T35*500 大正4 ++1916 #T35*500 大正5 ++1917 #T35*500 大正6 ++1918 #T35*500 大正7 ++1919 #T35*500 大正8 ++1920 #T35*500 大正9 ++1921 #T35*500 大正10 ++1922 #T35*500 大正11 ++1923 #T35*500 大正12 ++1924 #T35*500 大正13 ++1925 #T35*500 大正14 ++1926 #T35*500 昭和1 ++1926 #T35*500 大正15 ++1927 #T35*500 昭和2 ++1928 #T35*500 昭和3 ++1929 #T35*500 昭和4 ++1930 #T35*500 昭和5 ++1931 #T35*500 昭和6 ++1932 #T35*500 昭和7 ++1933 #T35*500 昭和8 ++1934 #T35*500 昭和9 ++1935 #T35*500 昭和10 ++1936 #T35*500 昭和11 ++1937 #T35*500 昭和12 ++1938 #T35*500 昭和13 ++1939 #T35*500 昭和14 ++1940 #T35*500 昭和15 ++1941 #T35*500 昭和16 ++1942 #T35*500 昭和17 ++1943 #T35*500 昭和18 ++1944 #T35*500 昭和19 ++1945 #T35*500 昭和20 ++1946 #T35*500 昭和21 ++1947 #T35*500 昭和22 ++1948 #T35*500 昭和23 ++1949 #T35*500 昭和24 ++1950 #T35*500 昭和25 ++1951 #T35*500 昭和26 ++1952 #T35*500 昭和27 ++1953 #T35*500 昭和28 ++1954 #T35*500 昭和29 ++1955 #T35*500 昭和30 ++1956 #T35*500 昭和31 ++1957 #T35*500 昭和32 ++1958 #T35*500 昭和33 ++1959 #T35*500 昭和34 ++1960 #T35*500 昭和35 ++1961 #T35*500 昭和36 ++1962 #T35*500 昭和37 ++1963 #T35*500 昭和38 ++1964 #T35*500 昭和39 ++1965 #T35*500 昭和40 ++1966 #T35*500 昭和41 ++1967 #T35*500 昭和42 ++1968 #T35*500 昭和43 ++1969 #T35*500 昭和44 ++1970 #T35*500 昭和45 ++1971 #T35*500 昭和46 ++1972 #T35*500 昭和47 ++1973 #T35*500 昭和48 ++1974 #T35*500 昭和49 ++1975 #T35*500 昭和50 ++1976 #T35*500 昭和51 ++1977 #T35*500 昭和52 ++1978 #T35*500 昭和53 ++1979 #T35*500 昭和54 ++1980 #T35*500 昭和55 ++1981 #T35*500 昭和56 ++1982 #T35*500 昭和57 ++1983 #T35*500 昭和58 ++1984 #T35*500 昭和59 ++1985 #T35*500 昭和60 ++1986 #T35*500 昭和61 ++1987 #T35*500 昭和62 ++1988 #T35*500 昭和63 ++1989 #T35*500 平成1 ++1989 #T35*500 昭和64 ++1990 #T35*500 平成2 ++1991 #T35*500 平成3 ++1992 #T35*500 平成4 ++1993 #T35*500 平成5 ++1994 #T35*500 平成6 ++1995 #T35*500 平成7 ++1996 #T35*500 平成8 ++1997 #T35*500 平成9 ++1998 #T35*500 平成10 ++1999 #T35*500 平成11 ++2000 #T35*500 平成12 ++2001 #T35*500 平成13 ++2002 #T35*500 平成14 ++2003 #T35*500 平成15 ++2004 #T35*500 平成16 ++2005 #T35*500 平成17 ++2006 #T35*500 平成18 ++2007 #T35*500 平成19 ++2008 #T35*500 平成20 ++2009 #T35*500 平成21 ++2010 #T35*500 平成22 ++2011 #T35*500 平成23 ++2012 #T35*500 平成24 ++2013 #T35*500 平成25 ++2014 #T35*500 平成26 ++2015 #T35*500 平成27 ++2016 #T35*500 平成28 ++2017 #T35*500 平成29 ++2018 #T35*500 平成30 ++2019 #T35*500 平成31 ++@YEAR_TO_REIWA@ +-- +2.52.0 +