This should be the last of the bunch...it was split up so it could be
easily reverted/looked at.
The idea is that all of this will improve searching functionality for a
lot of people using System Settings. That's the hope anyways.
In reality it doesn't help much *yet*, because somebody needs to make
the search functionality search for more .desktop files. It currently
only does main ones afik. I don't know if this is a technical
limitation, or just a minor oversight and perhaps something easy to fix.
Hopefully what I've done is towards a good direction though, of
improving search functionality in system settings...
This KCM has been implemented by Tamas Krutk in the scope of
Google Code-In.
It is a simple KCM just listing all available scripts and allowing
to import/export them.
This will be further extended alongside the planned scripting changes
in 4.9.
Replaced by a TabBox layout. The effect is still there as it
can be used for desktop switching (which is not yet ported to layouts)
and as a proxy effect for CoverSwitch.
The users who use BoxSwitch will be migrated to the new layout.
Reduces duplication of settings in different areas and was only
providing a small subset of the possible window switching capabilities.
With BoxSwitch being possible to be rendered as a "normal" window
switcher it does not make much sense anyway.
A new QML item "ThumbnailItem" is registered to the TabBox. The
C++ implementation finds the EffectWindow of the TabBox and adds
itself to the EffectWindow.
While rendering the EffectWindow the information for all registered
ThumbnailItems are extracted and the thumbnail is rendered on top
of the EffectWindow.
This has obvious limitations like you cannot put other QML items
on top of the thumbnail. Nevertheless it works well enough to
be a possible replacement for e.g. BoxSwitch effect.
When compositing is disabled an icon is rendered instead of the
Thumbnail.
One TabBox Layout inspired by BoxSwitch Effect is added. For the
KCM small pre-rendered items are used.
REVIEW: 103039
All the default layouts (informative, compact, text, small and big icons)
are rewritten in QML and replace the ListView used before. The old code
is still around for the desktop switching modes which are not yet ported.
Next steps include to update the configuration module to not show now
obsoleted settings as well as providing a better way to choose the layout.
REVIEW: 102948
Due to changes in build system we have always either OpenGL or OpenGL ES.
This allows to remove the KWIN_HAVE_OPENGL_COMPOSITING define. In the
effects the define is kept as KWIN_HAVE_OPENGL which can be used in
future to build also an XRender only effect system.
if both the GLES and EGL libs and headers are found.
Fold all the includes and libraries into 1 varaible each and use those.
in other words, you need to have both OpenGLES and EGL to do a successful build.
The advanced compositing option "direct rendering" could only
correctly be honored in the case of proprietary NVIDIA drivers.
In all other cases playing with the setting was most likely
harmful as it could result in inconsistent states and the
option not to be honored at all.
This patch resolves this issue by moving the detection whether
to use a direct rendering context completely into the hands of
the set environment variables or the helper program:
* if LIBGL_ALWAYS_INDIRECT is set, we use an indirect context
* if KWIN_DIRECT_GL is set, we use a direct context
* if none of the two are set, we use the helper program, if it
returns 0 we create a direct context, otherwise we set
LIBGL_ALWAYS_INDIRECT and create an indirect context
If a user really wants to influence the behavior the
environment variables can be used.
REVIEW: 102074
The desktop layout (number of rows) should be
controlled by the window manager as it is also
responsible for the number of desktops and the
names of them.
The setting for the rows is moved from the pager
UI to the virtual desktops KCM. The desktop layout
is set when KWin starts and updated by the KCM.
With this change there is no process claiming the
manager selection for pager any more. This means
the KDE Plasma Workspaces are no longer compliant
to the complete section of _NET_DESKTOP_LAYOUT in
the EWMH.
REVIEW: 102073
BUG: 277965
FEATURE: 105779
FEATURE: 213353
FIXED-IN: 4.8.0
Since the TabBox functionality is not feasible for any platform KWin is
used on (e.g. tablet PCs), a build option is added to decide, if the
TabBox functionality should be build or not.
REVIEW: 101511
@Sebastian: Martin wanted me to let you know that it is now possible
to disable building Tabbox
CCMAIL: sebas@kde.org
Removes the last bits of the self-check at compositing startup.
It seems like they were only added to XRender because they were
in OpenGL and there they are not available for quite some time.
Also removes the now obsolete disable functionality checks from UI.
REVIEW: 101756
Drawbound was nowadays only used when compositing is disabled.
For the composited case, the drawbound was replaced by the resize
effect and in fact we should always just use the resize effect.
REVIEW: 101411
Well we don't have another choice if half of the drivers crash kwin
whenever you watch a fullscreen flash video or use a screen saver.
Unredirect Fullscreen Window was quite useful in case you used
to play heavy OpenGL games, but pretty useless for anything else.
For the game and hd video usecase we nowadays have the better way
of really suspending compositing (either by the client indicating or
with a window specific rule). The plus of suspending compositing is
that the driver doesn't crash.
And yes we are "supposed" to no longer workaround driver bugs.
Good joke, I like to redirect my inbox to everyone who things we
are not allowed to workaround driver bugs.
CCBUG: 252817
Also add a usable "doesn't work why" info and WARN! the user about clicking the rearm button.
Merge "OpenGLIsUnsafe" and "CheckIsSafe" config keys
Move the entire checking into CompositingPrefs
BUG:250865
FIXED-IN:4.7
Because:
* We have a bug in our scripts that makes extracomment not work (will try to fix this asap)
* Makes sense to be a comment since we want it to be a disambiguation text
* KUIT markers (e.g. @label) need to be in comment
Make the edit area disabled until the user selects he wants custom
positions.
Its a source of confusion if the user can edit the positions but doesn't
see anything happen in his decorations upon apply. This gives immediate
feedback that the checkbox should be enabled.
Conflicts:
kwin/kcmkwin/kwindecoration/buttonsconfigdialog.cpp
Second part of cleaning up the lib directory: the effects library
now lives in libkwineffects/ directory.
For existing effects nothing changes as the install path is unchanged.
The change obsoletes the lib/ directory.
As glplatform.h has not yet been exported I dared to export it and
adjust the places where it is used.
CCMAIL: kwin@kde.org