Subject: bug#35435: 26.1; Gnome magnifier not following cursor when typing in emacs

From: Eric Danan <[email-masked]>
Date: Fri, 26 Apr 2019 13:05:41 +0200

Hello,

Due to a visual impairment I constantly work with a screen magnifier 
turned on (in full screen mode), and I need it to track the cursor/caret 
to follow what I am typing.

So far I am using emacs 26.1 on cygwin on windows 10, and the windows 10 
magnifier does the job of tracking the cursor.

I am considering switching to gnome on linux and therefore installed the 
fedora (version 29) distribution to try it out. The gnome (3.30) shell 
magnifier supports cursor tracking and it works in other applications 
but not emacs (26.1).

I previously sent this message to the gnome accessibility list (that was 
a long time ago in 2015, so with earlier versions of emacs and gnome) 
and got a reply from Alex Arnaud stating:

 > I've tried to test Emacs with Accercicer (a accessibility debug tool) 
and my conclusion are Emacs doesn't connect it to AT-SPI (accessibility 
stack).

I then wrote to the emacs-devel mailing list 2 months ago and Stefan 
Monnier suggested that I open a bug.

A simple recipe to reproduce the issue is:
- Turn on gnome magnifier from Settings > Universal access,
- Launch emacs
- Start typing in the scratch buffer
As you type, the magnified area would be expected to move to follow the 
cursor, but it does not and at some point the cursor leaves the 
magnified area so you do not see what you are typing anymore.

Please let me know if any further information is needed.

Best regards,

Eric

In GNU Emacs 26.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.23.2)
  of 2018-08-13 built on buildvm-13.phx2.fedoraproject.org
Windowing system distributor 'Fedora Project', version 11.0.12001000
Recent messages:
Loading 
/usr/share/emacs/site-lisp/site-start.d/desktop-entry-mode-init.el 
(source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
GNU Emacs 26.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.23.2) 
of 2018-08-13
You can run the command ‘emacs-version’ with M-x em-v RET
GNU Emacs 26.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.23.2) 
of 2018-08-13

Configured using:
  'configure --build=x86_64-redhat-linux-gnu
  --host=x86_64-redhat-linux-gnu --program-prefix=
  --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
  --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
  --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
  --libexecdir=/usr/libexec --localstatedir=/var
  --sharedstatedir=/var/lib --mandir=/usr/share/man
  --infodir=/usr/share/info --with-dbus --with-gif --with-jpeg --with-png
  --with-rsvg --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3
  --with-gpm=no --with-xwidgets --with-modules
  build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu
  'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Werror=format-security
  -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
  -fstack-protector-strong -grecord-gcc-switches
  -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
  -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic
  -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
  LDFLAGS=-Wl,-z,relro
  PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS NOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 MODULES THREADS XWIDGETS LCMS2

Important settings:
   value of $LANG: en_US.UTF-8
   value of $XMODIFIERS: @im=ibus
   locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
   tooltip-mode: t
   global-eldoc-mode: t
   eldoc-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   line-number-mode: t
   transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils elec-pair time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode elisp-mode lisp-mode prog-mode register page menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting xwidget-internal
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 96098 11551)
  (symbols 48 20401 1)
  (miscs 40 92 168)
  (strings 32 28397 1053)
  (string-bytes 1 744576)
  (vectors 16 14658)
  (vector-slots 8 497076 9596)
  (floats 8 50 153)
  (intervals 56 314 0)
  (buffers 992 12))