Summary:
Even though the Slide effect has a KCM, it's not possible to configure
it [slide effect] from the virtual desktops KCM.
This change addresses the problem above.
### Before
{F5912774, layout=center, size=full}
### After
{F5912775, layout=center, size=full}
BUG: 395377
Reviewers: #kwin, davidedmundson
Reviewed By: #kwin, davidedmundson
Subscribers: davidedmundson, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D13544
Summary:
Decoration KCM module doesn't render properly shadows with big tiles.
This change tries to address that problem by clipping overlaps, similar
to the OpenGL backend.
Before
{F5734862, layout=center, size=full}
After
{F5734863, layout=center, size=full}
Test Plan:
* apply a given patch https://raw.githubusercontent.com/zzag/repo/sources/arch/breeze/refine-decoration-shadows.patch to breeze
* go to System Settings/Application Style/Window Decorations
Reviewers: #kwin, graesslin
Reviewed By: #kwin, graesslin
Subscribers: abetts, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D10942
Test Plan:
* Passed `BUILD_TESTING=OFF` option to cmake, no tests have been built;
* Didn't pass `BUILD_TESTING` option, all tests have been built.
Reviewers: #kwin, graesslin
Reviewed By: #kwin, graesslin
Subscribers: kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D13163
kwinswitcher.knsrc, kwinscripts.knsrc, kwineffect.knsrc
It seems the kwineffect.desktop was (and still is) invalid, as it
does not show up in `kpackagetool5 --list-types`.
To test, I overwrite the /etc/xdg/*.knsrc,
then opened the GHNS dialogs and installed stuff.
Differential Revision: https://phabricator.kde.org/D12249
This reverts commit 8a2a00a4ca.
It was likely wrongly pushed before the KWayland changes, so it won't
compile.
Feel free to reinstate it once the dependent changes (KWayland) are in.
CCMAIL: bundito@gmail.com
CCMAIL: kwin@kde.org
Summary:
Adding "SkipSwitcher" to the API, following discussion in
BUG 375921
Depends on / related to D11925 and D11924
Reviewers: hein, #kwin, graesslin
Reviewed By: #kwin, graesslin
Subscribers: davidedmundson, #plasma, ngraham, kwin, #kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D11926
Summary:
Remove all instances of anchors in a layout.
This is undefined behaviour (even if it happens to work) and results in
a warning in 5.11.
Resulted in some shuffling about, but generally cleaner code.
Visually looks the same
Test Plan:
Added some buttons
Dragged and dropped some buttons out of the top header
Still got my "drop here to remove button" hint with the same opacities
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: kwin, #kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D12284
Summary:
As documented via bug reports and online support requests, many users have difficulty learning that window decorations are customizable, because they don't notice or understand the little icon-only button in the bottom-left corner of each theme preview.
This patch centers the buttons and adds text including the theme name , making it obvious what the buttons are for.
Also, clicking on one of the buttons now automatically selects its corresponding theme, because configuring an un-selected theme doesn't make a lot of sense and could lead to user confusion once this UI is more obvious and widely-used.
BUG: 390245
Test Plan:
{F5761897}
- Clicked on the configure buttons; each one selects its parent theme and opens its configuration dialog
Reviewers: #kwin, #plasma, #vdg, cfeck, graesslin
Reviewed By: #kwin, #plasma, graesslin
Subscribers: richardbowen, zzag, kigwana, rkflx, matheusm, fabianr, abetts, Fuchs, graesslin, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D11201
Summary:
This allows to override the desktop file name.
CCBUG: 351055
Test Plan: Created a window rule for telegram-desktop to fix the icon
Reviewers: #kwin, #plasma
Subscribers: kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D11266
Summary:
The Qt Wayland support for subsurfaces is broken in many ways, producing
graphical glitches and crashes:
https://bugreports.qt.io/browse/QTBUG-54888 for instance.
Using a QQuickWidget instead of a QQuickView avoids those issues, with
the additional benefit of a nicer API.
Test Plan:
Opened the KCM with kcmshell and systemsettings, no subsurfaces used
anymore.
Reviewers: #plasma, graesslin, davidedmundson
Reviewed By: #plasma, graesslin, davidedmundson
Subscribers: kwin, plasma-devel, #kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D11066
Summary:
The detect functionality is still extremely bound to X11 and results in
a crash when clicked. Thus it's better to disable it completely in 5.12
on Wayland.
Test Plan: Button disabled on Wayland, enabled on X11
Reviewers: #kwin, #plasma
Subscribers: plasma-devel, kwin
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10642
Summary:
This call is added for the window rules kcm which has a detect
functionality. As that detect functionality cannot query any Wayland
windows we need to have some functionality in KWin core. Furthermore
this allows to simplify the code in the kcm as all the custom X11
interaction can be removed. KWin internally has the functionality to
find a window at a given position.
From a security perspective adding this dbus method is fine as the user
stays in control of the functionality. It requires active click to
select a window.
The new dbus call is already used in the rules kcm replacing the
X11 based detect functionality. That a detect is now able to get
information for both X11 and Wayland windows. So far only X11 windows
on X11 were supported. So this fills an important gap in the Wayland
offerings. It should now be possible to create rules for Wayland
windows (though may not be fully functional).
Test Plan: Run the kwin_rules_dialog and it detected the window correctly
Reviewers: #kwin, #plasma
Subscribers: plasma-devel, kwin
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10490
Summary:
The window rule detection is too bound to X11 for it to work for
Wayland windows. In fact it results in the config module just crashing.
Thus it's better to just disable the items in the menu. As it's only for
X11 windows we can also enforce platform xcb for the rules dialog.
Test Plan: Menu disabled on Wayland window, menu enabled on Xwayland window
Reviewers: #kwin, #plasma
Subscribers: plasma-devel, kwin
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10594
Summary:
KDecoration has two new pure virtual methods. Due to that one cannot
build KWin in the stable branch. This makes bug fixing rather cumbersome
as one also needs to switch the kdecoration branch.
This rather unusual change for a stable branch improves the
compatibility by adding the new virtual methods without doing anything
and without marking them as override, so that the code can compile with
a kdecoration from 5.12 and a kdecoration from master.
Test Plan: 5.12 branch compiles with kdecoration master branch
Reviewers: #kwin, #plasma
Subscribers: plasma-devel, kwin
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10296
Looks like a classic false-positive, but this makes the compile
pass for me without making the code harder to read:
AutoMoc error
-------------
"/ssd/milian/projects/kf5/src/kde/workspace/kwin/kcmkwin/kwinscripts/main.cpp"
The file contains a K_PLUGIN_FACTORY macro, but does not include "main.moc"!
Consider to
- add #include "main.moc"
- enable SKIP_AUTOMOC for this file
So we just add the include and then get rid of the duplicate
definition of the plugin factory and the problem is resolved.
Summary:
PreviewCient is internal to the KCM, it's not used by actual decorations
where we need API compatibility.
This property is not used by the KCM.
The current code parses every color scheme config file for every
decoration. This is one of the big contributing factors to this KCM
being a bit sluggish.
It was effectively deprecated in 2015 when a decoration palette was
introduced. If we wanted to add colorscheme functionality in the KCM,
we'd use that instead at a previewclient level.
Test Plan:
Found this was a problem with hotspot
Grepped code for usage
Ran KCM
Reviewers: #plasma
Subscribers: plasma-devel, kwin, #kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D9239
Summary:
0 rows makes no sense.
Setting than 20 rows make no sense when the number of desktops
is limited to 20.
BUG:387594
Reviewers: #plasma, graesslin
Subscribers: kwin, plasma-devel, #kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D9199