IBus Engine for GoVarnam. An easy way to type Indian languages on GNU/Linux systems.

IBus Engine For GoVarnam

An easy way to type Indian languages on GNU/Linux systems.

goibus - golang implementation of libibus

Thanks to sarim and haunt98 for developing goibus from which this IBus engine is developed.

Installation

  • Install and setup IBus
  • Install GoVarnam
  • Download a release from Releases
  • Extract the zip file
  • Run the install script in the extracted folder (need sudo):
sudo ./install.sh install
  • Restart ibus (no sudo)
ibus restart
  • Go to IBus settings, add Varnam input method.
  • Maybe set an easy to use switch key to switch between languages

To uninstall:

sudo ./install.sh uninstall

Development

Building

For Ubuntu 18.04 & others with old GTK versions, special build params are required:

go build -tags pango_1_42,gtk_3_22 .

For others, simply do :

go build .

Setup

To just try it out:

go run . -standalone

To use it system wide:

go build .
sudo ln -s $(realpath varnam-ibus-engine) /usr/local/bin/varnam-ibus-engine
./varnam-ibus-engine -xml govarnam.xml
sudo ln -s $(realpath govarnam.xml) /usr/share/ibus/component/govarnam.xml

# Copy icon
sudo ln -s $(realpath varnam.png) /usr/local/share/varnam/ibus/icons/varnam.png

# Restart ibus
ibus restart

Now, go to ibus settings to add the input method. Currently it's just for Malayalam.

(Note that we use varnam-ibus-engine as executable name)

Owner
Varnamproject
“Varnam” is an open source, cross platform transliterator for Indian languages
Varnamproject
Similar Resources

F' - A flight software and embedded systems framework

F´ (F Prime) is a component-driven framework that enables rapid development and deployment of spaceflight and other embedded software applications.

Jan 4, 2023

Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

The Moby Project Moby is an open-source project created by Docker to enable and accelerate software containerization. It provides a "Lego set" of tool

Jan 2, 2023

Distributed Systems 2021 -- Miniproject 3

Mini_Project3 == A Distributed Auction System == You must implement a distributed auction system using replication: a distributed component which hand

Dec 1, 2021

A simple tool to send binary data over a serial port. Designed for use with my retro computer systems.

Colin's Transfer Tool This is a really basic tool to transfer firmware files to my retro computer systems over a serial port. This removes the need fo

Dec 21, 2021

MIT 6.824: Distributed Systems (Spring 2020)

MIT6.824 MIT 6.824: Distributed Systems (Spring 2020) Lab 1 Lab 2 Lab 2A Lab 2B Lab 2C Lab 2D Lab 3 Lab 3A Lab 3B Lab 4 Lab 4A Lab 4B Lab 4 Challenge

Dec 26, 2022

Type-safe Prometheus metrics builder library for golang

gotoprom A Prometheus metrics builder gotoprom offers an easy to use declarative API with type-safe labels for building and using Prometheus metrics.

Dec 5, 2022

Generate type-safe Go converters by simply defining an interface

goverter a "type-safe Go converter" generator goverter is a tool for creating type-safe converters. All you have to do is create an interface and exec

Jan 4, 2023

Analyze the binary outputted by `go build` to get type information etc.

Analyze the binary outputted by go build to get type information etc.

Oct 5, 2022

Lithia is an experimental functional programming language with an implicit but strong and dynamic type system.

Lithia is an experimental functional programming language with an implicit but strong and dynamic type system. Lithia is designed around a few core concepts in mind all language features contribute to.

Dec 24, 2022
Comments
  • govarnam module dependency version

    govarnam module dependency version

    Hi! I'm trying to build varnam-ibus-engine but it fails with this error:

    go: github.com/varnamproject/[email protected] (replaced by ../govarnam): reading ../govarnam/go.mod: open /home/user/govarnam/go.mod: no such file or directory

    I don't have experience with golang but to me it looks like it's because of the govarnam dependency version defined in these lines:

    https://github.com/varnamproject/govarnam-ibus/blob/f6c20da27776d27b62fdd490c09fb0b05061bddd/go.mod#L9

    https://github.com/varnamproject/govarnam-ibus/blob/f6c20da27776d27b62fdd490c09fb0b05061bddd/go.mod#L14-L15

    Also nice work on this project :+1:

  • Add More Language Icons To Support Them

    Add More Language Icons To Support Them

    Some languages supported by GoVarnam are not included in IBus Engine because of missing icons. Need to add language icons to support them: https://github.com/varnamproject/govarnam-ibus/tree/master/icons

    A template SVG file is available there. Need to make icons like these: https://github.com/varnamproject/govarnam-ibus/blob/master/icons/varnam-hi.png

[TOOL, CLI] - Filter and examine Go type structures, interfaces and their transitive dependencies and relationships. Export structural types as TypeScript value object or bare type representations.

typex Examine Go types and their transitive dependencies. Export results as TypeScript value objects (or types) declaration. Installation go get -u gi

Dec 6, 2022
GNU-stow replacement to manage my dotfiles

Basically a replacement to GNU Stow for my use cases: TODO package for Homebrew add --dotfiles true|false flag add --script filename.sh flag that prin

Nov 27, 2022
safe and easy casting from one type to another in Go

cast Easy and safe casting from one type to another in Go Don’t Panic! ... Cast What is Cast? Cast is a library to convert between different go types

Jan 7, 2023
An experimental vulkan 3d engine for linux (raspberry 4)

protomatter an experimental vulkan 3d engine for linux (raspberry 4).

Nov 14, 2021
Linux UDisks2 (dbus) easy access from Go

udisks udisks gives you high level access to Linux system drives and block devices wrapping the udisk2 interfaces. An example command line udisks clie

Apr 25, 2022
An easy way to add useful startup banners into your Go applications
An easy way to add useful startup banners into your Go applications

Try browsing the code on Sourcegraph! Banner Add beautiful banners into your Go applications Table of Contents Motivation Usage API Command line flags

Jan 1, 2023
Yubigo is a Yubikey client API library that provides an easy way to integrate the Yubico Yubikey into your existing Go-based user authentication infrastructure.

yubigo Yubigo is a Yubikey client API library that provides an easy way to integrate the Yubikey into any Go application. Installation Installation is

Oct 27, 2022
Welcome to the future of programming languages: OK?
Welcome to the future of programming languages: OK?

OK? Try it out on the playground OK?'s mascot: Quentyn Questionmark. Programming Is Simple Again OK? is a modern, dynamically typed programming langua

Jan 1, 2023
Day-1 is apart of my 6 days of Christmas challenge where i write in two new languages everyday, and make something weird out of it.

Day-1 is apart of my 6 days of Christmas challenge where i write in two new languages everyday, and make something weird out of it. today was a HTTP server written with PostGreSQL using Golang, R, and shell script read more

Dec 21, 2021
godesim Simulate complex systems with a simple API.

godesim Simulate complex systems with a simple API. Wrangle non-linear differential equations while writing maintainable, simple code. Why Godesim?

Jan 5, 2023