Bug 465119 - Option to hide mouse cursor after inactivity
Summary: Option to hide mouse cursor after inactivity
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-01 13:24 UTC by Heimen Stoffels
Modified: 2024-02-28 11:25 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Heimen Stoffels 2023-02-01 13:24:34 UTC
It would be great if there was an option to hide the mouse cursor after inactivity. On X11, this can be done by using unclutter, but that doesn't work on Wayland. From what I've read, on Wayland an option like this needs to implemented on compositor level instead. So in this case Plasma's compositor.
Comment 1 Vlad Zahorodnii 2023-02-07 08:48:39 UTC
This seems like a niche feature. Reopen if there's UX reasoning behind this request.
Comment 2 Heimen Stoffels 2023-02-07 10:24:14 UTC
First of all, it depends on what you call “niche”. This feature is used by quite a lot of users on X through ‘unclutter’. And besides, everything can be called “niche”. I don't use Virtual Desktops, so in my eyes they are “niche”.

As for the reasoning behind this: I have to type a lot for work and also switch a lot to my mouse in between. The cursor constantly on the text is distracting me, so I have to push it out of the way. But I reguarly forget to do that, requiring to once again reach for my mouse (after already having moved the cursor) and push it out of the way, all the way to the screen edges. I'd rather not think about it and continue typing. That is also the reason this feature is used quite a lot on X through the software called unclutter.
Comment 3 Vlad Zahorodnii 2023-02-07 10:45:47 UTC
"Niche" as in "it is not a special case for a small user group" https://invent.kde.org/plasma/kwin/-/blob/master/README.md#guidelines-for-new-features I'm sure that unclutter used, but I can speculate that virtual desktops are used more widely based on the assumption that it's not the default in practically every DE and hiding the cursor unconditionally based on some interval can be disorienting.

If you type a lot and you think that application should better handle the cursor, please report it to the developers of that app. For example, konsole operates in such mode. It will hide the cursor if you start typing.
Comment 4 Heimen Stoffels 2023-02-07 10:48:44 UTC
So then I have to report it to the devs of the, like, 30 apps that I use, some of them which are KDE apps btw?

“and hiding the cursor unconditionally based on some interval can be disorienting”

That's why it should be configurable. Just disabled by default and provide the option to enable it for users like me or that want to switch from X11 to Wayland but don't want to miss unclutter.
Comment 5 randomland 2023-02-16 11:27:07 UTC
I use Plasma Bigscreen on Wayland. Regular YouTube hides cursor but YouTube TV which is much more usable with a remote doesn't hide cursor. I would benefit from a cursor auto hide setting. Also switching to X11 is difficult because I also use Waydroid.
Comment 6 Bug Janitor Service 2024-01-31 02:21:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5077
Comment 7 Jin Liu 2024-02-28 11:23:24 UTC
Git commit 7d7344a983878749c85bedd3b15a7a5ef6ab38b3 by Jin Liu.
Committed on 28/02/2024 at 11:23.
Pushed by genericity into branch 'master'.

plugins: add a "hidecursor" effect

This hides the mouse cursor on inactivity or keypress (configurable in the KCM).

M  +1    -0    src/plugins/CMakeLists.txt
A  +34   -0    src/plugins/hidecursor/CMakeLists.txt
A  +107  -0    src/plugins/hidecursor/hidecursor.cpp     [License: GPL(v2.0+)]
A  +47   -0    src/plugins/hidecursor/hidecursor.h     [License: GPL(v2.0+)]
A  +43   -0    src/plugins/hidecursor/hidecursor_config.cpp     [License: GPL(v2.0+)]
A  +30   -0    src/plugins/hidecursor/hidecursor_config.h     [License: GPL(v2.0+)]
A  +31   -0    src/plugins/hidecursor/hidecursor_config.ui
A  +15   -0    src/plugins/hidecursor/hidecursorconfig.kcfg
A  +8    -0    src/plugins/hidecursor/hidecursorconfig.kcfgc
A  +18   -0    src/plugins/hidecursor/main.cpp     [License: GPL(v2.0+)]
A  +10   -0    src/plugins/hidecursor/metadata.json

https://invent.kde.org/plasma/kwin/-/commit/7d7344a983878749c85bedd3b15a7a5ef6ab38b3