Allow stopping the cursor from blinking

Use case or problem

I found this thread that lets you stop the cursor from blinking in vim when in normal mode.

But this will still make the cursor blink when in insert mode.

After conversations in Discord, I found out there is no way to make the cursor from blinking because of this change:

This is a deal breaker issue for me as I am used to writing long form texts without any movement on my screen. And the blinking cursor is incredibly distracting.

Proposed solution

Allow users to set a setting to stop the cursor from blinking.

Current workaround (optional)

There is none.

10 Likes

I agree this cursor situation sucks. The change should have been an optional toggle. For a dedicated writing application with extensive customizability this is a step backwards on desktop.

1 Like

Is there a way to change cursor settings at the operating system level (since Obsidian is now using the native cursor)? For example, Mac and iOS have a “reduce animations” setting in Accessibility (I don’t know if it stops cursors from blinking, but it’s an example of the sort of thing you might look for).

I looked into it but there is none I could find. There is one that supposed to work on NSText inputs which Obsidian doesn’t use. So no, there is no way to get around this blinking cursor currently.

@nikivi thanks a lot for your explanation.
So this means I can’t change a thing in regarding to cursor style settings via css snippets?
I spent numerous hours going through the obsidian forum to find a solution for at least a minor change that’d work but nothing changed the cursor style.

1 Like

Obsidian 1.0.0

Post for fellow not blinkers searching for the solution. Add this line to a file on Appearance/CSS snippets.

.cm-cursorLayer {animation: none !important;}

(only tested on linux for Normal Mode)

For Insert Mode, I change the config on the OS, I don’t have a snippet for it.

4 Likes

By chance, in case you still recall: How did you configure the blink config in the OS? I guessed Obsidian uses Electron uses GTK, so I tried

gsettings set org.gnome.desktop.interface cursor-blink false

but that had no effect on Obsidian, even after a reboot. Any advice is appreciated!

Nevermind, I figured it out. Somehow Electron doesn’t seem to respect what’s in gsettings (probably due to Obsidian running under Xwayland on my system for now) and just uses $XDG_CONFIG_DIR/gtk-3.0/settings.ini instead, where you can put this line anywhere under [Settings]:

gtk-cursor-blink=false
1 Like

That CSS works on Mac for me.
I still can’t figure out how to turn off the cursor in insert mode.

Caret blinking can stop me from focusing when I’m trying to write something, and this is made worse by the fact that selecting text does not even hide the caret like it does in other applications.

I want blink in other applications, so I can’t turn it off system-wide, but in Obsidian the caret blinking is obnoxious and attention-demanding and stops me from properly focusing on the actual text.

Right now, I can enable the “legacy” editor and use this CSS snippet:

.CodeMirror-focused .CodeMirror-cursors {
	visibility: visible !important;
}

but this likely won’t work in future updates when the “legacy” editor is removed.

Not like I’m going to update Obsidian until I’m sure that future versions will have the accessibility features I need, but it would be a shame for this to be the deal breaker.

If the native caret can’t be controlled at all then please at least provide a setting to turn it off and add back an artificial caret that can be controlled by CSS.

1 Like

Still works for me, thanks!

The following CSS snippet disabled the cursor from blinking (in Vim normal mode) on Obsidian 1.1.16.

.cm-cursorLayer {
    animation: none !important;
}

credits

2 Likes

On Linux Mint Cinnamon, to disable blinking cursor (for all apps), including obsidian

  1. Install dconf editor (its on flathub)
  2. Open dconf editor
  3. Navigate to org/cinnamon/desktop/interface
  4. Toggle cursor-blink off

i think instructions are similarlish for different linux distros

1 Like

None of the listed solutions are working with Obsidian 1.5.3 Linux XFCE4 :frowning:

Are there some new ways to do it?

2 Likes

If you have Obsidian installed as a Flatpak, you have to put this into ~/.var/app/md.obsidian.Obsidian/config/gtk-3.0/settings.ini

[Settings]
gtk-cursor-blink=false