Idea: Add Time Limits to Parental Controls

Greetings,

I am in the process of evaluating a few different distributions for use by my child.

EndlessOS has a lot of great features and is very very close to checking all my boxes, with one glaring exception.

The built-in parental controls have no way of limiting access to user accounts (i.e. setting a bedtime and next day unlock time). Looking at how this is done in other distributions, I came across a few different implementations/applications.

  1. TimeKpr-next. This application is available in Debian’s repositories (as timekpr-next), so adding it to the “eos-meta” package might be a pretty easy lift for the developers.

  2. ElementaryOS “Screen Time & Limits Settings” Parental Controls plugin. This solution (elementary/switchboard-plug-parental-controls on Github) is developed for and by Elementary OS. They use a custom application called switchboard (elementary/switchboard on Github) that provides access to functionality of several GTK4-based plugins for their settings application, including this one.

Looking at their repository, the part of the plugin that displays the time limit options (elementary/switchboard-plug-parental-controls/blob/main/src/plug/Views/TimeLimitView.vala on Github) is written in Vala. It looks like it uses some of the same backend libraries as the EndlessOS Parental Control application (i.e. libmalcontent) so you might be able to draw some inspiration or reuse a subset of the code.

Hi there,

Thanks for the feedback! There is actually ongoing work to add screen time limits in GNOME by Philip Withnall, original author of the parental controls feature. https://gitlab.gnome.org/Teams/Design/settings-mockups/-/blob/master/wellbeing/wellbeing.png is one representative mockup.

Hey @wjt,

Thanks for the reply. Looking at that mock-up, one of the captions mentions that “nothing actually happens when the time limit or bedtime is reached, […]” because this is a well-being feature meant as a reminder system, not a parental control feature.

If you wanted to use this a basis for a parent control feature, that might be an option, but more work would be needed, because the goal of a parental control feature would differ slightly. A parental control feature would actually log the user out once the time limit or bedtime is reached, not just inform them that one of them has been reached.