Summary: This way they can be properly listed by Discover
Reviewers: graesslin, #plasma
Reviewed By: graesslin, #plasma
Subscribers: plasma-devel, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D3765
Summary:
The feature has always been considered experimental. Unfortunately it is
completely unmaintained and hasn't seen any commits in years. It
requires kolor-manager to function, but that has not seen a release
based on frameworks yet. This makes it difficult to maintain. In fact I
have never been able from the introduction till now to setup a color
corrected system. One needs kolor-manager and oyranos and especially the
latter is hardly available on any linux distribution (e.g. not on the
Debian/Ubuntu systems).
Due to being unmaintained color correction in KWin did not keep up with
recent changes. Neither did it see any updates during the xlib->xcb
port, nor during the Wayland port. Especially the Wayland port with the
rendering changes make it unlikely to function correctly. E.g. Wayland
introduced a proper per-screen rendering, while color correction did a
"fake" per screen rendering. How that is going to work in combination is
something nobody ever tried. Now after the introduction of proper
per-screen rendering the solution would be to port color correction to
the new api, but that never happened.
Color correction also modified the shaders, but a newer shader API got
introduced some time ago. Whether the color correction shader support
that or not, is unknown to me. Also which shader language versions are
supported. I know it was based on 3d texture support, which back on
introduction was partially lacking in OpenGL ES. Nowadays that changed,
but color correction didn't update.
Last but not least it is completely X11 based and there is no work on
how to make it work with Wayland.
Given all the problems, especially the fact that it is unmaintained and
cannot be setup on my system, means to me that the only solution is to
remove it.
I'm open to having it reintroduced in future, but only if the
availability on Linux distributions gets addressed before. As long as
major linux distributions do not ship this feature, it should not be in
KWin. Given that I must say that it was a mistake to add it in the first
place and I need to point out that I was against the merge back then.
Reviewers: #kwin, #plasma
Subscribers: plasma-devel, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D3402
Summary:
On Wayland compositing is required. It doesn't make any sense to offer
the user to disable the compositor or to allow windows to block
compositing.
The Compositor DBus interface gains a new property whether the platform
requires compositing. This is queried by the compositing kcm and based
on that the two mentioned options get hidden and not stored to config
file.
Test Plan: Opened the KCM on Wayland
Reviewers: #kwin, #plasma_on_wayland
Subscribers: plasma-devel, kwin
Tags: #plasma_on_wayland, #kwin
Differential Revision: https://phabricator.kde.org/D2586
Summary:
From feedback we got it seems that not all users agree to games and
other applications blocking compositing. Some users prefer to have
compositing always on even if this gives a small performance penelity.
This change introduces a dedicated config option to specify whether games
are allowed to block compositing. By default this option is enabled.
The setting can be overwritten with a window specific rule. So usecases
like all windows except this very specific one are supported.
In the user interface the config option is shown where previously the
unredirect fullscreen option was shown.
Test Plan:
Run a game which should block compositing, verified it blocks.
Changed the setting, run the game again, verified it doesn't block. And
once more for with allowing to block.
Reviewers: #kwin, #plasma_on_wayland, #vdg
Subscribers: plasma-devel, kwin
Tags: #plasma_on_wayland, #kwin
Differential Revision: https://phabricator.kde.org/D2584
Summary:
Rational: unredirect fullscreen windows is a weird beast. It's intended
to make fullscreen windows "faster" by not compositing that screen. But
that doesn't really work as KWin jumps out of that condition pretty
quickly. E.g. whenever a tooltip window is shown. KWin itself has a
better functionality by supporting to block compositing completely.
The complete code was full of hacks around it to try to ensure that
things don't break.
Overall unredirect fullscreen has always been the odd one. We had it
because a compositor needs to have it, but it never got truly integrated.
E.g. effects don't interact with it properly so that some things randomly
work, others don't. Will it trigger the screenedge, probably yes, but
will it show the highlight: properly no.
By removing the functionality we finally acknowledge that this mode is
not maintained and has not been maintained for years and that we do not
intend to support it better in future. Over the years we tried to make
it more and more hidden: it's disabled for Intel GPUs, because it used
to crash KWin. It's marked as an "expert" option, etc.
It's clearly something we tried to hide from the user that it exists.
For Wayland the whole unredirect infrastructure doesn't make sense
either. There is no such thing as "unredirecting". We might make use
of passing buffers directly to the underlying stack, but that will be
done automatically when we know it can be done, not by some magic is
this a window of specific size.
Test Plan:
Compiles, cannot really test as I am an Intel user who never
had that working.
Reviewers: #kwin, #plasma, #vdg
Subscribers: kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D2180
Summary:
The selection of whether GLX or EGL should be used doesn't work in
practice due to the following reasons:
* Intel/EGL/X11 results in rendering errors
* NVIDIA still doesn't support EGL
* OpenGLES forces to EGL (combobox only one entry)
* Wayland forces to EGL (combobox only one entry)
Offering the selection only offers the user a way to destroy the
system. We get too many bug reports about rendering errors and we
get too many complaints about this not working properly on social
media. E.g.: "The Meh: EGL mode causes bugs in the launcher"
The configuration interface showed a warning when selecting it, but
apparently users ignore warnings like "might be broken". If that's the
case let's better remove the option.
If users really want this they can still enable it manually through
editing the config file or through the env variable.
Change intended for Plasma/5.7 branch - I'm sick of users complaining
about it!
Test Plan: Opened KCM, verified Combobox is gone
Reviewers: #kwin, #plasma, #vdg
Subscribers: kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D2224
Searching for "animation speed" now points to the Compositing KCM, where
the animation speed setting is, instead of the Destkop Effects KCM,
where it was before.
Same for compositing, OpenGL, XRender and video settings
BUG: 361436
FIXED-IN: 5.7
Differential Revision: https://phabricator.kde.org/D1326
Apparently it's not allowed to set root context properties multiple
times. If one goes to systemsettings, opens effects kcm, closes it
and opens it again it crashes due to setting a context property with
same name again.
This change eliminates the need for the context property by modifying
the property of the QML objects directly.
BUG: 354164
BUG: 351763
FIXED-IN: 5.4.3
REVIEW: 125737
Removes the ElectricAction for ShowDashboard and the relevant code
in screenedges and the KCM.
Also a leftover in the glide effect.
REVIEW: 125700
BUG: 353928
Remove the outdated docbook
This KCM is now in Display and Monitor -> Compositor
Compositor is not for Joe User, only for workarounds with broken drivers as confirmed by Martin
X-DocPath now points to userbase
REVIEW:124436
X-KDE-ParentComponents is a list, so we have to check if this list
contains the plugin, not do a string comparison. It seems the
queryparser has become a bit stricter in this case. This query should be
fixed anyway, however, and it fixes a fairly important bug in the effect
system.
REVIEW:122821
X-KDE-ParentComponents is a list, so we have to check if this list
contains the plugin, not do a string comparison. It seems the
queryparser has become a bit stricter in this case. This query should be
fixed anyway, however, and it fixes a fairly important bug in the effect
system.
REVIEW:122821
Currently just opening the Desktop Effects KCM loads QtMultimedia which
in turn loads gstreamer 0.10. If one opens any other KCM in
systemsettings and changes without applying the change, the window
freezes when the warning dialog gets shown, because the warning message
pulls in Phonon with maybe the Gstreamer backend which uses
gstreamer 1.0. This is bad, bad and breaks everything.
By using a Loader the problem scope gets reduced. It still happens but
only if one actually watches a video. Only opening the KCM doesn't
trigger the problem any more.
REVIEW: 120842
As we have the split between Effects and Compositor settings nowadays
it's incorrect to have an Compositor related option exposed in the
Effects settings view. Thus the OpenGLErrorView should be removed. As
a nice side-effect that simplifies the main qml file quite a bit by
turning the EffectView from Item into Rectangle.
If it shows that we need the reset GL check in the effects view it would
be better to use a KMessageWidget like in the compositing view.
BUG: 336342
REVIEW: 118790
Introduces partially checked checkboxes for Effects. If an Effect
has an enabled by default function and doesn't have an explicit
value in the config file the checkbox is set to partially. If there
is a value in the config, this will be used.
Clicking on Default will return to the partially checked state.
So far only the built-in effects support the partially checked state
and also the mutual exclusive groups do not support the partial checked
(main reason: RadioButton doesn't support it)
BUG: 336045
REVIEW: 118658
The idea is to warn the user that changing the settings might break
the setup when we know it could be dangerous. The following cases are
considered:
* Scale filter Accurate
* Tearing prevention
* keep window thumbnail always
* EGL if EGL and GLX are available
* unredirect fullscreen not working on all hardware
In addition the OpenGL is Unsafe warning is turned int a KMessageWidget
which is also used for all the other warnings.
REVIEW: 118494
This patch applies a common language and type-setting to the
systemsettings modules in kwin.
Considerations:
- The comment field might repeat the name, or give more detail about the
specific settings on this page, this makes sense with how
systemsettings and kcmshell present it
- Mentioning the words settings, configure, options, etc. is avoided --
it is clear from the context that these are settings and options.
- Title-case throughout in line with human interface guidelines, see
http://techbase.kde.org/Projects/Usability/HIG/Capitalization
- The comment ends up being the title, so the
- tech slang is avoided as much as possible, but left in where really
necessary
- I've left the Name field "mostly untouched", as that one is key for
the user to find the right module in systemsettings' icon view and in
the sidebars
The most prominent change is "Compositor" to "Graphics Compositor" (in
the Title field). This is more like a "suggestion", if you don't like
it, I'll take it out again. Reasoning: "Compositor" is a very technical
term, people who know graphics might recognize it. Others might not
understand that "composite" is about graphics -- hence the
specialization. Please enter the commit message for your changes. Lines starting
REVIEW:118338
For a classic user interface like the advanced compositor settings the
good old widgets are still better suited than the new QuickControls.
REVIEW: 118273
We need kdeclarative for i18n support. This needs to be done before we
load the source. By that we don't need to import Plasma.Core which isn't
used by the views at all.
Also we don't need to link twice against declarative.
This ensures that we can tab to the UI written in QtQuick. Unfortunately
it doesn't get initial focus, which seems to be a general problem of
KCMShell (QWidget based KCMs also do not get focus) and it's not possible
to tab out of quick ui again.
BUG: 335195
Spacing needs to be specified on the ListView instead in the delegate.
This fixes incorrect vertical alignment of the buttons in each row.
In addition a proper background is set on the ScrollView.
CCBUG: 334372
REVIEW: 118260
This removes all the hacks to add kwin4_effect_ to the name of the Effect
and adjusts the desktop files of the effect configuration's parent
component.
Note: the scripted effects still start with kwin4_effect_ prefix.
REVIEW: 117367
The EffectData in BuiltinEffects is extended by all the data needed for
the desktop effects KCM:
* display name
* comment
* category
* video-url
* exclusive group
* internal
This information is taken directly from the desktop files.
The Built-in effects are now also resolved through the BuiltInEffects
namespace and the KServiceTypeTrader query is adjusted to only find the
scripted effects.
Unfortunately this introduces another round of adding "kwin4_effect_" to
load and save the effects correctly. This will be removed once all KCMs
are adjusted to use the new BuiltInEffects.