This merge request adds support for additional Global Theme layout settings to
be set in KCM, if the selected theme supports them:
- (controlled by Desktop Layout switch) Borderless Maximized Windows
- (own switch) Titlebar Buttons Layout
Ones with their own switch also have new checkboxes for themselves in More Options in
the KCM, and the values for all the added options, in the new `layouts/defaults` file
of Global Themes, are made to match their KDE Plasma config files counterparts in names
and values.
Example of a `layouts/defaults` file in a Global Theme:
```
[kwinrc][org.kde.kdecoration2]
ButtonsOnLeft=M
ButtonsOnRight=IAX
[kwinrc][Windows]
BorderlessMaximizedWindows=false
```
NOTE: If a Global Theme doesn't supply `BorderlessMaximizedWindows`, it'll be turned off automatically when applying a Desktop Layout to prevent issues.
Before, NumberField displayed 6 decimal digits for the coordinates, which
implies centimeter-scale resolution, which is of course not the case.
Now it shows 2 decimal digits, which is reasonable and consistent with the
level of precision shown in Automatic mode.
With the information about the active screen we can make an educated
guess about where the attention of the user is and where they could
expect the launcher to open. If on the screen no launcher could be
activated, look at all launchers. Also remove the requirement for
launchers to have a shortcut. This is needed to make this feature
work reliably and should reduce the instances of "Meta key stopped working"
happening in general.
CCBUG:447962
BUG:391322
BUG:444343
BUG:437979
This commit changes the name and description for the module to not just
be a reference to internal technical names, but to accurately describe
its function in user-facing terms.
This allows for better searches that just the name and description.
This also takes the original keywords into account and not just the translated ones.
In the config dialog of slideshow wallpaper, the first image is always in a "current selected" state (thick, deep blue border). And it can't change with neither mouse click or keyboard.
Slideshow has no such thing as "current", so this effect should be removed.
BUG: 457327

Max and min are calculated from two completely different sources.
There's scope for them to not be the expected way round.
We have an assert reported on this line due to a subtle qBound ->
std::clamp porting difference on GCC with debug flags on.
BUG: 454064
This allows the user to choose between automatically determined font size
(the default, and the current behavior), and completely manual font settings.
The UI refactor and layout code changes necessary for this feature also
happily fix a few bugs along the way.
BUG: 413394
BUG: 421548
BUG: 395468
FIXED-IN: 5.26
Test Plan:
Open Krunner and type ?
Scroll though the list of results until one has a configure button
Click that button and check if systemsettings opens and the runner's KCM is opened
Currently we are very inconsistent with how we handle our various X11 dependencies.
Some places check whether specific sub-libraries are found and disable parts of the code accordingly.
Sometimes this is controlled by whether X11 is found at all, sometimes it depends on the sublibrary being present.
Some of this is obviously broken, e.g. in one like we check whether X11 is there and then use it unconditionally a few lines down.
Instead of the current system of optional deps and deps being conditional on other deps I propose that we introduce an explicit build option that controls the X11 support.
If on (the default) then all X11 libs are required.
If off then no X11 libs are searched for. Currently this results in a broken build since some places use X11 stuff unconditionally, but it gives us an easier way to test and fix those cases.