Bug 392679

Summary: playing a video with mpv counts as activity to RSIbreak
Product: [Frameworks and Libraries] frameworks-kidletime Reporter: Jos van den Oever <jos>
Component: generalAssignee: kdelibs bugs <kdelibs-bugs-null>
Status: REPORTED ---    
Severity: normal CC: aacid, jpalecek, ossi
Priority: NOR    
Version First Reported In: 5.44.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jos van den Oever 2018-04-03 15:25:15 UTC
When playing a video with mpv, RSIbreak thinks the user is active. This results in RSIbreak interrupting the video with a popup.

This happens when running the video fullscreen and in window on X windows.

A workaround would be to make a script that suspends RSIbreak for the duration of the video via DBus. But that does not cover the situation where a video is playing an the user continues to use mouse and keyboard.
Comment 1 Jos van den Oever 2018-04-03 15:54:11 UTC
The combination VLC and RSIbreak is fine. So mpv is behaving in a way that lets RSIbreak think there is activity.

Easy way to test: play a video not full-screen and after 40 seconds without keyboard or mouse activity (the default) the activity icon should become fully purple instead of 3/4, 1/2 or 1/4 purple.
Comment 2 Albert Astals Cid 2018-04-03 21:02:25 UTC
This is either a bug/feature in mpv (sending events every so often to make sure the screensaver doesn't trigger) or in kidletime, rsibreak just asks kidletime how long the user has been idle, and when mpv is running kidletime says that the user isn't idle.

I'd suggest you asking the mpv developers and if they don't think they're doing something fishy we can reassign this to kidletime and then it probably won't ever get fixed but at least will be assigned to the proper product :D
Comment 3 Jos van den Oever 2018-04-03 23:20:34 UTC
The bug report at mpv is here.

https://github.com/mpv-player/mpv/issues/5702

I agree that this might require work in kidletime instead of rsibreak.
Comment 4 Oswald Buddenhagen 2022-03-08 11:13:04 UTC
according to the investigation in the mpv bug, the issue is that its screensaver/suspend prevention "punches through" to the idle time detection. there isn't really much to be done about that as long as it uses legacy apis - nowadays, it should be using the dbus inhibitor api. but according to my test it still doesn't.
Comment 5 Jiri Palecek 2023-02-04 18:25:32 UTC
(In reply to Oswald Buddenhagen from comment #4)
> according to the investigation in the mpv bug, the issue is that its
> screensaver/suspend prevention "punches through" to the idle time detection.
> there isn't really much to be done about that as long as it uses legacy apis
> - nowadays, it should be using the dbus inhibitor api. but according to my
> test it still doesn't.

It should be fixed if the Monitoring phase of rsibreak used the "short input" filter just as the resting phase does. I'm not sure whether it wouldn't filter out too much activity