Xpra: Ticket #2359: switch input method to ibus?

Looks like "xim" is being deprecated fast. Worse, this leaves some applications unusable: eclipse via xpra problem.



Tue, 23 Jul 2019 17:32:41 GMT - Antoine Martin: status changed

There's a note in the configure_imsettings_env function: the default: set DISABLE_IMSETTINGS=1, fallback to xim, that's because the 'ibus' 'immodule' breaks keyboard handling unless its daemon is also running - and we don't know if it is.. So it looks like ibus has its own problems... maybe those have been fixed? Or maybe we can figure out if the daemon is running somehow? Or start it ourselves if it is not?


Mon, 05 Aug 2019 10:20:29 GMT - Antoine Martin:

On the plus side, I can switch the keyboard layout using the systray tool. Problems:

The only useful documentation that I could find:


Tue, 06 Aug 2019 03:38:43 GMT - Antoine Martin:

I don't see anything wrong with the way we handle the tray clicks:

2019-08-06 10:34:06,273 activate_menu(<Gtk.StatusIcon object at 0x7f774692f780 (GtkStatusIcon at 0x55fff9bca830)>) modifiers_mask=<flags GDK_MOD2_MASK of type Gdk.ModifierType>
2019-08-06 10:34:06,273 handle_click(1, 0)
2019-08-06 10:34:06,273 may_guess() GUESS_GEOMETRY=False, current guess=None
2019-08-06 10:34:06,273 tray_click(1, 1, 0) tray=ClientTray(3:IBus Panel)
2019-08-06 10:34:06,273 button_packet=['button-action', 3, 1, 1, (1781, 21), ['mod2']]
2019-08-06 10:34:06,274 GTKStatusIconTray.get_geometry() <Gtk.StatusIcon object at 0x7f774692f780 (GtkStatusIcon at 0x55fff9bca830)>.get_geometry()=(True, screen=<GdkX11.X11Screen object at 0x7f7746856b40 (GdkX11Screen at 0x55fff88a4050)>, area=<Gdk.Rectangle object at 0x7f774685c360 (GdkRectangle at 0x55fff8971d00)>, orientation=<enum GTK_ORIENTATION_HORIZONTAL of type Gtk.Orientation>)
2019-08-06 10:34:06,274 GTKStatusIconTray.get_geometry() geometry area rectangle=(1771, 5, 24, 24)
2019-08-06 10:34:06,274 ClientTray(3:IBus Panel).reconfigure(False) geometry=(1771, 5, 24, 24)
2019-08-06 10:34:06,274 tray_click(1, 0, 0) tray=ClientTray(3:IBus Panel)
2019-08-06 10:34:06,275 button_packet=['button-action', 3, 1, 0, (1781, 21), ['mod2']]
2019-08-06 10:34:06,275 GTKStatusIconTray.get_geometry() <Gtk.StatusIcon object at 0x7f774692f780 (GtkStatusIcon at 0x55fff9bca830)>.get_geometry()=(True, screen=<GdkX11.X11Screen object at 0x7f7746856aa0 (GdkX11Screen at 0x55fff88a4050)>, area=<Gdk.Rectangle object at 0x7f774685c280 (GdkRectangle at 0x55fff8971d00)>, orientation=<enum GTK_ORIENTATION_HORIZONTAL of type Gtk.Orientation>)
2019-08-06 10:34:06,275 GTKStatusIconTray.get_geometry() geometry area rectangle=(1771, 5, 24, 24)
2019-08-06 10:34:06,275 ClientTray(3:IBus Panel).reconfigure(False) geometry=(1771, 5, 24, 24)

The GTKStatusIconTray backend receives the activate_menu event and fires a button press + release. So we would have to run without the panel: ibus-daemon --xim -v -r --panel=disable.


Tue, 20 Aug 2019 08:45:51 GMT - Antoine Martin: milestone changed

Too late for v3


Sat, 15 Feb 2020 12:32:35 GMT - Antoine Martin: milestone changed


Thu, 15 Oct 2020 07:34:18 GMT - Antoine Martin:

#2900 is a duplicate of this bug.


Sat, 23 Jan 2021 05:49:11 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2359