having the width entirely dependent on the implicit size of the content
has the unfortunate side effect that a window can become insanely wide.
instead cap the minimum width at a percentage of the screen width.
shrinking beyond that cap then only allows dimension changes in height,
not width. this allows the content items to adjust accordingly (e.g.
labels would be forced to wrap).
NB: height is intentionally uncapped because we need somewhere to put
the "overflow" content
otherwise the dialog may be shrunk beyond the space that the buttonbox
desires resulting in cut off buttons (only when the mainItem is small
enough, naturally)
Currently on the login/logout/lock screens, there is almost no spacing between
the avatar and username, which makes the user' delegate looks too tight.This MR
fixes this issue.
This is a follow-up Merge Request to https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1043 to give Breeze a Desktop Layout file... so that it actually gets identified as having one.
It's just a simple script that adds Breeze's Panel and default Desktop Background engine... which results in the Vanilla KDE Plasma layout and settings you know and love when used.
This merge request does not need the MR it is a follow-up of, however it's redundant without that MR being merged.
<h1>Screenshots</h1>
<h2>Desktop Layout on its own, with appearance settings applied from Graphite Dark's Global Theme</h2>

<h2>Full Breeze (Appearance + Layout)</h2>

Currently, the spacing between the user delegate and the action buttons is is very small compared to the spacing between the action buttons and the OK-Cancel buttons, which makes the logout screen look awkward. This MR fixes this issue.
Let the user configure if the keyboard is enabled with the virtual
keyboard button. Otherwise it feels unpredictable.
This mimicks the UX in plasmashell itself.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2058468
When more than one user is shown on the login screen, username labels
are limited to the width of the avatar so they don't overlap one
another. However they are not allowed to become multi-line strings, so
they can get elided if they are not somewhat short. This was worsened
recently by a change in Plasma 5.24 to increase the size of the
username labels, which shortened the amount of text that can be seen
without eliding.
This commit fixes that problem by allowing constrained username labels
to become multi-line strings with up to 3 lines, and adjusting the
surrounding layout to visually accommodate this.
BUG: 450673
FIXED-IN: 5.24.3
Right now we change the intensity of shadows based on the color scheme's
text color, but with a property called "lightBackground". This indicates
that we wanted to do it based on the background color itself, but did
not or could not, so settled on using the text color as a proxy. However
this is wrong; there is no relationship between the active color
scheme's text color and the color of the background image.
Even if we could or did fix that, it would probably still be wrong,
because using lighter shadows on a genuinely light background would
result in worse contrast and readability, especially if the light
background was very visually busy.
For these reasons, in most other places, we have since settled on the
mantra of "shadows should be black", and this commit makes the lock and
login screens follow that convention as well.
BUG: 449985
FIXED-IN: 5.24.2
Double quoted multi-line strings are custom Qt extension, and thus
should be avoided, as they are problematic for syntax support in
various text editors.
GIT_SILENT
SessionManagementScreen is a FocusScope and needs focus explicitly assigned
to it. If inside a QQC2 StackView this is taken care of, but for some reason
in a QQC1 StackView this isn't the case for the initial item. Do it explicitly.
SessionManagementScreen needs to be a FocusScope, so that when it gets focused
directly (through the StackView), it directs it to the proper control inside
instead of stealing it from them.
This fixes initial focus of the controls in the SDDM theme.
BUG: 447817
Double-quoted multi-line strings is a custom Qt/JS engine extension, and
as such it is better be avoided, since we have official widely
supported replacement.
GIT_SILENT
We had all of this wired up correctly in the backend, it just turns out
that we overwrite all messages with "Unlocking failed" immediately.
BUG: 428613