How can I make IBus not ignore ~/.XCompose?

Solution 1:

As stated by @von, you CANNOT use your .XCompose with IBUS for now.

You can use uim as Input Method, which supports Unicode, both GTK+ and Qt immodules with legacy XIM support.

A good way to handle your .XCompose and keep existing global Compose is:

  1. Install uim:

    sudo apt-get install uim

  2. Make it the default Input Method:

    im-config -n uim

  3. Edit your .XCompose and add the current keyboard locale (in my case, en_US) as first line:

    include "/usr/share/X11/locale/en_US.UTF-8/Compose"

  4. Done! Restart the programs you want to start to get your .XCompose file.

Known Issues

Ubuntu Unity Dash will never produces a cedilla.

Other Distros

I played a bit with .XCompose and Input Methods on modern distros these days, while trying make Linux keep the same keyboard behavior as Windows(TM) for latin languages (output ç instead of ć, no accented consonants, etc).

I created a repo with this instructions (for Ubuntu and other distributions too): https://github.com/raelgc/win_us_intl

Solution 2:

Since Dennis Williamson said it worked in 16.04 in a comment above, I tested in this fresh 18.04 install with a short .XCompose copied from my previous 16.04 install.

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <R> <R> <R>             : "ʁ"   U0281 # LATIN LETTER SMALL CAPITAL INVERTED R

Then I ran ibus restart in a terminal and I can type ʁ.