Commit graph

8281 commits

Author SHA1 Message Date
Thomas Lübking
d20b841713 fix GL-less kwin compilation
BUG: 277667
2011-07-13 04:09:35 +02:00
Thomas Lübking
7057bb2c25 fix new shadows
(cherry picked from commit 6f03f28509834cb145b8548dfd0322cc6d62364f)
2011-07-12 22:20:21 +02:00
Martin Gräßlin
9cb53d5d30 Create TabBoxView when first used
When effects are active we never need the "classic" TabBoxView.
Nevertheless it was always created when KWin started up. By
delaying the creation some ressources should be saved if the user
only uses effects.

REVIEW: 101897
2011-07-12 21:02:57 +02:00
Martin Gräßlin
2ce4d166a1 Move loading of the TabBox Config XML into a thread
This should improve the KWin startup time as some IO is moved
into another thread. Till the config is loaded the TabBox blocks
all signals to activate the TabBox, but it is unlikely that alt+tab
is tried to be used before KWin is completely started.
2011-07-12 21:02:48 +02:00
Albert Astals Cid
74c816832a Add ExtraDestkop.sh files
For files that are desktop-like but do not have a .desktop extension
2011-07-12 16:46:09 +01:00
Script Kiddy
4eba738a3f SVN_SILENT made messages (.desktop file) 2011-07-12 10:36:56 +02:00
Philipp Knechtges
85c5181a81 kwin: Avoid painting damaged areas which are occluded by another opaque window.
So far we have not used the information that damage events are window-specific, resulting in the
behavior that we repainted the damaged area although it might be hidden behind another window.
E.g. the CPU-Monitor plasmoid is almost all day occluded by a browser etc. and before this patch
we have been repainting the appropiate area every time the plasmoid has been updated.

Thx to Thomas Lübking for optimizing the patch.

REVIEW: 101846
2011-07-11 19:35:29 +02:00
Martin Gräßlin
b4de899b2c Fix broken creation of OverlayWindow
The HAVE_XCOMPOSITE_OVERLAY define had not been moved to the new
overlaywindow.cpp file causing the OverlayWindow to not be created
at all. In fact after moving the define to the new file the code
did not even compile as that code parts still used m_overlayWindow
instead of m_window.

The regression would have been easy to spot when testing with all
backends as the GLES/EGL backend still requires the overlay window.

CCMAIL: a.arlt@stud.uni-heidelberg.de
2011-07-11 19:12:56 +02:00
Philipp Knechtges
b44580f02e kwin: dont gather scheduled decoration repaints
Instead of scheduling and gathering the Workspace::addRepaint calls at the end of the main loop
we directly emit the signal which ends up in a call to addRepaint. The compositeTimer assures
that the higher number of scheduled repaints are executed in the same rendering pass.
2011-07-11 18:47:36 +02:00
Script Kiddy
c6bec41e07 SVN_SILENT made messages (.desktop file) 2011-07-11 10:56:30 +02:00
Martin Gräßlin
32a82141f0 Adding a build option for KWin Scripting
It is possible that adding this build option broke the Scripting
component. This is something that should not happen. Unfortunately
by just ifdefing everything scripting related with scripting enabled
we have build errors. These are caused by the fact that the scripting
code includes e.g. client.h through "./../client.h". At one offending
place I changed that to "client.h", but there is also a client.h in
the scripting directory.

The includes and naming of the scripting files clearly have to be fixed!
2011-07-10 10:48:25 +02:00
Martin Gräßlin
062b117919 QtXML library only needed by tabbox 2011-07-10 10:02:46 +02:00
Thomas Lübking
05cbf3f1ca correct workspace position in case of quicktiling or touching the border when the decoration padding changes 2011-07-10 02:24:54 +02:00
Thomas Lübking
9442855834 protect scene access, fix instant segfault when non compositing 2011-07-10 01:25:41 +02:00
Thomas Lübking
cf66e4c86d KWin: Make damageNotifyEvent handling more aggressively aggregate rects
and skip damage handling if the window is already completely damaged.
Also avoid QRegion handling during this since we know about the rects and
the region is handled when adding the damage anyway.
2011-07-10 00:10:43 +02:00
Arthur Arlt
d8072be54d Move OverlayWindow from Workspace to its own class
All the functionality of Overlay Window is moved to its own class
OverlayWindow. It is created and owned by class Scene, since almost
all function calls are called from this class.

REVIEW: 101866
2011-07-09 19:08:48 +02:00
Martin Gräßlin
c703dca4b2 Remove leftover from splitting out the Outline handling
Should have been removed with 44b83f951aeb3221c43ef3356e46650248b673cd
2011-07-09 11:25:49 +02:00
Script Kiddy
2ae92ab509 SVN_SILENT made messages (.desktop file) 2011-07-09 09:40:35 +02:00
Montel Laurent
4e4b432b65 Fix compile warning 2011-07-08 21:52:56 +02:00
Montel Laurent
2d9fd13b01 Fix compile warning 2011-07-08 21:50:01 +02:00
Martin Gräßlin
2d9e588051 Add build option to suppress building of XRender Compositing 2011-07-07 19:17:00 +02:00
Martin Gräßlin
4c2629477c Less warnings please
CCMAIL: a.arlt@stud.uni-heidelberg.de
2011-07-07 18:31:18 +02:00
Martin Gräßlin
039c025bfb Add a build option for screen edge support 2011-07-07 18:29:11 +02:00
Script Kiddy
d414f57c8d SVN_SILENT made messages (.desktop file) 2011-07-07 10:20:05 +02:00
Martin Gräßlin
f1e23b100c New build option KWIN_PLASMA_ACTIVE
This build option can be used to simplify the build settings for
the usage of KWin in Plasma Active. It includes:
* no decorations
* no kcms
* no tabbox
* only mobile effects
* turns on OpenGL ES (if available)

CCMAIL: sebas@kde.org
2011-07-06 17:53:33 +02:00
Martin Gräßlin
399da3ee92 Move kwin build options to top of CMakeLists.txt 2011-07-06 17:52:59 +02:00
Martin Gräßlin
2f8d0d3ba4 Fixing compile error when building without tabbox 2011-07-06 17:42:07 +02:00
Philipp Knechtges
8a9725a68b kwin: update the decoration texture although we dont paint the decoration
We have to update the texture because the next time client->decorationPixmapRequiresRepaint()
might return false.
2011-07-06 17:24:07 +02:00
Script Kiddy
976f396fc7 SVN_SILENT made messages (.desktop file) 2011-07-06 10:41:48 +02:00
Martin Gräßlin
c4cd4e8c96 Replace getYInverted by the new isYInverted of parent class 2011-07-05 20:42:45 +02:00
Martin Gräßlin
eae91e189c Remove include to kwinglutils.h from kwineffects
No more OpenGL is used in the effects library itself.
2011-07-05 20:40:27 +02:00
Martin Gräßlin
3524e70fe2 Drop EffectsHandler::saturationSupported
Not used by any effect or anywhere in core.
2011-07-05 20:35:32 +02:00
Martin Gräßlin
e6b5a428ea Disable build of MagnifierEffect
Magnifier is broken without PaintClipper.
Needs a better implementation, see:
http://lists.kde.org/?l=kwin&m=130972453005390&w=2
2011-07-05 20:22:44 +02:00
Martin Gräßlin
fa30d774af Paint windows on edge without Lanczos filger
This makes it possible to use BoxSwitch in animated mode wihout
PaintClipper.
2011-07-05 20:18:21 +02:00
Martin Gräßlin
a360d59f7e Remove intersection of region with visible rect
No longer needed as the splitting into quads will perform the
intersection.
2011-07-05 20:18:21 +02:00
Martin Gräßlin
1793343847 Make Slideback work on OpenGL without PaintClipper 2011-07-05 20:18:21 +02:00
Martin Gräßlin
8fa22d0f6a Remove PaintClipper from CoverSwitch
Reflection in a vertical multiscreen setup are kind of broken without
PaintClipper. But we have to ask ourselfe whether CoverSwitch in a
vertical multi screen setup makes sense and whether it's useful to
have reflections in such a setup.

Horizontal multiscreen setup works fine (also with reflections).
2011-07-05 20:18:20 +02:00
Martin Gräßlin
9c8ebfc1fd Remove PaintClipper in GL mode from DesktopGrid
Seems to not be needed at all.
2011-07-05 20:18:20 +02:00
Martin Gräßlin
55c1f3ae96 Include transformed windows in quad transition
Only transformed quads may not be changed, so we skip those.
2011-07-05 20:18:20 +02:00
Martin Gräßlin
572368ea27 Make Slidingpopus work without PaintClipper
Add correct region to repaint, this just used to be clipped before.
2011-07-05 20:18:20 +02:00
Martin Gräßlin
76eb3c3391 Remove clipping against the bounding rect of paint region 2011-07-05 20:18:19 +02:00
Martin Gräßlin
050ea5010b Remove PaintClipper from Cube
Seems to be a relict from the time when we scaled the cube on one screen.
2011-07-05 20:18:19 +02:00
Martin Gräßlin
9b9f4619b0 Remove scissoring code from PaintClipper
Not used any more and means we don't have OpenGL code in kwineffects.
2011-07-05 20:18:19 +02:00
Martin Gräßlin
cd82616ece Remove PaintClipper from OpenGL Scene rendering
Construct window quads which will end on the screen instead of
rendering the windows several times and using scissoring to
restrict to the area which will end on screen.

REVIEW: 101765
2011-07-05 20:17:29 +02:00
Martin Gräßlin
bb8b92f93d Don't render shadows if there are no quads 2011-07-05 20:15:11 +02:00
Arthur Arlt
a9dcadfd33 Including scene.h is no longer necessary in client.cpp
REVIEW: 101847
2011-07-05 11:46:40 +02:00
Arthur Arlt
02e08be5bd Merge signals clientClosed() and unmanagedClosed() to windowClosed()
This commit merges the two signals clientClosed() and unmanagedClosed() to windowClosed() which
is now provided by Toplevel.
The approriate slots in effects.h and effects.cpp were merges as well, since they did the
same.
The direct method calls of the method windowClosed() in SceneOpenGL and SceneXRender were
removed and are now connected to the appropriate signal in windowAdded().
2011-07-05 11:46:13 +02:00
Arthur Arlt
859dacb8b5 Make Scene::windowClosed() a Q_SLOT
This commit just makes the declaration of windowClosed() in Class Scene be a Q_SLOT.
The inheriting classes SceneOpenGL and SceneXRender are updated as well.
2011-07-05 11:46:13 +02:00
Arthur Arlt
e6d8585559 Do not include scene.h in workspace.cpp and events.cpp anymore
It is no longer necessary to include scene.h in workspace.cpp and
events.cpp.

REVIEW: 101706
2011-07-05 11:35:27 +02:00
Arthur Arlt
14af45cc04 Make Q slots public in class Scene
This commit just makes the slots public that are used in Scene class and its inheriting subclasses.
2011-07-05 11:34:12 +02:00