I am a recent Windows refugee. I first switched to Zorin OS, but I decided to move to KDE Neon (Plasma 6.6.4, Wayland) because I was told KDE offers much more customization and control over how the UI works. However, I’ve hit a major usability hurdle that is a dealbreaker for me.
I find the default cursor blink rate (1Hz) far too slow. I constantly lose the cursor and have to waste time searching for it.
Coming from Windows and Zorin, I am used to this being a simple slider. In Plasma 6.6.4, the UI setting is missing, and terminal overrides (kwriteconfig6, gsettings) are ignored in Wayland.
I noticed that even advanced users are frustrated by this. In this thread (https://discuss.kde.org/t/change-the-30-second-timeout-for-shutdown-reboot-and-log-off/1502/24), a user describes the 1Hz blink rate as ‘anaemic’ and explains that they had to resort to compiling their own C++ code just to change it. This confirms that the current lack of UI settings is a real barrier.
I am a former Game Developer and a UI visionary. I have spent years developing solutions for how users interact with screens, focusing on how to guide the eye effectively. I am sharing these concepts because I want to see them implemented in KDE, and if these solutions are built into the project, I would like to be credited as a contributor to the design.
I believe KDE needs a dedicated “Cursor Accessibility” section with the following features:
Adjustable Blink Rate: A simple slider for frequency.
Adjustable Cursor Width: A slider to change thickness (1px to 5px).
The “Living Cursor” & Creative Suite: Support for animated bitmaps and pixel sequences. Ideally, KDE should include a small built-in pixel editor where users can draw their own sequences, choose any color palette, and animate how the cursor behaves (e.g., “rolling shutters,” zooming, or custom patterns).
Unified Cursor Hub: Keyboard cursor settings should be moved to the “Cursors” section to include both mouse and text input. A modern UI needs a centralized place to manage all visual pointers.
Dynamic Scaling: A “breathing” or pulsing animation where the cursor physically grows and shrinks to ensure it’s never lost on a busy screen.
I want to help KDE lead the way in UI innovation. Hope we can start a dialogue on how to bring these “Living Cursor” features to life and make Plasma the most accessible and modern desktop environment available.
I agree, it’s like wasting your life away, half a second at a time. The setting is there and supported by Qt, but there’s no UI to set it. I’m one of those who compiles a C++ snippet to a .so loaded with LD_PRELOAD just to get a 200 ms flash time in konsole. I’ve done so for about 10 years. In gvim I have this in .gvimrc:
set guicursor=a:blinkwait200-blinkon200-blinkoff200
The C++ is just
class QApplication
{
public:
static int cursorFlashTime();
};
int QApplication::cursorFlashTime()
{
return 200;
}
class QStyleHints
{
public:
int cursorFlashTime() const;
};
int QStyleHints::cursorFlashTime() const
{
return 200;
}
Thank you for confirming this and for sharing the code! Even though I don’t code myself, I really appreciate you putting it out there—I’m sure there are others lurking in this thread who can put it to good use. It’s quite telling, though, that a user has to resort to compiling C++ just to make a fundamental part of the UI usable.
I see the cursor as an animated sprite with its own update loop. Personally, I’d want my cursor to be a stroke that pulses subtly from gray to black while swaying like a gentle wave—think of a ‘cooked spaghetti’ effect or a sine wave.
The logic behind this is biological: Humans are predators. Our eyes are evolutionarily wired to react to movement. When something doesn’t move, or blinks too slowly and predictably, our brains eventually filter it out as background noise. This is why we ‘lose’ the cursor.
By using an animated sprite instead of a binary blink, we utilize how the human eye actually works. If KDE can handle blurred windows and complex desktop effects, the cursor shouldn’t be a static legacy object from the 70s. We need a GUI that lets us select or ‘draw’ these types of behaviors directly. It makes me wonder if other UI developers have turned into vegetables, since they seem to ignore these basic biological facts of human-machine interaction!
We need to bring the cursor into the 21st century. Is there anyone from the VDG (Visual Design Group) who can weigh in on this?
in ~/.config/kdeglobals you can add the CursorBlinkRate setting in the KDE section
[KDE]
CursorBlinkRate=0
0 is to stop the blinking and then you can adjust 1 is fast choose between 0 and 1.
It is not a fancy modern cursor either but still it may be useful for some people. I, personally, prefer no blinking, or at least no blinking after some initial few ones, for example just after focusing.
It is also strange to have the setting without any dedicate section in Systemsettings (or I didn’t find it). It is not either, while searching this (for no blinking) I found this response for years back, at least 2018.
This works for me, except no one has mentioned 0 disables flashing and any other integer >0 is in milliseconds and corresponds to one on/off cycle. For example, the default is 1000 and is 500ms of off and 500ms of on.