gnome-terminal cursor

The latest release of gnome-terminal has removed the ability to disable the blinking cursor, which I had previously turned off. The only way to disable it is to disable blinking cursors in all text entry widgets. For some reason I prefer the cursor in text boxes to blink, but cannot stand a blinking terminal cursor. Every blink jars my mind and I lose focus, like someone’s looking at me waving his hands and yelling “hey!” every second.

Blink. Blink. Blink. Arrrgh.

Anyway, since the developers saw fit to remove this feature presumably under the GNOMEism of “keep things simple, users be damned,” I have coded a quick patch to permanently disable cursor blinking in gnome-terminal.

As frustrated as I am at what I think is a stupid decision, at least this is free software.

25 Replies to “gnome-terminal cursor”

  1. it follows now the gnome-rules… cursor blink can be disabled in the gnome-keyboard-settings.

  2. You missed the part where I said that I want cursors in text boxes to blink, but not in the terminal. You can’t disable one without disabling the other anymore.

  3. I don’t know. You might try looking for the commit where this feature was removed from gnome-terminal and see if patch can revert the diff.

  4. What Gnome developers have missed is that a caret in a text widget and a block cursor in the terminal are different things. I also like the blinking caret line which helps to locate it a body of text. But blinking block cursor rectangle just brings too much distraction.

    In any case, thanks for the patch, I will try it.

  5. how did you compile this one manually?

    i did “sudo apt-get source gnome-terminal” to download source files, and tried to compile by typing “./configure” in that directory, but it complained that it cannot recognise “vte” package, and more.

    ————————————-
    error message:

    checking for TERM… configure: error: Package requirements ( glib-2.0 >= 2.15.2 gtk+-2.0 >= 2.12.0 gconf-2.0 >= 2.14.0 gio-2.0 libglade-2.0 libgnomeui-2.0 libgnome-2.0 >= 2.14.0 libstartup-notification-1.0 >= 0.8 vte >= 0.15.3) were not met:

    No package ‘vte’ found

    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    installed software in a non-standard prefix.

    Alternatively, you may set the environment variables TERM_CFLAGS
    and TERM_LIBS to avoid the need to call pkg-config.
    See the pkg-config man page for more details.
    ————————————-

    thanks,

  6. Soo-Hyun Choi:

    You also need to “sudo apt-get build-dep gnome-terminal” to install the required build dependencies.

  7. alt+F2 and type in “gconf-editor” (without the quotes) gives a lot of options. I think there are some to do with cursor blinking in the desktop section of the tree. Not sure if it’s what you are looking for but thought it was worth a mention.

  8. @Hippy:

    Yes, there is. But again, it is system-wide and for *all* text widgets, not just terminals.

    (It is in fact the same value that the previously-discussed setting in the keyboard preferences adjusts.)

  9. Hi Chris,

    I was afraid that this was the case. Nomen est omen… Gnome gets more and more, well, gnomish. I just upgraded my Debian (lenny/testing) and a few new gnome packages sneaked in and thus a lot of things breaked. The first thing I noticed was the irritating blinking block cursor. At first I thought that I just forgot where to turn it off (well, normally you turn it of once and then it remains like that between upgrades). Then I found that I was not able to arrange my 9 virtual desktops in a 3×3 grid. (The gnome guys blame brightside for this, but then why does it need an independent piece of software to be able to edge flip with my mouse?)

    Anyway, thanks for the patch. Now that I know that I have to recompile, I think I’ll put it away for a while. 🙂

  10. I have never built a package from source, but this worked for me. I wanted to do all of this as root so all of these files would end up in the /root folder, since they are going to have root permissions. So I did the following.

    sudo -i # so we will be in /root
    apt-get install devscripts build-essential fakeroot # tools needed to do this
    apt-get source gnome-terminal # program source
    apt-get build-dep gnome-terminal # dependancies
    wget http://www.chrishowie.com/files/gnome-terminal-stop-blinking-at-me.patch # get patch
    cd /root/gnome-terminal-2.22.1 # goto source base diretory
    patch -p1 < /root/gnome-terminal-stop-blinking-at-me.patch # apply patch
    debuild -us -uc # build package
    cd /root # back to root
    dpkg -i gnome-terminal_2.22.1-0ubuntu2_i386.deb gnome-terminal-data_2.22.1-0ubuntu2_all.deb
    # optional get rid of all gnome-terminal related files
    rm -rf gnome-terminal*
    exit

    I never imagining patching a deb package would be so easy.
    Thanks for the great work on the no-blink patch

  11. Just reinstalled ubuntu8.04.. First thing I did was install all the patches.. rebooted.. now I noticed that the cursor blinks.. how annoying..

    Didn’t do that before I rebooted and I could’ve swarn I could turn it off previously.

    I know I’ll just check the help search blink.. click click click ah yes: (from the help page on this freshly patched system)

    Allow bold text
    Select this option to enable the terminal to display bold text.

    Cursor blinks
    Select this option to display a cursor that blinks.

    Show menubar by default in new terminals
    Select this option to show the menubar on new terminal windows.

    So someone arbitrarily decided to remove this feature but it was left in the online help.. now.. what’s better, having a consolidated cursor blinking feature that irritates SOME users.. or having inconsistent help documentation..

    Brilliant.. sigh, time to look at the gconf awfulness or perhaps the source code

  12. @FredW: Thanks for the directions. Note that doing this as root is a Bad Idea. Instead install the fakeroot package and add -rfakeroot to your build line.

    @cpitch: Yeah, it sucks. Don’t bother with gconf. You won’t find anything useful.

  13. A bit off topic maybe, but, personally, I do like it to blink, and I was looking for a way to convert the cursor on the console from the palsy ‘dash’ to a full block.
    Do you happen to know a way to do that?

    I love the way you can control that little, totally irrelevant things on FreeBSD 😀

    Thanks.

    (Yes, I use the console a lot, since the Presario 1200 I’m using with Ununtu can only do 800×600, it is nearly as practical as the console -with a custom vga setting-

  14. is there a bugzilla entry for this feature? i want to put my voice to get ability to disable cursor blinking in gnome-terminal

  15. Hi,
    have you tried gconf-editor? Set the value of /apps/gnome-terminal/profiles/Default/cursor_blink_mode to “off”. The default is system.
    Hope this helps.
    Petr

  16. Pingback: rakko-style
  17. @Petr: nice suggestion, well spotted. However, this is not only an obscure method compared to what used to be, but is also partially broken. If you have previously created your own gnome-terminal profile (before the removal of the relevant gnome-terminal option), it will not inherit the default “blink off” behavior set via gconf-editor, and neither can you change it via the editor because the profile’s gconf entries will be out of date. You have to start over again!

Comments are closed.