Commit graph

9609 commits

Author SHA1 Message Date
Fredrik Höglund
e578676f42 kwin: Rename flushBuffer() to present()
This function doesn't flush any buffered commands, it presents or posts
the color buffer to the surface to which the GL context is bound.
2012-10-29 21:31:17 +01:00
Christophe Giboudeaux
007733f14a Fix include 2012-10-29 17:20:19 +01:00
Script Kiddy
17ddc517b7 SVN_SILENT made messages (.desktop file) 2012-10-29 09:53:30 +01:00
Martin Gräßlin
550ac7d2b0 Documentation for global methods and properties of scripted effects
Using Doxygen xml structure which can be converted to MediaWiki using
the xslt from git repo scratch/graesslin/kwin-scripting-api-generator.git
2012-10-28 10:06:00 +01:00
Martin Gräßlin
12bea5f682 New Maximize Window Effect
Animation for going from restored to maximized and vice versa.

BUG: 308990
FIXED-IN: 4.10
REVIEW: 107050
2012-10-28 09:51:01 +01:00
Martin Gräßlin
62dd1d57f0 Fix documentation error for global KWin script method
SVN_SILENT
2012-10-28 09:50:34 +01:00
Martin Gräßlin
6417246358 Add GHNS support for Scripted KWin Effects
BUG: 296773
FIXED-IN: 4.10
REVIEW: 107051
2012-10-28 09:49:02 +01:00
Script Kiddy
2cb8e724d4 SVN_SILENT made messages (.desktop file) 2012-10-28 09:14:05 +01:00
Script Kiddy
a8a16c65d3 SVN_SILENT made messages (.desktop file) 2012-10-26 13:27:19 +02:00
Dario Cambié
b26108121d Use KConfigXT in CoverSwitch Effect
REVIEW: 106396
2012-10-26 10:18:35 +02:00
Martin Gräßlin
bf8e7c4fc8 Add QProperties to MouseClick Effect
Allows to read out all settings at runtime through supportInformation.
2012-10-26 09:47:22 +02:00
Martin Gräßlin
c3f2b68581 Protect access to EffectFrame if not used
Caused a crash when Show Text was disabled.
2012-10-26 09:47:22 +02:00
Martin Gräßlin
a6ab97172e Use KConfigXT in MouseClick Effect 2012-10-26 09:47:22 +02:00
Filip Wieladek
378a4f8fe4 Mouse Click animation effect
An effect which visualy animates when a mouse button is pressed or
released.

REVIEW: 105780
BUG: 309006
FIXED-IN: 4.10
2012-10-26 09:47:22 +02:00
Martin Gräßlin
2e2aa199bc Save shortcut editor in FlipSwitch Effect Config 2012-10-26 09:46:53 +02:00
Thomas Lübking
0e69bdf0ed add ElectricBorderCornerRatio setting [0,1]
REVIEW: 106509
CCBUG: 308993
2012-10-25 20:16:53 +02:00
Thomas Lübking
6cba742315 Hardcode TabBox setting in boxswitch effect false
Boxswitch is activated as tabbox, possibly due to a downstream issue
This results in multiple effects being assigned to the tabbox and no
GUI way for the user to fix this.
Since the BoxSwitch effects nowadays only exists  as sidearm for
coverswitch, the tabbox setting is now hardcoded and disabled in the
effect, making it completely impossible to accidentally use it as tabbox.

BUG: 303387
REVIEW: 106695
FIXED-IN: 4.9.3
2012-10-25 19:17:26 +02:00
Thomas Lübking
dbf2623e87 respect screen rule in configure requests
REVIEW: 106960
2012-10-25 19:17:22 +02:00
Thomas Lübking
4a94561f68 preconnect client and compositor
the manage code will emit the composite blocking check trigger

REVIEW: 106894
2012-10-25 19:06:57 +02:00
Martin Gräßlin
26a9a35b2f Increase runtime requirement to Mesa 8.0
Adjustment to reality. KWin has had a dependency on Mesa 8.0 for quite
some time given that it is what basically all distributions ship.

It is better to clearly state what is required. For KWin Mesa 8.0 is a
more reliable dependency as all DRI drivers which do not support DRI2
have been removed.

Packagers have been informed about this intended change some weeks ago.

REVIEW: 106799
2012-10-25 11:45:36 +02:00
Martin Gräßlin
57c27c2e0b GLPlatform can recommend the compositor to use
During detecting the OpenGL capabilities also a recommended compositor
can be set. This recommendation is honoured by the OpenGL based
compositors. That is the SceneOpenGL2 requires a recommendation for at
least OpenGL2 and the SceneOpenGL1 requires at least a recommendation for
OpenGL1. If the driver recommends XRender compositing the SceneOpenGL
performs the existing fallback to XRender.

With this recommendation the hacks in the Scene are removed, e.g. it is
no longer checked whether the driver is software emulation as that is
provided through the recommendation.

To overrule the recommendation the environment variable KWIN_COMPOSE is
extended by the values O1 and O2 to enforce either OpenGL 1 or OpenGL 2.
This overwrites all other checks. As a side-effect this allows now to run
KWin on the llvmpipe:
LIBGL_ALWAYS_SOFTWARE=1 KWIN_COMPOSE=O2 kwin --replace &

But not that I would recommend to use it :-)

REVIEW: 106741
2012-10-25 11:40:18 +02:00
Martin Gräßlin
99db844912 Bind ARBBlurShader to OpenGL1
The logic has already ensured that the ARBBlurShader can only be used
when using the OpenGL1 compositor, the OpenGL 2 compositor needs to use
the GLSLBlurShader.

This change moves the complete ARBBlurShader into a KWIN_HAVE_OPENGL_1
ifdef section.

As a side-effect the ::create method can now return a NULL pointer which
makes more sense then returning an ARBBlurShader in case that the
GLSLShader is not supported.

REVIEW: 106738
2012-10-25 11:34:30 +02:00
Martin Gräßlin
cf5de22586 Introduce a build option KWIN_BUILD_OPENGL_1_COMPOSITING
If the build option is enabled KWIN_HAVE_OPENGL_1 is passed as a compile
flag when build against OpenGL.

This compile flag is meant to replace the KWIN_HAVE_OPENGLES. So far code
has been ifdefed for special behavior of OpenGL ES 2.0 and to remove
fixed functionality calls which are not available in OpenGL ES 2.0.

With this build flag the fixed functionality calls which are only used in
the OpenGL1 Compositor can be removed and keeping the KWIN_HAVE_OPENGLES
for the real differences between OpenGL 2.x and OpenGL ES 2.0.

E.g. a call like glColor4f should be in an
glColor4f(1.0, 1.0, 1.0, 1.0);

while a call like glPolygonMode should be in an
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);

Building for OpenGL ES 2.0 of course implies that KWIN_HAVE_OPENGL_1 is
not defined.
2012-10-25 11:34:12 +02:00
Martin Gräßlin
b2922f6675 Remove compile flag KWIN_HAVE_OPENGL
KWIN_HAVE_OPENGL is not used anymore inside KWin, so no need to pass it
as a compile flag to the binaries.
2012-10-25 11:34:12 +02:00
Martin Gräßlin
2b6c4730b5 Re-enable Blur/Lanczos for Catalyst on OpenGL 2
Given that the Catalyst driver is now supporting direct rendering and by
that can use the OpenGL 2 code path we do no longer need to force
disable the Blur effect and Lanczos filters which used to crash in the
ARB shader path.

The ARB shader path - which can only be used in OpenGL 1 - is kept
disabled for Catalyst.

CCBUG: 270818
CCBUG: 286795
REVIEW: 106798
2012-10-25 11:30:18 +02:00
Martin Gräßlin
e84118d9f8 Add detection support for VMware driver (SVGA3D) to GLPlatform
VMware uses a Gallium driver which means that OpenGL based compositing
works out of the box without any adjustments to GLPlatform.

Just adding recognizing code for the SVGA3D driver.

REVIEW: 106826
2012-10-25 11:27:42 +02:00
Martin Gräßlin
388edab9e5 Add support for OpenGL in VirtualBox
OpenGL is properly working if there is a direct rendering context.
If LIBGL_ALWAYS_INDIRECT is set VirtualBox falls back to Mesa's software
rasterizer. So in order to get OpenGL the driver is now whitelisted in
the opengltest.

GLPlatform is extended to recognize the VirtualBox driver and has new
methods to report whether it is a virtual machine and VirtualBox. The
detection is rather limited as we don't get access to the underlying
hardware, so we do not know whether the features are really supported.
We need to trust the driver here in announcing the right extensions.

The driver does not provide glxQueryDrawable although it is part of
GLX 1.3. A hack is added in the glxbackend to set the function pointer to
NULL. This can unfortunately not be done in glxResolveFunctions() as
QueryDrawable seems not to be provided by an extension (at least not
listed in the OpenGL registry) and getProcAddress resolves a function but
it only prints an OpenGL Warning to stderr.

As a note: the driver reports that it is using XSHM for
GLX_EXT_texture_from_pixmap.

REVIEW: 106821
2012-10-25 11:27:28 +02:00
Martin Gräßlin
711b434970 Detect latest Intel hardware in GLPlatform
Added support for IvyBridge and Haswell.

REVIEW: 106819
2012-10-25 11:27:14 +02:00
Martin Gräßlin
986d9e5613 Delay releasing the compositor selection
When turning off the compositor do not release the compositor selection
directly but delay it through a timer. The idea is that the internal
change when e.g. restarting the compositor or switching from XRender to
OpenGL should not be visible to the outside world.

This hopefully makes restarting the compositor more robust in Plasma due
to the SelectionWatcher sometimes reporting incorrect results.

When restarting KWin the change does not matter as the selection gets
force claimed by the new instance anyway.

CCBUG: 179042
REVIEW: 106844
2012-10-25 11:23:34 +02:00
Martin Gräßlin
aa34dbd059 Remove the fallback to Platik in case defaultDepth is < 8
Plastik has been removed and the new Aurorae has the same requirement as
Oxygen. This fallback was anyway useless given that KWin nowadays uses
raster paint engine by default and hardly anything would work with such a
small QPixmap::defaultDepth().

REVIEW: 106613
2012-10-25 11:19:26 +02:00
Martin Gräßlin
a85ff67deb QML Plastik as fallback for incorrectly configured Aurorae
If a theme is configured which does not exist, Aurorae will load the
Plastik theme which is known to be around.
2012-10-25 11:18:53 +02:00
Martin Gräßlin
18acfc4436 Plastik theme for Aurorae replaces the classic Plastik
* Update script to migrate Plastik users to Aurorae
* Plastik QML renamed to Plastik
* Old Plastik is dropped
2012-10-25 11:18:52 +02:00
Martin Gräßlin
ae99d9bc6e Fix initial button flickering in Plastik QML
Disable animations till the decoration is completel loaded. This
ensures that the buttons do not flicker because of the animation from
black to their respective color.
2012-10-25 11:18:52 +02:00
Martin Gräßlin
728b47ef07 Use a Component for Explicit Spacers
A component has the advantage that the width property can depend from
other properties. This does not work with the previous on the fly
construction as the width does not update when the referenced property
changes.
2012-10-25 11:18:52 +02:00
Jurica Vukadin
bcdc74f8d6 Fix more C++11 narrowing warnings
REVIEW: 106997
2012-10-24 20:43:19 +02:00
Jurica Vukadin
e68955866d Fix C++11 narrowing warnings
REVIEW: 106992
2012-10-24 20:42:14 +02:00
Martin Gräßlin
5a33974bca Merge branch 'KDE/4.9'
Conflicts:
	plasma/desktop/shell/activitymanager/package/contents/ui/ActivityDelegate.qml
2012-10-24 20:40:07 +02:00
Martin Gräßlin
8176c91b2f Enable GHNS for Window Switcher
Thanks to the new category on kde-look.org we can now show the GHNS
button inside the KCM.

BUG: 297636
FIXED-IN: 4.9.3
REVIEW: 106991
2012-10-24 20:36:05 +02:00
Martin Gräßlin
7f26069f25 Enable GHNS button for KWin scripts
Functionality had already been present for quite some time and now that
the category on kde-look exists, we can just show the button.

BUG: 296774
FIXED-IN: 4.9.3
REVIEW: 106963
2012-10-24 20:35:12 +02:00
David Faure
5c7c455863 Merge remote-tracking branch 'origin/KDE/4.9' 2012-10-19 16:10:03 +02:00
Alexander Jones
bf2507b2fe Fixing author names in desktop files
BUG: 307928
FIXED-IN: 4.10
REVIEW: 106880
2012-10-18 07:29:14 +02:00
Script Kiddy
f476d76ece SVN_SILENT made messages (.desktop file) 2012-10-17 00:53:14 +02:00
Script Kiddy
2141dc821b SVN_SILENT made messages (.desktop file) 2012-10-16 18:43:37 +02:00
Martin Gräßlin
e0570f34da Merge branch 'KDE/4.9'
Conflicts:
	kwin/effects/diminactive/diminactive.cpp
2012-10-14 20:28:36 +02:00
David Weber
58e8bf2f12 Repaint screen after config update in diminactive effect
BUG: 308283
FIXED-IN: 4.9.3
REVIEW: 106814
2012-10-14 20:22:14 +02:00
David Faure
8d770726cb Merge remote-tracking branch 'origin/KDE/4.9' 2012-10-14 15:39:25 +02:00
Script Kiddy
816a069596 SVN_SILENT made messages (.desktop file) 2012-10-13 16:33:42 +02:00
Script Kiddy
2d36325197 SVN_SILENT made messages (.desktop file) 2012-10-13 11:13:24 +02:00
Martin Gräßlin
e962fd9ce2 Typo--
SVN_SILENT
2012-10-12 08:43:34 +02:00
Martin Gräßlin
777513a0c8 Merge branch 'KDE/4.9'
Conflicts:
	ksmserver/themes/contour/metadata.desktop
	ksmserver/themes/default/metadata.desktop
	kwin/kcmkwin/kwinscripts/kwinscripts.desktop
	kwin/scripts/videowall/metadata.desktop
	kwin/tabbox/qml/clients/compact/metadata.desktop
	kwin/tabbox/qml/clients/present_windows/metadata.desktop
	plasma/desktop/containments/desktop/plasma-containment-desktop.desktop
	plasma/generic/applets/system-monitor/plasma-applet-sm_hdd_activity.desktop
	plasma/generic/runners/nepomuksearch/plasma-runner-nepomuksearch.desktop
	plasma/generic/runners/places/plasma-runner-places.desktop
	plasma/generic/runners/webshortcuts/plasma-runner-webshortcuts.desktop
	powerdevil/kcmodule/activities/powerdevilactivitiesconfig.desktop
	powerdevil/kcmodule/global/powerdevilglobalconfig.desktop
	powerdevil/kcmodule/profiles/powerdevilprofilesconfig.desktop
2012-10-12 07:59:22 +02:00