예제 #1
0
    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)
예제 #2
0
 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)
예제 #3
0
 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
예제 #4
0
 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