Description
Expected Behavior
If setxkbmap
is not installed and user changes keyboard layout, warn the user with a dialog and revert changes in UI.
Also if it can't load current layout on startup, show like a placeholder text in the list view.
Current Behavior
When opening settings, no layout is set in the view. When adding one, error is silently ignored, UI shows the new layout making it seem successful.
If you close and re-open you see again empty layout list view.
Possible Solution
Steps to Reproduce (for bugs)
- Check
setxkbmap
is not installed - Open keyboard and mouse settings page
- See no current layout set
- Add/Change layout
- See no error message but the change is not applied
Context
I'm using PostmarketOS edge with LXQt UI (package postmarketos-ui-lxqt
) which does not install setxkbmap
by default.
This is an issue on their side and I report it as well.
It took me some time to figure out the fault was this missing package so it would be nice to be informed by a dialog in those cases.
This can also be extended to checking process exit status or other ways to confirm change is successful before showing the user the new layout as "correctly set".
This pattern may be present in other parts of code but I'm still learning LXQt internals. I'm happy to make a pull request if you agree on the concept.
System Information
- Distribution & Version: PostmarketOS edge
- Kernel: 6.6
- Qt Version: 5.15
- liblxqt Version: 1.4.0
- lxqt-build-tools Version:
- Package version: 1.40