def test_factory(self): if not self.__bus.is_connected(): self.skipTest('bus not connected') # construction with keyword args factory = IBus.Factory(connection=self.__bus.get_connection(), object_path=IBus.PATH_FACTORY) self.assertEqual(factory.props.object_path, IBus.PATH_FACTORY) # construction with non-keyword args factory = IBus.Factory(self.__bus) self.assertEqual(factory.props.object_path, IBus.PATH_FACTORY)
def __init__(self, exec_by_ibus): self._mainloop = GLib.MainLoop() self._bus = IBus.Bus() self._bus.connect("disconnected", self._bus_disconnected_cb) self._factory = IBus.Factory(self._bus) self._factory.add_engine("hiragana", GObject.type_from_name("EngineHiragana")) if exec_by_ibus: self._bus.request_name("org.freedesktop.IBus.Hiragana", 0) else: self._component = IBus.Component( name="org.freedesktop.IBus.Hiragana", description="Hiragana IME", version=package.get_version(), license="Apache", author="Esrille Inc. <*****@*****.**>", homepage="https://github.com/esrille/" + package.get_name(), textdomain=package.get_name()) engine = IBus.EngineDesc(name="hiragana", longname="Hiragana IME", description="Hiragana IME", language="ja", license="Apache", author="Esrille Inc. <*****@*****.**>", icon=package.get_name(), layout="default") self._component.add_engine(engine) self._bus.register_component(self._component) self._bus.set_global_engine_async("hiragana", -1, None, None, None)
def register_ibus_engine(self) -> bool: self.__bus = IBus.Bus() if not self.__bus.is_connected(): self.fail('ibus-daemon is not running') return False self.__bus.get_connection().signal_subscribe( 'org.freedesktop.DBus', 'org.freedesktop.DBus', 'NameOwnerChanged', '/org/freedesktop/DBus', None, 0, self.__bus_signal_cb, self.__bus) self.__factory = IBus.Factory(object_path=IBus.PATH_FACTORY, connection=self.__bus.get_connection()) self.__factory.connect('create-engine', self.__create_engine_cb) self.__component = IBus.Component( name='org.freedesktop.IBus.TypingBooster.Test', description='Test Typing Booster Component', version='1.0', license='GPL', author=('Mike FABIAN <*****@*****.**>, ' + 'Anish Patil <*****@*****.**>'), homepage='http://mike-fabian.github.io/ibus-typing-booster', command_line='', textdomain='ibus-typing-booster') desc = IBus.EngineDesc( name='testTyping-booster', longname='Test Typing Booster', description='Test a completion input method to speedup typing.', language='t', license='GPL', author=('Mike FABIAN <*****@*****.**>, ' + 'Anish Patil <*****@*****.**>'), icon='', symbol='T') self.__component.add_engine(desc) self.__bus.register_component(self.__component) self.__bus.request_name('org.freedesktop.IBus.TypingBooster.Test', 0) return True
def register_ibus_engine(self): self.__bus = IBus.Bus() if not self.__bus.is_connected(): self.fail('ibus-daemon is not running') return False self.__bus.get_connection().signal_subscribe( 'org.freedesktop.DBus', 'org.freedesktop.DBus', 'NameOwnerChanged', '/org/freedesktop/DBus', None, 0, self.__bus_signal_cb, self.__bus) self.__factory = IBus.Factory( object_path=IBus.PATH_FACTORY, connection=self.__bus.get_connection()) self.__factory.connect('create-engine', self.__create_engine_cb) self.__component = IBus.Component( name='org.freedesktop.IBus.Table.Test', description='Test Table Component', version='1.0', license='GPL', author=('Mike FABIAN <*****@*****.**>, ' + 'Caius "kaio" CHANCE <*****@*****.**>'), homepage='http://mike-fabian.github.io/ibus-table/', command_line='', textdomain='ibus-table') desc = IBus.EngineDesc( name=ENGINE_NAME, longname='Test Table %s' % ENGINE_NAME, description='Test Table Component', language='t', license='GPL', author=('Mike FABIAN <*****@*****.**>, ' + 'Caius "kaio" CHANCE <*****@*****.**>'), icon='', symbol='T') self.__component.add_engine(desc) self.__bus.register_component(self.__component) self.__bus.request_name('org.freedesktop.IBus.Table.Test', 0) return True