Bug 482853 - "When locked, turn off screen" needs a checkbox to disable/enable it
Summary: "When locked, turn off screen" needs a checkbox to disable/enable it
Status: CONFIRMED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_powerdevil (show other bugs)
Version: 6.0.1
Platform: Arch Linux Linux
: NOR wishlist
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-08 11:06 UTC by rLy
Modified: 2024-09-08 20:52 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rLy 2024-03-08 11:06:19 UTC
SUMMARY
In the energy saving options the "When locked, turn off screen" option needs a checkbox to disable/enable the feature.
In it's current state it doesn't make sense under certain situations. I have the auto screen locking on 5mins, and I want to have the monitor on for 30minutes. Which I can't do because the "When locked, turn off screen" will trigger earlier, even with max value which is 800sec (~13min).


OBSERVED RESULT
"When locked, turn off screen" has no checkbox and can't be disabled

EXPECTED RESULT
"When locked, turn off screen" has a checkbox and can be disabled

SOFTWARE/OS VERSIONS
KDE Plasma Version:  6.0.1
KDE Frameworks Version:  6.0.0
Qt Version:  6.6.2
Comment 1 Jakob Petsovits 2024-03-13 15:10:58 UTC
Would it help if you could configure values up to the duration of the regular (unlocked) timeout in the line above? Adding extra checkbox is easy, but also adds mental overhead that perhaps we can avoid.

Another user brought up that exposing the "timeout when locked" is overkill and shouldn't be shown by default. I'd like to tweak the UI both towards "simple by default" and to fix your use case, not sure yet how to best go about it.
Comment 2 rLy 2024-03-13 18:06:09 UTC
(In reply to Jakob Petsovits from comment #1)
> Would it help if you could configure values up to the duration of the
> regular (unlocked) timeout in the line above? Adding extra checkbox is easy,
> but also adds mental overhead that perhaps we can avoid.
> 
> Another user brought up that exposing the "timeout when locked" is overkill
> and shouldn't be shown by default. I'd like to tweak the UI both towards
> "simple by default" and to fix your use case, not sure yet how to best go
> about it.

Would it solve my use case? Yes, but it would still mean that under certain situations (depending on timer settings), one or the other timer is useless and will never trigger, which might still be a bit confusing.

I wouldn't say that it's overkill but in it's current state I would opt to disable it (as in I wouldn't use it, not that it shouldn't be shown by default). The way I would use a feature like this, if it would only apply to intentional locks (via hotkey, gui, etc) and not apply to idle locks.
Comment 3 Jakob Petsovits 2024-05-21 21:43:15 UTC
A relevant merge request gets halfway to implementing this bug report: https://invent.kde.org/plasma/powerdevil/-/merge_requests/358

In addition to UI changes, this also does away with the upper limit on locked-screen timeouts. I designed in in a way that it should be straightforward to add a "When locked: Never" option to round out the existing functionality.
Comment 4 Jakob Petsovits 2024-05-22 04:50:55 UTC
Git commit 511469e52d4676d6c71f66acaaf277a7efc25e1e by Jakob Petsovits.
Committed on 22/05/2024 at 04:36.
Pushed by jpetso into branch 'master'.

kcmodule: Switch to comboboxes for selecting idle timeout values

This follows the direction spearheaded by kcm_screenlocker,
in plasma/kscreenlocker commit 311db2a9. In addition to a few
select preset options, the user can also select a "Custom…"
option which presents a duration prompt dialog.

Using comboboxes has a few nice UX characteristics:

* It allows us to replace the checkbox of some timeout settings
  with a textual option called "Never", which is easier to grasp.
  Likewise, "Immediately" is more obvious than "0 sec".

* It increases the mouse area available for clicking, which makes
  the control easier to hit for users with low-precision pointer
  input devices.

* It sidesteps the problem of SpinBox ignoring the defined
  step size when scrolling with a high-resolution scroll wheel.

* By putting the SpinBox into a custom duration prompt dialog,
  it's more obvious that both seconds and minutes are supported
  for each setting. Some options also provide second-level presets.

The downside is that it now takes three extra clicks to enter
and confirm a custom timeout duration. Hopefully our users are
comfortable with that trade-off.

In order to implement this, the latest versions of the
ComboBoxWithCustomValue and DurationPromptDialog components
are copied from kcm_screenlocker. Several improvements to these
components will be fed back to kcm_screenlocker and hopefully
upstreamed to Kirigami (or Kirigami Addons) at a later time.

In addition, this commit introduces TimeDurationComboBox, a glue code
component combining two aforementioned components, to further
reduce the amount of boilerplate required in ProfileConfig.qml.
Related: bug 482428

A  +164  -0    kcmodule/profiles/ui/ComboBoxWithCustomValue.qml     [License: LGPL(v2.1+)]
A  +212  -0    kcmodule/profiles/ui/DurationPromptDialog.qml     [License: LGPL(v2.1+)]
M  +264  -104  kcmodule/profiles/ui/ProfileConfig.qml
D  +0    -49   kcmodule/profiles/ui/TimeDelaySpinBox.qml
A  +151  -0    kcmodule/profiles/ui/TimeDurationComboBox.qml     [License: LGPL(v2.1+)]

https://invent.kde.org/plasma/powerdevil/-/commit/511469e52d4676d6c71f66acaaf277a7efc25e1e
Comment 5 rLy 2024-05-22 06:39:42 UTC
(In reply to Jakob Petsovits from comment #3)
> A relevant merge request gets halfway to implementing this bug report:
> https://invent.kde.org/plasma/powerdevil/-/merge_requests/358
> 
> In addition to UI changes, this also does away with the upper limit on
> locked-screen timeouts. I designed in in a way that it should be
> straightforward to add a "When locked: Never" option to round out the
> existing functionality.

Thank you!