IBusEngineSimple is fixed for custom compose files
- Show preeedit with custom compose file
- Tentative compose preedit can be deleted by Backspace
BUG=https://github.com/ibus/ibus/issues/2058
Thinking about the reset signal again, now I think it's good to emit
the reset signal and clear the preedit on mouse click for any engines
besides Hangul because the behavior could be handled by each engine
with the reset signal.
BUG=https://github.com/ibus/ibus/issues/1980
retrieve-surrounding signal could be failed with the first typing
on firefox. It could be a bug in firefox but now IBusIMContext does not
delete IBUS_CAP_SURROUNDING_TEXT in the capabilities as a workaround
when retrieve-surrounding signal is failed.
Also added retrieve-surrounding signal after some committing text.
BUG=https://github.com/ibus/ibus/issues/2054
If preedit text is not committed with the mouse click, preedit text
is moved to the new cursor position in Hangul typing.
Since set_cursor_location() is received before the reset() signal is
sent to ibus-daemon and commit_text() signal is received from
ibus-daemon, UpdatePreeditTextWithMode D-Bus method is newly added
and now ibus clients commit the preedit.
BUG=https://github.com/ibus/ibus/issues/1980
ibus-bus and ibus-compose failed in Fedora 29.
1. In ibus-bus with runtest, ibus-daemon failed to restart in
start_exit_async() because it seems to have conflicting IO with runtest
and ibus-daemon failed to close a file descriptor in _restart_server().
The solution is to add a sleep in start_exit_async().
Also added ibus_get_address() in test_async_apis_finish() to check
if ibus-daemon finished to restart.
2. In ibus-compose, the GTK application could not get the ibus module.
The solution is to export GTK_IM_MODULE=ibus.
3. Added DISABLE_DAEMONIZE_IN_TESTS to get error messages in ibus-daemon.
% make DISABLE_DAEMONIZE_IN_TESTS=1 check
gsettings-schema-convert has not worked with python3 since GConf
has been deprecated since 2011 so we cannot disable python2
in canse GConf is enabled.
I don't wish to maintain both ibus.schemas.in and
org.freedesktop.ibus.gschema.xml.in and now decide to delete
whole the GConf builds.
gsettings is now stable and can be used instead.
ibus-dconf will be deperecated in the near future.
BUG=https://bugzilla.gnome.org/show_bug.cgi?id=759334
Just pressing Space key without emoji annotations can launch Emojier
popup and the popup takes a focus in Wayland and the chosen emoji is
output when the original text application gets the focus after Emojier
popup release the focus. Emojier disabled Ctrl-Shift-e after got the focus.
But currently GNOME Wayland has a bug not to send focus-in until a
key press or mouse click happens [1] and Emojier causes a SEGV.
Now Emojier disables Ctrl-Shift-e immediately when an emoji is chosen
whether focus-in comes or not and fixes the SEGV.
[1] https://gitlab.gnome.org/GNOME/gnome-shell/issues/573
BUG=rhbz#1625187
Emojier still included Gtk.Entry, accepted key events in Wayland,
reset the lookup table and it caused SEGV because IBus.Text
is NULL in the lookup table in Emojier.get_current_candidate().
Now Gtk.Entry is deleted completely.
BUG=rhbz#1618682
popup window in firefox is closed in Xorg GNOME when password entry
is focus on. It's caused by gnome-shell [1].
Now IBUS_DISCARD_PASSWORD and IBUS_DISCARD_PASSWORD_APPS enviroment
variables are implemented in IBus GTK clients as a workaround.
env IBUS_DISCARD_PASSWORD=1 firefox
or
export IBUS_DISCARD_PASSWORD_APPS='firefox,.*chrome.*'
can discard typing characters on the password entries.
[1] https://gitlab.gnome.org/GNOME/gnome-shell/issues/391
BUG=https://github.com/ibus/ibus/issues/2002
Since GLib 2.46, memory profiling feature does not work anymore.
GLib 2.46 or later means that Ubuntu 16.04 or later. Ubuntu
14.04 (trusty) are still supported as LTS phase, but it seems that
GLib is old enough (2.40) to drop support.
As a result:
* older than GLib 2.46: Just drop support
* GLib 2.46 or later: Show a warning message if --mem-profile is
used.
ibus_key_event_to_string() uses g_string_free(str, FALSE) to return
a string so that users must free it. To clarify it, the const
modifier should be removed.
panel_binding_parse_accelerator() could return NULL of the unowned
IBus.ProcessKeyEventData with gcc optimization.
Since Vala does not provice a static local variable, the variable is
moved to the class member to fix this SEGV.
Also fixed an infinite loop to show a compose preedit in xterm.
Also a NULL preedit is fixed in the first emoji candidate from the
emoji category window.
Some applications could combine their committed string with compose
character on preedit. E.g. dead_grave after 'e' on firefox
BUG=https://github.com/ibus/ibus/issues/1935
Now the font settings of emoji is configurable in the session base
but not the application base and the current font setting on ibus-setup
effects on Unicode characters.
Also fixed the progress bar on Unicode candidate table.
Fixed ibus read-config and reset-config options and also added --engine-id
sub option for engine schemas.
E.g.
% ibus read-config --engine-id anthy
% ibus read-config --engine-id com.github.libpinyin.ibus-libpinyin.libpinyin
Since IBus auxiliary text would be one line, it's better to show the
character attributes likes color, italic, bold, on the auxiliary text.
Also deleted the cursor width from the X position of CandidatePanel
because IBus preedit overrides the original cursor of the applications.