
Configure
Multiple cursor types can be registered in config.cson. The block-cursor:new-custom-cursor command can register a new cursor type.
The following properties can be set for each cursor type:
selector: 'atom-text-editor'
scopes: [ '*' ]
blinkOn:
backgroundColor: '#393939'
borderStyle: 'none'
borderColor: 'transparent'
borderWidth: 0
blinkOff:
backgroundColor: 'transparent'
borderStyle: 'none'
borderColor: 'transparent'
borderWidth: 0
pulseDuration: 0
cursorLineFix: false
selector
Defines which atom-text-editor elements the cursor type should apply to. The selector should select an atom-text-editor element.
scopes
List of scopes that the cursor type should apply to.
blinkOn.backgroundColor & blinkOff.backgroundColor
The background color of the cursor in blink-on or blink-off state.
blinkOn.borderStyle & blinkOff.borderStyle
The border style of the cursor in blink-on or blink-off state. Can be one of the following:



none
blinkOn.borderColor & blinkOff.borderColor
The border color of the cursor in blink-on or blink-off state.
blinkOn.borderWidth & blinkOff.borderWidth
The border width of the cursor in blink-on or blink-off state.
pulseDuration
Pulse effect that fades the cursor from blink-on to blink-off state (instead of blinking). Set to 0 to disable.

cursorLineFix
When your syntax theme uses a background-color on .cursor-line - the line the cursor is on - the block cursor may become invisible. This is because the cursor has a z-index of -1, to make it render behind the text instead of above it. This fix sets the cursor's z-index to 1, to make it render above the text, so you should use low alpha values for primaryColor and secondaryColor if you enable this fix.
The cursorLineFix is currently ignored due to the new tile rendering of the editor that was introduced in Atom v0.209.0. It will always be set to true, to allow the cursor to render above the text, so make sure the background colors you use have low alpha values. Otherwise the character under the cursor will not be visible.
You can also add this to your styles.less to disable the line highlight:
atom-text-editor.editor .lines .line.cursor-line {
background-color: transparent;
}
Example config
"block-cursor":
# white cursor by default
global:
blinkOn:
backgroundColor: "white"
# dary grey cursor on [mini] editors
mini:
selector: "atom-text-editor[mini]"
blinkOn:
backgroundColor: "darkgrey"
# box cursor when editor is not focused
"no-focus":
selector: "atom-text-editor:not(.is-focused)"
blinkOn:
backgroundColor: "transparent"
borderColor: "white"
borderStyle: "bordered-box"
borderWidth: 1
# red cursor in coffeescript
"coffee-script":
scopes: [ ".source.coffee" ],
blinkOn:
backgroundColor: "red"
# lightgray cursor when using the one-dark-syntax theme
"one-dark-syntax":
selector: ".theme-one-dark-syntax atom-text-editor"
blinkOn:
backgroundColor: "lightgray"
# darkgray cursor when using the one-light-syntax theme
"one-light-syntax":
selector: ".theme-one-light-syntax atom-text-editor"
blinkOn:
backgroundColor: "darkgray"
Commands
block-cursor:new-custom-cursor
This command adds a new cursor type that can be customised customise to config.cson, that can be configured from the settings view. By default it will be called custom-X, but it can be renamed to anything you like.
Contribute
Have other neat ideas for cursor customization? Found a bug?
- 🍴 Fork the repo
- 🚀 Make awesome things happen
- :octocat: Create a pull request
Or create a new issue at the repository if you can't do it yourself.
License and credits
© 2015 Olmo Kramer
Maintainer: Adam Renklint
MIT license