Developer Documentation 👩‍🔧

Contents


Reporting bugs 🐞

You can report bugs and suggest improvements in the github issue tracker: https://github.com/mike-fabian/ibus-typing-booster/issues

Translation 🇺🇳

You can contribute translations for ibus-typing-booster using the online translation platform weblate: https://translate.fedoraproject.org/projects/ibus-typing-booster/.

If you cannot use weblate, you can also create a pull request for new or updated translations.

Mailing list 📬

https://lists.fedorahosted.org/admin/lists/ibus-typing-booster.lists.fedorahosted.org/

git repository 🐱

You can browse the source code at https://github.com/mike-fabian/ibus-typing-booster.

Anonymous git clone

$ git clone git://github.com/mike-fabian/ibus-typing-booster.git

Authorized git clone

$ git clone git@github.com:mike-fabian/ibus-typing-booster.git

Releases

Release tarballs are available at https://github.com/mike-fabian/ibus-typing-booster/releases.

Building and installing from source 🛠️

When using a git checkout, go to the directory of the checkout and use autogen.sh:

$ cd ibus-typing-booster
$ ./autogen.sh

autogen.sh automatically runs configure and you can give the same arguments to autogen.sh you can give to configure. See below for the right arguments for your distribution.

When using the source from a release tarball, unpack the tarball and go into the source directory:

$ tar xvf ibus-typing-booster-2.27.53.tar.gz
$ cd ibus-typing-booster-2.27.53

Now continue like this:

$ ./configure --prefix=/usr --libexecdir=/usr/libexec/  # on Fedora
# ./configure --prefix=/usr --libexecdir=/usr/lib/ibus/ # on most other distributions
$ make
$ make check # optional
$ make install

For all distributions: please use --prefix=/usr and not the default /usr/local, installing into /usr/local will usually not work!

And use the correct --libexecdir option for your distribution, the default is --libexecdir=/usr/libexec which is correct for Fedora, but on openSUSE and Debian based distributions and Alpine Linux it is --libexecdir=/usr/lib/ibus!

Build requirements

To build ibus-typing-booster, you will need at least (Package names may differ depending on your distribution!):

If you build from a git checkout and not from a release tarball, you also need:

If you also want to run the test-suite with “make check”, you also need the following packages:

Now you can build and install.

Runtime requirements

To run ibus-typing-booster, the following software is required or optional for additional features (Package names may differ depending on your distribution!):

Required

Optional

Running from a source tree 🌳🏃‍♀️‍➡️

To run Typing Booster directly from the source directory (unpacked tar or git clone), follow these steps:

Build

Build as usual, just omit the make install at the end.

Check and Kill Any Running Instances

Before starting, ensure no other Typing Booster process is active. You can check and terminate it using one of these methods:

Using pgrep and pkill:

$ pgrep -u ${USER} -a -f ibus-typing-booster/engine/main.py
2803020 /usr/bin/python3 /usr/share/ibus-typing-booster/engine/main.py --ibus
$ pkill -u ${USER} -f ibus-typing-booster/engine/main.py

Using ps and kill:

$ ps aux | grep ibus-typing-booster/engine/main.py
mfabian  2803020  8.1  1.4 2617344 474388 ?      SLl  23:33   0:04 /usr/bin/python3 /usr/share/ibus-typing-booster/engine/main.py --ibus
$ kill 2803020

Start Typing Booster from Source

From the top-level source directory, run:

$ python3 ./engine/main.py --profile

(Alternatively, python3 ../ibus-typing-booster/engine/main.py --profile works too. Using the full path makes it easier to grep for the process later.)

Switch to Typing Booster in IBus

Notes:

Distribution specific stuff for building, installing, and running

Fedora

Build requirements

To build ibus-typing-booster, you will need at least:

If you build from a git checkout and not from a release tarball, you also need:

If you also want to run the test-suite with “make check”, you also need the following packages:

Now you can build and install.

Runtime requirements

Required

Optional

openSUSE

Build requirements

To build ibus-typing-booster, you will need at least:

If you build from a git checkout and not from a release tarball, you also need:

If you also want to run the test-suite with “make check”, you also need the following packages:

Now you can build and install but remember to use --libexecdir=/usr/lib/ibus/ when running ./configure or ./autogen.sh!

Runtime requirements

Required

Optional

Ubuntu

Build requirements

To build ibus-typing-booster, you will need at least:

If you build from a git checkout and not from a release tarball, you also need:

If you also want to run the test-suite with “make check”, you also need the following packages:

Now you can build and install but use --libexecdir=/usr/lib/ibus/ when running ./configure or ./autogen.sh!

Runtime requirements

Required

Optional

Alpine Linux

Build requirements:

To build ibus-typing-booster, you will need at least:

If you build from a git checkout and not from a release tarball, you also need:

If you also want to run the test-suite with “make check”, you also need the following packages:

Now you can build and install but use --libexecdir=/usr/lib/ibus/ when running ./configure or ./autogen.sh!

Runtime requirements

Required

Optional