Looks like "xim" is being deprecated fast. Worse, this leaves some applications unusable: eclipse via xpra problem.
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?
On the plus side, I can switch the keyboard layout using the systray tool. Problems:
ibus-daemon --xim -v
The only useful documentation that I could find:
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
.
Too late for v3
#2900 is a duplicate of this bug.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2359