Blinking Cursor


You can do this by editing your ~/.atom/stylesheet.css file (click Atom > Open Your Stylesheet). Then add this: .cursor.blink-off {
  visibility: visible;

Press save and you should see the cursor stop blinking.

Edit: @mkleehammer pointed out that the selector needed to be more specific.

Caret blinks during typing
React Editor does not respect cursor settings

That is really nice thanks.


Any hints on how to control the blink frequency? The default blink rate is faster than OSX default by just enough that it drives me absolutely nuts.


So, figured it out:
The cursor blink period is controlled by a hard-coded value in Resources/app/src/cursor-view.js inside the app package (right click, ‘Show Package Contents’).

The culprit is on line 27:

CursorView.blinkPeriod = 800;

(default blink rate on OSX is 1000ms)

I’m currently digging around in the atom.config stuff to see if there’s a good way to set this in config.cson…

Update: As far as I can tell, there’s no way to set this via config. Editing cursor-view.js with your desired value and restarting Atom works, though.

How to set cursorBlinkPeriod in new react.js editor

Somewhat question related: Is there anyway to instead make the cursor a square, like in vim when in the command line?



Is there any way to blink smoothly? As it done in sublime’s "caret_style": "phase"? (see #1 here)


Yep! You can do it with css transitions:


This stopped working recently, after the switch to the React editor I think. Just tested again on 0.120 OS X. Any ideas?


I believe the solution is here:


That discusses changing the blink period, but I couldn’t find a number to turn it off. However, I dug through the Atom code and discovered that the classes may have changed. This works: .cursors.blink-off .cursor {
  visibility: visible;


None of the CSS approaches suggested here work for me in stopping the cursor from blinking, in the latest build.


I got it to work like this: .cursors.blink-off .cursor {
   opacity: 100;

The visibility: visible suggestion doesn’t work.

But maybe ideally you’d stop the editor from inserting and removing the .blink-off class on an interval.


All the previous suggestions didn’t work. This seems to work:

atom-text-editor::shadow .cursors .cursor {
  opacity: 100;

I found the snippet in the README of the block-cursor package.


It’s actually

atom-text-editor::shadow .cursor {
  opacity: 1;

that disables the cursor blinking


This doesn’t doesn’t disable cursor blinking in Version 0.188.0.


This is what made it work for me using Atom v0.189.0-ca39bde:

atom-text-editor::shadow .cursors .cursor {
  opacity: 1;


Just tested it, and @leedohm’s suggestion should work in v0.188.0. Are you by any chance using packages that alter the cursor?


It could also be the syntax theme you’re using. What syntax theme do you use?


The last version of snippet still works as of Atom 1.0.11. The only annoying thing is that carets are always visible in input fields (e.g. in Settings), so I have added .is-focused:

atom-text-editor::shadow .is-focused .cursors .cursor {
  opacity: 1;