From: Po Lu Date: Fri, 22 Apr 2022 01:06:44 +0000 (+0800) Subject: Add an option to disable XI2 for debugging purposes X-Git-Tag: emacs-29.0.90~1931^2~366 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=664da3e936010b5025b485b67969156ccadb0b44;p=emacs.git Add an option to disable XI2 for debugging purposes * src/xterm.c (handle_one_xevent): Accept resource `disableInputExtension', which means to skip setting up the X input extension. --- diff --git a/src/xterm.c b/src/xterm.c index 69e9302973c..adfe3059d1d 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -23009,9 +23009,9 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) SynchronizeResize, Qnil, Qnil); - if (STRINGP (value) && - (!strcmp (SSDATA (value), "false") - || !strcmp (SSDATA (value), "off"))) + if (STRINGP (value) + && (!strcmp (SSDATA (value), "false") + || !strcmp (SSDATA (value), "off"))) dpyinfo->xsync_supported_p = false; } #endif @@ -23136,6 +23136,23 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) int major = 2; int xi_first_event, xi_first_error; +#ifndef HAVE_GTK3 + { + AUTO_STRING (disableInputExtension, "disableInputExtension"); + AUTO_STRING (DisableInputExtension, "DisableInputExtension"); + + Lisp_Object value = gui_display_get_resource (dpyinfo, + disableInputExtension, + DisableInputExtension, + Qnil, Qnil); + + if (STRINGP (value) + && (!strcmp (SSDATA (value), "on") + || !strcmp (SSDATA (value), "true"))) + goto skip_xi_setup; + } +#endif + #ifdef HAVE_XINPUT2_4 int minor = 4; #elif defined HAVE_XINPUT2_3 /* XInput 2.3 */ @@ -23231,6 +23248,9 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) } dpyinfo->xi2_version = minor; +#ifndef HAVE_GTK3 + skip_xi_setup: +#endif #endif #ifdef HAVE_XRANDR