Why cursors blink

October 22, 2006

Cursors on 'dumb' serial terminals blink because their location usually is the most important spot on the screen; it was where your typing would go. Blinking made sure that you weren't going to lose track of it.

Cursors in terminal emulators blink because people haven't bothered to rethink this in the face of multiple windows. (I'm not sure that they've thought about it deeper than 'dumb terminal cursors blink, let's imitate them'.)

That's a strong statement. Let me try to justify it.

In GUI text controls, the active insertion point blinks (slowly) to keep it from being mistaken for a pipe character (according to the Apple Human Interface Guidelines) and to attract your attention to where your typing will go. However, the standard insertion point is a relatively hard to see vertical bar, usually floating in a sea of controls.

By contrast, terminal emulator cursors are usually square boxes, in a much more obvious setting (and their blinking is much, much more visible and thus much more irritating). Such a cursor is not going to be confused for any character normally found in nature (and if you are going to worry about reverse video spaces, you might as well worry about blinking reverse video spaces too).

A large blinking thing is a strong attention attractor, because people are reflexively attracted to apparent motion and change. However, in a multi-window environment you can't assume that you're the most important thing and that the user's attention should be dragged to you all the time, even if you currently have the mouse focus.

(As you can tell, this is one of my pet peeves.)


Comments on this page:

From 67.181.30.74 at 2006-10-23 02:38:56:

It's time for you to kick your xterm habit and switch to gnome-terminal.

-- P

By cks at 2006-10-23 08:16:50:

I keep being unconvinced of the benefits of switching. As far as I can tell, the only feature gnome-terminal really has over xterm is 'open link' if you select a URL, and I long ago built a more general version for my environment. And gnome-terminal lacks some features in comparison to xterm, such as the vital ziconbeep stuff, and it has less sophisticated and useful word selection.

Modern xterms will use Xft fonts if I want to switch to them, so I don't think that's a net win or loss.

By cks at 2006-10-23 08:19:12:

(While gnome-terminal blinks the cursor by default, you can turn that off. Turning off cursor blink and the menubar are the first customizations I make in a new Gnome environment.)

From 128.100.49.60 at 2006-10-23 10:08:56:

In which terminal emulator do you get the blinking cursor?

My desktop is KDE on Solaris 10 (Sparc), I use both KDE's Konsole terminal emulator and regular xterms. None of them have a blinking cursor. If I login to a remote host (even Redhat systems) and run xterm I don't get a blinking cursor either. What I get is a solid cursor if the window has focus or a hollow cursor as soon as it loses focus.

Now if I run gnome-terminal from my KDE desktop, I get a blinking cursor but only if it has focus, hollow non-blinking when it loses focus.

OdR

By cks at 2006-10-23 10:12:58:

gnome-terminal defaults to a blinking solid cursor (if it has focus; I don't think anyone is stupid enough to have their terminal emulator blink the cursor if it doesn't have focus).

(xterm has an option for a blinking cursor, which defaults to off and I leave it that way.)

Written on 22 October 2006.
« Weekly spam summary on October 21st, 2006
A dump performance hint: the block size really matters »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sun Oct 22 23:03:01 2006
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.