Curious cursor complication with Emacs and Windows Magnifier
I recently noticed a bug when you start GNU Emacs win32 after starting Windows Magnifier: Emacs' cursor becomes a single-pixel "caret" instead of the box cursor. This makes the cursor very hard to find.
I usually leave Emacs' cursor at the default (box
) because this is so much easier to see, especially if you also enable blink-cursor-mode
(though that's a matter of taste, I suppose). The default settings also set the cursor to a hollow
box when the window
(or the entire frame
) is inactive.
Really, a text editor is unusable with a "caret" or bar-shaped cursor.
The following behaviors are observed with this bug:
- This affects at least GNU Emacs versions 23.1 for Windows, and 24.0 compiled with mingw for win32
- The actual shape of the cursor has no correspondence with the value of the
cursor-type
variable: it is always as-if the value were(bar . 1)
(a vertical bar, one pixel wide) - The cursor blinks, whether you have enabled
blink-cursor-mode
or not - The value of the Windows Registry key
HKCU\Control Panel\Desktop\CaretWidth
also has no bearing on the cursor shape (though this key is great for setting the cursor thickness in other Windows programs...) - (This one took me ages to find) It only happens if Windows Magnifier is running before you start Emacs. If you start Emacs first, and then start Magnifier, the cursor is unchanged and respects the value of
cursor-type
So, the work-around for this is to start Emacs before you run Magnifier (especially: make sure the Windows Accessibility feature that starts Magnifier when you log in, is turned OFF).
As far as I can tell, there is no bug report for this. I may file one when I get around to figuring out GNU's bug-tracker.