JURTA HOME
  JURTA TEXT  
A A A
 

How to disable blinking cursors

Chinese water torture

One of the most famous methods of torture is Chinese water torture. In this torture a tied person is placed under a bucket filled with water with a tiny hole in the bottom. Water is slowly dripped on to a person's forehead, eventually driving the victim insane.

Software development is not an easy task, and often after a painful process of writing a program developers feel they should share their pains with users, so they put a part of own sufferings onto the shoulders of users in a method similar to the Chinese water torture - blinking cursors.

Fortunately, programmers are not insensitive torturers, and sometimes they provide an option in their programs to turn blinking cursers off. But often these options are not documented, and are not easily accessible.

This page was created with the aim to collect in one place all methods for disabling cursor blinking in the most popular operating systems and applications. If you know how to turn blinking off in a program not listed here, please send precise instructions at the mail address you can find at the bottom of this page.

GNU Emacs

Turning the blinking cursor off in GNU Emacs is easy. Just type:

  M-x blink-cursor-mode RET

Note that this command is effective only when Emacs displays through a window system, because then Emacs does its own cursor display. On a text-only terminal, this doesn't work. You should look for separate settings of your terminal.

If you want to turn the blinking cursor off permanently in GNU Emacs, put in your .emacs the following line:

  (if (fboundp 'blink-cursor-mode) (blink-cursor-mode 0))

XEmacs

The development of XEmacs was easier than the development of GNU Emacs, because XEmacs developers don't have to sign legal papers to be able to borrow existing code from GNU Emacs to XEmacs. Since the development of XEmacs was easier, XEmacs developers decided not to share their pains with users, and turned the blinking cursor off by default.

Gnome and GTK applications

To disable blinking cursors in fields and text boxes in Gnome and GTK applications, run one of the following programs:

  gnome-control-center
  gnome-keyboard-properties

and select the option to disable the cursor to blink. This will create the file ~/desktop/gnome/interface/cursor_blink in your home directory.

From the command line, you can do it with the following command:

  gconftool-2 --set "/desktop/gnome/interface/cursor_blink" --type boolean "False"

GNOME Terminal

To disable the blinking cursor in GNOME Terminal, run gnome-terminal, and choose Edit -> Current Profile. To configure another profile that you set up choose Edit -> Profiles, select the profile you want to edit, then click Edit. The Editing Profile dialog contains the following tabbed sections that you can use to configure GNOME Terminal:

  Cursor blinks

Select this option to display a cursor that blinks. You can do it from the command line with the following command:

  gconftool-2 --set "/apps/gnome-terminal/profiles/Default/cursor_blink" --type boolean "False"

GIMP

Put the following line in ~/.gimp-version.number/gtkrc where version.number is a GIMP version number (for example ~/.gimp-2.2/gtkrc):

  gtk-cursor-blink = 0

See GTK+ Reference Manual for more information.

KDE and Qt applications

In KDE applications the cursor blink rate is not set by KDE, but by the underlying Qt libraries. To change it, perform the following steps:

  1. Install the package qtconfig. Depending on the version number, the package name can be qt3-qtconfig or qt4-qtconfig.
  2. Run the program qtconfig, or one of its aliases qtconfig-qt3, qtconfig-qt4.
  3. On the "Interface" tab scroll the field "Cursor Flash Time" down to the value "No blinking". You can use the PageDown key to scroll down faster in large increments.
  4. Save this config with Ctrl+s.

Alternatively, you can do this with the command line arguments:

  qtconfig -> Interface -> CursorFlashTime -> 0

This puts the following section in ~/.qt/qtrc:

  [General]
  cursorFlashTime=0

or depending on you version, it can put the following section in ~/.config/Trolltech.conf:

  [Qt]
  cursorFlashTime=0

LessTif applications

Put the following lines in your .Xdefaults or .Xresources file:

  ! Blink rate of the text insertion cursor in milliseconds.
  ! Set to zero to stop blinking.
  *blinkRate: 0

Mozilla Firefox

Make sure you have started Firefox at least once, so that you have a profile in ~/.mozilla/firefox/default.xxx/. Go to about:config in your browser, or alternatively, edit the prefs.js file in ~/.mozilla/firefox/default.xxx/, where xxx are letters or numbers. Throughout the about:config dialog, or in the prefs.js file you have to insert / edit the following lines as shown below:

  about:config, New -> Integer, ui.caretBlinkTime 0

or put in your user.js:

  user_pref("ui.caretBlinkTime", 0);

See Mozilla Customization for more information.

Netscape

Put the following lines in your .Xdefaults or .Xresources file:

  ! Set this to false to disable the <BLINK> tag.
  *blinkingEnabled: False
  ! How quickly (in milliseconds) the run light and/or logo should animate.
  *busyBlinkRate: 0

Tcl/Tk

Put the following line in your .Xdefaults or .Xresources file:

  *insertOffTime: 0

or add a specific Tcl/Tk application prefix (e.g. Tkinfo)

  Tkinfo*insertOffTime: 0

You can create a global file /usr/lib/X11/app-defaults/tkinfo with that line that will apply to all users of your site.

To have the new options take effect, restart your X server or use the program xrdb.

  xrdb -remove
  xrdb -merge ~/.Xresources
    or
  xrdb -merge ~/.Xdefaults

and check it with

  xrdb -query

Look at other standard Tk toolkit options here or here.

Console

Put the following line in your command shell startup file:

  echo -e '\033[?17;0;127c'

Linux kernel

You can apply the noblink patch to your local Linux kernel source tree, and recompile the kernel.

Java

The caret is rendered as a vertical line in the color specified by the CaretColor property of the associated JTextComponent. It can blink at the rate specified by the BlinkRate property.

Java Desktop System

To stop the cursor blinking in text boxes and fields, perform the following steps:

  1. Click Launch, then choose Preferences > Desktop Preferences > Keyboard > Behavior to start the Keyboard Behavior preference tool.
  2. In the Keyboard tabbed section, deselect the Cursor blinks in text boxes and fields option.