This sets a logind flag that tells the system to boot into the BIOS/UEFI setup screen on next boot.
It can be quite a challenge to enter the setup screen on boot these days as with quick boot and what not the timeframe for the keypress is often quite narrow.
Details
- Reviewers
sitter ngraham - Group Reviewers
Plasma VDG - Commits
- R119:0f5c7ede9da2: [Desktop Sessions KCM] Add Restart to BIOS/UEFI checkbox
- Checked checkbox, entered my password, rebooted, ended up in UEFI screen
- When opening the checkbox reflects the state of the flag (e.g. checking, closing, opening will keep the checkbox checked so you can unset the flag again)
- Unchecked checkbox, entered my password, flag was unset
- Checkbox is only shown if supported
- Checks for UEFI and shows "UEFI" instead of generic "Firmware" labels, not sure if that stuff actually works when you didn't set up your machine as UEFI boot
I originally considered adding a dropdown to logout screen or some context menu action in the app launcher but since this is quite a niche task to do it's fine to have it in systemsettings somewhere imho.
Checkbox with tooltip
After typing the password when having checked it
Suggestions on wording welcome
Diff Detail
- Repository
- R119 Plasma Desktop
- Lint
Lint Skipped - Unit
Unit Tests Skipped
- Change wording to "restarted" instead of rebooted and talk about computers, not systems
- Simplify, totally didn't realize the "impl" was just a UI subclass, just access its controls directly from the kcm class
- Add "Restart Now" button to message widget
- Drop icon on checkbox
- Use introspected DBus stuff; used the nicer synchronous APIs, should be fine since this isn't a background service that we must not block
XML broken.
The KMessageWidget being inside the groupbox looks a bit weird to me. Don't we usually put the messages at the top of the KCM?
kcms/ksmserver/kcmsmserver.cpp | ||
---|---|---|
74 | possibly should be up in the member initializer list? | |
kcms/ksmserver/kcmsmserver.h | ||
48 | = nullptr | |
kcms/ksmserver/org.freedesktop.login1.Manager.xml | ||
14 | interface end tag missing. |
LGTM.
I'll put it on the record that I still think the "yo you wanna restart now" message should be at the top of the KCM and not inside the groupbox.
The KMessageWidget within the group box is only weird because there's a group box IMO. This KCM is a good candidate for being re-laid-out with a FormLayout so it looks and feels like everything else these days. I can do that after this lands. :)