summaryrefslogtreecommitdiff
path: root/lisp/cus-start.el
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-01-08 15:21:51 +0800
committerPo Lu <luangruo@yahoo.com>2022-01-08 15:21:51 +0800
commitd76fb0c11e9859db0d03d6496f5a720d304f4ca9 (patch)
tree89035fe1de1c0835716c45c9747e74128308e039 /lisp/cus-start.el
parent63c83e40dad88036d5ceef17eace51056a18b55f (diff)
downloademacs-d76fb0c11e9859db0d03d6496f5a720d304f4ca9.tar.gz
Allow using GTK+ to handle input methods on X
* doc/emacs/xresources.texi (Table of Resources): Document new value of `inputStyle'. * etc/NEWS: Announce new option. * lisp/cus-start.el (standard): Add `x-gtk-use-native-input'. * src/gtkutil.c (xg_mark_data): Mark xg_pending_quit_event. (xg_add_virtual_mods): (xg_im_context_commit): (xg_im_context_preedit_changed): (xg_im_context_preedit_end): (xg_widget_key_press_event_cb): (xg_filter_key): New functions. * src/gtkutil.h: Add prototype for `xg_filter_key'. * src/xfns.c (xic_set_preeditarea): Set cursor location for the GTK IM context as well. * src/xterm.c (xg_pending_quit_event): New variable. (x_focus_changed): Set focus on the GTK input context as well. (x_filter_event): Filter events through GTK if the user asked for it. (handle_one_xevent): Likewise. (XTread_socket): Set hold_quit to xg_pending_quit_event if it exists. (x_draw_window_cursor): Always set preedit area even if XIC doesn't exist. * src/xterm.h (struct x_display_info): New field `prefer_native_input'. (struct x_output): New field `im_context'.
Diffstat (limited to 'lisp/cus-start.el')
-rw-r--r--lisp/cus-start.el1
1 files changed, 1 insertions, 0 deletions
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index 667e36b211c..4227cec425c 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -829,6 +829,7 @@ since it could result in memory overflow and make Emacs crash."
(x-stretch-cursor display boolean "21.1")
(scroll-bar-adjust-thumb-portion windows boolean "24.4")
(x-scroll-event-delta-factor mouse float "29.1")
+ (x-gtk-use-native-input keyboard boolean "29.1")
;; xselect.c
(x-select-enable-clipboard-manager killing boolean "24.1")
;; xsettings.c