--- uim-1.5.7.orig/debian/uim-utils.postinst +++ uim-1.5.7/debian/uim-utils.postinst @@ -0,0 +1,84 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +checkstatus () { + local status pkg + pkg=$1 + status=$(dpkg -s $pkg 2>/dev/null | grep ^Status: | sed -e 's/^Status: \(.*\) \(.*\) \(.*\)/\3/g') + if [ -n "$status" ] && [ "$status" != "not-installed" ] && [ "$status" != "config-files" ]; then + echo $(dpkg -s $pkg 2>/dev/null | grep ^Version: | sed -e 's/^Version: *//'); + fi +} + +case "$1" in + configure) + if dpkg --compare-versions uim-common lt 1:1.4.1-4; then + if which uim-module-manager >/dev/null 2>&1; then + # If uim-tcode, uim-byeoru, uim-ipa-x-sampa, uim-hangul, uim-latin, + # uim-pinyin and uim-viqr are not installed, remove each package. + + ver=$(checkstatus uim-tcode) + if [ -z $ver ]; then + uim-module-manager --path /etc/uim \ + --unregister tcode + uim-module-manager --path /etc/uim \ + --unregister tutcode + fi + + ver=$(checkstatus uim-pinyin) + if [ -z $ver ]; then + uim-module-manager --path /etc/uim \ + --unregister pyload + fi + + for i in byeoru viqr ipa-x-sampa hangul latin; do + ver=$(checkstatus uim-$i) + if [ -z $ver ]; then + uim-module-manager --path /etc/uim \ + --unregister $i + fi + done + fi + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-latin.prerm +++ uim-1.5.7/debian/uim-latin.prerm @@ -0,0 +1,42 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister latin elatin \ + --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-hangul.prerm +++ uim-1.5.7/debian/uim-hangul.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister hangul --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-m17nlib.prerm +++ uim-1.5.7/debian/uim-m17nlib.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister m17nlib --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-byeoru.postinst +++ uim-1.5.7/debian/uim-byeoru.postinst @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register byeoru --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-qt3.lintian-overrides +++ uim-1.5.7/debian/uim-qt3.lintian-overrides @@ -0,0 +1,5 @@ +uim-qt3: binary-without-manpage usr/bin/uim-chardict-qt +uim-qt3: binary-without-manpage usr/bin/uim-im-switcher-qt +uim-qt3: binary-without-manpage usr/bin/uim-pref-qt +uim-qt3: binary-without-manpage usr/bin/uim-toolbar-qt + --- uim-1.5.7.orig/debian/uim-hangul.install +++ uim-1.5.7/debian/uim-hangul.install @@ -0,0 +1,10 @@ +usr/share/uim/pixmaps/hangul2.png +usr/share/uim/pixmaps/hangul3.png +usr/share/uim/pixmaps/ko_direct.png +usr/share/uim/pixmaps/ko_hangulchar.png +usr/share/uim/pixmaps/ko_hangulword.png +usr/share/uim/pixmaps/romaja.png +usr/share/uim/hangul.scm +usr/share/uim/hangul2.scm +usr/share/uim/hangul3.scm +usr/share/uim/romaja.scm --- uim-1.5.7.orig/debian/uim-el.emacsen-install +++ uim-1.5.7/debian/uim-el.emacsen-install @@ -0,0 +1,45 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/uim-el + +# Written by Jim Van Zandt , borrowing heavily +# from the install scripts for gettext by Santiago Vila +# and octave by Dirk Eddelbuettel . + +FLAVOR=$1 +PACKAGE=uim-el + +if [ ${FLAVOR} = emacs ]; then exit 0; fi + +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} + +FLAVORTEST=`echo $FLAVOR | cut -c-6` +if [ ${FLAVORTEST} = xemacs ] ; then + SITEFLAG="-no-site-file" +else + SITEFLAG="--no-site-file" +fi +FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile" + +ELDIR=/usr/share/emacs/site-lisp/${PACKAGE} +ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} + +# Install-info-altdir does not actually exist. +# Maybe somebody will write it. +if test -x /usr/sbin/install-info-altdir; then + echo install/${PACKAGE}: install Info links for ${FLAVOR} + install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz +fi + +install -m 755 -d ${ELCDIR} +cd ${ELDIR} +FILES=`echo *.el` +cp ${FILES} ${ELCDIR} +cd ${ELCDIR} + +cat << EOF > path.el +(setq load-path (cons "." load-path) byte-compile-warnings nil) +EOF +${FLAVOR} ${FLAGS} ${FILES} > ${ELCDIR}/CompilationLog 2>&1 +rm -f *.el path.el + +exit 0 --- uim-1.5.7.orig/debian/uim-qt.lintian-overrides +++ uim-1.5.7/debian/uim-qt.lintian-overrides @@ -0,0 +1,5 @@ +uim-qt: binary-without-manpage usr/bin/uim-chardict-qt4 +uim-qt: binary-without-manpage usr/bin/uim-im-switcher-qt4 +uim-qt: binary-without-manpage usr/bin/uim-pref-qt4 +uim-qt: binary-without-manpage usr/bin/uim-toolbar-qt4 + --- uim-1.5.7.orig/debian/uim-canna.prerm +++ uim-1.5.7/debian/uim-canna.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister canna --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-el.emacsen-remove +++ uim-1.5.7/debian/uim-el.emacsen-remove @@ -0,0 +1,15 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/uim-el + +FLAVOR=$1 +PACKAGE=uim-el + +if [ ${FLAVOR} != emacs ]; then + if test -x /usr/sbin/install-info-altdir; then + echo remove/${PACKAGE}: removing Info links for ${FLAVOR} + install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/anthy.info.gz + fi + + echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} + rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +fi --- uim-1.5.7.orig/debian/uim-tcode.postinst +++ uim-1.5.7/debian/uim-tcode.postinst @@ -0,0 +1,51 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register tcode tutcode trycode \ + --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-applet-kde.install +++ uim-1.5.7/debian/uim-applet-kde.install @@ -0,0 +1,2 @@ +usr/lib/kde4/plasma_applet_uim.so +usr/share/kde4/services/plasma-applet-uim.desktop --- uim-1.5.7.orig/debian/uim-viqr.install +++ uim-1.5.7/debian/uim-viqr.install @@ -0,0 +1,2 @@ +usr/share/uim/pixmaps/viqr.png +usr/share/uim/viqr.scm --- uim-1.5.7.orig/debian/uim-viqr.prerm +++ uim-1.5.7/debian/uim-viqr.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister viqr --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/NEWS +++ uim-1.5.7/debian/NEWS @@ -0,0 +1,71 @@ +uim (1:1.3.1-2) experimental; urgency=low + * uim-tutcode and uim-trycode are merged into uim-tcode. Therefore, split + packages of uim-common are as follows, + - uim-byeoru: The Byeoru Hangul input suite for uim + - uim-hangul: Hangul input method for uim (2-beol/3-beol/Romaja) + - uim-latin: Latin and Germanic languages input style for uim + - uim-pinyin: Pinyin input method for uim + - uim-tcode: T-Code/TUT-Code/Try-Code input style for uim + - uim-viqr: Vietnamese Quoted-Readable input style for uim + - uim-ipa-x-sampa: International Phonetic Alphabet (X-SAMPA) input style + for uim + + -- Masahito Omote Sat, 3 Feb 2007 17:36:49 +0900 + +uim (1:1.3.1-1) experimental; urgency=low + * From this version, IMs in uim-common are split into each packages. + You have to install them if you keep to use them. Split packages are + as follows, + - uim-byeoru: The Byeoru Hangul input suite for uim + - uim-hangul: Hangul input method for uim (2-beol/3-beol/Romaja) + - uim-latin: Latin and Germanic languages input style for uim + - uim-pinyin: Pinyin input method for uim + - uim-tcode: T-Code input style for uim + - uim-tutcode: TUT-Code input style for uim + - uim-trycode: Try-Code input style for uim + - uim-viqr: Vietnamese Quoted-Readable input style for uim + - uim-ipa-x-sampa: International Phonetic Alphabet (X-SAMPA) input style + for uim + * Change environment settings in im-switch from xim to uim. + + -- Masahito Omote Thu, 4 Jan 2007 01:22:48 +0900 + +uim (1:0.4.6beta2-1) unstable; urgency=high + + * From 0.4.6, uim supports plugin system and split Inputmethods(mainly for + Japanese IMs) into plugins which is needed to link shared library. If you + use following IMs, you have to install plugin packages. + + Anthy: uim-anthy + Canna: uim-canna + SKK: uim-skk + PRIME: uim-prime + m17nlib: uim-m17nlib + + -- Masahito Omote Tue, 22 Feb 2005 03:44:09 +0900 + +uim (1:0.4.5-1) unstable; urgency=low + + * Gtk immodule 'uim' is added and other gtk immodule is removed in this + release. If you want to switch input method, use gtk-im-switcher which is + in uim-gtk2.0. Read README.Debian for more details. + + -- Masahito Omote Wed, 20 Oct 2004 18:41:30 +0900 + +uim (1:0.4.4.1-1) unstable; urgency=low + + * New uim's gtk immodule 'uim' is added. By this change, other gtk immodule + will remove in next release (0.4.4.1-1 supports old style for transition). + If you want to switch input method, use gtk-im-switcher which is in + uim-gtk2.0. + . + So, change environment variable as following, + GTK_IM_MODULE=uim; export GTK_IM_MODULE + XMODIFIERS=@im=uim; export XMODIFIERS + And write down default IM in ~/.uim. + e.g) Set Anthy as default input method. + (define default-im-name 'anthy) + * uim-helper-server is moved to uim-utils, so you can safely remove + uim-helper-server. uim-helper-server will remove in 0.4.5-1. + + -- Masahito Omote Sun, 6 Oct 2002 17:21:21 +0900 --- uim-1.5.7.orig/debian/uim-canna.install +++ uim-1.5.7/debian/uim-canna.install @@ -0,0 +1,5 @@ +usr/lib/uim/plugin/libuim-canna.so +usr/share/uim/pixmaps/canna.png +usr/share/uim/canna.scm +usr/share/uim/canna-custom.scm +usr/share/uim/canna-key-custom.scm --- uim-1.5.7.orig/debian/uim-latin.install +++ uim-1.5.7/debian/uim-latin.install @@ -0,0 +1,6 @@ +usr/share/uim/pixmaps/latin.png +usr/share/uim/pixmaps/elatin.png +usr/share/uim/latin.scm +usr/share/uim/elatin.scm +usr/share/uim/elatin-custom.scm +usr/share/uim/elatin-rules.scm --- uim-1.5.7.orig/debian/uim-applet-gnome.install +++ uim-1.5.7/debian/uim-applet-gnome.install @@ -0,0 +1,2 @@ +usr/lib/bonobo/servers/GNOME_UimApplet.server +usr/lib/uim/uim-toolbar-applet --- uim-1.5.7.orig/debian/libuim-data.install +++ uim-1.5.7/debian/libuim-data.install @@ -0,0 +1,3 @@ +usr/share/locale/ja/LC_MESSAGES/uim.mo +usr/share/locale/fr/LC_MESSAGES/uim.mo +usr/share/locale/ko/LC_MESSAGES/uim.mo --- uim-1.5.7.orig/debian/uim-xim.prerm +++ uim-1.5.7/debian/uim-xim.prerm @@ -0,0 +1,51 @@ +#!/bin/sh +set -e + +ua_remove () { + update-alternatives \ + --remove xinput-$1 \ + /etc/X11/xinit/xinput.d/$2 ; +} + +case "$1" in + remove|upgrade|deconfigure) + ua_remove all_ALL uim + ua_remove ja_JP uim + ua_remove ko_KR uim + ua_remove zh_CN uim + ua_remove zh_TW uim + ua_remove zh_HK uim + ua_remove zh_SG uim + ua_remove all_ALL uim-toolbar + ua_remove ja_JP uim-toolbar + ua_remove ko_KR uim-toolbar + ua_remove zh_CN uim-toolbar + ua_remove zh_TW uim-toolbar + ua_remove zh_HK uim-toolbar + ua_remove zh_SG uim-toolbar + ua_remove all_ALL uim-systray + ua_remove ja_JP uim-systray + ua_remove ko_KR uim-systray + ua_remove zh_CN uim-systray + ua_remove zh_TW uim-systray + ua_remove zh_HK uim-systray + ua_remove zh_SG uim-systray + ua_remove all_ALL uim-toolbar-qt + ua_remove ja_JP uim-toolbar-qt + ua_remove ko_KR uim-toolbar-qt + ua_remove zh_CN uim-toolbar-qt + ua_remove zh_TW uim-toolbar-qt + ua_remove zh_HK uim-toolbar-qt + ua_remove zh_SG uim-toolbar-qt + ;; + failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 --- uim-1.5.7.orig/debian/uim-skk.install +++ uim-1.5.7/debian/uim-skk.install @@ -0,0 +1,7 @@ +usr/lib/uim/plugin/libuim-skk.so +usr/share/uim/pixmaps/skk.png +usr/share/uim/skk.scm +usr/share/uim/skk-custom.scm +usr/share/uim/skk-dialog.scm +usr/share/uim/skk-editor.scm +usr/share/uim/skk-key-custom.scm --- uim-1.5.7.orig/debian/uim-ipa-x-sampa.prerm +++ uim-1.5.7/debian/uim-ipa-x-sampa.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister ipa-x-sampa --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-qt3.install +++ uim-1.5.7/debian/uim-qt3.install @@ -0,0 +1,7 @@ +usr/bin/uim-toolbar-qt +usr/lib/uim/uim-candwin-qt +usr/bin/uim-im-switcher-qt +usr/bin/uim-pref-qt +usr/bin/uim-chardict-qt +usr/share/locale/ja/LC_MESSAGES/uim-chardict-qt.mo +usr/lib/qt3/plugins/inputmethods/libquiminputcontextplugin.so --- uim-1.5.7.orig/debian/uim-fep.install +++ uim-1.5.7/debian/uim-fep.install @@ -0,0 +1,2 @@ +usr/bin/uim-fep +usr/bin/uim-fep-tick --- uim-1.5.7.orig/debian/README.Debian +++ uim-1.5.7/debian/README.Debian @@ -0,0 +1,61 @@ +uim for Debian +-------------- +* Related packages + - You have to install conversion engines and interface packages to + make uim useful for Japanese, etc.. + Japanese: + anthy: anthy, uim-anthy. + canna: canna, uim-canna. + skk: skkdic, uim-skk. + prime: prime, uim-prime. + Others: + m17nlib: libm17n-0, m17n-db, m17n-lib-bin, uim-m17nlib + +* Configuration (easy way) + - im-swich package will do for you. + Just type following and restart X session under the same locale. + * Start uim without any toolbars: + $ im-switch -s uim + * Start uim with GTK systray: + $ im-switch -s uim-systray + * Start uim with GTK toolbar (recommended): + $ im-switch -s uim-toolbar + * Start uim with Qt toolbar: + $ im-switch -s uim-toolbar-qt + * Start no uim: + $ im-switch -s none + For more, read the im-switch documentation. + + - Use GUI tool, e.g., uim-pref-gtk which comes in uim-gtk2.0 + to set up uim (choice between conversion engines etc.): + Desktop -> Preferences -> Preference of uim + + Right clicking toolbar will also get you to "Preference". + +* Configuration (manual way) + - You have to set environmental variable as following for + classic X applications to use uim: + XMODIFIERS=@im=uim; export XMODIFIERS + + - You may set environmental variable as following if you + wish to use uim via XIM for GTK applications as the default. + + GTK_IM_MODULE=xim; export GTK_IM_MODULE + + Chosing XIM is considered to be less problematic. You can + change IM by right clicking the GTK applications too. + + - You may set environmental variable as following if you + wish to use uim IM module for GTK applications as the default. + + GTK_IM_MODULE=uim; export GTK_IM_MODULE + + - Deprecated method of uim configuration: + * Write down default IM in ~/.uim. + e.g) Set Anthy as default input method. + (define default-im-name 'anthy) + This is not compatible with GUI configuration described above. + + + -- Masahito Omote , Sun, 6 Oct 2002 17:21:21 +0900 + -- Osamu Aoki , Fri, 16 Jun 2006 10:16:34 +0900 --- uim-1.5.7.orig/debian/uim-el.lintian-overrides +++ uim-1.5.7/debian/uim-el.lintian-overrides @@ -0,0 +1,3 @@ +uim-el: binary-without-manpage usr/bin/uim-el-agent +uim-el: binary-without-manpage usr/bin/uim-el-helper-agent + --- uim-1.5.7.orig/debian/README.source +++ uim-1.5.7/debian/README.source @@ -0,0 +1,8 @@ +This package uses dpatch to manage all modifications to the upstream source +code. See + + /usr/share/doc/dpatch/README.source.gz + +to get more information on how to use it. + + -- Kiwamu Okabe , Fri, 20 Nov 2009 14:59:02 +0900 --- uim-1.5.7.orig/debian/uim-gtk2.0.install +++ uim-1.5.7/debian/uim-gtk2.0.install @@ -0,0 +1,9 @@ +usr/lib/gtk-2.0/*/immodules/* +usr/bin/uim-toolbar-gtk +usr/bin/uim-toolbar-gtk-systray +usr/bin/uim-im-switcher-gtk +usr/bin/uim-pref-gtk +usr/bin/uim-dict-gtk +usr/bin/uim-input-pad-ja +usr/share/uim/helperdata/uim-dict-ui.xml +usr/share/applications/uim.desktop --- uim-1.5.7.orig/debian/uim-utils.lintian-overrides +++ uim-1.5.7/debian/uim-utils.lintian-overrides @@ -0,0 +1,3 @@ +uim-utils: binary-without-manpage usr/bin/uim-module-manager +uim-utils: binary-without-manpage usr/bin/uim-sh + --- uim-1.5.7.orig/debian/uim-prime.prerm +++ uim-1.5.7/debian/uim-prime.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister prime --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-anthy.install +++ uim-1.5.7/debian/uim-anthy.install @@ -0,0 +1,9 @@ +usr/lib/uim/plugin/libuim-anthy.so +usr/lib/uim/plugin/libuim-anthy-utf8.so +usr/share/uim/pixmaps/anthy.png +usr/share/uim/pixmaps/anthy-utf8.png +usr/share/uim/anthy.scm +usr/share/uim/anthy-utf8.scm +usr/share/uim/anthy-custom.scm +usr/share/uim/anthy-utf8-custom.scm +usr/share/uim/anthy-key-custom.scm --- uim-1.5.7.orig/debian/uim-viqr.postinst +++ uim-1.5.7/debian/uim-viqr.postinst @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register viqr --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-common.postinst +++ uim-1.5.7/debian/uim-common.postinst @@ -0,0 +1,56 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +checkstatus () { + local status pkg + pkg=$1 + status=$(dpkg -s $pkg 2>/dev/null | grep ^Status: | sed -e 's/^Status: \(.*\) \(.*\) \(.*\)/\3/g') + if [ -n "$status" ] && [ "$status" != "not-installed" ] && [ "$status" != "config-files" ]; then + echo $(dpkg -s $pkg 2>/dev/null | grep ^Version: | sed -e 's/^Version: *//'); + fi +} + +case "$1" in + configure) + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/libuim6.install +++ uim-1.5.7/debian/libuim6.install @@ -0,0 +1,2 @@ +usr/lib/lib*.so.* +usr/lib/uim/plugin/libuim-custom-enabler.so --- uim-1.5.7.orig/debian/uim-tcode.install +++ uim-1.5.7/debian/uim-tcode.install @@ -0,0 +1,11 @@ +usr/share/uim/tcode.scm +usr/share/uim/pixmaps/tcode.png +usr/share/uim/trycode.scm +usr/share/uim/pixmaps/trycode.png +usr/share/uim/tutcode.scm +usr/share/uim/tutcode-key-custom.scm +usr/share/uim/tutcode-custom.scm +usr/share/uim/tutcode-bushudic.scm +usr/share/uim/tutcode-rule.scm +usr/share/uim/tutcode-kigoudic.scm +usr/share/uim/pixmaps/tutcode.png --- uim-1.5.7.orig/debian/uim-prime.postinst +++ uim-1.5.7/debian/uim-prime.postinst @@ -0,0 +1,52 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register prime --path /etc/uim + fi + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/libuim-dev.install +++ uim-1.5.7/debian/libuim-dev.install @@ -0,0 +1,4 @@ +usr/include/uim/* +usr/lib/lib*.a +usr/lib/lib*.so +usr/lib/pkgconfig/uim.pc --- uim-1.5.7.orig/debian/compat +++ uim-1.5.7/debian/compat @@ -0,0 +1 @@ +5 --- uim-1.5.7.orig/debian/uim-fep.lintian-overrides +++ uim-1.5.7/debian/uim-fep.lintian-overrides @@ -0,0 +1,3 @@ +uim-fep: binary-without-manpage usr/bin/uim-fep +uim-fep: binary-without-manpage usr/bin/uim-fep-tick + --- uim-1.5.7.orig/debian/uim-prime.install +++ uim-1.5.7/debian/uim-prime.install @@ -0,0 +1,6 @@ +usr/lib/uim/plugin/libuim-prime.so +usr/share/uim/pixmaps/prime.png +usr/share/uim/pixmaps/prime_mode_application.png +usr/share/uim/prime.scm +usr/share/uim/prime-custom.scm +usr/share/uim/prime-key-custom.scm --- uim-1.5.7.orig/debian/uim-byeoru.prerm +++ uim-1.5.7/debian/uim-byeoru.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister byeoru --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-latin.postinst +++ uim-1.5.7/debian/uim-latin.postinst @@ -0,0 +1,51 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register latin elatin \ + --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-ipa-x-sampa.install +++ uim-1.5.7/debian/uim-ipa-x-sampa.install @@ -0,0 +1,2 @@ +usr/share/uim/pixmaps/ipa-x-sampa.png +usr/share/uim/ipa-x-sampa.scm --- uim-1.5.7.orig/debian/rules +++ uim-1.5.7/debian/rules @@ -0,0 +1,116 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +LDFLAGS+=-lX11 + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/buildvars.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/class/gnome.mk +include /usr/share/cdbs/1/rules/dpatch.mk + +DEB_DESTDIR := $(CURDIR)/debian/tmp +DEB_DH_INSTALL_SOURCEDIR := $(DEB_DESTDIR) + +DEB_CONFIGURE_EXTRA_FLAGS = --with-fep --with-anthy --with-anthy-utf8 \ + --with-canna \ + --with-m17nlib --with-x --with-gtk \ + --with-qt-immodule --with-qt4-immodule \ + --with-qt --with-qt4 --enable-dict \ + --with-libgcroots=installed --disable-rpath \ + --enable-static --enable-shared +DEB_MAKE_INSTALL_TARGET = install DESTDIR=$(CURDIR)/debian/tmp \ + sysconfdir=$(CURDIR)/debian/tmp/etc \ + GTK_IMMODULES=/dev/null \ + INSTALL_ROOT=$(CURDIR)/debian/tmp +DEB_DH_STRIP_ARGS := --dbg-package=libuim6-dbg + +ifneq (,$(filter $(DEB_HOST_ARCH), ia64 s390)) + DEB_CONFIGURE_EXTRA_FLAGS += UIM_SCM_CFLAGS=-fno-strict-aliasing +endif + +DEB_INSTALL_DOCS_uim-common = AUTHORS NEWS README RELNOTE \ + doc/COMPATIBILITY doc/CUSTOM doc/DOT-UIM \ + doc/HELPER-CANDWIN doc/HELPER-PROTOCOL \ + doc/KEY doc/PLUGIN doc/RELEASING \ + doc/UIM-SCM doc/UIM-SH doc/UNIT-TEST +DEB_INSTALL_DOCS_uim-fep = fep/README fep/README.ja fep/README.key +DEB_INSTALL_DOCS_uim-el = emacs/README emacs/README.ja +DEB_INSTALL_DOCS_uim-xim = xim/README +DEB_DH_MAKESHLIBS_ARGS := --exclude=usr/lib/uim/plugin \ + --exclude=usr/lib/kde4 \ + --exclude=usr/lib/gtk-2.0 + +makebuilddir:: + for i in $(CURDIR)/sigscheme/configure; do \ + if ! test -e $$i.cdbs-orig ; then \ + mv $$i $$i.cdbs-orig ; \ + fi ; \ + done + ( cd $(CURDIR)/sigscheme && autoconf ) + +cleanbuilddir:: + rm -rf $(CURDIR)/sigscheme/autom4te.cache + for i in $(CURDIR)/sigscheme/configure; do \ + if test -e $$i.cdbs-orig ; then \ + mv $$i.cdbs-orig $$i ; \ + fi ; \ + done + +install/uim-xim:: + install -D -o root -g root -m 644 \ + $(CURDIR)/debian/im-switch/uim \ + $(CURDIR)/debian/uim-xim/etc/X11/xinit/xinput.d/uim + +install/uim-gtk2.0:: + install -D -o root -g root -m 644 \ + $(CURDIR)/debian/im-switch/uim-toolbar \ + $(CURDIR)/debian/uim-xim/etc/X11/xinit/xinput.d/uim-toolbar + install -D -o root -g root -m 644 \ + $(CURDIR)/debian/im-switch/uim-systray \ + $(CURDIR)/debian/uim-xim/etc/X11/xinit/xinput.d/uim-systray + +install/uim-qt:: + install -D -o root -g root -m 644 \ + $(CURDIR)/debian/im-switch/uim-toolbar-qt \ + $(CURDIR)/debian/uim-xim/etc/X11/xinit/xinput.d/uim-toolbar-qt + +binary-post-install/uim-common:: + install -d $(CURDIR)/debian/uim-common/etc/uim + LIBUIM_SYSTEM_SCM_FILES=$(CURDIR)/sigscheme/lib \ + LIBUIM_SCM_FILES=$(CURDIR)/scm \ + LIBUIM_PLUGIN_LIB_DIR=$(CURDIR)/uim/.libs \ + $(CURDIR)/uim/uim-module-manager --unregister-all \ + --path $(CURDIR)/debian/uim-common/etc/uim + dh_link -p uim-common \ + etc/uim/installed-modules.scm \ + usr/share/uim/installed-modules.scm + dh_link -p uim-common \ + etc/uim/loader.scm \ + usr/share/uim/loader.scm + +binary-post-install/uim-gtk2.0:: + LD_LIBRARY_PATH=$(CURDIR)/uim/.libs:$(LD_LIBRARY_PATH) \ + dh_gtkmodules + +common-binary-post-install-arch:: + for pkg in libuim6 libuim-data libuim6-dbg libuim-dev uim-utils \ + uim-gtk2.0 uim-qt uim-qt3 uim-applet-kde \ + uim-anthy uim-canna uim-prime uim-skk uim-m17nlib; do \ + rm -rf $(CURDIR)/debian/$$pkg/usr/share/doc/$$pkg; \ + dh_link -p$$pkg \ + usr/share/doc/uim-common \ + usr/share/doc/$$pkg; \ + done + +common-binary-post-install-indep:: + for pkg in uim uim-byeoru uim-hangul uim-latin uim-pinyin \ + uim-tcode uim-viqr uim-ipa-x-sampa; do \ + rm -rf $(CURDIR)/debian/$$pkg/usr/share/doc/$$pkg; \ + dh_link -p$$pkg \ + usr/share/doc/uim-common \ + usr/share/doc/$$pkg; \ + done --- uim-1.5.7.orig/debian/uim-pinyin.postinst +++ uim-1.5.7/debian/uim-pinyin.postinst @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register pyload --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/control +++ uim-1.5.7/debian/control @@ -0,0 +1,391 @@ +Source: uim +Section: libs +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Kiwamu Okabe +Build-Depends: cdbs, debhelper (>> 5.0.0), dpatch (>= 1.11), automake1.10, autoconf, autotools-dev, intltool, libtool, libgtk2.0-dev (>= 2.10.1), libpango1.0-dev, libfreetype6-dev, libatk1.0-dev, libgnome2-dev, libgnomeui-dev, libxml-perl, libice-dev, libsm-dev, libx11-dev, libxext-dev, libxi-dev, libxmu-dev, libxmuu-dev, libxp-dev, libxpm-dev, libxrandr-dev, libxt-dev, libxtst-dev, libxv-dev, x11proto-core-dev, libxfont-dev, libfontenc-dev, libcanna1g-dev, libanthy-dev, libncurses5-dev, libm17n-dev, prime, libqt3-mt-dev, libqt4-dev, librsvg2-bin, libedit-dev, libgcroots-dev, kdelibs5-dev, cmake +Standards-Version: 3.8.4 +Vcs-Git: git://git.debian.org/git/collab-maint/uim.git +Vcs-Browser: http://git.debian.org/?p=collab-maint/uim.git;a=summary +DM-Upload-Allowed: yes + +Package: uim-common +Section: utils +Architecture: all +Depends: ${misc:Depends}, im-switch +Conflicts: uim-common (<< 1:1.4.1-1) +Description: Common files for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains a common files for uim packages. + +Package: uim +Section: utils +Architecture: all +Depends: ${misc:Depends}, uim-common (= ${source:Version}), uim-gtk2.0 (>= ${source:Version}), uim-xim (>= ${source:Version}), uim-utils (>= ${source:Version}), uim-fep (>= ${source:Version}) +Description: Simple and flexible input method collection and library + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, PRIME, T-Code, TUT-Code, + Pinyin(Chinese input method), Hangul(Korean input method), IPA(International + Phonetic Alphabet) and etc.... Most of the functions are implemented with + Scheme, so it's very simple and flexible. + . + This package is a dummy package for newbies. You can safely update or remove + this package. But this package does not depends on Japanese plugin packages + because uim is not specific for Japanese. + If you want to use Japanese Input methods, you have to install one of the + following packages. + . + uim-anthy: Anthy plugin for uim + uim-canna: Canna plugin for uim + uim-prime: PRIME plugin for uim + uim-skk: SKK plugin for uim + +Package: libuim6 +Section: libs +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, libuim-data (= ${binary:Version}), uim-common (>= ${source:Version}) +Conflicts: libuim-data (<< ${binary:Version}), libuim0, libuim5 +Replaces: libuim0 +Description: Simple and flexible input method collection and library + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains the shared libraries of uim. + +Package: libuim-data +Section: libs +Architecture: any +Depends: ${misc:Depends}, uim-common (>= ${source:Version}) +Conflicts: libuim0, libuim1, libuim3 (<= 1:1.2.1-2), libuim5 +Description: Data files for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains the data files for uim. + +Package: libuim-dev +Section: libdevel +Architecture: any +Depends: ${misc:Depends}, libuim6 (= ${binary:Version}), libm17n-dev, uim-common (>= ${source:Version}) +Description: Development files for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains the header files and the libraries for development + for uim. + +Package: libuim6-dbg +Section: debug +Priority: extra +Architecture: any +Depends: ${misc:Depends}, libuim6 (= ${binary:Version}), uim-common (>= ${source:Version}) +Description: uim libraries and debugging symbols + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains unstripped shared libraries. it is provided + primarily to provide a backtrace with names in a debugger, this makes + it somewhat easier to interpret core dumps. The libraries are installed + in /usr/lib/debug and can be used by placing that directory in + LD_LIBRARY_PATH. + Most people will not need this package. + +Package: uim-gtk2.0 +Section: x11 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Replaces: uim-applet-gnome (<< 1:1.5.7-3) +Breaks: uim-applet-gnome (<< 1:1.5.7-3) +Description: GTK+2.x immodule for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains a input method module on GTK+2.0. + +Package: uim-qt +Section: x11 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Description: Qt 4.x immodule for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains only utilities which build againt libqt4. + A input method module on Qt 4.x, which is newly implemented from immodule + for Qt does not contain in this package for now. + +Package: uim-qt3 +Section: x11 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Description: Qt 3.x immodule for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains only utilities which build againt libqt3. + +Package: uim-xim +Section: x11 +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-common (>= ${source:Version}), uim-utils (>= ${source:Version}) +Description: A bridge between uim and XIM + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains a uim-XIM bridge. + +Package: uim-applet-kde +Section: kde +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}), uim-qt (>= ${source:Version}) +Description: KDE applet for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains an KDE applet which works as a monitor for + conversion mode, configuring uim and so on. + +Package: uim-fep +Section: utils +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Description: uim Front End Processor + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package is a FEP (Front End Processor) on curses. + +Package: uim-utils +Section: utils +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-common (>= ${source:Version}) +Replaces: uim-helper-server +Conflicts: uim-helper-server, uim-utils (<< 1:1.4.1-1), uim-common (<< 1:1.4.1-1) +Description: Utilities for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains shell interpreter, IPC server and etc. + +Package: uim-anthy +Section: utils +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}), anthy +Conflicts: uim-common (<= 1:1.2.1-9) +Description: Anthy plugin for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains Anthy plugin for uim. + +Package: uim-canna +Section: utils +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}), canna +Conflicts: uim-common (<= 1:1.2.1-9) +Description: Canna plugin for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains Canna plugin for uim. + +Package: uim-skk +Section: utils +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}), skkdic | skkdic-extra | skkserv | dbskkd-cdb +Conflicts: uim-common (<= 1:1.2.1-9) +Description: SKK plugin for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains SKK plugin for uim. + +Package: uim-prime +Section: utils +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}), prime +Conflicts: uim-common (<= 1:1.2.1-9) +Description: PRIME plugin for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains PRIME plugin for uim. + +Package: uim-m17nlib +Section: utils +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Conflicts: uim-common (<= 1:1.2.1-9) +Description: m17nlib plugin for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains m17nlib plugin for uim. + +Package: uim-el +Section: utils +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}), emacs23 | emacs22 | emacs21 | emacs-snapshot | xemacs21-mule | xemacs21-mule-canna-wnn | xemacs21-mule-canna-wnn | xemacs21-gnome-mule | xemacs21-gnome-mule-canna-wnn | emacsen +Conflicts: uim-common (<< 0.4.6beta2-3) +Description: Emacs frontend for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains emacs frontend for uim. + +Package: uim-byeoru +Section: utils +Architecture: all +Depends: ${misc:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Conflicts: uim-common (<= 1:1.2.1-9) +Description: The Byeoru Hangul input suite for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains "the Byeoru Hangul input suite" for uim. + +Package: uim-hangul +Section: utils +Architecture: all +Depends: ${misc:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Conflicts: uim-common (<= 1:1.2.1-9) +Description: Hangul input style(2-beol, 3-beol and Romaja) for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains 2-beol style, 3-beol style and Romaja input style + hangul input method for uim. + +Package: uim-latin +Section: utils +Architecture: all +Depends: ${misc:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Conflicts: uim-common (<= 1:1.2.1-9) +Description: Latin and Germanic languages input style for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains Latin and Germanic languages input style for uim. + +Package: uim-pinyin +Section: utils +Architecture: all +Depends: ${misc:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Conflicts: uim-common (<= 1:1.2.1-9) +Description: Pinyin input method for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains Pinyin input method(Simplified Chinese, Traditional + Chinese and Unicode) for uim. + +Package: uim-tcode +Section: utils +Architecture: all +Depends: ${misc:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}), uim-skk (>= ${source:Version}), t-code +Conflicts: uim-common (<= 1:1.2.1-9) +Description: T-Code input style for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains T-Code/TUT-Code/Try-Code input style for uim. + +Package: uim-viqr +Section: utils +Architecture: all +Depends: ${misc:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Conflicts: uim-common (<= 1:1.2.1-9) +Description: Vietnamese Quoted-Readable input style for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains Vietnamese Quoted-Readable input style for uim. + +Package: uim-ipa-x-sampa +Section: utils +Architecture: all +Depends: ${misc:Depends}, uim-utils (>= ${source:Version}), uim-common (>= ${source:Version}) +Conflicts: uim-common (<= 1:1.2.1-9) +Description: International Phonetic Alphabet (X-SAMPA) input style for uim + uim is a input method module library supporting various languages, which + become a frontend for Anthy, SKK, Canna, T-Code, TUT-Code, Pinyin(Chinese + input method), Hangul(Korean input method), IPA(International Phonetic + Alphabet) and etc.... Most of the functions are implemented with Scheme, + so it's very simple and flexible. + . + This package contains International Phonetic Alphabet (X-SAMPA) input style + for uim. --- uim-1.5.7.orig/debian/uim-xim.postinst +++ uim-1.5.7/debian/uim-xim.postinst @@ -0,0 +1,81 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. +ua_inst () { + update-alternatives \ + --install /etc/X11/xinit/xinput.d/$1 xinput-$1 \ + /etc/X11/xinit/xinput.d/$2 $3 ; +} + +case "$1" in + configure) + # Set up default + ua_inst all_ALL uim 0 + ua_inst ja_JP uim 30 + ua_inst ko_KR uim 30 + ua_inst zh_CN uim 30 + ua_inst zh_TW uim 30 + ua_inst zh_HK uim 30 + ua_inst zh_SG uim 30 + ua_inst all_ALL uim-toolbar 0 + ua_inst ja_JP uim-toolbar 30 + ua_inst ko_KR uim-toolbar 30 + ua_inst zh_CN uim-toolbar 30 + ua_inst zh_TW uim-toolbar 30 + ua_inst zh_HK uim-toolbar 30 + ua_inst zh_SG uim-toolbar 30 + ua_inst all_ALL uim-systray 0 + ua_inst ja_JP uim-systray 40 + ua_inst ko_KR uim-systray 40 + ua_inst zh_CN uim-systray 40 + ua_inst zh_TW uim-systray 40 + ua_inst zh_HK uim-systray 40 + ua_inst zh_SG uim-systray 40 + ua_inst all_ALL uim-toolbar-qt 0 + ua_inst ja_JP uim-toolbar-qt 30 + ua_inst ko_KR uim-toolbar-qt 30 + ua_inst zh_CN uim-toolbar-qt 30 + ua_inst zh_TW uim-toolbar-qt 30 + ua_inst zh_HK uim-toolbar-qt 30 + ua_inst zh_SG uim-toolbar-qt 30 + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/changelog +++ uim-1.5.7/debian/changelog @@ -0,0 +1,1111 @@ +uim (1:1.5.7-9.1ubuntu2) oneiric; urgency=low + + [ Martin Pitt ] + * debian/control, debian/rules: Drop uim-applet-gnome binary package and + the obsolete/NBS libpanel-applet2-dev build dependency. + * debian/uim-qt.install: Fix plugin path for multiarch location. + + [ Julian Taylor ] + * Add 19_as-needed_compile_fix.dpatch: fix build with ld --as-needed. + (LP: #832939) + + -- Martin Pitt Wed, 07 Sep 2011 16:20:53 +0200 + +uim (1:1.5.7-9.1ubuntu1) natty; urgency=low + + * link against -lX11 to fix FTBFS + + -- Bhavani Shankar Thu, 11 Nov 2010 10:32:28 +0530 + +uim (1:1.5.7-9.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix "file conflict when upgrading from lenny": add Replaces/Breaks against + uim-applet-gnome (<< 1:1.5.7-3); thanks to dai for preparing the patch + (closes: #601996). + * Remove unversioned Replaces/Conflicts against libuim0-gtk, libuim-gtk2.0; + those packages don't exist in any suite anymore. + + -- gregor herrmann Mon, 08 Nov 2010 01:06:37 +0100 + +uim (1:1.5.7-9) unstable; urgency=low + + * Merge patches from Miguel Landaeta , thanks! + - uim-tcode: Add support to mazegaki conversion. (Closes: #507996) + + add "17_fix_mazegaki_location.dpatch" + - uim-tcode: Depends uim-skk and t-code because of described above. + * uim-fep: Fix a typo in package description. (Closes: #586559) + * Fix a compile error with Qt 4.7. (Closes: #584112) + - add "18_qt47_compile_fix.dpatch" + + -- Kiwamu Okabe Thu, 24 Jun 2010 17:39:05 +0900 + +uim (1:1.5.7-8) unstable; urgency=medium + + * Cleanup changelog. + * Adjust the ua_inst priority, uim-toolbar:40=>30 uim-systray:30=>40. + + -- Kiwamu Okabe Fri, 28 May 2010 11:33:32 +0900 + +uim (1:1.5.7-7) unstable; urgency=high + + * Merge patches from VDR dai (deb) , thanks! + - fix FTBFS Debian GNU/kFreeBSD (Closes: #494344) + + add "debian/patches/16_cred_for_kfreebsd.dpatch" + - fix FTBFS with dash. + - fix FTBFS: segfault in-uim-module-manager [ia64 s390] (Closes: #566978) + + debian/rules: + - add "-fno-strict-aliasing" to UIM_SCM_CFLAGS for ia64 and s390 + - add "makebuilddir" and "cleanbuilddir" actions + - remove "DEB_AUTO_UPDATE_ACLOCAL := 1.10" + - include /usr/share/cdbs/1/rules/buildvars.mk. + + -- Kiwamu Okabe Fri, 28 May 2010 02:10:41 +0900 + +uim (1:1.5.7-6) unstable; urgency=low + + * build-depend on cmake. + (Closes: #582178) + * distclean qt4. + * [patch] uim-el: uim-el hogs CPU during emacs install. + (Closes: #566791) + + -- Kiwamu Okabe Sun, 23 May 2010 17:06:45 +0900 + +uim (1:1.5.7-5) unstable; urgency=high + + * Fix lintian bugs missing-debian-source-format, + out-of-date-standards-version. + + -- Kiwamu Okabe Wed, 21 Apr 2010 19:40:37 +0900 + +uim (1:1.5.7-4) unstable; urgency=low + + * debian/rules: use DEB_AUTO_UPDATE_ACLOCAL instead of + DEB_AUTO_UPDATE_AUTOMAKE, for automake match version. + (Closes: #571375) + * debian/control: DM-Upload-Allowed: yes + * start source code managemen on git. + http://git.debian.org/?p=collab-maint/uim.git;a=summary + + -- Kiwamu Okabe Thu, 25 Mar 2010 18:40:12 +0900 + +uim (1:1.5.7-3) unstable; urgency=medium + + * Fix lintian bugs desktop-command-not-in-package. + Move uim.desktop file to uim-gtk2.0 package. + * 13_fix_uim-xim_manpage-has-errors-from-man.dpatch: + Fix lintian bugs desktop-command-not-in-package. + Remove macro `"' from uim-xim.1. + * Fix lintian bugs depends-on-old-emacs. + uim-el package depends on emacs23. + * Overrides lintian bugs binary-without-manpage. + * Fix lintian bugs ancient-standards-version. + checked /usr/share/doc/debian-policy/upgrading-checklist.txt.gz. + * debian/control: added build dependency on libgnomeui-dev. This is + mandatory to build the Gnome applet and fixes a FTBFS. + (Closes: #566307) + * Zero lintian bugs. + + -- Kiwamu Okabe Sat, 23 Jan 2010 16:16:06 +0900 + +uim (1:1.5.7-2) unstable; urgency=low + + * 12_uim_kde4_menu.dpatch: + Fix 'kde4 menu on a tool button appears at an incorrect position'. + See . + * Drop the build dependency on libxtrap-dev. (Closes: #559700) + * Fix lintian bugs maintainer-script-empty preinst. + Remove uim-common.preinst. + + -- Kiwamu Okabe Mon, 21 Dec 2009 21:38:21 +0900 + +uim (1:1.5.7-1) unstable; urgency=high + + * New upstream release. + - Fix 'cannot close some applications (e.g. evince) from window manager'. + See for more details. + (Closes: #557341) + * Fix lintian bugs debhelper-but-no-misc-depends. + Add misc:Depends to control file. + * Fix lintian bugs build-depends-on-1-revision. + Build-depend on libgtk2.0-dev (>= 2.10.1). + * Fix lintian bugs patch-system-but-no-source-readme. + Add README.source file. + * Remove static plugin files. + * Remove *.la files. + * Fix lintian bugs pkg-has-shlibs-control-file-but-no-actual-shared-libs. + Use dh_makelibs "--exclude" option. + * 09_support_skk_alternatives.dpatch: + Patch for supporting alternatives of /usr/share/skk/SKK-JISYO. + * uim-applet-kde include kde4 applet instead of kde3 applet. + Build-Depends: kdelibs5-dev + * Fix lintian bugs syntax-error-in-debian-news-file. + Reformat NEWS.Debian file. + * Fix lintian bugs menu-item-uses-apps-section, menu-item-creates-new-section. + Replace 'section="Apps/Tools"' by 'section="Applications/Accessibility"'. + * Fix lintian bugs wrong-section-according-to-package-name. + libuim6-dbg section libdevel => debug. + * Fix lintian bugs debug-package-should-be-priority-extra. + libuim6-dbg priority optional => extra. + * Fix lintian bugs command-with-path-in-maintainer-script. + Remove uim-module-manager command's absolute path in + {post,pre}{inst,rm} file. + * 10_set_path_uim-candwin-qt4.dpatch: + uim-candwin-qt4 locate /usr/lib/uim dir. + * 11_remove_rpath_plasma_applet_uim_so.dpatch: + Remove rpath from plasma_applet_uim.so file. + See . + + -- Kiwamu Okabe Tue, 24 Nov 2009 12:48:26 +0900 + +uim (1:1.5.6-2) unstable; urgency=high + + * 08_fix_segv_on_iceweasel_and_flashplugin.dpatch: + patch for fix segv on iceweasel and flashplugin. + See for more details. + * Fix lintian bugs usr-share-doc-symlink-without-dependency for libuim*. + (closes: Bug#385666) + * Fix Bug 'obsolete build-dep on x-dev'. Switch depending on + x11proto-core-dev. (closes: Bug#515522) + * Fix Bug 'The icon is not contained'. (closes: Bug#482606) + + -- Kiwamu Okabe Thu, 19 Nov 2009 20:16:24 +0900 + +uim (1:1.5.6-1) unstable; urgency=high + + * New upstream release. + - configure.ac : Fix not found gnome.h header (patch from Fedora). + See for more details. + (closes: Bug#536944) + * New maintainer (acknowledged from former maintainer Masahiro Omote). + * 07_fix_configure_notoverwrite_po_makefile.dpatch: + patch for not install uim-chardict-qt.mo file. + See for more details (in Japanese). + + -- Kiwamu Okabe Tue, 08 Sep 2009 16:44:29 +0900 + +uim (1:1.5.5-1) unstable; urgency=low + + * New upstream release and final upload by current maintainter. + + -- Masahito Omote Sun, 01 Mar 2009 12:57:00 +0900 + +uim (1:1.5.3-1) unstable; urgency=low + + * New upstream release (closes: Bug#499356) + + -- Masahito Omote Sun, 28 Sep 2008 23:01:26 +0900 + +uim (1:1.5.1-2) unstable; urgency=low + + * uim-tcode: provide tutcode-custom.scm, tutcode-bushudic.scm + and tutcode-rule.scm (Closes: #482659) + * Fix FTBFS: segv during compile (Closes: #483078). + I personally think this bug is not specific for uim but is a optimization + problem on gcc-4.3.1. (https://bugs.freedesktop.org/show_bug.cgi?id=16477) + + -- Masahito Omote Wed, 25 Jun 2008 19:56:33 +0900 + +uim (1:1.5.1-1) unstable; urgency=low + + * New upstream release + * uim-qt3: Add uim inputcontext plugin for Qt3. And due to uim-*-qt are + not supported in Qt4 for now officially, uim-*-qt are contained in + this package. + * uim-qt: Depends uim-qt3 because of described above. + * libuim6: New package for syncing with upstream upgrade soversion. + * 05_qmake_bug_workaround.dpatch: patch for the workaround that qmake does + not add link option against other libraries(e.g. -lX11) by default. + * uim-tcode doesn't provide tutcode-custom.scm, tutcode-bushudic.scm + and tutcode-rule.scm (Closes: #482659) + + -- Masahito Omote Wed, 25 Jun 2008 19:51:56 +0900 + +uim (1:1.4.2-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Thu, 28 Feb 2008 12:52:23 +0000 + +uim (1:1.4.1-6) unstable; urgency=low + + * Fix segv because of free and g_free problem on glib. + - uim-gtk2.0 causes gtk-gnutella to crash (Closes: #431047) + * Fix indent the description of uim and rewrite some part of them. + (Closes: #442450) + * uim-el: prefer emacs22 (Closes: #433973) + + -- Masahito Omote Thu, 03 Jan 2008 18:26:12 +0900 + +uim (1:1.4.1-5) unstable; urgency=low + + * kde-devel is a too coarse grained build-dep (Closes: #431837) + * FTBFS if built twice in a row (Closes: #424196) + * Thanks to Kobayashi Noritada . + + -- Masahito Omote Sat, 04 Aug 2007 21:55:48 +0900 + +uim (1:1.4.1-4) unstable; urgency=low + + * Acknowledge the NMU fix. + * Don't call "uim-module-manager --unregister" in uim-common.postinst. + closes: #415393, #419617. + + -- Masahito Omote Fri, 22 Jun 2007 00:15:41 +0900 + +uim (1:1.4.1-3.1) unstable; urgency=low + + * Non-maintainer upload. + * Version the dependencies of uim on uim-common and other uim binary + packages to use = ${source:Version} or >= ${source:Version}; + closes: #415393, #419617. + + -- Loic Minier Thu, 07 Jun 2007 14:03:31 +0200 + +uim (1:1.4.1-3) unstable; urgency=low + + * Switch to dh_gtkmodules for the gtk 2.10 transition (Closes: + #419318) + - debian/control: Add ${misc:Depends} and remove libgtk2.0-bin on + uim-gtk2.0. + - debian/uim-gtk2.0.post{inst,rm}: Removed. + + -- Masahito Omote Sat, 21 Apr 2007 03:46:09 +0900 + +uim (1:1.4.1-2) unstable; urgency=low + + * Upload to unstable. + * FTBFS: missing versioning gtk (Closes: #415527) + * Fix dependency between uim-common and uim-utils. + + -- Masahito Omote Sat, 14 Apr 2007 23:57:11 +0900 + +uim (1:1.4.1-1) experimental; urgency=low + + * New upstream release + - Upload to experimental. + * Stop using "[ -f /usr/bin/dh_gtkmodules ]" in debian/rules. + + -- Masahito Omote Sun, 18 Mar 2007 13:53:46 +0000 + +uim (1:1.4.0-2) experimental; urgency=low + + * Oops, /usr/lib/gtk-2.0/2.10.0/immodule-files.d/uim-gtk2.0.immoduls + is broken in 1:1.4.0-1. + + -- Masahito Omote Wed, 14 Feb 2007 17:05:07 +0000 + +uim (1:1.4.0-1) experimental; urgency=low + + * New upstream release + - Build-Depends: libgcroots-dev, automake1.10, kde-devel. + * 03_intltool_fake_version.dpatch: very dirty hack for work on intltool + 0.35.0. I cannot understand why new one is still not in experimental even + though GNOME 2.16.2 is in it. Why it is neglected over 8 months? + * Bump libuim's major version to 5. + * uim-applet-kde: New Package. + * Use dh_gtkmodules which was supported from 2.10.1-1. (closes: Bug#409583) + + -- Masahito Omote Thu, 15 Feb 2007 00:57:41 +0900 + +uim (1:1.3.1-2) experimental; urgency=low + + * Merge uim-tutcode, uim-trycode into uim-tcode. These input style are + very special and most of Japanese does not use it. But people using + these IMs have more intelligence of uim, cofusions should not happen, + I think. + - This is because ftpmaster demand not to get obese the number of + packages. I do not fully agree his rejection. This change is a + maximum compromise. + - Also he demand me to split packages for each continent(Asia, Europe, + North America, Afirican, ...). But I do not agree with it, too. Not all + Japanese do need Hangul/Chinese/Vietnamese/... input style. And so + do Koreans, Chinese, Vietnamese and so on. And not all people do + need multiple IMs(using Anthy and SKK at the same time for example). + And installing multiple IMs by default make confusions of default + input style when using uim. + + -- Masahito Omote Sat, 3 Feb 2007 17:36:49 +0900 + +uim (1:1.3.1-1) experimental; urgency=low + + * New upstream release + * Uploading to experimental. + * Don't call 'UIM' and 'Uim' in Debian's official Documents. 'uim' is a + formal wording and the only wording. + * From this version, IMs in uim-common are splitted into each packages. + You have to install them if you keep to use them. Splitted packages are + as follows, + - uim-byeoru: The Byeoru Hangul input suite for uim + - uim-hangul: Hangul input method for uim (2-beol/3-beol/Romaja) + - uim-latin: Latin and Germanic languages input style for uim + - uim-pinyin: Pinyin input method for uim + - uim-tcode: T-Code input style for uim + - uim-tutcode: TUT-Code input style for uim + - uim-trycode: Try-Code input style for uim + - uim-viqr: Vietnamese Quoted-Readable input style for uim + - uim-ipa-x-sampa: International Phonetic Alphabet (X-SAMPA) input style + for uim + * Change environment settings in im-switch from xim to uim. + (closes: Bug#400871) + + -- Masahito Omote Thu, 4 Jan 2007 01:22:48 +0900 + +uim (1:1.2.1-9) unstable; urgency=medium + + * uim-gtk2.0.postinst: Don't call update-gtk-immodules on purge. + (closes: Bug#398530) + + -- Masahito Omote Thu, 23 Nov 2006 15:10:53 +0900 + +uim (1:1.2.1-8) unstable; urgency=low + + * Use Pre-Depends libgtk2.0-bin instead of Depends for calling + /usr/bin/update-gtk-immodules properly when removing. Thanks to Osamu + Aoki for helping me. (closes: Bug#398530) + + -- Masahito Omote Thu, 23 Nov 2006 10:37:23 +0900 + +uim (1:1.2.1-7) unstable; urgency=high + + * 02_fix_uim_module_manager_registratio.dpatch + - Change the behavior of --register from append to prepend. This change + does not harm for uim's behavior. + - By prepending the module, the priority of IMs installed later become + higher. + - By this fix, uim-anthy is given more priority than uim-tutcode when + installing both uim-common and uim-anthy. + (For d-i on Japanese environment) + * Urgency set high for entering in etch. + + -- Masahito Omote Sun, 19 Nov 2006 13:57:32 +0900 + +uim (1:1.2.1-6) unstable; urgency=low + + * debian/rules: Fix FTBFS on running uim-module-manager.(closes: Bug#394980) + + -- Masahito Omote Mon, 6 Nov 2006 23:11:33 +0900 + +uim (1:1.2.1-5) unstable; urgency=high + + * Urgency set high because of not containing /etc/uim. (closes: Bug#394400) + + -- Masahito Omote Sun, 22 Oct 2006 19:24:02 +0900 + +uim (1:1.2.1-4) unstable; urgency=low + + * Acknowledge the NMU fix. + - libuim3 conflicts with libuim0 for sarge-upgrades. (closes: Bug#387661) + * libuim-data conflicts with libuim0 for sarge-upgrades. + (closes: Bug#387660, Bug#385581) + * debian/patches/01_support_skk_alternatives.dpatch: + - Patch for supporting alternatives of /usr/share/skk/SKK-JISYO. + (closes: Bug#342216) + * uim-el.emacsen-install: Use -no-site-file option. (closes: Bug#391801) + * Update copyright to pass lintian check. + * Transit to CDBS. + * uim-anthy: module unregistration is moved from postrm to prerm. + * uim-canna: Ditto. + * uim-skk: Ditto. + * uim-prime: Ditto. + * uim-m17nlib: Ditto. + + -- Masahito Omote Fri, 20 Oct 2006 03:55:41 +0900 + +uim (1:1.2.1-3.1) unstable; urgency=low + + * Non-maintainer upload. + * libuim3 conflicts with libuim0 for sarge-upgrades. Closes: #387661 + + -- Andreas Barth Sat, 14 Oct 2006 21:40:25 +0200 + +uim (1:1.2.1-3) unstable; urgency=low + + * Add conflicts libuim1 and libuim3(<< 1.2.1-2) to libuim-data. + * Move libuim-custom-enabler.* to libuim3. + * Do not run uim-module-manager on postrm process when upgrade. + * Do not run gtk-update-immodules on postrm process when upgrade. + + -- Masahito Omote Sun, 10 Sep 2006 23:46:08 +0900 + +uim (1:1.2.1-2) unstable; urgency=low + + * I forgot to update libuim's shlib version. + + -- Masahito Omote Mon, 28 Aug 2006 08:06:52 +0900 + +uim (1:1.2.1-1) unstable; urgency=low + + * New upstream release + * Remove conflicts libuim0. (closes: Bug#382126) + * Rebuild against latest gnutls library. (closes: Bug#383040) + * libuim-data: split plugin and locales from libuim1. + + -- Masahito Omote Sat, 26 Aug 2006 16:46:05 +0900 + +uim (1:1.1.1-2) unstable; urgency=low + + * Update copyright. + * Cleanup in debian/*. + * debian/compat: Set 5. + * uim-common.postinst: Add pyload to uim-module-manager --register. + * uim-qt: Add uim-qt.menu. + + -- Masahito Omote Tue, 8 Aug 2006 08:58:21 +0900 + +uim (1:1.1.1-1) unstable; urgency=low + + * New upstream release. + * Bump libuim's major version. libuim0 becomes obsolete. + * Acknowledge the NMU fix. + - Apply im-switch update. (closes: Bug#368147) + * Remove --enable-debug. -Werror is removed in building process. + Therefore, FTBFS caused by -Werror should't be happened. + (closes: Bug#375212, Bug#375081) + * Bump up Standards-Version 3.7.2.1. + * Change sections of following packages. I already sent a mail to + override-changes@d.o. + - uim, uim-common and uim-fep: text -> utils. + - uim-anthy, uim-canna, uim-el, uim-m17nlib, uim-prime and uim-skk: libs + -> utils. + + -- Masahito Omote Thu, 3 Aug 2006 02:03:06 +0900 + +uim (1:1.1.0-1.2) unstable; urgency=low + + * Non-maintainer upload. + * Added -Wno-cast-align to CFLAGS, as per the RM's recommendations: + + < vorlon> Sesse: -Wno-cast-align and to hell with it :P + + Really fixes FTBFS. (Really Closes: #375081) + + -- Steinar H. Gunderson Thu, 6 Jul 2006 22:17:24 +0200 + +uim (1:1.1.0-1.1) unstable; urgency=high + + * Non-maintainer upload. + * Make must_malloc return void* instead of char*, like the real malloc; + fixes FTBFS on several architectures since the package is built using + -Wcast-align -Werror. (Closes: #375081) + + -- Steinar H. Gunderson Wed, 5 Jul 2006 22:03:59 +0200 + +uim (1:1.1.0-1.0.1) unstable; urgency=low + + * NMU. + * im-switch scripts are improved to start safely and in + different modes. + * README.Debian updated. + + -- Osamu Aoki Fri, 16 Jun 2006 10:51:15 +0900 + +uim (1:1.1.0-1) unstable; urgency=low + + * New upstream release + * Acknowledge the NMU fix. + + -- Masahito Omote Sun, 11 Jun 2006 01:30:39 +0900 + +uim (1:1.0.0-2.0.1) unstable; urgency=low + + * NMU. + * Update to match im-switch. + * README.Debian updated for GUI config tools and toolbar. + + -- Osamu Aoki Fri, 19 May 2006 07:52:19 +0900 + +uim (1:1.0.0-2) unstable; urgency=low + + * Acknowledge the NMU fix. (closes: Bug#345253) + * debian/control: + - cleanup. Obsolete -nox package is removed. + - Add versioned dependency of uim-common and uim-utils. + (closes: Bug#344943) + - Remove circular Depends between uim-common and uim-utils. + (closes: Bug#357798) + - uim-applet-gnome: Add Depends: uim-gtk2.0. (closes: Bug#348294) + * uim-common: Add mana-custom.scm which I forget to add. + (closes: Bug#355236). + * uim-common.postinst: Add byeoru support. (closes: Bug#345449) + * uim-xim: Receiving XIM ERROR is already fixed in 1.0.0. + (closes: Bug#341838) + * im-switch/*: Fix typo and add byeoru and uim-m17nlib support. + (closes: Bug#345448) + * uim.desktop.in.in(upstream source): Remove Mimetype: text/plain. + (closes: Bug#345711) + * uim-qt: Add uim inputcontext plugin. + + -- Masahito Omote Sun, 9 Apr 2006 01:44:50 +0900 + +uim (1:1.0.0-1.1) unstable; urgency=low + + * NMU to fix problem when removing the package (Closes: #345253): + Migrated the behaviour of uim.postrm to be uim.prerm. + Thanks to Mike O'Connor for the solution. + + -- Margarita Manterola Mon, 23 Jan 2006 15:54:30 -0300 + +uim (1:1.0.0-1) unstable; urgency=low + + * New upstream release + * uim-el: New package. This is a emacs frontend for uim. uim-el is in + officiall archive now. (closes: Bug#324966) + * Fix segv at startup in uim-xim. (closes: Bug#327711) + * uim-prime: I forgot to add /etc/X11/xinit/xinput.d/uim_prime. + (closes: Bug#339451) + + -- Masahito Omote Sat, 24 Dec 2005 07:15:02 +0900 + +uim (1:0.4.9.1-1) unstable; urgency=low + + * New upstream release + * libuim0-nox, libuim-nox-dev, and libuim0-dbg-nox is now obsolete. + Because libuim0 does not depends on X11. They now become dummy package, + therefore you can safely remove them. + * Add --enable-debug in configure again. + * debian/patches/08_fix_privilage_escalation_CVE_2005_3149: disabled. + * Fix Error on purge because update-uim-config is not found. + (closes: Bug#339345) + * uim-qt: New package for Qt utilities for uim. qt-immodule does not + contained yet because of Debian's Qt3 does not support immodule and + because uim does not recognize libqt4-dev's headers properly. + + -- Masahito Omote Sun, 4 Dec 2005 13:10:42 +0900 + +uim (1:0.4.7-3) unstable; urgency=low + + * Remove Build-Depends: pm-dev. Thanks to Benjamin Montgomery + . + * Add Suggests: skkserv and dbskkserv-cdb. (closes: Bug#316045) + * Add Chinese, Korean, and the Vietnam language support of uim-m17nlib + in im-switch (closes: Bug#316632) + + -- Masahito Omote Mon, 14 Nov 2005 04:11:48 +0900 + +uim (1:0.4.7-2) unstable; urgency=high + + * Added debian/patches/08_fix_privilage_escalation_CVE_2005_3149. + - CAN-2005-3149. + - [security] uim does not handle the LIBUIM_VANILLA environment variable + when a suid or sgid application is linked to libuim, such as immodule + for Qt and mlterm, which allows local users to gain privileges. + (closes Bug#331620). + * Fix typo in update-uim-config. + + -- Masahito Omote Mon, 17 Oct 2005 13:40:01 +0900 + +uim (1:0.4.7-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Tue, 28 Jun 2005 10:47:04 +0900 + +uim (1:0.4.6final1-4) unstable; urgency=low + + * Support im-switch framework. (closes: Bug#314458) + You can switch uim-anthy, uim-canna, uim-skk, uim-m17nlib and so on by using + /usr/bin/im-switch. See /usr/share/doc/im-switch/README.Debian for more + details. + * Add French uim.mo. (closes: Bug#300184) + + -- Masahito Omote Fri, 17 Jun 2005 21:41:33 +0900 + +uim (1:0.4.6final1-3) unstable; urgency=low + + * Rebuild with m17nlib-1.2.0. 07_build_with_m17nlib11.dpatch is no longer + needed now. + * Bug fix: "Several undeclared conflicts between binary packages from + this source package" (closes: #303321). + * Add uim-xim's manpage. Thanks to Wesley J. Landaker. (closes: Bug#300487) + + -- Masahito Omote Sat, 16 Apr 2005 02:59:54 +0900 + +uim (1:0.4.6final1-2) unstable; urgency=low + + * Add Build-Depends: intltool and libtool. + * Add Confilcts uim-common < 0.4.6beta2-3 in IM packages. (closes: Bug#297823) + * Close obsolete bugs. + - uim.mo was already moved to libuim0 from 0.4.6beta2-1. + (closes: Bug#283550) + - Crash when staring eclipse with uim-gtk2.0 was already fixed in upstream. + (closes: Bug#222031) + + -- Masahito Omote Fri, 18 Mar 2005 14:34:50 +0900 + +uim (1:0.4.6final1-1) unstable; urgency=low + + * New upstream release + * 07_build_with_m17nlib11.dpatch: Patch for support building with old + m17nlib. + * uim-gtk2.0: Add uim-dict-gtk. + + -- Masahito Omote Fri, 18 Mar 2005 10:33:09 +0900 + +uim (1:0.4.6beta2-3) unstable; urgency=high + + * Urgency because CAN-2005-0503 is allocated and fix FTBFS. + * Add Build-Depends: prime. + + -- Masahito Omote Sat, 26 Feb 2005 06:45:30 +0900 + +uim (1:0.4.6beta2-2) unstable; urgency=low + + * /usr/sbin/update-uim-config: New file for handling loader.scm and + installed-modules.scm. + * installed-modules.scm and loader.scm is moved to /etc/uim. + * uim-anthy.postinst,postrm: Run update-uim-config. + * uim-canna.postinst,postrm: Ditto. + * uim-prime.postinst,postrm: Ditto. + * uim-skk.postinst,postrm: Ditto. + * uim-m17nlib.postinst,postrm: Ditto. + + -- Masahito Omote Wed, 23 Feb 2005 02:23:55 +0900 + +uim (1:0.4.6beta2-1) unstable; urgency=high + + * New upstream release + * From 0.4.6, uim supports plugin system and split Inputmethods(mainly for + Japanese IMs) into plugins which is needed to link shared library. If + you use following IMs, you have to install plugin packages. + . + Anthy: uim-anthy + Canna: uim-canna + SKK: uim-skk + PRIME: uim-prime + m17nlibs: uim-m17nlib + * New package libuim0-nox, libuim-nox-dev, libuim-nox-dbg which built + without X11. This package is for those who want to use uim-fep only. + * Urgency set high, because of privilage escalation is found in libuim0. + This security hole only affects in setuid/setgid Qt apps using immodule + for Qt(native Qt does not affect) and using setuid/setgid-ed application + which linked against libuim installed by users from source. If you only + use Debian packages, this security hole does not affect your system. + * debian/uim-gtk2.0.menu: menu file for uim-im-switcher and uim-toolbar-gtk. + (closes: Bug#284159) + + -- Masahito Omote Tue, 22 Feb 2005 03:44:09 +0900 + +uim (1:0.4.5+r1576-2) unstable; urgency=low + + * Fix libuim-dev to depend on libm17n-dev. (closes: Bug#283206) + * Close #260494. This was already fixed. (closes: Bug#260494) + + -- Masahito Omote Mon, 29 Nov 2004 12:59:18 +0900 + +uim (1:0.4.5+r1576-1) unstable; urgency=low + + * New upstream release + * Re-enable m17nlibs again. + - debian/control: Build-Depends: libm17n-dev + - debian/rules: Enable --with-m17nlib. + + -- Masahito Omote Sun, 7 Nov 2004 17:39:08 +0900 + +uim (1:0.4.5-1) unstable; urgency=low + + * New upstream release + * debian/patches/05_fix_uim_xim_crash.dpatch: disabled. + * debian/patches/06_fix_uim_applet_server_in_path_fix.dpatch: Ditto. + + -- Masahito Omote Wed, 20 Oct 2004 18:41:30 +0900 + +uim (1:0.4.4.1-3) unstable; urgency=high + + * debian/uim-xim.files: Urgency high because I forgot to change + filename. This fix must stop consuming CPU up to 100%. + + -- Masahito Omote Tue, 12 Oct 2004 05:51:13 +0900 + +uim (1:0.4.4.1-2) unstable; urgency=low + + * debian/NEWS: Oops, I mistook in a filename. + + -- Masahito Omote Mon, 11 Oct 2004 01:27:02 +0900 + +uim (1:0.4.4.1-1) unstable; urgency=low + + * New upstream release + * New uim's gtk immodule 'uim' is added. By this change, other gtk immodule + will remove in next release (0.4.4.1-1 supports old style for transition). + If you want to switch input method, use gtk-im-switcher which is in + uim-gtk2.0. Read NEWS.Debian for more details. + * /usr/bin/uim-helper-server is moved to uim-utils, so you can safely + remove uim-helper-server. uim-helper-server will remove in 0.4.5-1. + * debian/patches/05_fix_uim_xim_crash: Fix bug for consuming CPU up to 100%. + * debian/patches/06_fix_uim_applet_server_in_path_fix.dpatch: Fix filename + mismatch in upstream. + + -- Masahito Omote Mon, 11 Oct 2004 01:08:18 +0900 + +uim (1:0.4.3-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Wed, 15 Sep 2004 16:54:44 +0900 + +uim (1:0.4.2.1-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Sat, 31 Jul 2004 22:16:33 +0900 + +uim (1:0.4.1-1) unstable; urgency=low + + * New upstream release + * New package: uim-fep, uim-utils and libuim0-dbg. + + -- Masahito Omote Tue, 13 Jul 2004 01:06:46 +0900 + +uim (1:0.4.0-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Mon, 12 Jul 2004 15:43:13 +0900 + +uim (1:0.3.9-1) unstable; urgency=low + + * New upstream release + * debian/rules: Add --without-m17nlib in configure. + + -- Masahito Omote Fri, 18 Jun 2004 19:32:34 +0900 + +uim (1:0.3.8-3) unstable; urgency=low + + * debian/patches/04_fix_uim_canna_segv.dpatch: + - Fix segv when calling uim_quit() time and time. + + -- Masahito Omote Thu, 10 Jun 2004 21:36:11 +0900 + +uim (1:0.3.8-2) unstable; urgency=low + + * Rebuild with new libgtk2.0-0. + * Remove Build-Depneds: libm1n7-dev. + + -- Masahito Omote Sat, 22 May 2004 01:47:36 +0900 + +uim (1:0.3.8-1) unstable; urgency=low + + * New upstream release + * Add Build-Depends libm17n-dev. + * 03_fix-bug586-uim-crash.dpatch: disabled. + + -- Masahito Omote Sat, 22 May 2004 01:35:57 +0900 + +uim (1:0.3.5-2) unstable; urgency=low + + * Because I misspelled in changelog on previous revision, I cannot close + Bug#246664. This bug was already fixed. (closes: Bug#246664) + * uim-gtk2.0 depends uim-helper-server. (closes: Bug#247235) + * uim-common: Add prime in Suggests. + * README.Debian: Add reminder for uim-prime. + + -- Masahito Omote Tue, 4 May 2004 23:09:34 +0900 + +uim (1:0.3.5-1) unstable; urgency=low + + * New upstream release + * Depends libgtk2.0-bin. (close: Bug#246664) + * debian/rules: remove version hardcode of gtk2. If you want to use uim + under gtk2.4 in experimental, rebuild and install by yourself. + * 03_fix-bug586-uim-crash.dpatch: A patch to fix crash on IM change. + See also http://freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=586. + + -- Masahito Omote Sun, 2 May 2004 18:01:24 +0900 + +uim (1:0.3.4.2-1) unstable; urgency=low + + * New upstream release + * Add doc/* in uim-common. (closes: Bug#241628) + * debian/rules: Remove libtool hack. + * README.Debian: Add reminder when using uim. + + -- Masahito Omote Wed, 7 Apr 2004 14:31:46 +0900 + +uim (1:0.3.3-1) unstable; urgency=low + + * New upstream release + * Sync with the change of upstream copyright. But this change does not + affect uim's entering in main. + + -- Masahito Omote Mon, 22 Mar 2004 23:30:09 +0900 + +uim (1:0.3.0.1-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Tue, 24 Feb 2004 00:51:11 +0900 + +uim (1:0.2.7-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Fri, 30 Jan 2004 14:15:01 +0900 + +uim (1:0.2.5.2-1) unstable; urgency=low + + * New upstream release + - Fix crash on uim-xim. + + -- Masahito Omote Sat, 24 Jan 2004 15:50:22 +0900 + +uim (1:0.2.5.1-1) unstable; urgency=low + + * New upstream release + - uim-skk: Change to proper conversion mark more. + - uim-skk: Commit candidate and input newline when return key is pressed. + - uim-skk: Selectable preedit drawing mode. + - uim-skk: Add checking when word registering. + - uim-anthy: Add preedit editing functions. + - uim-prime: Add word register functions. + - Support Canna. + * debian/control: + - Add Suggests: canna + - Add Build-Depends: libcanna1g-dev + + -- Masahito Omote Sat, 24 Jan 2004 06:03:21 +0900 + +uim (1:0.2.4-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Sun, 11 Jan 2004 01:19:29 +0900 + +uim (1:0.2.2-2) unstable; urgency=low + + * Add Build-Depends: libxml-perl. + + -- Masahito Omote Fri, 2 Jan 2004 15:28:17 +0900 + +uim (1:0.2.2-1) unstable; urgency=low + + * New upstream release + * 02_suppress_resetcalled.dpatch: + - Because upstream make a warning disabled, this patch no longer needed. + + -- Masahito Omote Thu, 1 Jan 2004 20:53:53 +0900 + +uim (1:0.2.1-1) unstable; urgency=low + + * New upstream release + * Move uim.pc from libuim0 to libuim-dev. (closes: Bug#224345) + + -- Masahito Omote Mon, 22 Dec 2003 00:41:00 +0900 + +uim (1:0.2.0-2) unstable; urgency=low + + * 02_suppress_resetcalled.dpatch: + - A fix to suppress a waring "reset called implement me" when using a + GTK+ 2.0 applications on uim. This is no need for users, this warning + is just a verification for upstream developers. + + -- Masahito Omote Thu, 11 Dec 2003 17:38:10 +0900 + +uim (1:0.2.0-1) unstable; urgency=low + + * New upstream release + * Add suggests skkdic and anthy. (closes: Bug#222594) + * Use dpatch. + * uim-gtk2.0: Add uim-helper-toolbar-gtk. + * libuim0: Add uim.pc. + + -- Masahito Omote Wed, 10 Dec 2003 01:38:29 +0900 + +uim (1:0.1.5-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Mon, 10 Nov 2003 22:14:05 +0900 + +uim (1:0.1.4-1) unstable; urgency=low + + * New upstream release + * Remove Build-Depends liblinc-dev. + * uim-xim: Support candidate window. uim-helper-candwin-gtk is added. + + -- Masahito Omote Sun, 2 Nov 2003 14:52:07 +0900 + +uim (1:0.1.2-2) unstable; urgency=low + + * Add Build-Depends liblinc-dev. + + -- Masahito Omote Sun, 19 Oct 2003 01:29:56 +0900 + +uim (1:0.1.2-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Sat, 18 Oct 2003 22:30:23 +0900 + +uim (1:0.1.1-1) unstable; urgency=low + + * New upstream release + * New package: uim-applet-gnome, uim-helper-server. + * README.Debian: cleanup. + + -- Masahito Omote Sun, 12 Oct 2003 06:52:10 +0900 + +uim (1:0.0.6-1) unstable; urgency=low + + * New upstream release + * Initial Debian release (closes: Bug#210874) + + -- Masahito Omote Mon, 15 Sep 2003 21:30:43 +0900 + +uim (1:0.0.4-1) unstable; urgency=low + + * New upstream release + * Upstream version numbering changed. So I use epoch. + * debian/control: + - libuim-gtk2.0 -> uim-gtk2.0 + - Split scm files to uim-common. + * debian/compat: set 4. + * debina/rules: stop using DH_COMPAT. + + -- Masahito Omote Sun, 7 Sep 2003 08:51:39 +0900 + +uim (2010-3) unstable; urgency=low + + * uim/anthy.c: load libanthy.so.0 and libanthydic.so.0 instead of + libanthy.so and libanthydic.so. + + -- Masahito Omote Tue, 12 Aug 2003 00:02:46 +0900 + +uim (2010-2) unstable; urgency=low + + * Oops, I forgot to include im-uim.so. + + -- Masahito Omote Mon, 11 Aug 2003 03:05:44 +0900 + +uim (2010-1) unstable; urgency=low + + * New upstream release + * debian/control: Fix description, add Origin field and add uim-xim. + * Standards-Version: 3.6.0. + + -- Masahito Omote Mon, 11 Aug 2003 02:24:35 +0900 + +uim (1903-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Fri, 11 Jul 2003 23:20:19 +0900 + +uim (1806-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Sat, 7 Jun 2003 00:04:46 +0900 + +uim (1716-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Sun, 18 May 2003 14:56:27 +0900 + +uim (1713-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Thu, 15 May 2003 19:04:53 +0900 + +uim (1711-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Tue, 13 May 2003 04:42:37 +0900 + +uim (1528-2) unstable; urgency=low + + * change libuim-dev section into libdevel. + + -- Masahito Omote Tue, 1 Apr 2003 10:32:18 +0900 + +uim (1528-1) unstable; urgency=low + + * New upstream release + * anthy.c: load libanthy.so.0 and libanthydic.so.0 instead of + libanthy.so and libanthydic.so(see Debian BTS: Bug#186761) + * Change package name from libuim0-gtk into libuim-gtk2.0. + * disable canna. + + -- Masahito Omote Mon, 31 Mar 2003 03:39:21 +0900 + +uim (1327-1) unstable; urgency=low + + * New upstream release + * split libuim0 into libuim0 and libuim0-gtk. + * Description: more comprehensibe. + + -- Masahito Omote Wed, 12 Feb 2003 04:07:33 +0900 + +uim (1307-2) unstable; urgency=low + + * debian/rules: Add params to install immodule in proper directory. + + -- Masahito Omote Mon, 20 Jan 2003 21:20:29 +0900 + +uim (1307-1) unstable; urgency=low + + * New upstream release + - 1305b: correct roma-kana conversion for SKK and Anthy + - 1305: applied Tokunaga-san's patch + - 1303: use dynamic loading for Anthy. + - 1302: add VIQR (Vietnamese) and IPA (International Phonetic Alphabet). + + -- Masahito Omote Mon, 20 Jan 2003 19:31:59 +0900 + +uim (1222-1) unstable; urgency=low + + * New upstream release + - add prefix to input method names correctly. + * README.Debian: add prefix 'uim-' in each uim modules. + + -- Masahito Omote Mon, 23 Dec 2002 17:28:51 +0900 + +uim (1221-1) unstable; urgency=low + + * New upstream release + - Fix incorrect window size on im-uim. + * Change maintainer address from debian.org to utyuuzin.net because + this package is not official. + * README.Debian: add usage and some comments. + * INSTALL and INSTALL.ja are no longer contained, NEWS and README.ja are + added instead. + + -- Masahito Omote Sun, 22 Dec 2002 16:15:06 +0900 + +uim (1215-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Mon, 16 Dec 2002 20:00:00 +0900 + +uim (1212-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Fri, 13 Dec 2002 20:15:37 +0900 + +uim (1203-1) unstable; urgency=low + + * New upstream release + * Add Depends libgtk2.0-0, libgtk2.0-common. + * debian/rules: add libtool hack from Debian gtk+2.0 source package + to pass lintian check. + + -- Masahito Omote Fri, 6 Dec 2002 11:15:22 +0900 + +uim (1010-1) unstable; urgency=low + + * New upstream release + + -- Masahito Omote Sat, 12 Oct 2002 10:34:25 +0900 + +uim (925-1) unstable; urgency=low + + * Initial Release. + + -- Masahito Omote Sun, 6 Oct 2002 17:21:21 +0900 + --- uim-1.5.7.orig/debian/uim-qt.install +++ uim-1.5.7/debian/uim-qt.install @@ -0,0 +1,7 @@ +usr/bin/uim-pref-qt4 +usr/lib/uim/uim-candwin-qt4 +usr/bin/uim-im-switcher-qt4 +usr/bin/uim-chardict-qt4 +usr/bin/uim-toolbar-qt4 +usr/share/locale/ja/LC_MESSAGES/uim-chardict-qt4.mo +usr/lib/*/qt4/plugins/inputmethods/libuiminputcontextplugin.so --- uim-1.5.7.orig/debian/uim-el.install +++ uim-1.5.7/debian/uim-el.install @@ -0,0 +1,13 @@ +usr/share/emacs/site-lisp/uim-el/uim-candidate.el +usr/share/emacs/site-lisp/uim-el/uim-debug.el +usr/share/emacs/site-lisp/uim-el/uim-key.el +usr/share/emacs/site-lisp/uim-el/uim-keymap.el +usr/share/emacs/site-lisp/uim-el/uim-leim.el +usr/share/emacs/site-lisp/uim-el/uim-preedit.el +usr/share/emacs/site-lisp/uim-el/uim-util.el +usr/share/emacs/site-lisp/uim-el/uim-var.el +usr/share/emacs/site-lisp/uim-el/uim-version.el +usr/share/emacs/site-lisp/uim-el/uim.el +usr/share/emacs/site-lisp/uim-el/uim-helper.el +usr/bin/uim-el-agent +usr/bin/uim-el-helper-agent --- uim-1.5.7.orig/debian/uim-gtk2.0.menu +++ uim-1.5.7/debian/uim-gtk2.0.menu @@ -0,0 +1,12 @@ +?package(uim-gtk2.0):\ + needs="X11"\ + section="Applications/Accessibility"\ + title="uim-im-switcher-gtk" command="/usr/bin/uim-im-switcher-gtk" +?package(uim-gtk2.0):\ + needs="X11"\ + section="Applications/Accessibility"\ + title="uim-pref-gtk" command="/usr/bin/uim-pref-gtk" +?package(uim-gtk2.0):\ + needs="X11"\ + section="Applications/Accessibility"\ + title="uim-toolbar-gtk" command="/usr/bin/uim-toolbar-gtk" --- uim-1.5.7.orig/debian/uim-tcode.prerm +++ uim-1.5.7/debian/uim-tcode.prerm @@ -0,0 +1,42 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister tcode tutcode trycode \ + --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-anthy.postinst +++ uim-1.5.7/debian/uim-anthy.postinst @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register anthy anthy-utf8 --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-utils.install +++ uim-1.5.7/debian/uim-utils.install @@ -0,0 +1,3 @@ +usr/bin/uim-sh +usr/lib/uim/uim-helper-server +usr/bin/uim-module-manager --- uim-1.5.7.orig/debian/uim-hangul.postinst +++ uim-1.5.7/debian/uim-hangul.postinst @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register hangul --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-xim.install +++ uim-1.5.7/debian/uim-xim.install @@ -0,0 +1,3 @@ +usr/bin/uim-xim +usr/lib/uim/uim-candwin-gtk +usr/share/man/man1/uim-xim.1 --- uim-1.5.7.orig/debian/uim-m17nlib.install +++ uim-1.5.7/debian/uim-m17nlib.install @@ -0,0 +1,2 @@ +usr/lib/uim/plugin/libuim-m17nlib.so +usr/share/uim/m17nlib.scm --- uim-1.5.7.orig/debian/uim-skk.postinst +++ uim-1.5.7/debian/uim-skk.postinst @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register skk --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-el.emacsen-startup +++ uim-1.5.7/debian/uim-el.emacsen-startup @@ -0,0 +1,17 @@ +;; -*-emacs-lisp-*- +;; +;; Emacs startup file for the Debian GNU/Linux anthy package +;; +;; Originally contributed by Nils Naumann +;; Modified by Dirk Eddelbuettel +;; Adapted for dh-make by Jim Van Zandt + +;; The anthy package follows the Debian/GNU Linux 'emacsen' policy and +;; byte-compiles its elisp files for each 'emacs flavor' (emacs19, +;; xemacs19, emacs20, xemacs20...). The compiled code is then +;; installed in a subdirectory of the respective site-lisp directory. +;; We have to add this to the load-path: +(setq load-path (cons (concat "/usr/share/" + (symbol-name flavor) + "/site-lisp/uim") load-path)) +(require 'uim-leim) --- uim-1.5.7.orig/debian/uim-gtk2.0.lintian-overrides +++ uim-1.5.7/debian/uim-gtk2.0.lintian-overrides @@ -0,0 +1,7 @@ +uim-gtk2.0: binary-without-manpage usr/bin/uim-dict-gtk +uim-gtk2.0: binary-without-manpage usr/bin/uim-im-switcher-gtk +uim-gtk2.0: binary-without-manpage usr/bin/uim-input-pad-ja +uim-gtk2.0: binary-without-manpage usr/bin/uim-pref-gtk +uim-gtk2.0: binary-without-manpage usr/bin/uim-toolbar-gtk +uim-gtk2.0: binary-without-manpage usr/bin/uim-toolbar-gtk-systray + --- uim-1.5.7.orig/debian/uim-skk.prerm +++ uim-1.5.7/debian/uim-skk.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister skk --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-qt3.menu +++ uim-1.5.7/debian/uim-qt3.menu @@ -0,0 +1,12 @@ +?package(uim-qt3):\ + needs="X11"\ + section="Applications/Accessibility"\ + title="uim-chardict-qt" command="/usr/bin/uim-chardict-qt" +?package(uim-qt3):\ + needs="X11"\ + section="Applications/Accessibility"\ + title="uim-pref-qt" command="/usr/bin/uim-pref-qt" +?package(uim-qt3):\ + needs="X11"\ + section="Applications/Accessibility"\ + title="uim-toolbar-qt" command="/usr/bin/uim-toolbar-qt" --- uim-1.5.7.orig/debian/uim-m17nlib.postinst +++ uim-1.5.7/debian/uim-m17nlib.postinst @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register m17nlib --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-canna.postinst +++ uim-1.5.7/debian/uim-canna.postinst @@ -0,0 +1,51 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register canna --path /etc/uim + fi + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-common.install +++ uim-1.5.7/debian/uim-common.install @@ -0,0 +1,59 @@ +usr/share/uim/pixmaps/unknown.png +usr/share/uim/pixmaps/direct.png +usr/share/uim/pixmaps/direct_input.png +usr/share/uim/pixmaps/on.png +usr/share/uim/pixmaps/off.png +usr/share/uim/pixmaps/ja_direct.png +usr/share/uim/pixmaps/ja_hiragana.png +usr/share/uim/pixmaps/ja_katakana.png +usr/share/uim/pixmaps/ja_halfkana.png +usr/share/uim/pixmaps/ja_halfwidth_alnum.png +usr/share/uim/pixmaps/ja_fullwidth_alnum.png +usr/share/uim/pixmaps/ja_romaji.png +usr/share/uim/pixmaps/ja_kana.png +usr/share/uim/pixmaps/ja_azik.png +usr/share/uim/pixmaps/ja_nicola.png +usr/share/uim/pixmaps/ja_pocketbell.png +usr/share/uim/pixmaps/im_switcher.png +usr/share/uim/pixmaps/uim-dict.png +usr/share/uim/pixmaps/null.png +usr/share/uim/pixmaps/uim-icon64.png +usr/share/uim/pixmaps/uim-icon48.png +usr/share/uim/pixmaps/uim-gray.png +usr/share/uim/pixmaps/uim-icon.png +usr/share/uim/action.scm +usr/share/uim/deprecated-util.scm +usr/share/uim/custom-rt.scm +usr/share/uim/custom.scm +usr/share/uim/default.scm +usr/share/uim/direct.scm +usr/share/uim/generic-custom.scm +usr/share/uim/generic-key-custom.scm +usr/share/uim/generic.scm +usr/share/uim/i18n.scm +usr/share/uim/im-custom.scm +usr/share/uim/im.scm +usr/share/uim/init.scm +usr/share/uim/ichar.scm +usr/share/uim/iso-639-1.scm +usr/share/uim/japanese-azik.scm +usr/share/uim/japanese-kana.scm +usr/share/uim/japanese.scm +usr/share/uim/key.scm +usr/share/uim/lazy-load.scm +usr/share/uim/load-action.scm +usr/share/uim/look.scm +usr/share/uim/look-custom.scm +usr/share/uim/plugin.scm +usr/share/uim/rk.scm +usr/share/uim/uim-module-manager.scm +usr/share/uim/uim-sh.scm +usr/share/uim/ustr.scm +usr/share/uim/util.scm +usr/share/uim/zaurus.scm +usr/share/uim/helperdata/bushu.t +usr/share/uim/mana.scm +usr/share/uim/mana-custom.scm +usr/share/uim/mana-key-custom.scm +usr/share/uim/im-switcher.scm +usr/share/uim/lib/*.scm --- uim-1.5.7.orig/debian/uim-pinyin.prerm +++ uim-1.5.7/debian/uim-pinyin.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister pyload --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-qt.menu +++ uim-1.5.7/debian/uim-qt.menu @@ -0,0 +1,12 @@ +?package(uim-qt):\ + needs="X11"\ + section="Applications/Accessibility"\ + title="uim-chardict-qt4" command="/usr/bin/uim-chardict-qt4" +?package(uim-qt):\ + needs="X11"\ + section="Applications/Accessibility"\ + title="uim-pref-qt4" command="/usr/bin/uim-pref-qt4" +?package(uim-qt):\ + needs="X11"\ + section="Applications/Accessibility"\ + title="uim-toolbar-qt4" command="/usr/bin/uim-toolbar-qt4" --- uim-1.5.7.orig/debian/copyright +++ uim-1.5.7/debian/copyright @@ -0,0 +1,132 @@ +This package was debianized by Masahito Omote on +Sun, 6 Oct 2002 17:21:21 +0900. + +Upstream URI: http://uim.freedesktop.org/ + +Upstream Author: Yusuke Tabata + TOKUNAGA Hiroyuki + uim Project (http://uim.freedesktop.org/) + +-- copyright of uim -- +* Full text of LGPL can be found on Debian systems in file + /usr/share/common-licenses/LGPL. +* Full text of GPL can be found on Debian systems in file + /usr/share/common-licenses/GPL. +* Full text of 3-clause BSD license can be found on Debian systems in + /usr/share/common-licenses/BSD. + +You can use, modify, distribute and sell this package under the terms of BSD license. + + Copyright (c) 2003-2007 uim Project http://uim.freedesktop.org/ + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of authors nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +But there are six exceptions. + + * scm/PY-old.scm is come from emacs, so you can use, modify, + distribute and sell this under the terms of GPL *only*. + + * scm/py.scm is come from m17n-lib,you can use, modify, distribute + and sell this under the terms of LGPL *only*. + + * helper/eggtrayicon.[ch] is come from libegg, so you can use, + modify, distribute and sell uim-toolbar-gtk-systray under the + terms of LGPL *only*. + + * qt/pref-kseparator.{cpp,h} is come from kdeui, so you can use, + modify, distribute and sell uim-pref-qt under the terms of LGPL + *only*. + + * qt/chardict/chardict-kseparator.{cpp,h} is come from kdeui, so you + can use, modify, distribute and sell uim-chardict-qt under the + terms of LGPL *only*. + + * pixmaps/*.{svg,png} are also licensed under the 3-clause BSD + license, but has different copyright holders. See + pixmaps/{COPYING,README,AUTHORS} for further information. + +This Package uses a scheme system SIOD, and the license is as follows: +/* Scheme In One Defun, but in C this time. + + * COPYRIGHT (c) 1988-1994 BY * + * PARADIGM ASSOCIATES INCORPORATED, CAMBRIDGE, MASSACHUSETTS. * + * ALL RIGHTS RESERVED * + + Permission to use, copy, modify, distribute and sell this software + and its documentation for any purpose and without fee is hereby + granted, provided that the above copyright notice appear in all copies + and that both that copyright notice and this permission notice appear + in supporting documentation, and that the name of Paradigm Associates + Inc not be used in advertising or publicity pertaining to distribution + of the software without specific, written prior permission. + + PARADIGM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL + PARADIGM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR + ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. + + */ + +-- copyright of pixmaps/*.{svg,png} -- + +Copyright (c) 2006, SHIMODA Hiroshi +Copyright (c) 2006, FUJITA Yuji +Copyright (c) 2006, Jun Mukai +Copyright (c) 2006, Teppei Tamra +Copyright (c) 2005 UTUMI Hirosi +Copyright (c) 2006 YAMAMOTO Kengo +Copyright (c) 2006 Jae-hyeon Park +Copyright (c) 2006 Etsushi Kato +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of authors nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-- end of copyright -- --- uim-1.5.7.orig/debian/uim-pinyin.install +++ uim-1.5.7/debian/uim-pinyin.install @@ -0,0 +1,7 @@ +usr/share/uim/pixmaps/py.png +usr/share/uim/pixmaps/pyunihan.png +usr/share/uim/pixmaps/pinyin-big5.png +usr/share/uim/py.scm +usr/share/uim/pinyin-big5.scm +usr/share/uim/pyload.scm +usr/share/uim/pyunihan.scm --- uim-1.5.7.orig/debian/uim-byeoru.install +++ uim-1.5.7/debian/uim-byeoru.install @@ -0,0 +1,6 @@ +usr/share/uim/pixmaps/byeoru.png +usr/share/uim/byeoru-custom.scm +usr/share/uim/byeoru-dic.scm +usr/share/uim/byeoru-key-custom.scm +usr/share/uim/byeoru-symbols.scm +usr/share/uim/byeoru.scm --- uim-1.5.7.orig/debian/uim-anthy.prerm +++ uim-1.5.7/debian/uim-anthy.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|deconfigure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --unregister anthy anthy-utf8 --path /etc/uim + fi + ;; + upgrade|failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/uim-ipa-x-sampa.postinst +++ uim-1.5.7/debian/uim-ipa-x-sampa.postinst @@ -0,0 +1,50 @@ +#! /bin/sh +# postinst script for uim +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + if which uim-module-manager >/dev/null 2>&1; then + uim-module-manager --register ipa-x-sampa --path /etc/uim + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- uim-1.5.7.orig/debian/source/format +++ uim-1.5.7/debian/source/format @@ -0,0 +1,2 @@ +1.0 + --- uim-1.5.7.orig/debian/patches/11_remove_rpath_plasma_applet_uim_so.dpatch +++ uim-1.5.7/debian/patches/11_remove_rpath_plasma_applet_uim_so.dpatch @@ -0,0 +1,18 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 11_remove_rpath_plasma_applet_uim_so.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.7~/configure uim-1.5.7/configure +--- uim-1.5.7~/configure 2009-11-23 02:33:06.000000000 +0900 ++++ uim-1.5.7/configure 2009-11-24 21:59:11.000000000 +0900 +@@ -44027,6 +44027,7 @@ + -DCMAKE_CXX_FLAGS="${CXXFLAGS} ${X_CFLAGS}" \ + -DCMAKE_BUILD_TYPE=${cmake_build_type} \ + -DCMAKE_INSTALL_PREFIX=`$KDE4_CONFIG --prefix` \ ++ -DCMAKE_SKIP_RPATH=true -DKDE4_USE_ALWAYS_FULL_RPATH=false \ + ${ac_abs_top_builddir}/qt4/toolbar + cd - + fi --- uim-1.5.7.orig/debian/patches/05_qmake_bug_workaround.dpatch +++ uim-1.5.7/debian/patches/05_qmake_bug_workaround.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 05_qmake_bug_workaround.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.0~/qt4/immodule/quiminputcontextplugin.pro.in uim-1.5.0/qt4/immodule/quiminputcontextplugin.pro.in +--- uim-1.5.0~/qt4/immodule/quiminputcontextplugin.pro.in 2007-09-30 09:24:35.000000000 +0900 ++++ uim-1.5.0/qt4/immodule/quiminputcontextplugin.pro.in 2008-05-08 11:05:25.000000000 +0900 +@@ -19,7 +19,7 @@ + QMAKE_CFLAGS_RELEASE += @CFLAGS@ @X_CFLAGS@ + QMAKE_CXXFLAGS_DEBUG += @CXXFLAGS@ @X_CFLAGS@ + QMAKE_CXXFLAGS_RELEASE += @CXXFLAGS@ @X_CFLAGS@ +- ++QMAKE_LFLAGS= + + # Input + HEADERS += debug.h \ --- uim-1.5.7.orig/debian/patches/15_eof_spin_uim-el-agent.dpatch +++ uim-1.5.7/debian/patches/15_eof_spin_uim-el-agent.dpatch @@ -0,0 +1,121 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 15_eof_spin_uim-el-agent.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' uim~/emacs/uim-el-agent.c uim/emacs/uim-el-agent.c +--- uim~/emacs/uim-el-agent.c 2010-04-21 18:39:50.000000000 +0900 ++++ uim/emacs/uim-el-agent.c 2010-05-23 14:38:40.000000000 +0900 +@@ -34,7 +34,7 @@ + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +- ++#include + #include + #include + #include +@@ -631,6 +631,7 @@ + main(int argc, char *argv[]) + { + int opt; ++ char buf[1024]; + + while ((opt = getopt(argc, argv, "d")) != -1) { + switch (opt) { +@@ -660,7 +661,14 @@ + + fflush(stdout); + +- fgets(buf, sizeof(buf), stdin); ++ if (fgets (buf, sizeof (buf), stdin) == NULL) { ++ if (feof (stdin)) ++ debug_printf (DEBUG_NOTE, "unexpected EOF\n"); ++ else ++ debug_printf (DEBUG_ERROR, "failed to read command: %s\n", ++ strerror (errno)); ++ goto QUIT; ++ } + + p1 = buf; + serial = -1; +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' uim~/emacs/uim-el-helper-agent.c uim/emacs/uim-el-helper-agent.c +--- uim~/emacs/uim-el-helper-agent.c 2010-04-21 18:39:50.000000000 +0900 ++++ uim/emacs/uim-el-helper-agent.c 2010-05-23 14:38:40.000000000 +0900 +@@ -35,6 +35,7 @@ + */ + + ++#include + #include + #include + #include +@@ -197,7 +198,10 @@ + } + + +-static void ++/** ++ * @return 1 if success, 0 if error. ++ */ ++static int + read_command() + { + ssize_t len; +@@ -206,8 +210,15 @@ + debug_printf(DEBUG_NOTE, "read command\n"); + + do { +- if ((len = read(STDIN_FILENO, rbuf, sizeof(rbuf) - 1)) == -1) +- debug_printf(DEBUG_NOTE, "stdin has corrupted\n"); ++ len = read(STDIN_FILENO, rbuf, sizeof(rbuf) - 1); ++ if (len == -1) { ++ debug_printf(DEBUG_NOTE, "stdin is corrupt: %s\n", strerror (errno)); ++ return 0; ++ } ++ if (len == 0) { ++ debug_printf(DEBUG_NOTE, "unexpected EOF\n"); ++ return 0; ++ } + + rbuf[len] = '\0'; + +@@ -221,6 +232,7 @@ + + } while (!command_exists_in_cmdbuf()); + ++ return 1; + } + + +@@ -290,7 +302,8 @@ + debug_printf(DEBUG_NOTE, "data arrive\n"); + + if (FD_ISSET(STDIN_FILENO, &rfds)) { +- read_command(); ++ if (! read_command()) ++ goto QUIT; + } + + if (FD_ISSET(helper_fd, &rfds)) { +@@ -307,6 +320,7 @@ + fflush(NULL); + } + ++ QUIT: + uim_quit(); + return 0; + } +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' uim~/emacs/uim-el-helper-agent.h uim/emacs/uim-el-helper-agent.h +--- uim~/emacs/uim-el-helper-agent.h 2010-04-21 18:39:50.000000000 +0900 ++++ uim/emacs/uim-el-helper-agent.h 2010-05-23 14:38:40.000000000 +0900 +@@ -47,7 +47,6 @@ + static int command_exists_in_cmdbuf(); + static int process_command(); + static void process_message(char *msg); +-static void read_command(); + static void wait_data_arrival(fd_set *rfds); + + void cleanup(void); --- uim-1.5.7.orig/debian/patches/08_fix_segv_on_iceweasel_and_flashplugin.dpatch +++ uim-1.5.7/debian/patches/08_fix_segv_on_iceweasel_and_flashplugin.dpatch @@ -0,0 +1,33 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 08_fix_segv_on_iceweasel_and_flashplugin.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.6~/gtk/gtk-im-uim.c uim-1.5.6/gtk/gtk-im-uim.c +--- uim-1.5.6~/gtk/gtk-im-uim.c 2009-01-21 11:16:35.000000000 +0900 ++++ uim-1.5.6/gtk/gtk-im-uim.c 2009-11-19 20:25:43.000000000 +0900 +@@ -329,6 +329,12 @@ + } + + static void ++cur_toplevel_deleted(GtkWidget *widget, gpointer data) ++{ ++ cur_toplevel = NULL; ++} ++ ++static void + update_cur_toplevel(IMUIMContext *uic) + { + /* Don't set our candwin's text widget as cur_toplevel */ +@@ -358,6 +364,9 @@ + cur_key_release_handler_id = g_signal_connect(cur_toplevel, + "key-release-event", + G_CALLBACK(handle_key_on_toplevel), uic); ++ g_signal_connect(cur_toplevel, ++ "delete_event", ++ G_CALLBACK(cur_toplevel_deleted), NULL); + } + } else + remove_cur_toplevel(); --- uim-1.5.7.orig/debian/patches/06_fix_ftbfs_on_ia64.dpatch +++ uim-1.5.7/debian/patches/06_fix_ftbfs_on_ia64.dpatch @@ -0,0 +1,18 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 06_fix_ftbfs_on_ia64.dpatch by Masahito Omote +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.1~/sigscheme/src/read.c uim-1.5.1/sigscheme/src/read.c +--- uim-1.5.1~/sigscheme/src/read.c 2008-03-01 23:30:43.000000000 +0900 ++++ uim-1.5.1/sigscheme/src/read.c 2008-06-25 20:02:18.000000000 +0900 +@@ -918,6 +918,7 @@ + int err; + ScmLBuf(char) lbuf; + char init_buf[SCM_INITIAL_SYMBOL_BUF_SIZE]; ++ init_buf[0] = '\0'; + + CDBG((SCM_DBG_PARSER, "read_symbol")); + --- uim-1.5.7.orig/debian/patches/01_support_skk_alternatives.dpatch +++ uim-1.5.7/debian/patches/01_support_skk_alternatives.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01_support_skk_alternatives.dpatch by Masahito Omote +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.0~/scm/skk-custom.scm uim-1.5.0/scm/skk-custom.scm +--- uim-1.5.0~/scm/skk-custom.scm 2008-03-02 18:13:20.000000000 +0900 ++++ uim-1.5.0/scm/skk-custom.scm 2008-05-08 09:54:03.000000000 +0900 +@@ -387,7 +387,7 @@ + skk-use-skkserv?)) + + (define-custom 'skk-dic-file-name (string-append (sys-datadir) +- "/skk/SKK-JISYO.L") ++ "/skk/SKK-JISYO") + '(skk-dict dict-files) + '(pathname regular-file) + (N_ "System dictionary file") --- uim-1.5.7.orig/debian/patches/12_uim_kde4_menu.dpatch +++ uim-1.5.7/debian/patches/12_uim_kde4_menu.dpatch @@ -0,0 +1,197 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 12_uim_kde4_menu.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.7~/qt4/toolbar/CMakeLists.txt uim-1.5.7/qt4/toolbar/CMakeLists.txt +--- uim-1.5.7~/qt4/toolbar/CMakeLists.txt 2009-11-21 21:55:15.000000000 +0900 ++++ uim-1.5.7/qt4/toolbar/CMakeLists.txt 2009-12-21 21:37:19.000000000 +0900 +@@ -3,7 +3,7 @@ + find_package(KDE4 REQUIRED) + include(KDE4Defaults) + +-add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) ++add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DPLASMA_APPLET_UIM) + include_directories(${KDE4_INCLUDES} + ${CMAKE_SOURCE_DIR}/../.. ${CMAKE_SOURCE_DIR}/../../uim + ${CMAKE_SOURCE_DIR}/../../replace ${CMAKE_SOURCE_DIR}/..) +diff -urNad uim-1.5.7~/qt4/toolbar/applet-kde4.cpp uim-1.5.7/qt4/toolbar/applet-kde4.cpp +--- uim-1.5.7~/qt4/toolbar/applet-kde4.cpp 2009-11-21 21:55:15.000000000 +0900 ++++ uim-1.5.7/qt4/toolbar/applet-kde4.cpp 2009-12-21 21:37:19.000000000 +0900 +@@ -61,6 +61,8 @@ + m_toolbar->setAttribute(Qt::WA_NoSystemBackground); + connect(m_toolbar, SIGNAL(toolbarResized()), + this, SLOT(slotToolbarResized())); ++ connect(m_toolbar, SIGNAL(menuRequested(QMenu*)), ++ this, SLOT(slotMenuRequested(QMenu*))); + + m_proxy = new QGraphicsProxyWidget; + m_proxy->setWidget(m_toolbar); +@@ -115,6 +117,12 @@ + resize(m_toolbar->width() + lr, m_toolbar->height() + tb); + } + ++void UimApplet::slotMenuRequested(QMenu *menu) ++{ ++ menu->adjustSize(); ++ menu->exec(popupPosition(menu->size())); ++} ++ + QGraphicsWidget *UimApplet::graphicsWidget() + { + return m_widget; +diff -urNad uim-1.5.7~/qt4/toolbar/applet-kde4.h uim-1.5.7/qt4/toolbar/applet-kde4.h +--- uim-1.5.7~/qt4/toolbar/applet-kde4.h 2009-11-21 21:55:15.000000000 +0900 ++++ uim-1.5.7/qt4/toolbar/applet-kde4.h 2009-12-21 21:37:19.000000000 +0900 +@@ -50,6 +50,7 @@ + + private slots: + void slotToolbarResized(); ++ void slotMenuRequested(QMenu *menu); + + private: + void initPopup(); +diff -urNad uim-1.5.7~/qt4/toolbar/common-quimhelpertoolbar.cpp uim-1.5.7/qt4/toolbar/common-quimhelpertoolbar.cpp +--- uim-1.5.7~/qt4/toolbar/common-quimhelpertoolbar.cpp 2009-11-21 21:55:15.000000000 +0900 ++++ uim-1.5.7/qt4/toolbar/common-quimhelpertoolbar.cpp 2009-12-21 21:37:19.000000000 +0900 +@@ -56,7 +56,10 @@ + m_indicator = new UimStateIndicator( this ); + m_layout->addWidget( m_indicator ); + +- connect( m_indicator, SIGNAL( indicatorResized() ), this, SLOT( slotIndicatorResized() ) ); ++ connect( m_indicator, SIGNAL( indicatorResized() ), ++ this, SLOT( slotIndicatorResized() ) ); ++ connect( m_indicator, SIGNAL( menuRequested( QMenu* ) ), ++ this, SIGNAL( menuRequested( QMenu* ) ) ); + + QPixmap swicon = QPixmap( ICONDIR + "/im_switcher.png" ); + QPixmap preficon = QPixmap( ACTION_ICONDIR + "/configure.png"); +@@ -87,7 +90,7 @@ + exiticon = QPixmap::fromImage( exitimage.scaled( ICON_SIZE, ICON_SIZE, + Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) ); + +- m_contextMenu = new QMenu( this ); ++ m_contextMenu = new QMenu( isApplet ? 0 : this ); + m_contextMenu->addAction( m_swicon, _("Switch input method"), + this, SLOT(slotExecImSwitcher()) ); + m_contextMenu->addAction( m_preficon, _("Preference"), +@@ -129,8 +132,13 @@ + { + if( m_contextMenu->isHidden() ) + { ++#ifdef PLASMA_APPLET_UIM ++ Q_UNUSED( e ); ++ emit menuRequested( m_contextMenu ); ++#else + m_contextMenu->move( e->globalPos() ); + m_contextMenu->exec(); ++#endif + } + } + +diff -urNad uim-1.5.7~/qt4/toolbar/common-quimhelpertoolbar.h uim-1.5.7/qt4/toolbar/common-quimhelpertoolbar.h +--- uim-1.5.7~/qt4/toolbar/common-quimhelpertoolbar.h 2009-11-21 21:55:15.000000000 +0900 ++++ uim-1.5.7/qt4/toolbar/common-quimhelpertoolbar.h 2009-12-21 21:37:19.000000000 +0900 +@@ -80,6 +80,7 @@ + signals: + void quitToolbar(); + void toolbarResized(); ++ void menuRequested( QMenu *menu ); + + protected: + UimStateIndicator *m_indicator; +diff -urNad uim-1.5.7~/qt4/toolbar/common-uimstateindicator.cpp uim-1.5.7/qt4/toolbar/common-uimstateindicator.cpp +--- uim-1.5.7~/qt4/toolbar/common-uimstateindicator.cpp 2009-11-21 21:55:15.000000000 +0900 ++++ uim-1.5.7/qt4/toolbar/common-uimstateindicator.cpp 2009-12-21 21:37:19.000000000 +0900 +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + #include + + #include +@@ -171,11 +172,17 @@ + button->setToolTip( fields[ 3 ] ); + + // create popup ++#ifdef PLASMA_APPLET_UIM ++ popupMenu = new QHelperPopupMenu( 0 ); ++#else + popupMenu = new QHelperPopupMenu( button ); ++#endif + connect( popupMenu, SIGNAL( aboutToShow() ), + this, SLOT( slotPopupMenuAboutToShow() ) ); + connect( popupMenu, SIGNAL( aboutToHide() ), + this, SLOT( slotPopupMenuAboutToHide() ) ); ++ connect( button, SIGNAL( menuRequested( QMenu* ) ), ++ this, SIGNAL( menuRequested( QMenu* ) ) ); + button->setMenu( popupMenu ); + button->setPopupMode( QToolButton::InstantPopup ); + +@@ -264,6 +271,28 @@ + } + + /**/ ++QHelperToolbarButton::QHelperToolbarButton( QWidget *parent ) ++ : QToolButton( parent ) ++{ ++ setAutoRaise( true ); ++} ++ ++QSize QHelperToolbarButton::sizeHint() const ++{ ++ return QSize( BUTTON_SIZE, BUTTON_SIZE ); ++} ++ ++void QHelperToolbarButton::mousePressEvent( QMouseEvent *event ) ++{ ++#ifdef PLASMA_APPLET_UIM ++ if ( event->button() == Qt::LeftButton ) ++ emit menuRequested( menu() ); ++#else ++ QToolButton::mousePressEvent( event ); ++#endif ++} ++ ++/**/ + + QHelperPopupMenu::QHelperPopupMenu( QWidget *parent ) + : QMenu( parent ) +diff -urNad uim-1.5.7~/qt4/toolbar/common-uimstateindicator.h uim-1.5.7/qt4/toolbar/common-uimstateindicator.h +--- uim-1.5.7~/qt4/toolbar/common-uimstateindicator.h 2009-11-21 21:55:15.000000000 +0900 ++++ uim-1.5.7/qt4/toolbar/common-uimstateindicator.h 2009-12-21 21:37:19.000000000 +0900 +@@ -70,6 +70,7 @@ + + signals: + void indicatorResized(); ++ void menuRequested( QMenu *menu ); + + public slots: + void slotStdinActivated( int socket ); +@@ -91,14 +92,17 @@ + + class QHelperToolbarButton : public QToolButton + { ++ Q_OBJECT + public: +- explicit QHelperToolbarButton( QWidget *parent = 0 ) +- : QToolButton( parent ){ setAutoRaise( true ); } ++ explicit QHelperToolbarButton( QWidget *parent = 0 ); + +- QSize sizeHint() const +- { +- return QSize( BUTTON_SIZE, BUTTON_SIZE ); +- } ++ QSize sizeHint() const; ++ ++signals: ++ void menuRequested( QMenu *menu ); ++ ++private: ++ void mousePressEvent( QMouseEvent *event ); + }; + + class QHelperPopupMenu : public QMenu --- uim-1.5.7.orig/debian/patches/19_as-needed_compile_fix.dpatch +++ uim-1.5.7/debian/patches/19_as-needed_compile_fix.dpatch @@ -0,0 +1,24 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## Description: fix build with ld --as-needed +## uim-counted-init is a static library which needs symbols from libuim +## which it must be placed behind it on the command line so it is not +## dropped by ld --as-needed +## Author: Julian Taylor +## Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/uim/+bug/832939 +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' uim~/qt4/pref/uim-pref-qt4.pro.in uim/qt4/pref/uim-pref-qt4.pro.in +--- uim~/qt4/pref/uim-pref-qt4.pro.in 2011-08-25 23:11:35.000000000 +0200 ++++ uim/qt4/pref/uim-pref-qt4.pro.in 2011-08-25 23:12:14.270555741 +0200 +@@ -8,7 +8,7 @@ + QMAKE_LIBDIR += @abs_top_builddir@/replace + QMAKE_LIBDIR += @abs_top_builddir@/uim/.libs + QMAKE_LIBDIR += @abs_top_builddir@/replace/.libs +-LIBS += -lreplace -luim -luim-scm -luim-x-util -luim-custom -luim-counted-init ++LIBS += -lreplace -luim-scm -luim-x-util -luim-custom -luim-counted-init -luim + + QMAKE_CFLAGS_DEBUG += @CFLAGS@ @X_CFLAGS@ + QMAKE_CFLAGS_RELEASE += @CFLAGS@ @X_CFLAGS@ --- uim-1.5.7.orig/debian/patches/03_intltool_fake_version.dpatch +++ uim-1.5.7/debian/patches/03_intltool_fake_version.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_intltool_fake_version.dpatch by Masahito Omote +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.4.0~/configure.ac uim-1.4.0/configure.ac +--- uim-1.4.0~/configure.ac 2007-01-07 02:43:43.000000000 +0900 ++++ uim-1.4.0/configure.ac 2007-02-14 02:27:53.891987277 +0900 +@@ -708,7 +708,7 @@ + + # To get qt/chardict/po working, 0.35.2 is required. 0.35.[01] has a hard-coded + # $(top_builddir) bug. -- YamaKen 2006-12-28 +-IT_PROG_INTLTOOL([0.35.2], [no-xml]) ++IT_PROG_INTLTOOL([0.35.0], [no-xml]) + IT_PO_SUBDIR([qt/chardict/po]) + + --- uim-1.5.7.orig/debian/patches/13_fix_uim-xim_manpage-has-errors-from-man.dpatch +++ uim-1.5.7/debian/patches/13_fix_uim-xim_manpage-has-errors-from-man.dpatch @@ -0,0 +1,15 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 13_fix_uim-xim_manpage-has-errors-from-man.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.7~/xim/uim-xim.1 uim-1.5.7/xim/uim-xim.1 +--- uim-1.5.7~/xim/uim-xim.1 2009-12-27 23:38:57.000000000 +0900 ++++ uim-1.5.7/xim/uim-xim.1 2009-12-27 23:39:50.000000000 +0900 +@@ -1,4 +1,3 @@ +-." Text automatically generated by txt2man-1.4.7 + .TH uim-xim 1 "March 19, 2005" "" "" + .SH NAME + \fBuim\-xim \fP- XIM interface to UIM --- uim-1.5.7.orig/debian/patches/00list +++ uim-1.5.7/debian/patches/00list @@ -0,0 +1,13 @@ +05_qmake_bug_workaround.dpatch +06_fix_ftbfs_on_ia64.dpatch +09_support_skk_alternatives.dpatch +10_set_path_uim-candwin-qt4.dpatch +11_remove_rpath_plasma_applet_uim_so.dpatch +12_uim_kde4_menu.dpatch +13_fix_uim-xim_manpage-has-errors-from-man.dpatch +14_distclean_qt4.dpatch +15_eof_spin_uim-el-agent.dpatch +16_cred_for_kfreebsd.dpatch +17_fix_mazegaki_location.dpatch +18_qt47_compile_fix.dpatch +19_as-needed_compile_fix.dpatch --- uim-1.5.7.orig/debian/patches/17_fix_mazegaki_location.dpatch +++ uim-1.5.7/debian/patches/17_fix_mazegaki_location.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 17_fix_mazegaki_location.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' uim~/scm/tutcode-custom.scm uim/scm/tutcode-custom.scm +--- uim~/scm/tutcode-custom.scm 2010-04-21 18:39:50.000000000 +0900 ++++ uim/scm/tutcode-custom.scm 2010-06-24 15:32:46.000000000 +0900 +@@ -48,7 +48,7 @@ + ;; + + (define-custom 'tutcode-dic-filename (string-append (sys-datadir) +- "/tc/mazegaki.dic") ++ "/t-code/mazegaki.dic") + '(tutcode tutcode-dict) + '(pathname regular-file) + (N_ "Mazegaki dictionary file") --- uim-1.5.7.orig/debian/patches/14_distclean_qt4.dpatch +++ uim-1.5.7/debian/patches/14_distclean_qt4.dpatch @@ -0,0 +1,29 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 14_distclean_qt4.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' uim~/qt4/chardict/Makefile.am uim/qt4/chardict/Makefile.am +--- uim~/qt4/chardict/Makefile.am 2010-04-21 18:39:50.000000000 +0900 ++++ uim/qt4/chardict/Makefile.am 2010-05-23 13:25:06.000000000 +0900 +@@ -13,6 +13,7 @@ + # *.pro is required to run Makefile.qmake. So distclean-am is deferred. + distclean: + $(MAKE) $(AM_MAKEFLAGS) -f Makefile.qmake $@ ++ $(MAKE) $@ -C $(SUBDIRS) + $(MAKE) $(AM_MAKEFLAGS) distclean-am + -rm -f Makefile uim-chardict-qt4.pro + else +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' uim~/qt4/chardict/Makefile.in uim/qt4/chardict/Makefile.in +--- uim~/qt4/chardict/Makefile.in 2010-04-21 18:39:50.000000000 +0900 ++++ uim/qt4/chardict/Makefile.in 2010-05-23 13:25:06.000000000 +0900 +@@ -692,6 +692,7 @@ + # *.pro is required to run Makefile.qmake. So distclean-am is deferred. + @QT4_TRUE@distclean: + @QT4_TRUE@ $(MAKE) $(AM_MAKEFLAGS) -f Makefile.qmake $@ ++@QT4_TRUE@ $(MAKE) $@ -C $(SUBDIRS) + @QT4_TRUE@ $(MAKE) $(AM_MAKEFLAGS) distclean-am + @QT4_TRUE@ -rm -f Makefile uim-chardict-qt4.pro + @QT4_FALSE@distclean: --- uim-1.5.7.orig/debian/patches/09_support_skk_alternatives.dpatch +++ uim-1.5.7/debian/patches/09_support_skk_alternatives.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 09_support_skk_alternatives.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.7~/scm/skk-custom.scm uim-1.5.7/scm/skk-custom.scm +--- uim-1.5.7~/scm/skk-custom.scm 2009-01-21 11:16:35.000000000 +0900 ++++ uim-1.5.7/scm/skk-custom.scm 2009-11-24 12:05:08.000000000 +0900 +@@ -387,7 +387,7 @@ + skk-use-skkserv?)) + + (define-custom 'skk-dic-file-name (string-append (sys-datadir) +- "/skk/SKK-JISYO.L") ++ "/skk/SKK-JISYO") + '(skk-dict dict-files) + '(pathname regular-file) + (N_ "System dictionary file") --- uim-1.5.7.orig/debian/patches/07_fix_configure_notoverwrite_po_makefile.dpatch +++ uim-1.5.7/debian/patches/07_fix_configure_notoverwrite_po_makefile.dpatch @@ -0,0 +1,44 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 07_fix_configure_notoverwrite_po_makefile.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.6~/configure uim-1.5.6/configure +--- uim-1.5.6~/configure 2009-06-23 19:59:29.000000000 +0900 ++++ uim-1.5.6/configure 2009-09-11 14:02:59.000000000 +0900 +@@ -43708,11 +43708,11 @@ + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" + +- sed '/^POTFILES =/,/[^\\]$/ { +- /^POTFILES =/!d +- r po/POTFILES +- } +- ' "po/Makefile.in" >"po/Makefile" ++# sed '/^POTFILES =/,/[^\\]$/ { ++# /^POTFILES =/!d ++# r po/POTFILES ++# } ++# ' "po/Makefile.in" >"po/Makefile" + rm -f "po/Makefile.tmp" + mv "po/stamp-it.tmp" "po/stamp-it" + ;; +@@ -43730,11 +43730,11 @@ + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/qt/chardict/po/POTFILES.in" | sed '$!s/$/ \\/' >"qt/chardict/po/POTFILES" + +- sed '/^POTFILES =/,/[^\\]$/ { +- /^POTFILES =/!d +- r qt/chardict/po/POTFILES +- } +- ' "qt/chardict/po/Makefile.in" >"qt/chardict/po/Makefile" ++# sed '/^POTFILES =/,/[^\\]$/ { ++# /^POTFILES =/!d ++# r qt/chardict/po/POTFILES ++# } ++# ' "qt/chardict/po/Makefile.in" >"qt/chardict/po/Makefile" + rm -f "qt/chardict/po/Makefile.tmp" + mv "qt/chardict/po/stamp-it.tmp" "qt/chardict/po/stamp-it" + ;; --- uim-1.5.7.orig/debian/patches/04_fix_bug_431047.dpatch +++ uim-1.5.7/debian/patches/04_fix_bug_431047.dpatch @@ -0,0 +1,1639 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 04_fix_bug_431047.dpatch by Masahito Omote +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.4.1~/gtk/compose.c uim-1.4.1/gtk/compose.c +--- uim-1.4.1~/gtk/compose.c 2007-01-07 02:43:43.000000000 +0900 ++++ uim-1.4.1/gtk/compose.c 2008-01-03 18:28:43.688195279 +0900 +@@ -440,7 +440,7 @@ + return 0; + len = strlen(mb); + strlcpy(buf, mb, MB_LEN_MAX + 1); +- free(mb); ++ g_free(mb); + + return len; + } +@@ -611,7 +611,12 @@ + goto error; + } + +- rhs_string_utf8 = g_locale_to_utf8(rhs_string_mb, -1, NULL, NULL, NULL); ++ { ++ char *result; ++ result = g_locale_to_utf8(rhs_string_mb, -1, NULL, NULL, NULL); ++ rhs_string_utf8 = strdup(result); ++ g_free(result); ++ } + + for (i = 0; i < n; i++) { + for (p = *top; p; p = p->next) { +diff -urNad uim-1.4.1~/gtk/gtk-im-uim.c uim-1.4.1/gtk/gtk-im-uim.c +--- uim-1.4.1~/gtk/gtk-im-uim.c 2007-01-07 02:43:43.000000000 +0900 ++++ uim-1.4.1/gtk/gtk-im-uim.c 2008-01-03 18:28:43.688195279 +0900 +@@ -82,7 +82,7 @@ + + struct preedit_segment { + int attr; +- char *str; ++ gchar *str; + }; + + static int im_uim_fd = -1; +@@ -194,7 +194,8 @@ + } + + static char * +-get_preedit_segment(struct preedit_segment *ps, PangoAttrList *attrs, char *str) ++get_preedit_segment(struct preedit_segment *ps, PangoAttrList *attrs, ++ gchar *str) + { + PangoAttribute *attr; + const gchar *segment_str = ps->str; +@@ -259,7 +260,7 @@ + } + } + +- str = (char *)realloc(str, strlen(str) + strlen(segment_str) + 1); ++ str = (gchar *)g_realloc(str, strlen(str) + strlen(segment_str) + 1); + strcat(str, segment_str); + + return str; +@@ -565,7 +566,7 @@ + int i; + + for (i = 0; i < uic->nr_psegs; i++) +- free(uic->pseg[i].str); ++ g_free(uic->pseg[i].str); + free(uic->pseg); + + uic->pseg = NULL; +@@ -1114,7 +1115,7 @@ + im_uim_get_preedit_string(GtkIMContext *ic, gchar **str, PangoAttrList **attrs, + gint *cursor_pos) + { +- char *tmp; ++ gchar *tmp; + int i, pos = 0; + IMUIMContext *uic = IM_UIM_CONTEXT(ic); + +@@ -1138,7 +1139,7 @@ + if (str) + *str = tmp; + else +- free(tmp); ++ g_free(tmp); + } + + static void +diff -urNad uim-1.4.1~/gtk/gtk-im-uim.c.orig uim-1.4.1/gtk/gtk-im-uim.c.orig +--- uim-1.4.1~/gtk/gtk-im-uim.c.orig 1970-01-01 09:00:00.000000000 +0900 ++++ uim-1.4.1/gtk/gtk-im-uim.c.orig 2007-01-07 02:43:43.000000000 +0900 +@@ -0,0 +1,1544 @@ ++/* ++ ++ Copyright (c) 2003-2007 uim Project http://uim.freedesktop.org/ ++ ++ All rights reserved. ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ 3. Neither the name of authors nor the names of its contributors ++ may be used to endorse or promote products derived from this software ++ without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE ++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ SUCH DAMAGE. ++ ++*/ ++ ++/* ++ * gtk+-immodule ++ */ ++#include ++ ++#include ++#include ++#include ++#include ++#ifdef GDK_WINDOWING_X11 ++#include ++#endif ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include "uim-stdint.h" ++#include "uim/uim.h" ++#include "uim/uim-util.h" ++#include "uim/uim-helper.h" ++#include "uim/uim-im-switcher.h" ++#include "uim/gettext.h" ++#include "uim/uim-compat-scm.h" ++ ++#include "gtk-im-uim.h" ++#include "uim-cand-win-gtk.h" ++#include "caret-state-indicator.h" ++#include "key-util-gtk.h" ++#ifdef GDK_WINDOWING_X11 ++#include "compose.h" ++#endif ++#include "text-util.h" ++ ++/* exported symbols */ ++GtkIMContext *im_module_create(const gchar *context_id); ++void im_module_list(const GtkIMContextInfo ***contexts, int *n_contexts); ++void im_module_exit(void); ++void im_module_init(GTypeModule *type_module); ++ ++#ifdef GDK_WINDOWING_X11 ++extern int compose_handle_key(GdkEventKey *key, IMUIMContext *uic); ++#endif ++ ++#define NR_CANDIDATES 20 ++#define DEFAULT_SEPARATOR_STR "|" ++ ++struct preedit_segment { ++ int attr; ++ char *str; ++}; ++ ++static int im_uim_fd = -1; ++static unsigned int read_tag; ++#if IM_UIM_USE_SNOOPER ++static guint snooper_id; ++static gboolean snooper_installed = FALSE; ++#elif IM_UIM_USE_TOPLEVEL ++static GtkWidget *cur_toplevel; ++static GtkWidget *grab_widget; ++static gulong cur_key_press_handler_id; ++static gulong cur_key_release_handler_id; ++static GList *cwin_list; ++#endif ++ ++static IMUIMContext context_list; ++static IMUIMContext *focused_context = NULL; ++static gboolean disable_focused_context = FALSE; ++ ++static GObjectClass *parent_class; ++ ++typedef struct _IMContextUIMClass ++{ ++ GtkIMContextClass parent_class; ++} IMContextUIMClass; ++ ++ ++static void im_uim_class_init(GtkIMContextClass *class); ++static void im_uim_class_finalize(GtkIMContextClass *class); ++static void im_uim_init(IMUIMContext *uic); ++static void switch_app_global_im_cb(void *ptr, const char *name); ++static void switch_system_global_im_cb(void *ptr, const char *name); ++ ++#if IM_UIM_USE_SNOOPER ++static gboolean key_snoop(GtkWidget *grab_widget, GdkEventKey *key, gpointer data); ++#elif IM_UIM_USE_TOPLEVEL ++static gboolean handle_key_on_toplevel(GtkWidget *widget, GdkEventKey *event, gpointer data); ++#endif ++static void send_im_list(void); ++ ++static const GTypeInfo class_info = { ++ sizeof(IMContextUIMClass), ++ (GBaseInitFunc) NULL, ++ (GBaseFinalizeFunc) NULL, ++ (GClassInitFunc) im_uim_class_init, ++ (GClassFinalizeFunc)im_uim_class_finalize, ++ NULL, /* for class data */ ++ sizeof(IMUIMContext), /* size of instance */ ++ 0, ++ (GInstanceInitFunc) im_uim_init, /* constructor */ ++}; ++ ++static GType type_im_uim = 0; ++ ++#define IM_UIM_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),type_im_uim,IMUIMContext)) ++ ++static const GtkIMContextInfo im_uim_info = { ++ "uim", /* id */ ++ "uim", /* human-readable name*/ ++ "uim", /* domain for gettext*/ ++ LOCALEDIR, ++ "ja:ko:zh:*" ++}; ++ ++static const GtkIMContextInfo *im_uim_info_list = { ++ &im_uim_info ++}; ++ ++ ++ ++/* gtk's string handling */ ++ ++void ++im_uim_commit_string(void *ptr, const char *str) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ uim_bool show_state; ++ gint x, y; ++ ++ g_return_if_fail(str); ++ g_signal_emit_by_name(uic, "commit", str); ++ ++ show_state = uim_scm_symbol_value_bool("bridge-show-input-state?"); ++ if (show_state) { ++ gdk_window_get_origin(uic->win, &x, &y); ++ caret_state_indicator_update(uic->caret_state_indicator, x, y, NULL); ++ } ++} ++ ++static void ++commit_cb(GtkIMContext *ic, const gchar *str, IMUIMContext *is) ++{ ++ g_return_if_fail(str); ++ g_signal_emit_by_name(is, "commit", str); ++} ++ ++static gboolean ++get_user_defined_color(PangoColor *color, const gchar *uim_symbol) ++{ ++ gboolean parsed = FALSE; ++ gchar *literal = uim_symbol_value_str(uim_symbol); ++ ++ if (literal != NULL && literal[0] != '\0') ++ parsed = pango_color_parse(color, literal); ++ ++ g_free(literal); ++ ++ return parsed; ++} ++ ++static char * ++get_preedit_segment(struct preedit_segment *ps, PangoAttrList *attrs, char *str) ++{ ++ PangoAttribute *attr; ++ const gchar *segment_str = ps->str; ++ ++ if ((ps->attr & UPreeditAttr_Separator) && !strcmp(segment_str, "")) ++ segment_str = DEFAULT_SEPARATOR_STR; ++ ++ if (attrs) { ++ PangoColor color; ++ int begin, end; ++ ++ begin = strlen(str); ++ end = begin + strlen(segment_str); ++ ++ if (ps->attr & UPreeditAttr_UnderLine) { ++ attr = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE); ++ attr->start_index = begin; ++ attr->end_index = end; ++ pango_attr_list_change(attrs, attr); ++ } ++ ++ if (ps->attr & UPreeditAttr_Separator) { ++ const gchar *separator_fg_symbol, *separator_bg_symbol; ++ ++ if (ps->attr & UPreeditAttr_Reverse) { ++ separator_fg_symbol = "reversed-separator-foreground"; ++ separator_bg_symbol = "reversed-separator-background"; ++ } else { ++ separator_fg_symbol = "separator-foreground"; ++ separator_bg_symbol = "separator-background"; ++ } ++ ++ if (get_user_defined_color(&color, separator_fg_symbol)) { ++ attr = pango_attr_foreground_new(color.red, color.green, color.blue); ++ attr->start_index = begin; ++ attr->end_index = end; ++ pango_attr_list_change(attrs, attr); ++ } ++ ++ if (get_user_defined_color(&color, separator_bg_symbol)) { ++ attr = pango_attr_background_new(color.red, color.green, color.blue); ++ attr->start_index = begin; ++ attr->end_index = end; ++ pango_attr_list_change(attrs, attr); ++ } ++ } else if (ps->attr & UPreeditAttr_Reverse) { ++ if (get_user_defined_color(&color, "reversed-preedit-foreground") ++ || pango_color_parse(&color, "#fff")) { ++ attr = pango_attr_foreground_new(color.red, color.green, color.blue); ++ attr->start_index = begin; ++ attr->end_index = end; ++ pango_attr_list_change(attrs, attr); ++ } ++ ++ if (get_user_defined_color(&color, "reversed-preedit-background") ++ || pango_color_parse(&color, "#000")) { ++ attr = pango_attr_background_new(color.red, color.green, color.blue); ++ attr->start_index = begin; ++ attr->end_index = end; ++ pango_attr_list_change(attrs, attr); ++ } ++ } ++ } ++ ++ str = (char *)realloc(str, strlen(str) + strlen(segment_str) + 1); ++ strcat(str, segment_str); ++ ++ return str; ++} ++ ++/* only used when use_preedit == FALSE */ ++static void ++show_preedit(GtkIMContext *ic, GtkWidget *preedit_label) ++{ ++ IMUIMContext *uic = IM_UIM_CONTEXT(ic); ++ GtkWidget *preedit_window; ++ gchar *str; ++ gint cursor_pos; ++ PangoAttrList *attrs; ++ ++ preedit_window = gtk_widget_get_parent(preedit_label); ++ ++ gtk_im_context_get_preedit_string(ic, &str, &attrs, &cursor_pos); ++ ++ if (strlen(str) > 0) { ++ gint x, y, w, h; ++ PangoLayout *layout; ++ ++ gtk_label_set_text(GTK_LABEL(preedit_label), str); ++ gtk_label_set_attributes(GTK_LABEL(preedit_label), attrs); ++ ++ gdk_window_get_origin(uic->win, &x, &y); ++ ++ gtk_window_move(GTK_WINDOW(preedit_window), ++ x + uic->preedit_pos.x, ++ y + uic->preedit_pos.y); ++ ++ layout = gtk_label_get_layout(GTK_LABEL(preedit_label)); ++ ++ pango_layout_get_cursor_pos(layout, 0, NULL, NULL); ++ ++ pango_layout_get_pixel_size(layout, &w, &h); ++ gtk_window_resize(GTK_WINDOW(preedit_window), w, h); ++ ++ gtk_widget_show(preedit_window); ++ } else { ++ gtk_label_set_text(GTK_LABEL(preedit_label), ""); ++ gtk_widget_hide(preedit_window); ++ gtk_window_resize(GTK_WINDOW(preedit_window), 0, 0); ++ } ++ g_free(str); ++ pango_attr_list_unref(attrs); ++} ++ ++ ++ ++/* widget utilities */ ++ ++#if IM_UIM_USE_TOPLEVEL ++static void ++remove_cur_toplevel() ++{ ++ if (cur_toplevel && GTK_WIDGET_TOPLEVEL(cur_toplevel)) { ++ if (cur_key_press_handler_id) ++ g_signal_handler_disconnect(cur_toplevel, cur_key_press_handler_id); ++ if (cur_key_release_handler_id) ++ g_signal_handler_disconnect(cur_toplevel, cur_key_release_handler_id); ++ cur_toplevel = NULL; ++ } ++} ++ ++static void ++update_cur_toplevel(IMUIMContext *uic) ++{ ++ /* Don't set our candwin's text widget as cur_toplevel */ ++ if (uic->widget) { ++ UIMCandWinGtk *cwin; ++ GList *tmp_list; ++ ++ tmp_list = cwin_list; ++ while (tmp_list) { ++ cwin = tmp_list->data; ++ if (cwin->sub_window.text_view && ++ cwin->sub_window.text_view == uic->widget) ++ return; ++ tmp_list = tmp_list->next; ++ } ++ } ++ ++ if (uic->widget) { ++ GtkWidget *toplevel = gtk_widget_get_toplevel(uic->widget); ++ if (toplevel && GTK_WIDGET_TOPLEVEL(toplevel)) { ++ if (cur_toplevel != toplevel) { ++ remove_cur_toplevel(); ++ cur_toplevel = toplevel; ++ cur_key_press_handler_id = g_signal_connect(cur_toplevel, ++ "key-press-event", ++ G_CALLBACK(handle_key_on_toplevel), uic); ++ cur_key_release_handler_id = g_signal_connect(cur_toplevel, ++ "key-release-event", ++ G_CALLBACK(handle_key_on_toplevel), uic); ++ } ++ } else ++ remove_cur_toplevel(); ++ } else ++ remove_cur_toplevel(); ++} ++ ++static void ++on_client_widget_hierarchy_changed(GtkWidget *widget, GtkWidget *old_toplevel, IMUIMContext *uic) ++{ ++ update_cur_toplevel(uic); ++} ++ ++static gboolean ++on_client_widget_grab_notify(GtkWidget *widget, gboolean was_grabbed, IMUIMContext *uic) ++{ ++ if (was_grabbed) ++ grab_widget = NULL; ++ else { ++ grab_widget = gtk_grab_get_current(); ++ if (!grab_widget) { ++ if (cur_toplevel && GTK_IS_WINDOW(cur_toplevel)) { ++ GtkWindowGroup *group; ++ GtkWindow *window; ++ ++ window = GTK_WINDOW(cur_toplevel); ++ group = window->group; ++ if (group && group->grabs) ++ grab_widget = GTK_WIDGET(group->grabs->data); ++ } ++ } ++ } ++ ++ return FALSE; ++} ++#endif /* IM_UIM_USE_TOPLEVEL */ ++ ++static GtkWidget * ++widget_for_window(GdkWindow *window) ++{ ++ while (window) { ++ gpointer user_data; ++ gdk_window_get_user_data(window, &user_data); ++ if (user_data) ++ return user_data; ++ ++ window = gdk_window_get_parent(window); ++ } ++ ++ return NULL; ++} ++ ++static void ++update_client_widget(IMUIMContext *uic) ++{ ++ GtkWidget *new_widget = widget_for_window(uic->win); ++ ++#if IM_UIM_USE_TOPLEVEL ++ if (new_widget != uic->widget) { ++ if (uic->widget) { ++ g_signal_handlers_disconnect_by_func(uic->widget, ++ (gpointer)(uintptr_t)on_client_widget_hierarchy_changed, uic); ++ g_signal_handlers_disconnect_by_func(uic->widget, ++ (gpointer)(uintptr_t)on_client_widget_grab_notify, uic); ++ } ++ uic->widget = new_widget; ++ if (uic->widget) { ++ g_signal_connect(uic->widget, "hierarchy-changed", ++ G_CALLBACK(on_client_widget_hierarchy_changed), uic); ++ g_signal_connect(uic->widget, "grab-notify", ++ G_CALLBACK(on_client_widget_grab_notify), uic); ++ } ++ ++ update_cur_toplevel(uic); ++ } ++#else /* IM_UIM_USE_TOPLEVEL */ ++ uic->widget = new_widget; ++#endif ++} ++ ++ ++ ++/* utility functions */ ++ ++static int ++preedit_strlen(IMUIMContext *uic) ++{ ++ int i, len = 0; ++ ++ for (i = 0; i < uic->nr_psegs; i++) ++ len += strlen(uic->pseg[i].str); ++ ++ return len; ++} ++ ++static void ++index_changed_cb(UIMCandWinGtk *cwin, IMUIMContext *uic) ++{ ++ g_return_if_fail(UIM_IS_CAND_WIN_GTK(cwin)); ++ ++ uim_set_candidate_index(uic->uc, uim_cand_win_gtk_get_index(cwin)); ++} ++ ++static void ++layout_candwin(IMUIMContext *uic) ++{ ++ gint x, y, width, height, depth; ++ ++ g_return_if_fail(uic); ++ ++ if (uic->win && uic->cwin) { ++ gdk_window_get_geometry(uic->win, &x, &y, &width, &height, &depth); ++ gdk_window_get_origin(uic->win, &x, &y); ++ uim_cand_win_gtk_layout(uic->cwin, x, y, width, height); ++ } ++} ++ ++static GdkFilterReturn ++toplevel_window_candidate_cb(GdkXEvent *xevent, GdkEvent *ev, gpointer data) ++{ ++ IMUIMContext *uic = data; ++ ++ if (!uic) ++ return GDK_FILTER_CONTINUE; ++ ++ if (uic->cwin_is_active) ++ layout_candwin(uic); ++ ++ return GDK_FILTER_CONTINUE; ++} ++ ++#if IM_UIM_USE_TOPLEVEL ++static inline gboolean ++event_key_equal(GdkEventKey *event1, GdkEventKey *event2) ++{ ++ return (event1->type == event2->type && ++ event1->window == event2->window && ++ event1->send_event == event2->send_event && ++ event1->time == event2->time && ++ event1->state == event2->state && ++ event1->keyval == event2->keyval && ++ event1->length == event2->length && ++ event1->string == event2->string && ++ event1->hardware_keycode == event2->hardware_keycode && ++ event1->group == event2->group); ++} ++ ++static void ++init_event_key_rec(GdkEventKey *event) ++{ ++ event->type = -1; ++ event->window = NULL; ++ event->send_event = 0; ++ event->time = 0; ++ event->state = 0; ++ event->keyval = 0; ++ event->length = 0; ++ event->string = NULL; ++ event->hardware_keycode = 0; ++ event->group = 0; ++} ++ ++static inline void ++store_event_key(GdkEventKey *dest, GdkEventKey *source) ++{ ++ memcpy(dest, source, sizeof(GdkEventKey)); ++} ++#endif ++ ++static GString * ++get_caret_state_label_from_prop_list(const char *str) ++{ ++ gchar **lines; ++ GString *label; ++ int i; ++ ++ label = g_string_new(""); ++ lines = g_strsplit(str, "\n", 0); ++ for (i = 0; lines[i] && strcmp("", lines[i]); i++) { ++ gchar **cols; ++ ++ cols = g_strsplit(lines[i], "\t", 0); ++ if (cols && cols[0]) { ++ if (!strcmp("branch", cols[0])) { ++ gchar *iconic_label = cols[2]; ++ ++ if (strcmp(label->str, "")) ++ g_string_append(label, "\t"); ++ g_string_append(label, iconic_label); ++ } ++ } ++ g_strfreev(cols); ++ } ++ g_strfreev(lines); ++ ++ return label; ++} ++ ++ ++ ++/* callback functions for libuim */ ++ ++static void ++clear_cb(void *ptr) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ int i; ++ ++ for (i = 0; i < uic->nr_psegs; i++) ++ free(uic->pseg[i].str); ++ free(uic->pseg); ++ ++ uic->pseg = NULL; ++ uic->nr_psegs = 0; ++} ++ ++static void ++pushback_cb(void *ptr, int attr, const char *str) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ g_return_if_fail(str); ++ ++ if (!strcmp(str, "") ++ && !(attr & (UPreeditAttr_Cursor | UPreeditAttr_Separator))) ++ return; ++ ++ uic->pseg = realloc(uic->pseg, ++ sizeof(struct preedit_segment) * (uic->nr_psegs + 1)); ++ uic->pseg[uic->nr_psegs].str = g_strdup(str); ++ uic->pseg[uic->nr_psegs].attr = attr; ++ uic->nr_psegs++; ++} ++ ++static void ++update_cb(void *ptr) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ int preedit_len; ++ ++ g_return_if_fail(uic); ++ ++ preedit_len = preedit_strlen(uic); ++ ++ if (uic->prev_preedit_len == 0 && preedit_len) ++ g_signal_emit_by_name(uic, "preedit_start"); ++ ++ g_signal_emit_by_name(uic, "preedit_changed"); ++ ++ if (uic->prev_preedit_len && preedit_len == 0) ++ g_signal_emit_by_name(uic, "preedit_end"); ++ ++ uic->prev_preedit_len = preedit_len; ++} ++ ++static void ++update_prop_list_cb(void *ptr, const char *str) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ GString *prop_list; ++ uim_bool show_state; ++ ++ if (uic != focused_context || disable_focused_context) ++ return; ++ ++ prop_list = g_string_new(""); ++ g_string_printf(prop_list, "prop_list_update\ncharset=UTF-8\n%s", str); ++ ++ uim_helper_send_message(im_uim_fd, prop_list->str); ++ g_string_free(prop_list, TRUE); ++ ++ show_state = uim_scm_symbol_value_bool("bridge-show-input-state?"); ++ if (show_state && uic->win) { ++ gint timeout; ++ gint x, y; ++ GString *label; ++ ++ gdk_window_get_origin(uic->win, &x, &y); ++ label = get_caret_state_label_from_prop_list(str); ++ caret_state_indicator_update(uic->caret_state_indicator, x, y, label->str); ++ g_string_free(label, TRUE); ++ timeout = uim_scm_symbol_value_int("bridge-show-input-state-time-length"); ++ ++ if (timeout != 0) ++ caret_state_indicator_set_timeout(uic->caret_state_indicator, ++ timeout * 1000); ++ gtk_widget_show_all(uic->caret_state_indicator); ++ } ++} ++ ++static void ++cand_activate_cb(void *ptr, int nr, int display_limit) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ GSList *list = NULL; ++ uim_candidate cand; ++ gint i; ++ ++ uic->cwin_is_active = TRUE; ++ ++ for (i = 0; i < nr; i++) { ++ cand = uim_get_candidate(uic->uc, i, display_limit ? i % display_limit : i); ++ list = g_slist_prepend(list, cand); ++ } ++ list = g_slist_reverse(list); ++ ++ uim_cand_win_gtk_set_candidates(uic->cwin, display_limit, list); ++ ++ g_slist_foreach(list, (GFunc)uim_candidate_free, NULL); ++ g_slist_free(list); ++ ++ layout_candwin(uic); ++ gtk_widget_show(GTK_WIDGET(uic->cwin)); ++ ++ if (uic->win) { ++ GdkWindow *toplevel; ++ ++ toplevel = gdk_window_get_toplevel(uic->win); ++ gdk_window_add_filter(toplevel, toplevel_window_candidate_cb, uic); ++ } ++} ++ ++static void ++cand_select_cb(void *ptr, int index) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ ++ layout_candwin(uic); ++ ++ g_signal_handlers_block_by_func(uic->cwin, (gpointer)(uintptr_t)index_changed_cb, uic); ++ uim_cand_win_gtk_set_index(uic->cwin, index); ++ g_signal_handlers_unblock_by_func(uic->cwin, (gpointer)(uintptr_t)index_changed_cb, uic); ++} ++ ++static void ++cand_shift_page_cb(void *ptr, int direction) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ ++ layout_candwin(uic); ++ ++ g_signal_handlers_block_by_func(uic->cwin, ++ (gpointer)(uintptr_t)index_changed_cb, uic); ++ uim_cand_win_gtk_shift_page(uic->cwin, direction); ++ if (uic->cwin->candidate_index != -1) ++ uim_set_candidate_index(uic->uc, uic->cwin->candidate_index); ++ g_signal_handlers_unblock_by_func(uic->cwin, ++ (gpointer)(uintptr_t)index_changed_cb, uic); ++} ++ ++static void ++cand_deactivate_cb(void *ptr) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ ++ uic->cwin_is_active = FALSE; ++ ++ if (uic->cwin) { ++ gtk_widget_hide(GTK_WIDGET(uic->cwin)); ++ uim_cand_win_gtk_clear_candidates(uic->cwin); ++ } ++ ++ if (uic->win) { ++ GdkWindow *toplevel; ++ ++ toplevel = gdk_window_get_toplevel(uic->win); ++ gdk_window_remove_filter(toplevel, toplevel_window_candidate_cb, uic); ++ } ++} ++ ++static void ++configuration_changed_cb(void *ptr) ++{ ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ ++ if (focused_context == uic && !disable_focused_context) ++ send_im_list(); ++} ++ ++static void ++switch_app_global_im_cb(void *ptr, const char *name) ++{ ++ IMUIMContext *uic, *cc; ++ GString *im_name_sym; ++ ++ uic = (IMUIMContext *)ptr; ++ im_name_sym = g_string_new(name); ++ g_string_prepend_c(im_name_sym, '\''); ++ ++ for (cc = context_list.next; cc != &context_list; cc = cc->next) { ++ if (cc != uic) ++ uim_switch_im(cc->uc, name); ++ } ++ uim_prop_update_custom(uic->uc, ++ "custom-preserved-default-im-name", im_name_sym->str); ++ g_string_free(im_name_sym, TRUE); ++} ++ ++static void ++switch_system_global_im_cb(void *ptr, const char *name) ++{ ++ GString *msg; ++ ++ /* switch contexts of this process */ ++ switch_app_global_im_cb(ptr, name); ++ ++ /* Switch contexts of other processes. Bridges should not expect ++ * that the helper-server reflect back the messaage to the ++ * originating process. -- YamaKen 2006-03-01 */ ++ msg = g_string_new(""); ++ g_string_printf(msg, "im_change_whole_desktop\n%s\n", name); ++ uim_helper_send_message(im_uim_fd, msg->str); ++ g_string_free(msg, TRUE); ++} ++ ++static int ++acquire_text_cb(void *ptr, enum UTextArea text_id, enum UTextOrigin origin, ++ int former_req_len, int latter_req_len, char **former, ++ char **latter) ++{ ++ int err; ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ ++ switch (text_id) { ++ case UTextArea_Primary: ++ err = im_uim_acquire_primary_text(uic, origin, former_req_len, ++ latter_req_len, former, latter); ++ break; ++ case UTextArea_Selection: ++ err = im_uim_acquire_selection_text(uic, origin, former_req_len, ++ latter_req_len, former, latter); ++ break; ++ case UTextArea_Clipboard: ++ err = im_uim_acquire_clipboard_text(uic, origin, former_req_len, ++ latter_req_len, former, latter); ++ break; ++ case UTextArea_Unspecified: ++ default: ++ err = -1; ++ } ++ ++ return err; ++} ++ ++static int ++delete_text_cb(void *ptr, enum UTextArea text_id, enum UTextOrigin origin, ++ int former_req_len, int latter_req_len) ++{ ++ int err; ++ IMUIMContext *uic = (IMUIMContext *)ptr; ++ ++ switch (text_id) { ++ case UTextArea_Primary: ++ err = im_uim_delete_primary_text(uic, origin, former_req_len, ++ latter_req_len); ++ break; ++ case UTextArea_Selection: ++ err = im_uim_delete_selection_text(uic, origin, former_req_len, ++ latter_req_len); ++ break; ++ case UTextArea_Clipboard: ++ case UTextArea_Unspecified: ++ default: ++ err = -1; ++ } ++ ++ return err; ++} ++ ++/* uim helper related */ ++ ++static void ++helper_disconnect_cb(void) ++{ ++ im_uim_fd = -1; ++ g_source_remove(read_tag); ++} ++ ++static void ++parse_helper_str_im_change(const char *str) ++{ ++ IMUIMContext *cc; ++ gchar **lines = g_strsplit(str, "\n", -1); ++ gchar *im_name = lines[1]; ++ GString *im_name_sym = g_string_new(im_name); ++ ++ g_string_prepend_c(im_name_sym, '\''); ++ ++ if (g_str_has_prefix(str, "im_change_this_text_area_only") == TRUE) { ++ if (focused_context && disable_focused_context == FALSE) { ++ uim_switch_im(focused_context->uc, im_name); ++ uim_prop_list_update(focused_context->uc); ++ } ++ } else if (g_str_has_prefix(str, "im_change_whole_desktop") == TRUE) { ++ for (cc = context_list.next; cc != &context_list; cc = cc->next) { ++ uim_switch_im(cc->uc, im_name); ++ uim_prop_update_custom(cc->uc, "custom-preserved-default-im-name", ++ im_name_sym->str); ++ if (focused_context && cc == focused_context) ++ uim_prop_list_update(cc->uc); ++ } ++ } else if (g_str_has_prefix(str, "im_change_this_application_only") == TRUE) { ++ if (focused_context && disable_focused_context == FALSE) { ++ for (cc = context_list.next; cc != &context_list; cc = cc->next) { ++ uim_switch_im(cc->uc, im_name); ++ uim_prop_update_custom(cc->uc, "custom-preserved-default-im-name", ++ im_name_sym->str); ++ if (cc == focused_context) ++ uim_prop_list_update(cc->uc); ++ } ++ } ++ } ++ g_strfreev(lines); ++ g_string_free(im_name_sym, TRUE); ++} ++ ++static void ++send_im_list(void) ++{ ++ int nr, i; ++ GString *msg; ++ const char *current_im_name; ++ ++ if (!focused_context) ++ return; ++ ++ nr = uim_get_nr_im(focused_context->uc); ++ current_im_name = uim_get_current_im_name(focused_context->uc); ++ ++ msg = g_string_new("im_list\ncharset=UTF-8\n"); ++ for (i = 0; i < nr; i++) { ++ /* ++ * Return value of uim_get_im_language() is an ISO 639-1 ++ * compatible language code such as "ja". Since it is unfriendly ++ * for human reading, we convert it into friendly one by ++ * uim_get_language_name_from_locale() here. ++ */ ++ const char *name = uim_get_im_name(focused_context->uc, i); ++ const char *langcode = uim_get_im_language(focused_context->uc, i); ++ const char *lang = uim_get_language_name_from_locale(langcode); ++ const char *short_desc = uim_get_im_short_desc(focused_context->uc, i); ++ ++ g_string_append(msg, name); ++ g_string_append(msg, "\t"); ++ if (lang) ++ g_string_append(msg, lang); ++ g_string_append(msg, "\t"); ++ if (short_desc) ++ g_string_append(msg, short_desc); ++ g_string_append(msg, "\t"); ++ if (strcmp(name, current_im_name) == 0) ++ g_string_append(msg, "selected"); ++ g_string_append(msg, "\n"); ++ } ++ uim_helper_send_message(im_uim_fd, msg->str); ++ g_string_free(msg, TRUE); ++} ++ ++/* Copied from helper-common-gtk.c. Maybe we need common GTK+ utility file. */ ++static gchar * ++get_charset(gchar *line) ++{ ++ gchar **splitted = NULL; ++ ++ splitted = g_strsplit(line, "=", 0); ++ ++ if (splitted && splitted[0] && splitted[1] ++ && strcmp("charset", splitted[0]) == 0) { ++ gchar *charset = g_strdup(splitted[1]); ++ g_strfreev(splitted); ++ return charset; ++ } else { ++ g_strfreev(splitted); ++ return NULL; ++ } ++} ++ ++static void ++commit_string_from_other_process(const gchar *str) ++{ ++ gchar **lines = g_strsplit(str, "\n", 0); ++ gchar *commit_string; ++ ++ if (!lines || !lines[0] || !lines[1] || !lines[2]) ++ return; /* Message is broken, do nothing. */ ++ ++ /* ++ * If second line exists, we assume the first line as a charset ++ * specifier. This (rotten) convention is influenced by old design ++ * mistake (character encoding was forgotten!). ++ */ ++ if (strcmp(lines[2], "") != 0) { ++ gchar *encoding, *commit_string_utf8; ++ ++ encoding = get_charset(lines[1]); ++ commit_string = lines[2]; ++ commit_string_utf8 = g_convert(commit_string, strlen(commit_string), ++ "UTF-8", encoding, ++ NULL, /* gsize *bytes_read */ ++ NULL, /* size *bytes_written */ ++ NULL); /* GError **error */ ++ g_signal_emit_by_name(focused_context, "commit", commit_string_utf8); ++ g_free(encoding); ++ g_free(commit_string_utf8); ++ } else { ++ /* Assuming character encoding as UTF-8. */ ++ commit_string = lines[1]; ++ g_signal_emit_by_name(focused_context, "commit", commit_string); ++ } ++ ++ g_strfreev(lines); ++} ++ ++static void ++update_candwin_pos_type() ++{ ++ IMUIMContext *cc; ++ ++ for (cc = context_list.next; cc != &context_list; cc = cc->next) { ++ if (cc->cwin) ++ uim_cand_win_gtk_get_window_pos_type(cc->cwin); ++ } ++} ++ ++static void ++parse_helper_str(const char *str) ++{ ++ gchar **lines; ++ ++ if (g_str_has_prefix(str, "im_change") == TRUE) { ++ parse_helper_str_im_change(str); ++ } else if (g_str_has_prefix(str, "prop_update_custom") == TRUE) { ++ IMUIMContext *cc; ++ ++ lines = g_strsplit(str, "\n", 0); ++ if (lines && lines[0] && lines[1] && lines[2]) { ++ for (cc = context_list.next; cc != &context_list; cc = cc->next) { ++ uim_prop_update_custom(cc->uc, lines[1], lines[2]); ++ if (!strcmp(lines[1], "candidate-window-position")) ++ update_candwin_pos_type(); ++ break; /* all custom variables are global */ ++ } ++ g_strfreev(lines); ++ } ++ } else if (g_str_has_prefix(str, "custom_reload_notify") == TRUE) { ++ uim_prop_reload_configs(); ++ update_candwin_pos_type(); ++ } else if (focused_context && !disable_focused_context) { ++ if (g_str_has_prefix(str, "prop_list_get") == TRUE) { ++ uim_prop_list_update(focused_context->uc); ++ } else if (g_str_has_prefix(str, "prop_activate") == TRUE) { ++ lines = g_strsplit(str, "\n", 0); ++ if (lines && lines[0]) { ++ uim_prop_activate(focused_context->uc, lines[1]); ++ g_strfreev(lines); ++ } ++ } else if (g_str_has_prefix(str, "im_list_get") == TRUE) { ++ send_im_list(); ++ } else if (g_str_has_prefix(str, "commit_string")) { ++ commit_string_from_other_process(str); ++ } else if (g_str_has_prefix(str, "focus_in") == TRUE) { ++ disable_focused_context = TRUE; ++ /* ++ * We don't set "focused_context = NULL" here, because some ++ * window managers have some focus related bugs?? ++ */ ++ } ++ } ++} ++ ++static gboolean ++helper_read_cb(GIOChannel *channel, GIOCondition c, gpointer p) ++{ ++ char *msg; ++ int fd = g_io_channel_unix_get_fd(channel); ++ ++ uim_helper_read_proc(fd); ++ while ((msg = uim_helper_get_message())) { ++ parse_helper_str(msg); ++ free(msg); ++ } ++ return TRUE; ++} ++ ++static void ++check_helper_connection() ++{ ++ if (im_uim_fd < 0) { ++ im_uim_fd = uim_helper_init_client_fd(helper_disconnect_cb); ++ if (im_uim_fd >= 0) { ++ GIOChannel *channel; ++ channel = g_io_channel_unix_new(im_uim_fd); ++ read_tag = g_io_add_watch(channel, G_IO_IN | G_IO_HUP | G_IO_ERR, ++ helper_read_cb, NULL); ++ g_io_channel_unref(channel); ++ } ++ } ++} ++ ++ ++ ++/* class functions */ ++ ++/* ++ * filter key event handler ++ * ++ * uim uses key snooper or toplevel key event for IM. So filter key ++ * event is just for fallbacks. ++ * ++ */ ++static gboolean ++im_uim_filter_keypress(GtkIMContext *ic, GdkEventKey *key) ++{ ++ IMUIMContext *uic = IM_UIM_CONTEXT(ic); ++ int rv; ++ ++#if IM_UIM_USE_SNOOPER ++ if (!snooper_installed) { ++#elif IM_UIM_USE_TOPLEVEL ++ if (!cur_toplevel || (cur_toplevel && grab_widget) || ++ !event_key_equal(&uic->event_rec, key)) { ++#else ++ if (TRUE) { ++#endif ++ int kv, mod; ++ ++ im_uim_convert_keyevent(key, &kv, &mod); ++ ++ if (key->type == GDK_KEY_RELEASE) ++ rv = uim_release_key(uic->uc, kv, mod); ++ else ++ rv = uim_press_key(uic->uc, kv, mod); ++ ++ if (rv) { ++#ifdef GDK_WINDOWING_X11 ++ rv = compose_handle_key(key, uic); ++ if (rv) ++#endif ++ return gtk_im_context_filter_keypress(uic->slave, key); ++ } ++ ++ return TRUE; ++ } ++ ++#ifdef GDK_WINDOWING_X11 ++ rv = compose_handle_key(key, uic); ++ if (rv) ++ return gtk_im_context_filter_keypress(uic->slave, key); ++ ++ return TRUE; ++#else ++ return gtk_im_context_filter_keypress(uic->slave, key); ++#endif ++} ++ ++static void ++im_uim_get_preedit_string(GtkIMContext *ic, gchar **str, PangoAttrList **attrs, ++ gint *cursor_pos) ++{ ++ char *tmp; ++ int i, pos = 0; ++ IMUIMContext *uic = IM_UIM_CONTEXT(ic); ++ ++ if (attrs) ++ *attrs = pango_attr_list_new(); ++ ++ tmp = g_strdup(""); ++ ++ for (i = 0; i < uic->nr_psegs; i++) { ++ if (uic->pseg[i].attr & UPreeditAttr_Cursor) ++ pos = g_utf8_strlen(tmp, -1); ++ ++ if (attrs) ++ tmp = get_preedit_segment(&uic->pseg[i], *attrs, tmp); ++ else ++ tmp = get_preedit_segment(&uic->pseg[i], NULL, tmp); ++ } ++ if (cursor_pos) ++ *cursor_pos = pos; ++ ++ if (str) ++ *str = tmp; ++ else ++ free(tmp); ++} ++ ++static void ++im_uim_set_cursor_location(GtkIMContext *ic, GdkRectangle *area) ++{ ++ IMUIMContext *uic = IM_UIM_CONTEXT(ic); ++ ++ uic->preedit_pos = *area; ++ uim_cand_win_gtk_set_cursor_location(uic->cwin, area); ++ caret_state_indicator_set_cursor_location(uic->caret_state_indicator, area); ++ ++ if (uic->cwin_is_active) ++ layout_candwin(uic); ++} ++ ++static void ++im_uim_focus_in(GtkIMContext *ic) ++{ ++ IMUIMContext *uic = IM_UIM_CONTEXT(ic); ++ IMUIMContext *cc; ++ ++ focused_context = uic; ++ disable_focused_context = FALSE; ++ ++#if IM_UIM_USE_SNOOPER ++ /* Using key snooper is not recommended */ ++ if (snooper_installed == FALSE) { ++ snooper_id = gtk_key_snooper_install((GtkKeySnoopFunc)key_snoop, NULL); ++ snooper_installed = TRUE; ++ } ++#elif IM_UIM_USE_TOPLEVEL ++ update_cur_toplevel(uic); ++#endif ++ ++ check_helper_connection(); ++ uim_helper_client_focus_in(uic->uc); ++ uim_prop_list_update(uic->uc); ++ ++ for (cc = context_list.next; cc != &context_list; cc = cc->next) { ++ if (cc != uic && cc->cwin) ++ gtk_widget_hide(GTK_WIDGET(cc->cwin)); ++ } ++ ++ if (uic->cwin && uic->cwin_is_active) ++ gtk_widget_show(GTK_WIDGET(uic->cwin)); ++ ++ uim_focus_in_context(uic->uc); ++} ++ ++static void ++im_uim_focus_out(GtkIMContext *ic) ++{ ++ IMUIMContext *uic = IM_UIM_CONTEXT(ic); ++ ++#if IM_UIM_USE_SNOOPER ++ if (snooper_installed == TRUE) { ++ gtk_key_snooper_remove(snooper_id); ++ snooper_installed = FALSE; ++ } ++#elif IM_UIM_USE_TOPLEVEL ++ remove_cur_toplevel(); ++#endif ++ ++ uim_focus_out_context(uic->uc); ++ ++ check_helper_connection(); ++ uim_helper_client_focus_out(uic->uc); ++ ++ if (uic->cwin) ++ gtk_widget_hide(GTK_WIDGET(uic->cwin)); ++ ++ gtk_widget_hide(uic->caret_state_indicator); ++} ++ ++#define WORKAROUND_BROKEN_RESET_IN_GTK 1 ++static void ++im_uim_reset(GtkIMContext *ic) ++{ ++ IMUIMContext *uic = IM_UIM_CONTEXT(ic); ++#if !defined(WORKAROUND_BROKEN_RESET_IN_GTK) ++ uim_reset_context(uic->uc); ++#else ++ if (uic == focused_context) { ++ uim_focus_out_context(uic->uc); ++ uim_focus_in_context(uic->uc); ++ } else { ++ uim_reset_context(uic->uc); ++ } ++#endif ++#ifdef GDK_WINDOWING_X11 ++ im_uim_compose_reset(uic->compose); ++#endif ++#if !defined(WORKAROUND_BROKEN_RESET_IN_GTK) ++ clear_cb(uic); ++ update_cb(uic); ++#endif ++} ++ ++static void ++im_uim_set_use_preedit(GtkIMContext *ic, gboolean use_preedit) ++{ ++ IMUIMContext *uic = IM_UIM_CONTEXT(ic); ++ GtkWidget *preedit_label = NULL; ++ ++ if (use_preedit == FALSE) { ++ if (!uic->preedit_window) { ++ uic->preedit_window = gtk_window_new(GTK_WINDOW_POPUP); ++ preedit_label = gtk_label_new(""); ++ gtk_container_add(GTK_CONTAINER(uic->preedit_window), preedit_label); ++ } ++ uic->preedit_handler_id = ++ g_signal_connect(G_OBJECT(ic), "preedit-changed", ++ G_CALLBACK(show_preedit), preedit_label); ++ gtk_widget_show_all(uic->preedit_window); ++ } else { ++ if (uic->preedit_handler_id) { ++ g_signal_handler_disconnect(G_OBJECT(ic), uic->preedit_handler_id); ++ uic->preedit_handler_id = 0; ++ } ++ if (uic->preedit_window) { ++ gtk_widget_destroy(uic->preedit_window); ++ uic->preedit_window = NULL; ++ } ++ } ++} ++ ++static void ++im_uim_set_client_window(GtkIMContext *ic, GdkWindow *w) ++{ ++ IMUIMContext *uic = IM_UIM_CONTEXT(ic); ++ ++ if (w) { ++ g_object_ref(w); ++ uic->win = w; ++ } else { ++ if (uic->win) ++ g_object_unref(uic->win); ++ uic->win = NULL; ++ } ++ update_client_widget(uic); ++} ++ ++static void ++im_uim_init(IMUIMContext *uic) ++{ ++ uic->win = NULL; ++ uic->widget = NULL; ++#if IM_UIM_USE_TOPLEVEL ++ init_event_key_rec(&uic->event_rec); ++#endif ++ uic->caret_state_indicator = NULL; ++ uic->pseg = NULL; ++ uic->nr_psegs = 0; ++ uic->prev_preedit_len = 0; ++ ++ uic->cwin = uim_cand_win_gtk_new(); ++#if IM_UIM_USE_TOPLEVEL ++ cwin_list = g_list_append(cwin_list, uic->cwin); ++#endif ++ uic->cwin_is_active = FALSE; ++ uic->preedit_window = NULL; ++ uic->preedit_handler_id = 0; ++ ++ g_signal_connect(G_OBJECT(uic->cwin), "index-changed", ++ G_CALLBACK(index_changed_cb), uic); ++} ++ ++static void ++im_uim_finalize(GObject *obj) ++{ ++ IMUIMContext *uic = IM_UIM_CONTEXT(obj); ++ ++ im_uim_set_client_window(GTK_IM_CONTEXT(uic), NULL); ++ ++ uic->next->prev = uic->prev; ++ uic->prev->next = uic->next; ++ ++ if (uic->cwin) { ++ gtk_widget_destroy(GTK_WIDGET(uic->cwin)); ++#if IM_UIM_USE_TOPLEVEL ++ cwin_list = g_list_remove(cwin_list, uic->cwin); ++#endif ++ uic->cwin = NULL; ++ } ++ ++ if (uic->caret_state_indicator) { ++ guint tag = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(uic->caret_state_indicator), "timeout-tag")); ++ if (tag > 0) ++ g_source_remove(tag); ++ gtk_widget_destroy(uic->caret_state_indicator); ++ uic->caret_state_indicator = NULL; ++ } ++ ++ if (uic->preedit_handler_id) { ++ g_signal_handler_disconnect(obj, uic->preedit_handler_id); ++ uic->preedit_handler_id = 0; ++ } ++ if (uic->preedit_window) { ++ gtk_widget_destroy(uic->preedit_window); ++ uic->preedit_window = NULL; ++ } ++ ++ uim_release_context(uic->uc); ++ ++ g_signal_handlers_disconnect_by_func(uic->slave, (gpointer)(uintptr_t)commit_cb, uic); ++ g_object_unref(uic->slave); ++ parent_class->finalize(obj); ++ ++ if (uic == focused_context) { ++ focused_context = NULL; ++ disable_focused_context = TRUE; ++ } ++#ifdef GDK_WINDOWING_X11 ++ free(uic->compose); ++#endif ++} ++ ++static void ++im_uim_class_init(GtkIMContextClass *class) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS(class); ++ ++ parent_class = g_type_class_peek_parent(class); ++ class->set_client_window = im_uim_set_client_window; ++ class->filter_keypress = im_uim_filter_keypress; ++ class->get_preedit_string = im_uim_get_preedit_string; ++ class->set_cursor_location = im_uim_set_cursor_location; ++ class->focus_in = im_uim_focus_in; ++ class->focus_out = im_uim_focus_out; ++ class->reset = im_uim_reset; ++ class->set_use_preedit = im_uim_set_use_preedit; ++ ++ object_class->finalize = im_uim_finalize; ++} ++ ++static void ++im_uim_class_finalize(GtkIMContextClass *class) ++{ ++} ++ ++ ++GtkIMContext * ++im_module_create(const gchar *context_id) ++{ ++ GObject *obj; ++ IMUIMContext *uic; ++ const char *im_name; ++ ++ g_return_val_if_fail(context_id, NULL); ++ g_return_val_if_fail(!strcmp(context_id, "uim"), NULL); ++ ++ obj = g_object_new(type_im_uim, NULL); ++ uic = IM_UIM_CONTEXT(obj); ++ ++ if (!uic) ++ return NULL; ++ ++ im_name = uim_get_default_im_name(setlocale(LC_CTYPE, NULL)); ++ uic->uc = uim_create_context(uic, "UTF-8", ++ NULL, im_name, ++ uim_iconv, ++ im_uim_commit_string); ++ if (uic->uc == NULL) { ++ parent_class->finalize(obj); ++ return NULL; ++ } ++ ++ check_helper_connection(); ++ ++ uim_set_preedit_cb(uic->uc, clear_cb, pushback_cb, update_cb); ++ uim_set_prop_list_update_cb(uic->uc, update_prop_list_cb); ++ uim_set_candidate_selector_cb(uic->uc, cand_activate_cb, cand_select_cb, ++ cand_shift_page_cb, cand_deactivate_cb); ++ uim_set_configuration_changed_cb(uic->uc, configuration_changed_cb); ++ uim_set_im_switch_request_cb(uic->uc, ++ switch_app_global_im_cb, ++ switch_system_global_im_cb); ++ uim_set_text_acquisition_cb(uic->uc, acquire_text_cb, delete_text_cb); ++ ++ uim_prop_list_update(uic->uc); ++ ++#ifdef GDK_WINDOWING_X11 ++ uic->compose = im_uim_compose_new(); ++#endif ++ ++ /* slave exists for using gtk+'s table based input method */ ++ uic->slave = g_object_new(GTK_TYPE_IM_CONTEXT_SIMPLE, NULL); ++ g_signal_connect(G_OBJECT(uic->slave), "commit", ++ G_CALLBACK(commit_cb), uic); ++ ++ uic->caret_state_indicator = caret_state_indicator_new(); ++ ++ uic->next = context_list.next; ++ uic->prev = (IMUIMContext *)&context_list; ++ context_list.next->prev = uic; ++ context_list.next = uic; ++ return GTK_IM_CONTEXT(uic); ++} ++ ++void ++im_module_list(const GtkIMContextInfo ***contexts, ++ int *n_contexts) ++{ ++ *contexts = &im_uim_info_list; ++ *n_contexts = 1; ++} ++ ++#if IM_UIM_USE_SNOOPER ++/* snooper is not recommended! */ ++static gboolean ++key_snoop(GtkWidget *grab_widget, GdkEventKey *key, gpointer data) ++{ ++ if (focused_context) { ++ int rv, kv, mod; ++ ++ im_uim_convert_keyevent(key, &kv, &mod); ++ ++ if (key->type == GDK_KEY_RELEASE) ++ rv = uim_release_key(focused_context->uc, kv, mod); ++ else ++ rv = uim_press_key(focused_context->uc, kv, mod); ++ ++ if (rv) ++ return FALSE; ++ return TRUE; ++ } ++ ++ return FALSE; ++} ++#endif ++ ++#if IM_UIM_USE_TOPLEVEL ++static gboolean ++handle_key_on_toplevel(GtkWidget *widget, GdkEventKey *event, gpointer data) ++{ ++ IMUIMContext *uic = data; ++ /* GtkWindow *window = GTK_WINDOW(widget); */ ++ ++ if (focused_context == uic) { ++ int rv, kv, mod; ++ ++ store_event_key(&uic->event_rec, event); ++ im_uim_convert_keyevent(event, &kv, &mod); ++ ++ if (event->type == GDK_KEY_RELEASE) ++ rv = uim_release_key(focused_context->uc, kv, mod); ++ else ++ rv = uim_press_key(focused_context->uc, kv, mod); ++ ++ if (rv) ++ return FALSE; ++ ++ if (GTK_IS_TEXT_VIEW(uic->widget)) ++ GTK_TEXT_VIEW(uic->widget)->need_im_reset = TRUE; ++ else if (GTK_IS_ENTRY(uic->widget)) { ++ if (GTK_ENTRY(uic->widget)->editable) ++ GTK_ENTRY(uic->widget)->need_im_reset = TRUE; ++ } ++ return TRUE; ++ } ++ ++ return FALSE; ++} ++#endif ++ ++void ++im_module_init(GTypeModule *type_module) ++{ ++ if (uim_init() == -1) ++ return; ++ ++ context_list.next = (IMUIMContext *)&context_list; ++ context_list.prev = (IMUIMContext *)&context_list; ++ type_im_uim = g_type_module_register_type(type_module, GTK_TYPE_IM_CONTEXT, ++ "GtkIMContextUIM", &class_info, 0); ++ uim_cand_win_gtk_register_type(type_module); ++ ++#if IM_UIM_USE_SNOOPER ++ /* Using snooper is not recommended! */ ++ snooper_id = gtk_key_snooper_install((GtkKeySnoopFunc)key_snoop, NULL); ++ snooper_installed = TRUE; ++#endif ++ ++ im_uim_init_modifier_keys(); ++#ifdef GDK_WINDOWING_X11 ++ im_uim_create_compose_tree(); ++#endif ++} ++ ++void ++im_module_exit(void) ++{ ++ if (im_uim_fd != -1) ++ uim_helper_close_client_fd(im_uim_fd); ++ ++#if IM_UIM_USE_SNOOPER ++ gtk_key_snooper_remove(snooper_id); ++#endif ++#ifdef GDK_WINDOWING_X11 ++ im_uim_release_compose_tree(); ++#endif ++ uim_quit(); ++} --- uim-1.5.7.orig/debian/patches/10_set_path_uim-candwin-qt4.dpatch +++ uim-1.5.7/debian/patches/10_set_path_uim-candwin-qt4.dpatch @@ -0,0 +1,17 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 10_set_path_uim-candwin-qt4.patch.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.5.7~/qt4/candwin/uim-candwin-qt4.pro.in uim-1.5.7/qt4/candwin/uim-candwin-qt4.pro.in +--- uim-1.5.7~/qt4/candwin/uim-candwin-qt4.pro.in 2009-11-21 21:55:15.000000000 +0900 ++++ uim-1.5.7/qt4/candwin/uim-candwin-qt4.pro.in 2009-11-24 20:58:35.000000000 +0900 +@@ -22,5 +22,5 @@ + + TARGET = uim-candwin-qt4 + +-target.path += @DESTDIR@@exec_prefix@/libexec ++target.path += @DESTDIR@/usr/lib/uim + INSTALLS += target --- uim-1.5.7.orig/debian/patches/16_cred_for_kfreebsd.dpatch +++ uim-1.5.7/debian/patches/16_cred_for_kfreebsd.dpatch @@ -0,0 +1,121 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 16_cred_for_kfreebsd.dpatch by VDR dai (deb) +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNp uim-1.5.7.ORIG/configure uim-1.5.7/configure +--- uim-1.5.7.ORIG/configure 2009-11-23 02:33:06.000000000 +0900 ++++ uim-1.5.7/configure 2010-05-27 16:32:56.000000000 +0900 +@@ -32995,6 +32995,70 @@ _ACEOF + + fi + ++{ $as_echo "$as_me:$LINENO: checking for struct cmsgcred" >&5 ++$as_echo_n "checking for struct cmsgcred... " >&6; } ++if test "${ac_cv_have_struct_cmsgcred+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++else ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++#include ++#include ++ ++int ++main () ++{ ++ struct cmsgcred s; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" ++$as_echo "$ac_try_echo") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_have_struct_cmsgcred="yes" ++else ++ $as_echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_have_struct_cmsgcred="no" ++ ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ ++fi ++{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_struct_cmsgcred" >&5 ++$as_echo "$ac_cv_have_struct_cmsgcred" >&6; } ++if test "x$ac_cv_have_struct_cmsgcred" = "xyes" ; then ++ ++cat >>confdefs.h <<\_ACEOF ++#define HAVE_STRUCT_CMSGCRED 1 ++_ACEOF ++ ++fi ++ + { $as_echo "$as_me:$LINENO: checking for struct sockaddr_in6" >&5 + $as_echo_n "checking for struct sockaddr_in6... " >&6; } + if test "${ac_cv_have_struct_sockaddr_in6+set}" = set; then +diff -urNp uim-1.5.7.ORIG/configure.ac uim-1.5.7/configure.ac +--- uim-1.5.7.ORIG/configure.ac 2009-11-21 21:55:15.000000000 +0900 ++++ uim-1.5.7/configure.ac 2010-05-27 16:32:46.000000000 +0900 +@@ -613,6 +613,23 @@ if test "x$ac_cv_have_struct_sockaddr_st + [define if you have struct sockaddr_storage data type]) + fi + ++dnl cred related ++AC_CACHE_CHECK([for struct cmsgcred], ac_cv_have_struct_cmsgcred, [ ++ AC_TRY_COMPILE( ++ [ ++#include ++#include ++ ], ++ [ struct cmsgcred s; ], ++ [ ac_cv_have_struct_cmsgcred="yes" ], ++ [ ac_cv_have_struct_cmsgcred="no" ] ++ ) ++]) ++if test "x$ac_cv_have_struct_cmsgcred" = "xyes" ; then ++ AC_DEFINE(HAVE_STRUCT_CMSGCRED, 1, ++ [define if you have struct cmsgcred data type]) ++fi ++ + AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [ + AC_TRY_COMPILE( + [ +diff -urNp uim-1.5.7.ORIG/uim/config.h.in uim-1.5.7/uim/config.h.in +--- uim-1.5.7.ORIG/uim/config.h.in 2009-11-23 02:33:01.000000000 +0900 ++++ uim-1.5.7/uim/config.h.in 2010-05-27 16:32:53.000000000 +0900 +@@ -283,6 +283,9 @@ + /* define if you have struct addrinfo data type */ + #undef HAVE_STRUCT_ADDRINFO + ++/* define if you have struct cmsgcred data type */ ++#undef HAVE_STRUCT_CMSGCRED ++ + /* define if you have struct in6_addr data type */ + #undef HAVE_STRUCT_IN6_ADDR + --- uim-1.5.7.orig/debian/patches/18_qt47_compile_fix.dpatch +++ uim-1.5.7/debian/patches/18_qt47_compile_fix.dpatch @@ -0,0 +1,20 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 18_qt47_compile_fix.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' uim~/qt4/pref/customwidgets.cpp uim/qt4/pref/customwidgets.cpp +--- uim~/qt4/pref/customwidgets.cpp 2010-04-21 18:39:50.000000000 +0900 ++++ uim/qt4/pref/customwidgets.cpp 2010-06-24 17:00:31.000000000 +0900 +@@ -883,8 +883,7 @@ + : QDialog( parent ), + pressed_keyval( 0 ), + pressed_keystate( Qt::NoModifier ), +- pressed_unichar ( 0 ), +- m_keystr( 0 ) ++ pressed_unichar ( 0 ) + { + QLabel *l = new QLabel( _("Press keys to grab (e.g. a)"), this ); + --- uim-1.5.7.orig/debian/patches/02_fix_uim_module_manager_registratio.dpatch +++ uim-1.5.7/debian/patches/02_fix_uim_module_manager_registratio.dpatch @@ -0,0 +1,18 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_fix_uim_module_manager_registratio.dpatch by Masahito Omote +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad uim-1.2.1~/scm/uim-module-manager.scm uim-1.2.1/scm/uim-module-manager.scm +--- uim-1.2.1~/scm/uim-module-manager.scm 2006-08-14 13:27:35.000000000 +0900 ++++ uim-1.2.1/scm/uim-module-manager.scm 2006-11-19 13:56:28.858590382 +0900 +@@ -39,6 +39,7 @@ + (let ((orig-enabled-im-list enabled-im-list) + (orig-require require)) + (set! enabled-im-list ()) ;; enable all IMs ++ (set! im-list ()) ;; reset im-list + ;; XXX temporary solution to register all IM in a file + (set! require + (lambda (file) --- uim-1.5.7.orig/debian/im-switch/uim-toolbar +++ uim-1.5.7/debian/im-switch/uim-toolbar @@ -0,0 +1,10 @@ +# uim with GTK toolbar indicator +XIM=uim +XIM_PROGRAM=/usr/bin/uim-xim +XIM_ARGS= +GTK_IM_MODULE=uim +QT_IM_MODULE=uim +# It seems to me that the system needs to be initialized. +# Folowing trick will wait 10 seconds without slowing down X start up. +XIM_PROGRAM_XTRA="(sleep 10; uim-toolbar-gtk)" +DEPENDS="uim-xim,uim-gtk2.0|uim-qt,uim-anthy|uim-canna|uim-prime|uim-skk|uim-m17nlib" --- uim-1.5.7.orig/debian/im-switch/uim-toolbar-qt +++ uim-1.5.7/debian/im-switch/uim-toolbar-qt @@ -0,0 +1,10 @@ +# uim with Qt toolbar indicator +XIM=uim +XIM_PROGRAM=/usr/bin/uim-xim +XIM_ARGS= +GTK_IM_MODULE=uim +QT_IM_MODULE=uim +# It seems to me that the system needs to be initialized. +# Folowing trick will wait 10 seconds without slowing down X start up. +XIM_PROGRAM_XTRA="(sleep 10; uim-toolbar-qt)" +DEPENDS="uim-xim,uim-gtk2.0|uim-qt,uim-anthy|uim-canna|uim-prime|uim-skk|uim-m17nlib" --- uim-1.5.7.orig/debian/im-switch/uim-systray +++ uim-1.5.7/debian/im-switch/uim-systray @@ -0,0 +1,10 @@ +# uim with GTK systray indicator +XIM=uim +XIM_PROGRAM=/usr/bin/uim-xim +XIM_ARGS= +GTK_IM_MODULE=uim +QT_IM_MODULE=uim +# It seems to me that the system needs to be initialized. +# Folowing trick will wait 10 seconds without slowing down X start up. +XIM_PROGRAM_XTRA="(sleep 10; uim-toolbar-gtk-systray)" +DEPENDS="uim-xim,uim-gtk2.0|uim-qt,uim-anthy|uim-canna|uim-prime|uim-skk|uim-m17nlib" --- uim-1.5.7.orig/debian/im-switch/uim +++ uim-1.5.7/debian/im-switch/uim @@ -0,0 +1,10 @@ +# uim without toolbar indicator +XIM=uim +XIM_PROGRAM=/usr/bin/uim-xim +XIM_ARGS= +GTK_IM_MODULE=uim +QT_IM_MODULE=uim +# It seems to me that the system needs to be initialized. +# Folowing trick will wait 10 seconds without slowing down X start up. +#XIM_PROGRAM_XTRA="(sleep 10; uim-toolbar-gtk)" +DEPENDS="uim-xim,uim-gtk2.0|uim-qt,uim-anthy|uim-canna|uim-prime|uim-skk|uim-m17nlib"