Skip to content

sarim/goibus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

goibus - golang implementation of libibus

goibus implements the libibus bindings in golang. goibus can be used to create IBus engines aka develop custom input methods.

IBus is an Intelligent Input Bus. It provides full featured and user friendly input method user interface. It also may help developers to develop input method easily.

This library is little bit different than other libibus bindings/wrappers. Instead of wrapping libibus c library or GOBject-Introspection, it implements whole functionality by communicating over DBus IPC. Because of that it is a independent 100% pure golang library without any native dependencies.

####NB: libibus has various classes that are not absolutely required for creating engines. This library only implements engine related classes. Some uncommon class/methods are also skipped for now. You can always implement those and send PR ;)

This table shows the current status of implementation.

libibus - goibus
IBusAttrList Implemented In text.go
IBusAttribute Implemented In text.go
IBusBus Implemented In bus.go
IBusComponent Implemented In component.go
IBusConfig 🔴 Ignored, not implemented
IBusConfigService 🔴 Ignored, not implemented
IBusEngine Implemented In engine.go
IBusEngineDesc Implemented In engineDesc.go
IBusFactory Implemented In factory.go
IBusHotkeyProfile 🔴 Ignored, not implemented
IBusInputContext 🔵 Ignored, relevant inherited signals implemented in Engine
IBusKeymap 🔵 Ignored for now, will implement
IBusLookupTable Implemented In lookupTable.go
IBusObject Ignored, Parent/Interface class, relevant inherited signals implemented in Engine
IBusObservedPath 🔴 Ignored, not implemented
IBusPanelService 🔴 Ignored, not implemented
IBusPropList Implemented In property.go
IBusProperty Implemented In property.go
IBusProxy 🔴 Ignored, not implemented
IBusRegistry 🔴 Ignored, not implemented
IBusSerializable Not needed in golang, All implemented classes are Serializable
IBusService Ignored, not needed. Parent/Interface class
IBusText Implemented In text.go

Installation

go get github.com/godbus/dbus
go get github.com/sarim/goibus

check _example directory for a sample engine and ~~ TODO:detailed tutorial ~~. Run the sample engine by _example -standalone to see it in action. sample engine

License

goibus - golang implementation of libibus by Sarim Khan

Licensed under Mozilla Public License 1.1 ("MPL"), an open source/free software license.

About

golang implementation of libibus

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages