Hi, It seems that the org.freedesktop.ScreenSaver.GetSessionIdleTime D-Bus implementation returns milliseconds instead of seconds. AFAIK it worked correctly in previous stable KDE versions. Reproducible: Always Actual Results: $ sleep 2; qdbus org.freedesktop.ScreenSaver /ScreenSaver GetSessionIdleTime 1962 Expected Results: $ sleep 2; qdbus org.freedesktop.ScreenSaver /ScreenSaver GetSessionIdleTime 2 kde-workspace-4.9.98/ksmserver/screenlocker/interface.h (from http://download.kde.org/unstable/4.9.98/src/): /** * Returns the number of seconds that the session has * been idle. Returns zero if the session is not idle. */ uint GetSessionIdleTime(); kde-workspace-4.9.98/ksmserver/screenlocker/interface.cpp: uint Interface::GetSessionIdleTime() { return KIdleTime::instance()->idleTime(); } But according to API docs[1] KIdleTime returns millis... [1] http://api.kde.org/4.10-api/kdelibs-apidocs/kutils/html/classKIdleTime.html#a41dfb08384fd032b83c75a875e0d2576
Has this been solved? I am seeing strange numbers : octavian@mythtv /mnt/store/home/octavian $ sleep 10 && qdbus org.kde.screensaver /ScreenSaver GetSessionIdleTime 136359936 octavian@mythtv /mnt/store/home/octavian $ sleep 2; qdbus org.freedesktop.ScreenSaver /ScreenSaver GetSessionIdleTime 136516544 octavian@mythtv /mnt/store/home/octavian $ sleep 2; qdbus org.freedesktop.ScreenSaver /ScreenSaver GetSessionIdleTime 136347776 octavian@mythtv /mnt/store/home/octavian $ sleep 2; qdbus org.freedesktop.ScreenSaver /ScreenSaver GetSessionIdleTime 136359936 octavian@mythtv /mnt/store/home/octavian $ sleep 2; qdbus org.freedesktop.ScreenSaver /ScreenSaver GetSessionIdleTime 136324352
> Has this been solved? I don't know but this bug is still in v4.10.2. > I am seeing strange numbers : It should reset to zero every time you move mouse or press keyboard...
(a minor bug info update...) Reproducible in Plasma 5.12.4: $ sleep 2; qdbus org.kde.screensaver /ScreenSaver org.freedesktop.ScreenSaver.GetSessionIdleTime $ sleep 2; qdbus org.kde.ksmserver /ScreenSaver org.freedesktop.ScreenSaver.GetSessionIdleTime $ sleep 2; qdbus org.freedesktop.ScreenSaver /ScreenSaver GetSessionIdleTime Updated reference links: * https://github.com/KDE/kscreenlocker/blob/0b8dae07245857df2fd998c836b6f451e5977072/interface.cpp#L79 * https://github.com/KDE/kscreenlocker/blob/0b8dae07245857df2fd998c836b6f451e5977072/interface.h#L84 * https://api.kde.org/frameworks/kidletime/html/classKIdleTime.html#a41dfb08384fd032b83c75a875e0d2576
@konrad, you've clearly identified the issue do you want to just submit a patch on phabricator.
Konrad, would you like to submit that merge request?
(In reply to Nate Graham from comment #5) > Konrad, would you like to submit that merge request? I think 8 years later the bug became a Plasma-specific "de facto standard", because some apps depend on that behavior [1] which is unfortunate ¯\_(ツ)_/¯ [1] https://dev.gajim.org/gajim/gajim/-/merge_requests/726/diffs?commit_id=1aec68c98c70df82a320b7b4cbaeb7332da37e6c
:/