diff options
Diffstat (limited to 'misc/ibus')
-rw-r--r-- | misc/ibus/README | 12 | ||||
-rw-r--r-- | misc/ibus/README.SBO | 35 | ||||
-rw-r--r-- | misc/ibus/doinst.sh | 51 | ||||
-rw-r--r-- | misc/ibus/ibus-autostart | 23 | ||||
-rw-r--r-- | misc/ibus/ibus-autostart.desktop | 32 | ||||
-rw-r--r-- | misc/ibus/ibus.SlackBuild | 62 | ||||
-rw-r--r-- | misc/ibus/ibus.info | 14 | ||||
-rw-r--r-- | misc/ibus/panel.py | 417 | ||||
-rw-r--r-- | misc/ibus/profile.d/ibus.csh | 17 | ||||
-rw-r--r-- | misc/ibus/profile.d/ibus.sh | 16 |
10 files changed, 103 insertions, 576 deletions
diff --git a/misc/ibus/README b/misc/ibus/README index 0ceb59617a..bddcfd6af2 100644 --- a/misc/ibus/README +++ b/misc/ibus/README @@ -8,6 +8,12 @@ ibus as your primary input method, you should remove the scim package. If you use qt applications, then you probably want ibus-qt as well. -After installing, ibus will automatically be started in an xdg-compliant -desktop environment; if this behavior is undesirable, you can disable it -using your DE's session and/or startup management utility. +To enable ibus put the following lines in your ~/.bashrc file: + +export GTK_IM_MODULE=ibus +export XMODIFIERS=@im=ibus +export QT_IM_MODULE=ibus + +ibus is pre-configured to autostart on xdg-compliant desktop environments +if these settings are present. On other desktop environments you can add +"ibus-autostart" to the respective autostart settings. diff --git a/misc/ibus/README.SBO b/misc/ibus/README.SBO deleted file mode 100644 index 5521d56cca..0000000000 --- a/misc/ibus/README.SBO +++ /dev/null @@ -1,35 +0,0 @@ -================= -ibus auto-startup -================= -The ibus package has an ibus.desktop file in /etc/xdg/autostart/, so if your -desktop environment is xdg compatible and the $XDG_CONFIG_DIRS is not set, ibus -will be automatically launched during startup of the your DE after you have -logged in. If you don't want to remove ibus package and want use other input -method programs (like SCIM), you can place an ibus.desktop file in your personal -autostart directory (most likely ~/.config/autostart/) which contains the key -Hidden=true. You'll also want to make the ibus profile scripts non-executable: - - chmod -x /etc/profile.d/ibus.{csh,sh} - -If your DE is not xdg compatible (what a pity..), you can add the following -to your shell init files (~/.profile, ~/.bash_profile, ~/.zprofile, etcetera): - - if [ -x /usr/bin/ibus-daemon ]; then - /usr/bin/ibus-daemon --xim & - fi - -============================= -environment variable settings -============================= -chmod +x /etc/profile.d/ibus.{sh,csh} will enable environment variable settings -at login, but if you have ibus-qt installed, you may also prefer to run -qtconfig and set "Default Input Method" to ibus. - -===================== -integration with KDE4 -===================== -Add ``--panel=/usr/share/ibus/ui/kimpanel/panel.py`` parameter to ibus when you -run ibus-daemon. For example, you can append it to the "Exec" entry in -/etc/xdg/autostart/ibus.desktop or any .desktop file you created for launching -ibus. Then add "kimpanel" plasmaiod to your panel or dashboard. Restart ibus, -you will see it shining out there. diff --git a/misc/ibus/doinst.sh b/misc/ibus/doinst.sh index a6065acead..6450401b66 100644 --- a/misc/ibus/doinst.sh +++ b/misc/ibus/doinst.sh @@ -1,42 +1,15 @@ -config() { - NEW="$1" - OLD="$(dirname $NEW)/$(basename $NEW .new)" - # If there's no config file by that name, mv it over: - if [ ! -r $OLD ]; then - mv $NEW $OLD - elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then - # toss the redundant copy - rm $NEW - fi - # Otherwise, we leave the .new copy for the admin to consider... -} - -preserve_perms() { - NEW="$1" - OLD="$(dirname $NEW)/$(basename $NEW .new)" - if [ -e $OLD ]; then - cp -a $OLD ${NEW}.incoming - cat $NEW > ${NEW}.incoming - mv ${NEW}.incoming $NEW - fi - config $NEW -} - -preserve_perms etc/profile.d/ibus.sh.new -preserve_perms etc/profile.d/ibus.csh.new - -schema_install() { - GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" \ - chroot . gconftool-2 --makefile-install-rule "$1" 1>/dev/null -} +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi -SCHEMA_FILE="etc/gconf/schemas/ibus.schemas" -if [ -r "$SCHEMA_FILE" ]; then - schema_install "$SCHEMA_FILE" +if [ -x usr/bin/update-gtk-immodules ]; then + chroot . /usr/bin/update-gtk-immodules --verbose 1>/dev/null fi -if [ -x /usr/bin/update-desktop-database ]; then - /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +if [ -e usr/share/glib-2.0/schemas ]; then + if [ -x /usr/bin/glib-compile-schemas ]; then + /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1 + fi fi if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then @@ -45,9 +18,3 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then fi fi -# Run gtk-query-immodules so that "ibus" will appear under Input Method -# when you right- click your mouse in a text box. -if [ -x usr/bin/update-gtk-immodules ]; then - chroot . /usr/bin/update-gtk-immodules --verbose 1>/dev/null -fi - diff --git a/misc/ibus/ibus-autostart b/misc/ibus/ibus-autostart new file mode 100644 index 0000000000..29fab3a050 --- /dev/null +++ b/misc/ibus/ibus-autostart @@ -0,0 +1,23 @@ +#!/bin/bash + +START="no" + +if [ "$XIM" = "ibus" ]; then + START="yes" +fi + +if [ "$XIM_PROGRAM" = "ibus" ]; then + START="yes" +fi + +if [ "$GTK_IM_MODULE" = "ibus" ]; then + START="yes" +fi + +if [ "$QT_IM_MOFULE" = "ibus" ]; then + START="yes" +fi + +if [ "$START" = "yes" ]; then + ibus-daemon -drx +fi diff --git a/misc/ibus/ibus-autostart.desktop b/misc/ibus/ibus-autostart.desktop new file mode 100644 index 0000000000..1dcf7dae84 --- /dev/null +++ b/misc/ibus/ibus-autostart.desktop @@ -0,0 +1,32 @@ +[Desktop Entry] +Name=IBus +Name[de]=IBus +Name[es]=IBus +Name[ja]=IBus +Name[zh_CN]=IBus +Name[zh_TW]=IBus +Name[ko]=IBus +GenericName=Input Method +GenericName[de]=Eingabemethode +GenericName[es]=Método de entrada +GenericName[ja]=入力メソッド +GenericName[zh_CN]=输入法 +GenericName[zh_TW]=輸入法 +GenericName[ko]=입력 방법 +Comment=Start Input Method +Comment[de]=Eingabemethode starten +Comment[ja]=入力メソッドを開始 +Comment[zh_CN]=启动输入法 +Comment[zh_TW]=啓動輸入法 +Comment[ko]=입력기 시작 +Exec=ibus-autostart +Icon=ibus +Terminal=false +Type=Application +Categories=System;Utility; +StartupNotify=false +X-GNOME-Autostart-Phase=Applications +X-GNOME-AutoRestart=false +X-GNOME-Autostart-Notify=false +X-KDE-autostart-after=panel +X-KDE-StartupNotify=false diff --git a/misc/ibus/ibus.SlackBuild b/misc/ibus/ibus.SlackBuild index aa0973f0ac..a5f477e4e8 100644 --- a/misc/ibus/ibus.SlackBuild +++ b/misc/ibus/ibus.SlackBuild @@ -4,6 +4,7 @@ # Copyright 2006,2007,2008 Eric Hameleers, Eindhoven, NL # Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN USA +# Copyright 2017 Heinz Wiesinger, Amsterdam, The Netherlands # All rights reserved. # # Permission to use, copy, modify, and distribute this software for @@ -28,8 +29,8 @@ # Feedback (especially improvements) is encouraged! :-) PRGNAM=ibus -VERSION=${VERSION:-1.3.9} -BUILD=${BUILD:-2} +VERSION=${VERSION:-1.5.16} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -59,13 +60,6 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -USE_GCONF=${USE_GCONF:-"yes"} -if [ "$USE_GCONF" = "yes" ]; then - conf_opt="--enable-gconf" -else - conf_opt="--disable-gconf --enable-memconf" -fi - set -e rm -rf $PKG @@ -81,48 +75,36 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +cat $CWD/emoji-test.txt > emoji-test.txt + +# fix libdir +sed -i "s|/lib/python|/lib$LIBDIRSUFFIX/python|g" ./configure + CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ --sysconfdir=/etc \ - --localstatedir=/var \ - --with-html-dir=/usr/share/gtk-doc/html \ - $conf_opt \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --localstatedir=/var/lib \ + --mandir=/usr/man \ + --enable-python-library \ + --with-unicode-emoji-dir=$TMP/$PRGNAM-$VERSION \ --build=$ARCH-slackware-linux make -make DESTDIR=$PKG install - -# Add kimpanel support, panel.py is harvested from -# http://websvn.kde.org/tags/KDE/4.4.3/kdeplasma-addons/applets/kimpanel/backend/ibus/panel.py -mkdir $PKG/usr/share/ibus/ui/kimpanel -cp $CWD/panel.py $PKG/usr/share/ibus/ui/kimpanel -chmod 0755 $PKG/usr/share/ibus/ui/kimpanel/panel.py -# Link the icon to where kimpanel will look for. -cd $PKG/usr/share/ibus/icons - ln -s ../../icons/hicolor/scalable/apps/ibus.svg . -cd - - -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -# Add profile scripts that set up the environment: -mkdir -p $PKG/etc/profile.d -cat $CWD/profile.d/ibus.csh > $PKG/etc/profile.d/ibus.csh.new -cat $CWD/profile.d/ibus.sh > $PKG/etc/profile.d/ibus.sh.new -chmod 0755 $PKG/etc/profile.d/* +make install-strip DESTDIR=$PKG + +mkdir -p $PKG/etc/xdg/autostart +install -m 755 $CWD/ibus-autostart $PKG/usr/bin/ +install -m 644 $CWD/ibus-autostart.desktop $PKG/etc/xdg/autostart/ + +# cleanup temporary files +rm -rf $PKG/usr/lib$LIBDIRSUFFIX/python2.7/site-packages/gi mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - AUTHORS COPYING ChangeLog NEWS README \ +cp -a AUTHORS ChangeLog COPYING* INSTALL NEWS README \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild -cat $CWD/README.SBO > $PKG/usr/doc/$PRGNAM-$VERSION/README.SBO -cd $PKG/usr/doc/$PRGNAM-$VERSION - ln -s ../../share/gtk-doc/html/ibus html -cd - mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc diff --git a/misc/ibus/ibus.info b/misc/ibus/ibus.info index ec0db364b1..24badc3075 100644 --- a/misc/ibus/ibus.info +++ b/misc/ibus/ibus.info @@ -1,10 +1,12 @@ PRGNAM="ibus" -VERSION="1.3.9" +VERSION="1.5.16" HOMEPAGE="https://github.com/ibus/ibus/wiki" -DOWNLOAD="https://github.com/ibus/ibus/releases/download/1.3.9/ibus-1.3.9.tar.gz" -MD5SUM="57345a3c1cfe37ce3825f6221676dcfe" +DOWNLOAD="https://github.com/ibus/ibus/releases/download/1.5.16/ibus-1.5.16.tar.gz \ + http://www.unicode.org/Public/emoji/4.0/emoji-test.txt" +MD5SUM="31ea7c1259c7285bd9d71f3000cbd95b \ + 965fe35c4db4401cb9644ebb6251df55" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="pyxdg" -MAINTAINER="Grissiom" -EMAIL="chaos.proton@gmail.com" +REQUIRES="json-glib cldr-emoji-annotation" +MAINTAINER="Heinz Wiesinger" +EMAIL="pprkut@liwjatan.at" diff --git a/misc/ibus/panel.py b/misc/ibus/panel.py deleted file mode 100644 index de8a5a4e62..0000000000 --- a/misc/ibus/panel.py +++ /dev/null @@ -1,417 +0,0 @@ -#! /usr/bin/env python -# vim:set et sts=4 sw=4: -# -# ibus-panel-dbus - Another panel for ibus -# -# Copyright (c) 2009 Wang Hoi <zealot.hoi@gmail.com> -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this program; if not, write to the -# Free Software Foundation, Inc., 59 Temple Place, Suite 330, -# Boston, MA 02111-1307 USA - -#IBUS_SERVICE_KIMPANEL = "org.freedesktop.IBus.Panel.KIM" -#IBUS_PATH_KIMPANEL = "/org/freedesktop/IBus/Panel/KIM" - -from ibus import * -from ibus.panel import * -from ibus.bus import Bus -from ibus.inputcontext import InputContext -from ibus import keysyms -#import ibus.interface -import gtk -import dbus - -IBUS_ICON_DIR = '/usr/share/ibus/icons/' - -from gettext import dgettext -_ = lambda a : dgettext("ibus", a) -N_ = lambda a : a - -def prop2string(prop): - __prop_key = '/IBus/'+prop.get_key() - __prop_label = prop.get_label().get_text() - __prop_icon = prop.get_icon() - __prop_tip = prop.get_tooltip().get_text() - - # workaround - if len(__prop_icon)==0: - # the setup icon - if (prop.get_key()=='setup'): - __prop_icon = 'configure' - - __prop = __prop_key + ':' + __prop_label + ':' + __prop_icon + ':' + __prop_tip - return __prop - -class KIMIbusClient(dbus.service.Object): - def __init__(self, object_path): - dbus.service.Object.__init__(self, dbus.SessionBus(), object_path) - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='s') - def ExecDialog(self, prop): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='as') - def ExecMenu(self, props): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='as') - def RegisterProperties(self, props): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='s') - def UpdateProperty(self, prop): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='s') - def RemoveProperty(self, prop): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='b') - def Enable(self, b): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='b') - def ShowAux(self, b): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='b') - def ShowPreedit(self, b): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='b') - def ShowLookupTable(self, b): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='asasasbb') - def UpdateLookupTable(self, labels,items,xs,bool1,bool2): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='i') - def UpdatePreeditCaret(self, pos): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='ss') - def UpdatePreeditText(self, test, attr): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='ss') - def UpdateAux(self, test, attr): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='ii') - def UpdateSpotLocation(self, x, y): - pass - - @dbus.service.signal(dbus_interface='org.ibus.panel', - signature='i') - def UpdateScreen(self, id): - pass - -class KIMPanel(PanelBase): - def __init__(self): - self.__bus = Bus() - self.__bus.connect("disconnected", gtk.main_quit) - super(KIMPanel, self).__init__(self.__bus) - self.__bus.request_name(IBUS_SERVICE_PANEL, 0) - self.__session_bus = dbus.SessionBus() - #self.__kimproxy = self.__session_bus.get_object('org.kde.impanel', - # '/org/kde/impanel') - #self.__kimifce = dbus.Interface(self.__kimproxy, - # 'org.kde.impanel') - self.__session_bus.add_signal_receiver(self.kim_trigger_property, - signal_name='TriggerProperty', - dbus_interface='org.kde.impanel') - self.__session_bus.add_signal_receiver(self.kim_panel_created, - signal_name='PanelCreated', - dbus_interface='org.kde.impanel') - self.__session_bus.add_signal_receiver(self.kim_reload_config, - signal_name='ReloadConfig', - dbus_interface='org.kde.impanel') - self.__session_bus.add_signal_receiver(gtk.main_quit, - signal_name='Exit', - dbus_interface='org.kde.impanel') - self.__session_bus.add_signal_receiver(self.page_up, - signal_name='LookupTablePageUp', - dbus_interface='org.kde.impanel') - self.__session_bus.add_signal_receiver(self.page_down, - signal_name='LookupTablePageDown', - dbus_interface='org.kde.impanel') - self.__session_bus.add_signal_receiver(self.kim_select_candidate, - signal_name='SelectCandidate', - dbus_interface='org.kde.impanel') - - self.__kimclient = KIMIbusClient('/org/ibus/panel') - - self.__focus_ic = None - - self.__logo_prop = Property(key='Logo', label='IBus', icon=IBUS_ICON_DIR + '/ibus.svg', tooltip='IBus input method') - self.__about_prop = Property(key='About', label=_('IBus intelligent input bus'), icon='help-about') - self.__about_prop.set_tooltip(_("IBus is an intelligent input bus for Linux/Unix.\n\nHuang Peng <shawn.p.huang@gmail.com>")) - self.__prop_map = {} - - self.__im_menu = [] - - def focus_in(self,ic): - self.__focus_ic = InputContext(self.__bus, ic) - enabled = self.__focus_ic.is_enabled() - - if not enabled: - self.__logo_prop.icon = IBUS_ICON_DIR + '/ibus.svg' - else: - engine = self.__focus_ic.get_engine() - if engine: - self.__logo_prop.icon = engine.icon - else: - self.__logo_prop.icon = IBUS_ICON_DIR + '/ibus.svg' - - self.__kimclient.UpdateProperty(prop2string(self.__logo_prop)) - - def state_changed(self): - print 'state_changed' - if not self.__focus_ic: - return - - enabled = self.__focus_ic.is_enabled() - - if enabled == False: - self.__reset() - self.__logo_prop.set_icon(IBUS_ICON_DIR + 'ibus.svg') - else: - engine = self.__focus_ic.get_engine() - if engine: - self.__logo_prop.set_icon(engine.icon) - else: - self.__logo_prop.set_icon(IBUS_ICON_DIR + 'ibus.svg') - self.__kimclient.UpdateProperty(prop2string(self.__logo_prop)) - - def focus_out(self,ic): - #self.__focus_ic = None - self.__logo_prop.icon = IBUS_ICON_DIR + '/ibus.svg' - self.__kimclient.UpdateProperty(prop2string(self.__logo_prop)) - - def set_cursor_location(self, x, y, w, h): - #print 'set_cursor_location',x,y,w,h - self.__kimclient.UpdateSpotLocation(x+w,y+h) - - def update_preedit_text(self, text, cursor_pos, visible): - print 'update_preedit_text',cursor_pos,visible - self.__kimclient.UpdatePreeditText(text.get_text(),'') - self.__kimclient.UpdatePreeditCaret(cursor_pos) - if visible: - self.show_preedit_text() - else: - self.hide_preedit_text() - - def show_preedit_text(self): - print 'show_preedit_text' - self.__kimclient.ShowPreedit(1) - - def hide_preedit_text(self): - print 'hide_preedit_text' - self.__kimclient.ShowPreedit(0) - - def update_auxiliary_text(self, text, visible): - #print 'update_auxiliary_text',visible - self.__kimclient.UpdateAux(text.get_text(),'') - if visible: - self.show_auxiliary_text() - else: - self.hide_auxiliary_text() - - def show_auxiliary_text(self): - print 'show_auxiliary_text' - self.__kimclient.ShowAux(1) - - def hide_auxiliary_text(self): - print 'hide_auxiliary_text' - self.__kimclient.ShowAux(0) - - def update_lookup_table(self, lookup_table, visible): - if lookup_table == None: - lookup_table = LookupTable() - - self.__lookup_table = lookup_table - - self.__labels = [] - self.__candis = [] - self.__attrs = [] - i = 0 - for text_obj in lookup_table.get_candidates_in_current_page(): - i=i+1 - if i==10: - i=0 - self.__labels.append(str(i)) - self.__candis.append(text_obj.get_text()) - self.__attrs.append('') - - self.__kimclient.UpdateLookupTable(self.__labels, - self.__candis,self.__attrs,dbus.Boolean(1),dbus.Boolean(lookup_table.get_current_page_size() <= lookup_table.get_page_size())) - - if visible: - self.show_lookup_table() - else: - self.hide_lookup_table() - - - def show_lookup_table(self): - print 'show_lookup_table' - self.__kimclient.ShowLookupTable(1) - - def hide_lookup_table(self): - print 'hide_lookup_table' - self.__kimclient.ShowLookupTable(0) - - def cursor_up_lookup_table(self): - print 'cursor_up_lookup_table' - - def cursor_down_lookup_table(self): - print 'cursor_down_lookup_table' - - def show_candidate_window(self): - print 'show_candidate_window' - - def hide_candidate_window(self): - print 'hide_candidate_window' - - def show_language_bar(self): - print 'show_language_bar' - - def hide_language_bar(self): - print 'hide_language_bar' - - def register_properties(self, props): - print 'register_properties' - __props = [] - __props.append(prop2string(self.__logo_prop)) - for prop in props.get_properties(): - __props.append(prop2string(prop)) - __prop_key = '/IBus/'+prop.get_key() - #self.__prop - __props.append(prop2string(self.__about_prop)) - - self.__kimclient.RegisterProperties(__props) - - def update_property(self, prop): - print 'update_property' - self.__kimclient.UpdateProperty(prop2string(prop)) - - def get_status_icon(self): - print 'get_status_icon' - -# begin of signal handler - - def kim_panel_created(self): - print 'KIM: panel created' - - def kim_reload_config(self): - print 'KIM: reload config' - - def kim_trigger_property(self,prop): - print 'KIM: trigger property' - if prop.startswith('/IBus/'): - __prop_key = prop[6:] - if __prop_key == 'Logo': - self.__im_menu = self.__create_im_menu() - self.__kimclient.ExecMenu(map(prop2string,self.__im_menu)) - elif __prop_key == 'About': - self.__kimclient.ExecDialog(prop2string(self.__about_prop)) - elif __prop_key.startswith('Engine/'): - self.__reset() - __prop_key = __prop_key[7:] - if __prop_key == 'None': - self.__focus_ic.disable() - else: - engines = self.__bus.list_active_engines() - for engine in engines: - print engine.name - if engine.name == __prop_key: - print 'matched engine' - self.__focus_ic.set_engine(engine) - else: - self.property_activate(__prop_key,PROP_STATE_CHECKED) - - def kim_select_candidate(self,index): - print 'select_candidate:Implement me!' - # dirty hack - #if self.__focus_ic: - # #engine = self.__focus_ic.get_engine() - # #if engine: - # # print 'select_candidate',index - # self.__focus_ic.process_key_event(keysyms._1,0) - pass - - def __reset(self): - self.hide_auxiliary_text() - self.hide_preedit_text() - self.hide_lookup_table() - - def __create_im_menu(self): - engines = self.__bus.list_active_engines() - - tmp = {} - for engine in engines: - lang = get_language_name(engine.language) - if lang not in tmp: - tmp[lang] = [] - tmp[lang].append(engine) - - langs = tmp.keys() - other = tmp.get(_("Other"), []) - if _("Other") in tmp: - langs.remove(_("Other")) - langs.append(_("Other")) - - im_menu = [] - - for lang in langs: - if len(tmp[lang]) == 1: - engine = tmp[lang][0] - item = Property(key='Engine/'+engine.name) - item.set_label("%s - %s" % (lang, engine.longname)) - if engine.icon: - item.set_icon(engine.icon) - else: - item.set_icon("engine-default") - print prop2string(item) - im_menu.append(item) - else: - pass - - item = Property(key='Engine/None',label=_('Disable'),icon=IBUS_ICON_DIR+'/ibus.svg') - im_menu.append(item) - - return im_menu - - -def launch_panel(): - panel = KIMPanel() - gtk.main() - -if __name__ == "__main__": - launch_panel() - diff --git a/misc/ibus/profile.d/ibus.csh b/misc/ibus/profile.d/ibus.csh deleted file mode 100644 index 35bbabe2f3..0000000000 --- a/misc/ibus/profile.d/ibus.csh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/csh - -# ibus - Intelligent Input Bus for Linux / Unix OS. This is used to support the -# entering of text in non-US-English languages. - -[ -x /usr/bin/ibus-daemon ] -if ($status == 0) then - # Enable legacy X applications to use ibus: - setenv XMODIFIERS "@im=ibus" - # Enable Qt/KDE applications to use ibus. - setenv QT_IM_MODULE "ibus" - # Enable GTK applications to use ibus: - setenv GTK_IM_MODULE "ibus" - # Make ibus start automatically if the "magic key" Ctrl-Space is pressed: - setenv XIM_PROGRAM "/usr/bin/ibus-daemon -xdrt" -endif - diff --git a/misc/ibus/profile.d/ibus.sh b/misc/ibus/profile.d/ibus.sh deleted file mode 100644 index 86fd88d8d7..0000000000 --- a/misc/ibus/profile.d/ibus.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# ibus - Intelligent Input Bus for Linux / Unix OS. This is used to support the -# entering of text in non-US-English languages. - -if [ -x /usr/bin/ibus-daemon ]; then - # Enable legacy X applications to use ibus: - export XMODIFIERS="@im=ibus" - # Enable Qt/KDE applications to use ibus. - export QT_IM_MODULE="ibus" - # Enable GTK applications to use ibus: - export GTK_IM_MODULE="ibus" - # Make ibus start automatically if the "magic key" Ctrl-Space is pressed: - export XIM_PROGRAM="/usr/bin/ibus-daemon -xdrt" -fi - |