On Wed, May 22, 2019 at 6:13 PM Germano Massullo <germano.massu...@gmail.com> wrote: > > Hello, I am writing to you to propose the following reasoning, hoping > that it can help making easier (just a bit) third parties development > work on Linux. > I am currently developing BOINC client user idle time detection on > Linux systems (both graphical or tty sessions) > After some studies I started writing a little piece of code that that > is able to print on standard output the user idle time by retrieving > it from systemd-logind IdleSinceHint property (that is exposed on > DBus). By the way I found out that this value was always 0 [1], so I > asked why [2]. I have been told that logind relies on the desktop > environment to pass this information. > Many d.e. expose user idle time to their own DBus path, (i.e. > org.gnome.Mutter.IdleMonitor), so I will be forced to write code that > depends on the specific desktop environment. Since: > 1) systemd-logind is just ready for exposing user idle time; > 2) for a developer writing code for Linux it would be much easier to > retrieve user idle time from a unique place rather than having to deal > with all various desktop environments; > I would like to ask you what do you think about passing the user idle > time to logind [3] [4] ? > > Best regards > > [1]: you can try with system console command > $ sleep 2 && gdbus introspect --system --dest org.freedesktop.login1 > --object-path /org/freedesktop/login1 | grep IdleSinceHint > [2]: https://lists.freedesktop.org/archives/systemd-devel/2019-May/042726.html > [3]: > https://www.freedesktop.org/wiki/Software/systemd/writing-desktop-environments/ > [4]: > https://www.freedesktop.org/wiki/Software/systemd/writing-display-managers/
We are using the kidletime framework to do that on our applications: https://api.kde.org/frameworks/kidletime/html/index.html IIRC, In X11 it happens through mere X11 observation, in wayland there's a protocol for that, It could make sense to expose this data to logind and even consume it like that from applications. Why not. Aleix