Commit graph

2961 commits

Author SHA1 Message Date
Martin Gräßlin
49e734f743 Change the way how effects can get mouse events
With the removal of BoxSwitch all effects which want mouse events use the
fullscreen input window. The available functionality is too complex both
in EffectsHandler and in the Effects.

With this change only fullscreen input windows are supported and all
effects share the input window. This means there is at maximum one input
window. This simplifies the code in the Effects as they don't have to
keep track of the window they created any more. In EffectsHandler it
means that only one window needs to be created, destroyed and raised.
Also it means that we can properly react on screen size changes which had
been ignored in the past. Also quite some roundtrips to X are no longer
needed as we do not need to query the window geometry when creating the
input window.

REVIEW: 110156
2013-05-03 08:15:42 +02:00
Script Kiddy
dfd72523b1 SVN_SILENT made messages (.desktop file) 2013-05-02 09:17:01 +02:00
Script Kiddy
ffc0e62f9d SVN_SILENT made messages (.desktop file) 2013-05-01 09:12:42 +02:00
Script Kiddy
0922410d5b SVN_SILENT made messages (.desktop file) 2013-04-30 17:35:40 +02:00
Script Kiddy
8e8a18748d SVN_SILENT made messages (.desktop file) 2013-04-26 08:56:47 +02:00
Martin Gräßlin
1a3bc3f60c Split Outline in a composited and non-composited part
The non-composited part handles the showWithX case with the four small
windows. The composited part shows a translucent QWidget with the
FrameSvg as done by the selection effect frame.

Outline connects to the Compositor toggled signal to switch the mode if
compositing gets suspended/resumed. This works fine also in the case that
the switch happens while the outline is shown. To support this Outline
is now a QObject and created with Workspace as a parent.

Given that the Outline handles both cases by itself, the outline effect
is no longer needed and is dropped together with all the hooks into the
effect system.
2013-04-25 09:04:02 +02:00
Martin Gräßlin
83e3f18014 Drop BoxSwitch Effect
BoxSwitch effect has been obsoleted by QML based
Window and Desktop Switchers.

FEATURE: 296071
FIXED-IN: 4.11.0
REVIEW: 104454
2013-04-24 12:03:58 +02:00
Martin Gräßlin
8c4d695907 Remove thumbnail bar from CoverSwitch Effect
The usage has always been questionable as the thumbnails are
too small to properly recognize something.

Now BoxSwitch Effect has reach its end of life which would have
required to keep most of the code just for this thumbnail bar.

If required it would be better to integrate the normal QML based
TabBox to be rendered together with an effect.

BUG: 296070
FIXED-IN: 4.11.0
2013-04-24 12:03:46 +02:00
Script Kiddy
71d0e363d3 SVN_SILENT made messages (.desktop file) 2013-04-22 09:03:09 +02:00
Script Kiddy
d2b718ac0d SVN_SILENT made messages (.desktop file) 2013-04-20 09:51:27 +02:00
Script Kiddy
71743ba5cb SVN_SILENT made messages (.desktop file) 2013-04-18 09:41:16 +02:00
Script Kiddy
041ee1ac71 SVN_SILENT made messages (.desktop file) 2013-04-17 09:15:50 +02:00
Thomas Lübking
1bda85f9f5 resize effect: use preMultiply function for color 2013-04-16 22:07:07 +02:00
Thomas Lübking
8cf6e39eab general tabbox support for screenedges
REVIEW: 109362
BUG: 316288
FIXED-IN: 4.11
2013-04-16 22:07:07 +02:00
Feng Chao
7854d12743 Fix Bug 316877 - Description text for the Slide Back effect is incorrect
Change "Slide back windows losing focus" to
"Slide back windows when another window is raised"

BUG: 316877
2013-04-16 20:44:49 +08:00
Script Kiddy
f515789b02 SVN_SILENT made messages (.desktop file) 2013-04-14 08:37:06 +02:00
Script Kiddy
99ceff018a SVN_SILENT made messages (.desktop file) 2013-04-13 10:11:47 +02:00
Martin Gräßlin
caf340a607 Drop MouseClickEffect::supported
It returns true...

REVIEW: 109955
2013-04-11 12:56:07 +02:00
Martin Gräßlin
10002e2006 Add "This effect is not a benchmark" to FPS Effect
Underneath the graph the text "This effect is not a benchmark" is
rendered.

REVIEW: 109869
2013-04-09 13:27:08 +02:00
Script Kiddy
e793067ab6 SVN_SILENT made messages (.desktop file) 2013-04-08 09:00:12 +02:00
Script Kiddy
ef0c9f3e94 SVN_SILENT made messages (.desktop file) 2013-03-30 09:40:36 +01:00
Martin Gräßlin
b4c8311ace Port Sheet effect to KConfigXT
REVIEW: 109220
2013-03-22 10:34:56 +01:00
Fredrik Höglund
010b3c94de Merge branch 'KDE/4.10'
Conflicts:
	kwin/lanczosfilter.cpp
2013-03-21 17:13:34 +01:00
Fredrik Höglund
cd93f3c486 kwin/cube: Fix the panel shadow being clipped out
The shadow was being clipped out while the slide animation was running.
2013-03-21 16:43:45 +01:00
Fredrik Höglund
e59867dd92 kwin/blur: Fetch all the blur regions in the ctor
Otherwise the content below windows that were created before the effect
was instantiated won't be blurred.
2013-03-21 16:22:02 +01:00
Thomas Lübking
d6c652fd35 fix magnifier + xrender segfault 2013-03-20 22:23:43 +01:00
Thomas Lübking
81931857b6 keep + track m_closeWindow to keep m_winData alive
BUG: 259640
FIXED-IN: 4.10.2
REVIEW: 109509
2013-03-20 22:23:40 +01:00
Thomas Lübking
4babec9991 keep + track m_closeWindow to keep m_winData alive
BUG: 259640
FIXED-IN: 4.10.2
REVIEW: 109509
2013-03-20 21:04:59 +01:00
Script Kiddy
2515f30d6b SVN_SILENT made messages (.desktop file) 2013-03-19 16:40:02 +01:00
Martin Gräßlin
649264d738 Do not round integer values 2013-03-15 15:51:36 +01:00
Martin Gräßlin
9a6b1159fe Remove unused includes 2013-03-15 15:51:14 +01:00
Martin Gräßlin
74f0ca2f00 Add missing KGlobal includes 2013-03-15 15:43:49 +01:00
Martin Gräßlin
0c86d31ff2 Remove kde4_no_enable_final from CMakeLists.txt
Tried to build KWin with enable final: it doesn't work. So if nobody uses
it, we don't need it in the CMakeLists to make it work.

Also it's removed in KF5 which means that removing it right now removes
differences in the build system.

REVIEW: 109357
2013-03-14 12:32:06 +01:00
Martin Gräßlin
98a04893a6 Use mgraesslin@kde.org for my mail address in Copyright and AboutData 2013-03-12 13:17:53 +01:00
Martin Gräßlin
30a3fade2b Fix incorrect Texture creation
The textures get created over QSize -> QPixmap conversation which is
obviously not intended here.

REVIEW: 109337
2013-03-12 09:24:44 +01:00
Martin Gräßlin
fb65c07bf7 Use a QDeclarativeView for button views in Present Windows and Desktop Grid
Declarative UI++

REVIEW: 109409
2013-03-12 08:40:46 +01:00
Martin Gräßlin
5755a6f21a Include KIcon where needed
Similar to the KGlobal case: no longer included in other includes.
2013-03-07 13:59:16 +01:00
Martin Gräßlin
0ccc060218 Include KGlobal were needed
With KF5 some includes which used to include KGlobal, e.g. KStandardDirs
do no longer include KGlobal. So if we use KGlobal we should include it.
2013-03-07 13:59:15 +01:00
Martin Gräßlin
60c42b7a34 s/KLocale/KLocalizedString/g
Many headers included KLocale to use i18n and co. But those methods are
defined in KLocalizedString and not in KLocale.

With KF5 klocale.h does no longer include KLocalizedString causing lots
of compile errors.
2013-03-07 13:59:15 +01:00
Martin Gräßlin
32b6ef42b9 Strip module path from all Qt #include <>
Done with:
fixqt4headers.pl --strip-modules

REVIEW: 109176
2013-03-06 10:26:56 +01:00
Martin Gräßlin
b01f5684c5 Remove not needed includes from kwineffect header files
Only include what's actually needed in the headers. This causes of course
some additional needed includes in some implementation files.
2013-03-06 10:23:09 +01:00
Martin Gräßlin
5a2d14baf7 More fine grained linking than X11_LIBRARIES
Use X11_X11_LIB and actually needed additional libs instead of
everything coming with X11_LIBRARIES.

REVIEW: 109141
2013-03-06 10:14:21 +01:00
Martin Gräßlin
c6be37bc84 Effects no longer need xfixes and xrender from XLib 2013-03-06 10:14:15 +01:00
Martin Gräßlin
d2371e7478 CMake cleanup: empty else() 2013-03-06 10:14:15 +01:00
Martin Gräßlin
928e5d4912 Split the libs we link to into multiple variables
Using a lib variable for:
* own libs
* qt libs
* kde libs
* xlib libs
* xcb libs

and link those groups together in target_link_libraries. This should
make the code easier to read and easier to support in future for some
time both Qt4 and Qt5.
2013-03-06 10:14:15 +01:00
Martin Gräßlin
ea83a9c578 Cmake cleanup: empty endfoo() 2013-03-06 10:14:15 +01:00
Martin Gräßlin
5ea22e362d CMake Cleanup: empty endif 2013-03-06 10:14:15 +01:00
Martin Gräßlin
58725744e5 Merge branch 'KDE/4.10' 2013-03-06 09:54:39 +01:00
Martin Gräßlin
7bf9fe6c37 Save shortcut editor in DesktopGrid config
BUG: 316177
FIXED-IN: 4.10.2
REVIEW: 109292
2013-03-06 09:53:15 +01:00
Thomas Lübking
499e34736b check list validity before taking last item
also block for tabboxes *around* stackorder changes

BUG: 315528
2013-03-05 19:24:30 +01:00
Script Kiddy
76be01b1f4 SVN_SILENT made messages (.desktop file) 2013-03-05 17:07:15 +01:00
Martin Gräßlin
4c402e8045 Rewrite of Login effect to JavaScript
Main motivation for this rewrite is the fact that the login effect had
been designed under the assumption that there is only one login splash
window. This assumption does no longer hold with the QML based splash,
which creates a window per screen.

By using a JavaScript based effect, the animation effect is implicityly
used which supports animating multiple windows at the same time in a
better and safer way.

BUG: 313061
FIXED-IN: 4.11
REVIEW: 108403
2013-03-04 10:31:27 +01:00
Script Kiddy
787c572535 SVN_SILENT made messages (.desktop file) 2013-03-04 08:31:27 +01:00
Martin Gräßlin
060451a7ec Remove unused includes in SlideBack Effect 2013-03-01 10:34:38 +01:00
Martin Gräßlin
b99e1c0a6b Reduce usage of QCursor::pos() and ::setPos()
Where possible it is changed to Cursor::pos(), where we cannot use the
Cursor class (e.g. Aurorae) we can at least try to limit the usage to
prevent roundtrips to the X server.

REVIEW: 109178
2013-02-27 11:46:30 +01:00
Martin Gräßlin
c3423b15e7 Add method to EffectsHandler to define the cursor for an input window
Convenience method to replace XDefineCursor used in the effects.

REVIEW: 109039
2013-02-25 13:35:19 +01:00
Martin Gräßlin
b8c6831a1f Port Screenshot effect to XCB
This includes:
* getting cursor image through xcb_xfixes
* using xcb_image_get for reading screen content in xrender case
* using xcb_put_image to upload the generated screenshot into shared xpix

Overall this means that QPixmap as an X Pixmap wrapper is no longer used.
The conversion from xcb_image_t to QImage still needs some code for not
matching byte order. I'm a little bit unsure about adding the code as I
would not be able to test it.

REVIEW: 109076
2013-02-25 13:31:50 +01:00
Martin Gräßlin
a3faf455b9 Port Zoom effect to XCB and some small improvements
* use xcb_fixes_foo
* drop QX11Info - we don't need it in the effects
* use QScopedPointer for GLTexture/XRenderPicture
* remove commented code
* use kDebug instead of qDebug

Of course XCursor library is still used as there is no XCB replacement.
What could be considered is adding a getCursor hook into the
EffectsHandler as also the ScreenShot Effect is getting the cursor and
using XCursor doesn't seem future proof to me ;-)

Sorry for putting everything into one commit.

REVIEW: 109083
2013-02-25 10:52:50 +01:00
Script Kiddy
83faa5f54b SVN_SILENT made messages (.desktop file) 2013-02-22 18:00:11 +01:00
Martin Gräßlin
7e10fe524f Fix warnings and compile errors when building with XRender Compositing disabled
ScreenEdgesEffect failed compiling, mouseclick and zoom are yelling
warnings.

Compiling is tested with XRender enabled, for the disabled test I need to
wait for my Jenkins installation ;-)
2013-02-21 18:21:46 +01:00
Thomas Lübking
8129451ab3 re-settle slideBack effect to stackingOrderChanged
BUG: 294490
FIXED-IN: 4.11
2013-02-18 21:55:14 +01:00
Martin Gräßlin
3d5f962566 XRender implementation for ScreenEdges Glow Effect
More or less straight forward port from OpenGL to XRender. There is one small difference:
the corners are not upscaled.

REVIEW: 108939
2013-02-18 09:21:43 +01:00
Martin Gräßlin
d0d43046d8 Use XRenderPicture instead of QPixmap in TrackMouse Effect
At the same time porting from XLib to XCB.

REVIEW: 108919
2013-02-14 14:22:57 +01:00
Martin Gräßlin
f45ade7785 Port preMultiply of color to xcb_render
Method returns a xcb_render_color_t instead of an XRenderColor.

With this change kwinxrenderutils is XLib free!
2013-02-14 14:20:27 +01:00
Martin Gräßlin
f20ec15053 Port xRenderOffscreenTarget away from QPixmap
Instead of having a pointer to a QPixmap the offscreen target holds an
xcb_render_picture_t. To make this possible in SceneWindow the tempPixmap
is changed from a QPixmap* to a XRenderPicture*. QPixmap was only used
for convenience.

ScreenShot Effect as only user of the offscreen target is adjusted but
as it needs a QImage, still uses a QPixmap wrapper.
2013-02-14 14:20:27 +01:00
Martin Gräßlin
368de6842a Wrapper class to create an xcb_xfixes_region_t from a QRegion
Replaces the previously existing method to convert a QRegion which did
not take care of freeing the region again.

Usages are ported over.
2013-02-14 14:20:26 +01:00
Script Kiddy
0bd6e413b2 SVN_SILENT made messages (.desktop file) 2013-02-13 00:36:34 +01:00
Thomas Lübking
c395d6e66c fix mouse button order
X counts the middle button as 2 and right as 3, Qt as 4 and 2 resp. the flags
... we shall at least match our GUI ;-)

BUG: 314756
FIXED-IN: 4.10.1
REVIEW: 108883
2013-02-12 21:59:22 +01:00
Thomas Lübking
f5744fa224 catch releases without presses
happens when the polling misses the press when doing more
important things

also shortcut buttons == oldButtons

BUG: 314762
FIXED-IN: 4.10.1
REVIEW: 108883
2013-02-12 21:59:22 +01:00
Thomas Lübking
b233288439 fix mouse button order
X counts the middle button as 2 and right as 3, Qt as 4 and 2 resp. the flags
... we shall at least match our GUI ;-)

BUG: 314756
FIXED-IN: 4.10.1
REVIEW: 108883
2013-02-12 21:16:35 +01:00
Thomas Lübking
e36e5efab8 catch releases without presses
happens when the polling misses the press when doing more
important things

also shortcut buttons == oldButtons

BUG: 314762
FIXED-IN: 4.10.1
REVIEW: 108883
2013-02-12 21:16:29 +01:00
Thomas Lübking
c016589fcd Try to keep the labels in the expanded geometry
and ensure to repaint labels for very tiny windows
Also move to LayerRepaints

BUG: 278137
FIXED-IN: 4.10.1
REVIEW: 108676
(cherry picked from commit 1365f04435f0bbbc74301988b778f7fdf1ad4fd8)
2013-02-12 21:15:55 +01:00
Thomas Lübking
1cc5c2ff3f react on screenCountChanged to re-validate lists
includes fixing commit 1ac2f407c67c5740fb79cb11b610814a056b3268

BUG: 314409
REVIEW: 108775
FIXED-IN: 4.10.1
(cherry picked from commit e4ef2f072336a59039b1372266e4a5ab05d29cc0)
2013-02-12 21:15:37 +01:00
Thomas Lübking
06c725e685 port mouseclick to xcb using a tristrip
REVIEW: 108879
2013-02-12 20:59:47 +01:00
Script Kiddy
9af0232217 SVN_SILENT made messages (.desktop file) 2013-02-12 19:49:11 +01:00
Script Kiddy
f63f41de83 SVN_SILENT made messages (.desktop file) 2013-02-12 01:32:38 +01:00
Script Kiddy
1338bc83b2 SVN_SILENT made messages (.desktop file) 2013-02-11 11:27:36 +01:00
Martin Gräßlin
55585514f9 Remove close window mouse action from Present Windows effect
This feature has been superseded by the close window button and as it
is a rather destructive action it makes sense to remove it.

Sorry to everyone who used it.

CCBUG: 314393
REVIEW: 108851
2013-02-11 09:04:06 +01:00
Script Kiddy
c14c152cb5 SVN_SILENT made messages (.desktop file) 2013-02-09 09:05:22 +01:00
Martin Gräßlin
8d2df5dba4 Merge branch 'KDE/4.10' 2013-02-08 14:11:03 +01:00
Martin Gräßlin
2f02157a0f Do not activate InvertEffect per window if there is no active window
BUG: 314593
FIXED-IN: 4.10.1
REVIEW: 108828
2013-02-08 14:08:20 +01:00
Marco Martin
9bddaea08b Merge branch 'KDE/4.10' 2013-02-07 17:59:07 +01:00
Script Kiddy
685e9368b1 SVN_SILENT made messages (.desktop file) 2013-02-07 13:30:14 +01:00
Martin Gräßlin
10c07080bb Notify effects when the screen gets locked
EffectsHandlerImpl starts to monitor DBus for the screen being locked and
provides this information to the Effect system by allowing them to ask
whether the screen is currently locked and by emitting a signal when the
screen gets locked/unlocked.

This information is needed to ensure that no private data is shown on the
screen. The following effects are adjusted:
* taskbar thumbnails
* thumbnail aside
* mouse mark
* screen shot

BUG: 255712
FIXED-IN: 4.11
REVIEW: 108670
2013-02-07 10:23:30 +01:00
Martin Gräßlin
beb00478e1 Only start animating in cube slide on window move if core uses switch desktop on edge
For this new KWinOptions are exposed to query whether core uses switch on
desktop on move or always.

BUG: 299901
FIXED-IN: 4.11
REVIEW: 108671
2013-02-07 10:10:25 +01:00
Martin Gräßlin
06895db1a9 New Glow on approaching Screen Edge Effect
Feature stolen from hidden Plasma Panel now available for all edges on
approach by mouse.
2013-02-07 09:48:09 +01:00
Martin Gräßlin
7a7f9d1a34 Change the way how screen edges interact with Effects/Scripts
The main difference is that the activation of an edge is no longer
broadcasted to all effects and scripts, but instead a passed in slot of
the Effect/Script is invoked.

For this the EffectsHandler API is changed to take the Effect as an
argument to (un)reserveElectricBorder. As callback slot the existing
borderActivated is used.

In addition the ScreenEdge monitors the object for beeing destroyed and
unregisters the the edge automatically. This removes the need from the
Effect to call unregister in the dtor.

BUG: 309695
FIXED-IN: 4.11
2013-02-07 09:46:52 +01:00
Script Kiddy
63356876ac SVN_SILENT made messages (.desktop file) 2013-02-07 08:57:53 +01:00
Martin Gräßlin
4471e8a41b Do not delete close window on screenCountChanged
Not needed there and causes crash.
2013-02-06 14:32:43 +01:00
Script Kiddy
dad894d830 SVN_SILENT made messages (.desktop file) 2013-02-06 08:18:00 +01:00
Script Kiddy
7d16cef10e SVN_SILENT made messages (.desktop file) 2013-02-05 21:32:15 +01:00
Thomas Lübking
c713141a37 react on screenCountChanged to re-validate lists
BUG: 314409
REVIEW: 108775
2013-02-05 19:15:40 +01:00
Thomas Lübking
70d19d9c80 Try to keep the labels in the expanded geometry
and ensure to repaint labels for very tiny windows
Also move to LayerRepaints

BUG: 278137
FIXED-IN: 4.10.1
REVIEW: 108676
2013-02-05 19:15:39 +01:00
Script Kiddy
85e8375402 SVN_SILENT made messages (.desktop file) 2013-02-05 16:56:36 +01:00
Martin Gräßlin
e68f7f960b Port zoom effect to XCB render
Still strong usage of other XLib components.

REVIEW: 108652
2013-02-04 08:34:18 +01:00
Martin Gräßlin
29b36c87dd Port Resize effect to XCB render 2013-02-04 08:33:25 +01:00
Martin Gräßlin
cd1eab0c55 Port ShowPaint Effect to XCB render 2013-02-04 08:33:25 +01:00
Martin Gräßlin
c7e86b970c Port ShowFPS Effect to XCB render 2013-02-04 08:33:25 +01:00
Martin Gräßlin
79af33c136 Cleanup in SnapHelper effect
* use <> includes
* remove commented and unused code
2013-02-04 08:33:24 +01:00
Martin Gräßlin
e790284eee Port SnapHelper effect to XCB 2013-02-04 08:33:24 +01:00
Martin Gräßlin
5dc4b1d85d Port of mousemark effect to XCB 2013-02-04 08:33:24 +01:00
Martin Gräßlin
c5bebcd809 Port Magnifier Effect to XCB
First XRender effect which gets ported over. Therefore required bits are
added to CMakeLists.txt.

Port to xcb is luckily rather straight forward. Though the QPixmap usage
needs to be replaced by xcb_pixmap_t together with a XRenderPicture.
2013-02-04 08:33:24 +01:00
Script Kiddy
3c966e3098 SVN_SILENT made messages (.desktop file) 2013-02-01 13:28:42 +01:00
Script Kiddy
d9191d1485 SVN_SILENT made messages (.desktop file) 2013-02-01 08:50:51 +01:00
Marco Martin
baf21f6b34 Merge branch 'KDE/4.10'
Conflicts:
	plasma/generic/applets/batterymonitor/metadata.desktop
	plasma/generic/applets/lock_logout/metadata.desktop
2013-01-31 17:00:02 +01:00
Script Kiddy
f193c56957 SVN_SILENT made messages (.desktop file) 2013-01-31 16:31:28 +01:00
Script Kiddy
ca2cf4d697 SVN_SILENT made messages (.desktop file) 2013-01-31 12:00:36 +01:00
Script Kiddy
1416c8d62c SVN_SILENT made messages (.desktop file) 2013-01-30 16:27:26 +01:00
Martin Gräßlin
58019b9ce3 Merge branch 'KDE/4.10'
Conflicts:
	kwin/client.cpp
2013-01-30 15:16:56 +01:00
Martin Gräßlin
0c92e1f30c Use translucent/dialogs/background elements where possible
In effects it's obvious that compositing is enabled, so specifying the
translucent element is no problem.

In tabbox a context property "compositing" is injected which decides
whether "translucent" or "opaque" elements should be used. Here the
translucent elements are only used if the Blur effect is available - for
this a new Effect::Feature Blur is introduced and in addition it is
tested whether the theme provides the translucent element.

Also the masking is adjusted to ensure that only the shadow is not
blurred.

Reason for this change is that Plasma theme seems not always to pick up
whether compositing is used when used from inside KWin. It does not cover
the Desktop Change OSD which uses PlasmaCore.Dialog and there we cannot
(yet) inject that we use compositing.

Overall I'm quite unhappy with this patch and I do hope we can fix it in
the proper place in the lifetime of 4.10 and revert this patch.

CCBUG: 311995
REVIEW: 108438
2013-01-30 15:14:54 +01:00
Thomas Lübking
e128d5ad26 use Size instead of Scale animation
BUG: 310945
FIXED-IN: 4.10
REVIEW: 108650
2013-01-30 13:07:22 +01:00
Thomas Lübking
e2db836def Merge branch 'KDE/4.10'
Conflicts:
	kwin/client.cpp
2013-01-30 12:43:39 +01:00
Thomas Lübking
a2ac8dab0c use Size instead of Scale animation
BUG: 310945
2013-01-30 10:45:22 +01:00
Script Kiddy
862b35dcc8 SVN_SILENT made messages (.desktop file) 2013-01-28 13:20:08 +01:00
Script Kiddy
f3ca3e4c02 SVN_SILENT made messages (.desktop file) 2013-01-28 08:47:50 +01:00
Script Kiddy
da9c66760a SVN_SILENT made messages (.desktop file) 2013-01-27 13:02:17 +01:00
Script Kiddy
2ea65eb18e SVN_SILENT made messages (.desktop file) 2013-01-26 13:21:28 +01:00
Script Kiddy
7d821f3814 SVN_SILENT made messages (.desktop file) 2013-01-26 09:04:17 +01:00
Thomas Lübking
ad36e510e4 don't zoom or clamp windows on effect start/end
REVIEW: 108477
BUG: 294428
2013-01-23 21:28:25 +01:00
Thomas Lübking
5d0e383924 don't stopMousePolling when not started
REVIEW: 108536
BUG: 313655
2013-01-23 21:28:25 +01:00
Thomas Lübking
31f20cb4b1 push zoomregion on contact
BUG: 312956
2013-01-23 21:27:46 +01:00
Thomas Lübking
1a5640cfc5 continuous zoom animation support, constant time driven 2013-01-23 21:27:46 +01:00
Thomas Lübking
74fa33497f reset generic shader after zoom
REVIEW: 108252
BUG: 304435
2013-01-23 21:27:45 +01:00
Thomas Lübking
c312914f6e don't zoom or clamp windows on effect start/end
REVIEW: 108477
BUG: 294428
2013-01-23 21:27:43 +01:00
Thomas Lübking
9a5db24cdf don't stopMousePolling when not started
REVIEW: 108536
BUG: 313655
2013-01-23 21:27:43 +01:00
Martin Gräßlin
819b474a79 Introduce property "visible" on EffectWindow
This property can be used to check whether a window is currently visible
to the user, that is:
* not minimized
* on the current desktop
* on current activity

This is a common need for various effects.

REVIEW: 108341
2013-01-21 15:56:58 +01:00
Script Kiddy
763a953d4a SVN_SILENT made messages (.desktop file) 2013-01-21 12:47:21 +01:00
Script Kiddy
2781f240b6 SVN_SILENT made messages (.desktop file) 2013-01-21 08:20:27 +01:00
Script Kiddy
26a316d044 SVN_SILENT made messages (.desktop file) 2013-01-20 11:57:59 +01:00
Script Kiddy
eb22a0ea1c SVN_SILENT made messages (.desktop file) 2013-01-20 07:52:28 +01:00
Script Kiddy
61e92cf442 SVN_SILENT made messages (.desktop file) 2013-01-18 12:35:32 +01:00
Script Kiddy
96f88dda18 SVN_SILENT made messages (.desktop file) 2013-01-18 08:08:47 +01:00
Script Kiddy
589ed300d1 SVN_SILENT made messages (.desktop file) 2013-01-17 12:53:52 +01:00
Script Kiddy
8154d50dec SVN_SILENT made messages (.desktop file) 2013-01-17 08:15:16 +01:00
Aaron Seigo
de008fe200 Merge branch 'KDE/4.10' 2013-01-16 16:17:20 +01:00
Script Kiddy
3cddfdecff SVN_SILENT made messages (.desktop file) 2013-01-16 12:37:47 +01:00
Script Kiddy
f49ad23e8a SVN_SILENT made messages (.desktop file) 2013-01-16 08:25:39 +01:00
Martin Gräßlin
b7f06b8708 Use window size for offscreen texture size in screenshot effect
Effect used the display size which caused windows being larger than
either width or height not to be captured correctly.

Now it uses the window size for the offscreen texture which also requires
to adjust the modelviewprojection matrix.

As an unrelated change the pointer to GLRenderTarget and GLTexture are
changed to a QScopedPointer and some variables which got moved around
are consted.

BUG: 312851
FIXED-IN: 4.11
REVIEW: 108258
2013-01-15 15:05:43 +01:00
Script Kiddy
0e73ee70a4 SVN_SILENT made messages (.desktop file) 2013-01-13 12:19:08 +01:00
Script Kiddy
e22b539e3a SVN_SILENT made messages (.desktop file) 2013-01-13 08:07:12 +01:00
Weng Xuetian
b0887fe0cf Merge remote-tracking branch 'origin/KDE/4.10' 2013-01-12 09:39:06 -05:00
Script Kiddy
537cd85eff SVN_SILENT made messages (.desktop file) 2013-01-12 13:13:12 +01:00
Martin Gräßlin
47da2464f3 Merge branch 'KDE/4.10' 2013-01-11 08:52:42 +01:00
Martin Gräßlin
524a63b3fe Track painted areas in Thumbnail Aside effect
Following the approach of ShowPaint effect by tracking the actual painted
regions per window to determine whether the painted area intersects with
one of the thumbnails.

BUG: 306169
FIXED-IN: 4.10
REVIEW: 108289
2013-01-11 08:51:20 +01:00
Martin Gräßlin
e654c9d106 Do not clip away shadows in SlidingPopupsEffect
Animation now completely based on the expandedGeometry which includes the
shadows and another repaint at the end of the animation is added to
ensure that there are no leftover shadows.

BUG: 312168
FIXED-IN: 4.10
REVIEW: 108255
2013-01-11 08:50:15 +01:00
Script Kiddy
3035d220c0 SVN_SILENT made messages (.desktop file) 2013-01-11 08:17:14 +01:00
Weng Xuetian
0a699cf8ce Merge remote-tracking branch 'origin/KDE/4.10' 2013-01-10 13:19:04 -05:00
Script Kiddy
d5a0dd56cf SVN_SILENT made messages (.desktop file) 2013-01-10 12:23:23 +01:00
Martin Gräßlin
80bd289e06 Better names for global shortcuts in Zoom Effect
BUG: 288903
FIXED-IN: 4.11
REVIEW: 108290
2013-01-10 08:28:30 +01:00
Script Kiddy
a2c44c29f4 SVN_SILENT made messages (.desktop file) 2013-01-08 22:37:02 +01:00
Script Kiddy
6e267063d8 SVN_SILENT made messages (.desktop file) 2013-01-08 17:21:50 +01:00
Martin Gräßlin
a4ef906b14 Fix warnings
SVN_SILENT
2013-01-08 11:08:46 +01:00
Albert Astals Cid
dec63fb987 Merge remote-tracking branch 'origin/KDE/4.10' 2013-01-07 11:04:39 +01:00
Martin Gräßlin
565b4ed6a3 Common way to announce support for specific effects through X11
Instead of each effect, which needs to announce support, having custom
code to create a property and set it on the root window, there is now a
common API in EffectsHandler to take care of this.

The methods takes care of creating the atom if it has not already done
and set the property on the root window. Furthermore it allows multiple
effects to announce the same property without getting in conflict with
each other.

As a further convenience the property is automatically removed when the
effect is unloaded, so less things an effect author has to care about.

REVIEW: 107815
2013-01-07 10:00:01 +01:00
Martin Gräßlin
334b4bf622 Move handling of Virtual Desktops into a VirtualDesktopManager
The ownership for virtual desktops is moved from Workspace into a new
VirtualDesktopManager. The manager is responsible for providing the count
of virtual desktops and keeping track of the currently used virtual
desktop.

All methods related to moving between desktops are also moved from
Workspace to the new manager, though all methods related to Clients on
Virtual Desktops remain in Workspace for the time being. This is to have
the new manager as independent from KWin core as possible.

An rather important change for the handling of virtual desktops is that
the count and the id of a desktop is now an unsinged integer instead of
an integer. The reason for that is that we cannot have a negative count
of desktops as well as it is not possible to be on a desktop with a
negative identifier.

In that regard it is important to remember that a Client can be on a
desktop with a negative identifier. The special value for a Client being
on all desktops is handled by using -1 as a desktop. For the time being
this is not adjusted but instead of comparing the virtual desktop ids one
should prefer to use the convenient methods like isOnDesktop and
isOnAllDesktops. This would allow in future to internally change the
representation for on all desktops.
2013-01-07 09:47:51 +01:00
Script Kiddy
c6d91ac7eb SVN_SILENT made messages (.desktop file) 2013-01-07 08:11:48 +01:00
Weng Xuetian
6fd8db7af9 Merge branch 'KDE/4.10' 2013-01-06 23:25:01 -05:00
Script Kiddy
93c9fd0f32 SVN_SILENT made messages (.desktop file) 2013-01-04 07:44:10 +01:00
Script Kiddy
d6dd4308db SVN_SILENT made messages (.desktop file) 2013-01-03 07:40:00 +01:00
Thomas Lübking
8b35d3e34e finish / sync screenshot before calling ksnapshot
BUG: 312209
FIXED-IN: 4.10
REVIEW: 107981
2013-01-02 19:05:11 +01:00
Thomas Lübking
dcab3d44f3 snaphelper: repaint center rect on resizing client
BUG: 311551
FIXED-IN: 4.10
REVIEW: 108005
2013-01-02 19:05:10 +01:00
Martin Gräßlin
533d57da60 Mark most ctors as explicit as reported by Krazy2 checker 2013-01-02 18:35:46 +01:00
Thomas Lübking
75e87a44ce finish / sync screenshot before calling ksnapshot
BUG: 312209
FIXED-IN: 4.10
REVIEW: 107981
2013-01-02 18:25:45 +01:00
Thomas Lübking
d83d4a7977 snaphelper: repaint center rect on resizing client
BUG: 311551
FIXED-IN: 4.10
REVIEW: 108005
2013-01-02 18:25:24 +01:00
Martin Gräßlin
a0e8987adb Port Logout Effect to KConfigXT
REVIEW: 107935
2012-12-30 09:51:01 +01:00
Jekyll Wu
baedc89ed2 Merge branch 'KDE/4.10' 2012-12-24 22:07:03 +08:00
Script Kiddy
12f341712c SVN_SILENT made messages (.desktop file) 2012-12-24 09:05:36 +01:00
Weng Xuetian
d50419ed51 Merge branch 'KDE/4.10' 2012-12-23 23:27:29 -05:00
Script Kiddy
d7316b9fcb SVN_SILENT made messages (.desktop file) 2012-12-23 08:01:50 +01:00
Martin Gräßlin
bb317fa2e8 More explicit parenthesis in if condition
--Warnings
2012-12-20 16:41:23 +01:00
Script Kiddy
ef0cae8dab SVN_SILENT made messages (.desktop file) 2012-12-18 15:28:22 +01:00
Script Kiddy
a2472524c2 SVN_SILENT made messages (.desktop file) 2012-12-17 07:49:07 +01:00
Thomas Lübking
b0e0378c77 fix wobblynnoyance kcfg group
BUG: 311382
FIXED-IN: 4.10
2012-12-14 22:36:40 +01:00
Thomas Lübking
eebabeb636 kick pointless nominalCursor calculation
likely just copypasta from a broken kcm and gets
us a wrong dimensioned cursor texture

BUG: 310497
FIXED-IN: 4.10
2012-12-14 22:36:39 +01:00
Script Kiddy
dda5cbea69 SVN_SILENT made messages (.desktop file) 2012-12-13 07:29:15 +01:00
Script Kiddy
974e0e9c7d SVN_SILENT made messages (.desktop file) 2012-12-09 07:14:36 +01:00
Script Kiddy
a5bec484f6 SVN_SILENT made messages (.desktop file) 2012-12-05 07:19:24 +01:00
Script Kiddy
068419656f SVN_SILENT made messages (.desktop file) 2012-12-03 07:26:16 +01:00
Script Kiddy
49a373b681 SVN_SILENT made messages (.desktop file) 2012-12-01 08:03:43 +01:00
Script Kiddy
5fc8da9ad7 SVN_SILENT made messages (.desktop file) 2012-11-30 07:40:50 +01:00
Thomas Lübking
026fe92c7f don't use textured mousecursor unless required
REVIEW: 107424
BUG: 276391
FIXED-IN: 4.10
2012-11-29 20:17:36 +01:00
Script Kiddy
5a9a6d3b8a SVN_SILENT made messages (.desktop file) 2012-11-28 07:36:20 +01:00
Martin Gräßlin
876b427dfb Fix some C++11 narrowing conversation warnings
Thanks to Jurica Vukadin for providing the patch.

REVIEW: 106994
2012-11-26 10:27:02 +01:00
Script Kiddy
e6f0f5bcf7 SVN_SILENT made messages (.desktop file) 2012-11-26 07:08:50 +01:00
Martin Gräßlin
18cccad806 Introduce a templated animationTime overload for the KConfigXT case
This method can be used to get the animationTime in case a configuration
class generated through KConfigXT is used. In general the configuration
stores the magic value 0 for a property "duration". This magic value
indicates that a hard-coded default value should be used.

So the common logic to test the stored value for 0 and then either pass
the stored value or the default value to animationTime is encapsulated
in this method in a generic way.

A MyEffect can use it in the following way:
animationTime<MyEffectConfig>(200);

BUG: 310646
FIXED-IN: 4.10
REVIEW: 107460
2012-11-25 20:19:31 +01:00
Martin Gräßlin
40400167b9 Only wrap duration once in animationTime()
The zoomDuration is already wrapped in animationTime() during
reconfigure. So doing it twice is wrong.

REVIEW: 107463
2012-11-25 20:18:07 +01:00
Script Kiddy
313b1833bc SVN_SILENT made messages (.desktop file) 2012-11-25 07:01:07 +01:00
Dario Cambié
a7fa887e49 Disable fallapart effect for not-visible windows
REVIEW: 106823
2012-11-24 16:24:26 +01:00
Script Kiddy
378aadcb1d SVN_SILENT made messages (.desktop file) 2012-11-24 07:33:07 +01:00
Martin Gräßlin
2ba5e1d6ad Remove unused variable in CubeEffect::loadShader
--warnings
2012-11-21 14:44:45 +01:00
Martin Gräßlin
99411ce7b1 Merge CubeEffect::loadConfig with reconfigure
Only called from inside reconfigure and reconfigure does nothing else
than calling loadConfig.
2012-11-21 14:42:21 +01:00
Script Kiddy
2b0453d82c SVN_SILENT made messages (.desktop file) 2012-11-17 07:39:31 +01:00
Script Kiddy
b24b9a99f3 SVN_SILENT made messages (.desktop file) 2012-11-16 07:21:38 +01:00
Thomas Lübking
b28cf2adc9 xrender for mouseclick
REVIEW: 107181
2012-11-14 21:16:32 +01:00
Casian Andrei
22569f7eb9 Remove forceAlpha uniform, which is no longer needed
This was originally added by d467fc1bdbcf69bd6ef213bd909633c2edfb6878,
to prevent alpha ending up to be 0 with blending disabled. Apparently,
that was a driver issue that is no longer present.

REVIEW: 107090
2012-11-13 22:23:18 +02:00
Script Kiddy
b2bf54f859 SVN_SILENT made messages (.desktop file) 2012-11-11 06:50:24 +01:00
Martin Gräßlin
9308028fa4 Decoration can announce whether it currently requires an alpha channel
A decoration can provide the AbilityAnnounceAlphaChannel in addition to
AbilityUsesAlphaChannel. If this ability is provided the decoration can
enable/disable the use of the alpha channel through setAlphaEnabled().

The base idea behind this mechanism is to be able to tell the compositor
that currently alpha is not needed. An example is the maximized state in
which the decoration is fully opaque so that there is no need to use the
translucency code path which would render all windows behind the deco.

In addition also the blur effect honors this setting so that behind a
known opaque decoration no blurring is performed.

Oxygen is adjusted to disable translucency in maximized state and Aurorae
is adjusted to allow themes to enable/disable translucency. For Plastik
translucency and with that also blurring is disabled.

REVIEW: 106810
2012-11-09 10:36:43 +01:00
Martin Gräßlin
509daa60a1 Use KConfigXT in Translucency Effect
Port the KCM to use KConfigXT which means that the complete custom code
for loading, saving and setting to defaults can be dropped.

Also in the effect in brings some advantages as we basically get compile
time checks whether the accessed config is named correctly.

The saved values for translucency are now UInts in [0,100] instead of
doubles in [0.0,1.0], so an update script is needed.

REVIEW: 106310
2012-11-09 08:53:22 +01:00
Martin Gräßlin
7ad25b663e Adding more declarative way to animate a window in JavaScript
The current API call to animate a window does not feel very JavaScripty.
Therefore a new method "animate" is added to the global scope, which
takes a JavaScript object of the following structure:

{
    window: EffectWindow, /* the window to animate, required */
    duration: int, /* duration in msec, required */
    curve: QEasingCurve.Type, /* global easing curve, optional */
    type: Effect.Attribute, /* for first animation, optional */
    from: FPx2, /* for first animation, optional */
    to: FPx2, /* for first animation, optional */
    delay: int, /* for first animation, optional */
    animations: [ /* additional animations, optional */
        {
        curve: QEasingCurve.Type, /* overrides global */
        type: Effect.Attribute,
        from: FPx2,
        to: FPx2,
        delay: int
        }
    ]
}

At least one animation needs to be specified either on the root level
or in the array of animations. Curve is the only property on root level
which is used in the animations, if not provided.

REVIEW: 107079
2012-11-09 08:05:02 +01:00
Script Kiddy
22be6de889 SVN_SILENT made messages (.desktop file) 2012-11-07 06:52:27 +01:00
Script Kiddy
8ed615b0bd SVN_SILENT made messages (.desktop file) 2012-11-05 06:39:10 +01:00
Script Kiddy
21463a9a91 SVN_SILENT made messages (.desktop file) 2012-11-04 06:38:24 +01:00
Script Kiddy
93e9854674 SVN_SILENT made messages (.desktop file) 2012-11-03 07:01:48 +01:00
Script Kiddy
9d7cdf1011 SVN_SILENT made messages (.desktop file) 2012-10-30 15:42:08 +01:00
Script Kiddy
17ddc517b7 SVN_SILENT made messages (.desktop file) 2012-10-29 09:53:30 +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
Script Kiddy
2cb8e724d4 SVN_SILENT made messages (.desktop file) 2012-10-28 09:14:05 +01: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
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
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
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
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
Script Kiddy
49a5582f24 SVN_SILENT made messages (.desktop file) 2012-10-01 15:50:20 +02:00
Script Kiddy
5cd15e8920 SVN_SILENT made messages (.desktop file) 2012-10-01 10:36:58 +02:00
Thomas Lübking
87bd9958cf fix zoom factor scale, remains double
BUG: 307609
2012-09-30 13:51:42 +02:00
Martin Gräßlin
c2a4f81927 Introduce a helper class to automatically push/pop Shaders
The ShaderBinder class can be used for the case that a block of code
should be executed with a given Shader being bound. This is useful for
all the cases where there is a if-block for OpenGL2 execution with a
Shader being pushed in the first line to the ShaderManager and popped in
the last line of the block. With the helper this can be simplified to:

ShaderBinder binder(myCustomShader);

or

ShaderBinder binder(ShaderManager::GenericShader);

The ctor of ShaderBinder pushes the given Shader to the stack and once
the helper goes out of scope it will be popped again from the stack.

In addition the helper can take care of OpenGL 1 compositing, that is it
just does nothing. So it can also be used where there is a shared OpenGL1
and OpenGL2 code path where the Shader should only be pushed in OpenGL2.
This basically removes all the checks for the compositing type before
pushing/popping a Shader to the stack.

REVIEW: 106521
2012-09-29 15:33:57 +02:00
Martin Gräßlin
f9a2ecbf33 Do not use ShaderManager::isValid to check for OpenGL2 compositing
The main usage of ShaderManager::isValid was to have OpenGL2 specific
code pathes. Now we have an actual OpenGL2Compositing type and we know
that the ShaderManager is valid if we have this compositing type and we
know that it is not valid on OpenGL1Compositing. This gives us a much
better check and allows us to use the isValid method just for where we
want to check whether the shaders compiled successfully.

In addition some effects require OpenGL2, so we do not need to check
again that the ShaderManager is valid. Such usages are removed.
2012-09-29 15:33:57 +02:00
Martin Gräßlin
6d2dfe06e7 Introduce dedicated OpenGL1 and OpenGL2 compositing types
The CompositingType enum turns into flags and two new values are
introduced: OpenGL1Compositing and OpenGL2Compositing.

Those new values are or-ed to OpenGLCompositing so that a simple check
for the flag OpenGLCompositing works in case of one of those two new
values. To make the generic check for OpenGL compositing easier a method
in EffectsHandler is introduced to just check for this.

The scenes now return either OpenGL1Compositing or OpenGL2Compositing
depending on which Scene implementation. None returns OpenGLCompositing.
2012-09-29 15:33:57 +02:00
Thomas Lübking
24cf0e75f3 Merge branch 'KDE/4.9'
Conflicts:
	kwin/scene.cpp
	plasma/generic/applets/batterymonitor/metadata.desktop
	plasma/generic/applets/lock_logout/metadata.desktop
2012-09-19 20:21:18 +02:00
Thomas Lübking
7775510918 fix desktopgrid window manage on VD amount change
BUG: 289747
FIXED-IN: 4.9.2
REVIEW: 106391
2012-09-19 20:16:33 +02:00
Alexander Jones
696ea9f4d3 Use KConfigXT in Magnifier Effect
REVIEW: 106442
2012-09-19 12:05:21 +02:00
Martin Gräßlin
85510b91aa Use KConfigXT in ThumbnailAside effect
Thanks to Andrea Scarpino for providing the patch.

REVIEW: 106436
2012-09-19 10:24:04 +02:00
Martin Gräßlin
bd91fb10d7 Use KConfigXT in WindowGeometry
Thanks to Andrea Scarpino for providing the patch.

REVIEW: 106413
2012-09-19 10:17:17 +02:00
Martin Gräßlin
9ac20a382d Use KConfigXT in MagicLamp effect
Thanks to Andrea Scarpino for providing the patch

REVIEW: 106412
2012-09-19 09:29:27 +02:00
Martin Gräßlin
8ad02b5582 Use KConfigXT in Dashboard Effect
Thanks to Andrea Scarpino for providing the patch.

REVIEW: 106390
2012-09-19 09:21:15 +02:00
Martin Gräßlin
914729324c Use KConfigXT in Login Effect
Thanks to Andrea Scarpino for providing the patch.

REVIEW: 106387
2012-09-19 09:01:59 +02:00
Lilian A. Moraru
66f568342a Use KConfigXT in DesktopGrid effect
REVIEW: 106398
2012-09-15 11:24:11 +02:00
Lilian A. Moraru
99fcab5c36 Use KConfigXT in Blur effect
REVIEW: 106400
2012-09-15 11:24:11 +02:00
Lilian A. Moraru
607817eeef Use KConfigXT in FlipSwitch effect
REVIEW: 106401
2012-09-15 11:24:11 +02:00
Giuseppe Calà
500310b0e8 Use KConfigXT in LookingGlass Effect
REVIEW: 106406
2012-09-15 11:24:11 +02:00
Alexander Jones
f1df9ee2f0 Use KConfigXT in Zoom Effect
REVIEW: 106402
2012-09-14 10:39:28 +02:00
Alexander Jones
f581e22e38 Use KConfigXT in Resize Effect
REVIEW: 106397
2012-09-14 10:39:28 +02:00
Bernhard Friedreich
968d10c14a Use KConfigXT in Wobblywindows effect
REVIEW: 106389
2012-09-14 10:39:28 +02:00
Dario Cambié
581f9b9394 Use KConfigXT in Glide Effect
REVIEW: 106392
2012-09-14 10:39:28 +02:00
Dirk Sarpe
31fa04d653 Use KConfigXT in PresentWindows Effect
REVIEW: 106407
2012-09-14 10:39:28 +02:00
Giuseppe Calà
ab305a1aba Use KConfigXT in MouseMark Effect
REVIEW: 106414
2012-09-14 10:39:28 +02:00
Giuseppe Calà
65bb42a801 Use KConfigXT in ShowFps Effect
REVIEW: 106415
2012-09-14 10:39:27 +02:00
Giuseppe Calà
6ac2014533 Use KConfigXT in TrackMouse Effect
REVIEW: 106416
2012-09-14 10:39:27 +02:00
Salva Ardid
b8630d19ec Use KConfigXT in DimInactive Effect
REVIEW: 106422
2012-09-14 10:39:27 +02:00
Francesco Cecconi
062f5ff66b Use KConfigXT in Cube/CubeSlide effect
REVIEW: 106403
2012-09-14 10:39:27 +02:00
Script Kiddy
1c91a1be97 SVN_SILENT made messages (.desktop file) 2012-09-09 10:29:47 +02:00
Martin Gräßlin
167b550280 Drop supperfluous and wrong inactive check in translucency effect
Left over from the cleanup which basically resulted in the active window
being put to the inactive's window opacity.

Thanks for the early notification of that issue.

BUG: 306449
FIXED-IN: 4.9.2
2012-09-08 19:43:01 +02:00
Martin Gräßlin
3aee94d798 Merge branch 'KDE/4.9'
Conflicts:
	ksysguard/gui/ksysguard.desktop
	kwin/effects/translucency/translucency.cpp
2012-09-07 07:59:10 +02:00
Martin Gräßlin
2cf35aa21a Remove animations from Translucency effect
The effect should have had two animations:
* on move resize
* on active/inactive change

But the timeline was adjusted in the prePaintWindow call and the timeline
is effect global and not per window. Which means that for each window the
same time is added. So instead of adding time t each frame t*n with n
being the number of windows got added. So in most cases the animation
ended in the first or second frame which means its not visible.

Through git blame I was able to track down that this incorrect behavior
was introduced in 2008. An animation broken for more than four years
without anybody noticing is probably not required. Because of that it's
dropped from the effect. As this includes quite some code and performance
improvements it goes into the release branch.

A better solution could be implemented, but that should be for 4.10.

BUG: 306263
FIXED-IN: 4.9.2
REVIEW: 106335
2012-09-07 07:39:50 +02:00
Martin Gräßlin
bf0c69100a Improve the various checks in Translucency Effect
There were quite some useless checks like e.g. first checking whether
a window is the desktop and taking a different code path for that case
and in the other code path checking again.

Also using the new introduced boolean values for the checks instead of
comparing floating point numbers all the time.
2012-09-07 07:39:32 +02:00
Martin Gräßlin
f125dbd3d6 Translucency Effect supports isActive hook
The effect gets a set of boolean values to check whether it is active for
one of the categories (e.g. move resize, decorations).

This allows to easily check whether the effect is active at all, that is
if all values are at 1.0 the effect will never affect a window.

In all other cases it can be combined with looking at the available
windows to e.g. enable the effect for move resize only when there is a
window which is either moved or resized. This check is performed whenever
an action happens which could cause a window to become inactive.

BUG: 306262
FIXED-IN: 4.9.2
2012-09-07 07:39:32 +02:00
Thomas Lübking
f5845910f3 fix texture scaling in resize effect
REVIEW: 106140
2012-08-28 21:29:18 +02:00
Kai Uwe Broulik
ec022261e4 Make Startup Feedback Effect aka Bouncing Cursor respect global size for small icons
BUG: 305611
REVIEW: 106166
FIXED-IN: 4.9.1
2012-08-28 21:06:22 +02:00
Kai Uwe Broulik
9adb2d3ed0 Make Startup Feedback Effect aka Bouncing Cursor respect global size for small icons
BUG: 305611
REVIEW: 106166
FIXED-IN: 4.9.1
2012-08-27 11:14:03 +02:00
Martin Gräßlin
39de3f49f7 Merge branch 'KDE/4.9' 2012-08-19 14:14:17 +02:00
Martin Gräßlin
74fe348b96 Reset shader state in TrackMouse effect prior to render it
The Shader might have left-overs from last usage which might
cause the effect to not work properly.

BUG: 304404
FIXED-IN: 4.9.1
Reviewed By: Thomas Lübking
2012-08-19 14:11:10 +02:00
Martin Gräßlin
90365e27d0 Merge branch 'KDE/4.9'
Conflicts:
	khotkeys/data/kde32b1.khotkeys
	kinfocenter/Modules/opengl/opengl.desktop
	kwin/tabbox/tests/CMakeLists.txt
	plasma/generic/applets/system-monitor/plasma-applet-sm_hdd_activity.desktop
2012-08-17 17:59:49 +02:00
Martin Gräßlin
23f2de009b Effects can provide support information through properties
The supportInformation is extended to also read the properties
on all effects. In addition each effect can be queried just for
itself through D-Bus, e.g.:
qdbus org.kde.kwin /KWin supportInformationForEffect kwin4_effect_blur

All effects are extended to provide their configured and read
settings through properties. In some cases also important
runtime information is exposed.

REVIEW: 105977
BUG: 305338
FIXED-IN: 4.9.1
2012-08-17 17:49:49 +02:00
Martin Gräßlin
628fb7f79d Adding missing newlines at end of files
SVN_SILENT
2012-08-16 08:00:32 +02:00
Ghislain MARY
e685e0f6e0 Enable mouse wheel navigation in flipswitch and coverswitch effects
BUG: 244439
FIXED-IN: 4.10
REVIEW: 105040
2012-08-15 20:58:34 +02:00
Thomas Lübking
53534f7966 Merge branch 'KDE/4.9'
Conflicts:
	plasma/generic/applets/batterymonitor/metadata.desktop
	plasma/generic/applets/lock_logout/metadata.desktop
2012-08-11 22:13:59 +02:00
Thomas Lübking
f945131cf3 ensure the feedbackRect is always up-to-date
BUG: 304253
REVIEW: 105786
FIXED-IN: 4.9.1
2012-08-11 21:42:05 +02:00
Thomas Lübking
860c7679dc check desktopNameFrame pointer in cube effect
REVIEW: 105840
BUG: 304340
FIXED-IN: 4.9.1
2012-08-11 21:41:04 +02:00
Martin Gräßlin
5f887c36e3 Merge branch 'KDE/4.9'
Conflicts:
	kwin/effects/flipswitch/flipswitch.cpp
	plasma/generic/applets/batterymonitor/metadata.desktop
2012-08-10 17:02:19 +02:00
Martin Gräßlin
e0c2a177ea Move blur behind setting for dashboard to windowAdded slot
We always want to have blur behind the Dashboard window not
just after the activitation.

BUG: 304564
FIXED-IN: 4.9.1
REVIEW: 105962
2012-08-10 16:54:50 +02:00
Martin Gräßlin
0286540c29 Properly calculate the offset between multiple screens in FlipSwitch
The code assumed that screens border to each other. That is the height
of the one screen is the y position of the other screen.

BUG: 304520
FIXED-IN: 4.9.1
REVIEW: 105958
2012-08-10 16:53:42 +02:00
Script Kiddy
d80113f376 SVN_SILENT made messages (.desktop file) 2012-08-07 18:35:48 +02:00
Script Kiddy
c79bf24903 SVN_SILENT made messages (.desktop file) 2012-08-06 09:32:20 +02:00
Raphael Kubo da Costa
7beb3f2ce9 Merge branch 'KDE/4.9'
* KDE/4.9:
  Fix callback race in the session save and shutdown code.
  Update for 4.9.0 release
  SVN_SILENT made messages (.desktop file)
  SVN_SILENT made messages (.desktop file)
  Fix regression in QML shutdown menu. Ampersands should be removed from menu entries' text by default.
  Fix typos in a message that broke string freeze.
  Fix potential parallel build failure.

Conflicts:
	CMakeLists.txt
2012-07-25 14:56:17 -03:00
Script Kiddy
9db4ae2344 SVN_SILENT made messages (.desktop file) 2012-07-24 19:29:09 +02:00
Martin Gräßlin
b734c03346 Merge branch 'KDE/4.9' 2012-07-22 10:07:40 +02:00
Martin Gräßlin
fb65e080dc Pass property minimized from Client to Deleted
Ensures that we can access the minimized property in Effects
which want to not animate a closed, minimized window.

Make use of it in the Fade Effect Script to not fade out a
minimized window which would mean showing the actual not
visible window.

BUG: 303891
FIXED-IN: 4.9.0
REVIEW: 105647
2012-07-22 10:06:30 +02:00
Martin Gräßlin
c7262e8bd3 Getter/setters for opacity, saturation and brightness in WindowPaintData
The public member variables for opacity, saturation and brightness
are removed in favor for getter and setters. The variables are
moved into a private class. Those are now qreal instead of double.

To make usage inside the effects easier a multiply method is added
which multiplies the current value with passed in factor and returns
the new value in a functional programming style.

This commit is the top-most of a patch series to refactor
ScreenPaintData and WindowPaintData. Other related commits are:
* 0811772
* ebdc7ec
* 2c8dd8d
* 7699726
* 68e0201
* 611cb09

REVIEW: 105141
BUG: 303314
FIXED-IN: 4.10
2012-07-19 18:25:48 +02:00
Martin Gräßlin
f723f132ca Drop support for explicit contents opacity from WindowPaintData
No effect has ever made use of contents opacity. Which means it
is not needed. Removing means faster effects as we used to
multiply the value (always 1.0) with the opacity in each frame
for each window.
2012-07-19 18:25:03 +02:00
Martin Gräßlin
dd067b075b Split out common part of ScreenPaintData and WindowPaintData
New common d-pointered class PaintData is added which cannot
be instantiated.
2012-07-19 18:25:03 +02:00
Martin Gräßlin
a2b0d42916 Replace translation by QVector3D in Screen/Window PaintData 2012-07-19 18:25:03 +02:00
Martin Gräßlin
0eff12eb92 Use QGraphicsScale for scale information in ScreenPaintData 2012-07-19 18:25:03 +02:00
Martin Gräßlin
966047ccd2 Replace custom RotationData with QGraphicsRotation 2012-07-19 18:25:03 +02:00
Martin Gräßlin
3125333f76 Fix logout effect including port to OpenGL 2
The logout effect was rather broken. First of all it was
excluded from build if OpenGL ES is present at build time. The
reason for this is that the effect did not work with GLES.

In order to fix that the vignetting is ported over to OpenGL 2
by using a dedicated shader. As well the lod based blur is
added through a dedicated shader and uses framebuffer blit to
get the current rendered buffer before rendering the logout
window into a texture.

Last but not least the isActive method was broken and is fixed
by checking whether the logout window is around.

BUG: 303096
FIXED-IN: 4.9.0
REVIEW: 105459
2012-07-09 21:02:57 +02:00
Thomas Lübking
34ba9411c9 use proper onCurrentDesktop instead of isOnCurrentDesktop
BUG: 302784
FIXED-IN: 4.9
REVIEW: 105394
2012-07-05 19:43:46 +02:00
Thomas Lübking
9c1b7f823c use window role to detect dashboard
BUG: 302523
FIXED-IN: 4.9
REVIEW: 105382
2012-07-05 19:43:45 +02:00
Thomas Lübking
adce67d1d7 fix startup effect repaints
REVIEW: 105376
2012-07-05 19:43:45 +02:00
Thomas Lübking
3ef69476e7 don't fade/out in windows on other desktops
BUG: 302101
FIXED-IN: 4.9
REVIEW: 105297
2012-06-18 22:12:04 +02:00
Script Kiddy
953d088b6a SVN_SILENT made messages (.desktop file) 2012-06-12 17:07:51 +02:00
Script Kiddy
071fa7053b SVN_SILENT made messages (.desktop file) 2012-06-11 10:15:37 +02:00
Script Kiddy
08a8ecaaa5 SVN_SILENT made messages (.desktop file) 2012-06-04 10:36:37 +02:00
Script Kiddy
62211420c7 SVN_SILENT made messages (.desktop file) 2012-05-28 11:08:19 +02:00
Martin Gräßlin
1de1204ecd Drop KWIN_HAVE_OPENGL defines in effects
OpenGL is nowadays a build dependency which obsoletes the define.

REVIEW: 105023
2012-05-27 16:37:26 +02:00
Martin Gräßlin
d0d274b855 Don't compare uint with int
Explicitly cast uint to int to fix a warning.
2012-05-27 16:35:04 +02:00
Martin Gräßlin
812c310dcf Fix unused variable warnings
SVN_SILENT
2012-05-27 16:35:04 +02:00
Thomas Lübking
57ce41d966 move a variable to correct context
BUG: 297757
FIXED-IN: 4.9
REVIEW: 105058
2012-05-26 13:24:46 +02:00
Martin Gräßlin
f6a0c6907a Fix compilation of screenshot effect without XRender 2012-05-26 10:24:11 +02:00
Martin Gräßlin
aebc322a74 Fix compilation of snaphelper effect without XRender 2012-05-26 09:31:04 +02:00
Martin Gräßlin
b40f27f54c Fix compilation of magnifier effect without XRender 2012-05-26 09:05:05 +02:00
Martin Gräßlin
f24103481e Ensure ScreenTransformation matrix is reset after rendering cube
Cube effect modifies the ScreenTransformation matrix. While each
window resets the matrix on a global level it's not reset. That
means if the last rendered window had the screen rotated the
ScreenTransformation keeps the rotation even after the cube
ended. This causes a rotated window in e.g. TaskbarThumbnails.

REVIEW: 104918
CCBUG: 299869
2012-05-22 18:34:11 +02:00
Martin Gräßlin
1379bbaa83 Use enum based setUniform in cube effect
A little bit more safety when setting a uniform value.

REVIEW: 104923
2012-05-22 18:31:14 +02:00
Martin Gräßlin
d14cf2da92 Show detailed information why an effect cannot be loaded
Effects can specify their minimum requirements in their
desktop file:
* OpenGL
* OpenGL 2 (GLSL required)
* Shaders (either ARB or OpenGL 2)

The configuration module uses this information in combination
with which backend KWin is currently using. So if e.g. OpenGL
is used and an effect requires OpenGL 2 a detailed error
message can be showed that OpenGL 2 is required.

BUG: 209213
FIXED-IN: 4.9.0
REVIEW: 104847
2012-05-15 18:02:57 +02:00
Martin Gräßlin
f3443a6b07 Add CMake variable to rename kwin binaries
A CMake variable is used to specify the name of the binary.
By default this is "kwin" but building for PA changes the
name to "kwinactive". The variable adjusts all names, e.g.
kwinnvidiahack becomes kwinactivenvidiahack.

The remaining usage of kwinrc in core and libs is replaced
by a cmakedefine for the configuration name and all data
installations are moved to the defined name. Dynamic loading
for scripts & co is adjusted for loading based on defined name.

This change allows the side-by-side installation of both kwin
for desktop and kwin for Plasma Desktop without the known
issues like conflicts in config files or missing build options
if kwin desktop is used for Plasma Active.

Likewise the KCMs are not adjusted as they are not intended to
be used for kwinactive.

REVIEW: 104299
BUG: 296084
FIXED-IN: 4.9.0
CCMAIL: active@kde.org
2012-05-10 10:25:15 +02:00
Ghislain MARY
c66c78f1d2 Key Bindings for Switching between Windows of current Application
Additional TabBox Mode which allows to switch between all open
windows of the current selected application. By default Alt+tilde
is used which is on qwerty just one key above tab. For non-qwerty
layouts the shortcut is unfortunately not convenient.

REVIEW: 104730
FEATURE: 299308
FIXED-IN: 4.9.0
2012-05-10 09:53:10 +02:00
Script Kiddy
ee92a35f39 SVN_SILENT made messages (.desktop file) 2012-05-10 09:48:44 +02:00
Martin Gräßlin
8dd05b6cb2 Fix error introduced with 0950f4
CCBUG: 299429
2012-05-06 20:27:47 +02:00
Martin Gräßlin
b3a813ffa7 Exclude minimized and windows not on current desktop from fade desktop
BUG: 299429
FIXED-IN: 4.9.0
2012-05-06 19:51:56 +02:00
Martin Gräßlin
151b8835f5 Resolve ambiguous connect in fade desktop scripted effect
Scripts cannot connect to a generic desktopChanged signal, but
need to explicitly state which one to use.
2012-05-06 19:46:14 +02:00
Martin Gräßlin
a79eacaed7 Properly detect effects which need OpenGL 2
Effects that need GLSL require that OpenGL 2 is active.
It does not matter whether the GPU would support it if
OpenGL 2 is not used.

Cherry-picked from db42152

CCBUG: 299426
2012-05-05 10:27:19 +02:00
Thomas Lübking
766bc27940 tag window being moved before dropping out of QuickTile/Max and omit wobble if window being moved during maximization change
BUG: 222102
REVIEW: 104841
FIXED-IN: 4.9
2012-05-03 18:54:30 +02:00
Thomas Lübking
cd8e84f5f2 activate dragged window if not using present windows in desktop grid
BUG: 254044
REVIEW: 104247
FIXED-IN: 4.9
2012-05-03 17:50:43 +02:00
Thomas Lübking
494ffbdfd4 swap desktops in desktopgrid w/o swapping traversed desktops
BUG: 252699
REVIEW: 104247
FIXED-IN: 4.9
2012-05-03 17:49:43 +02:00
Thomas Lübking
8b175b7044 don't exit desktop grid when clicking into empty space
BUG: 244216
REVIEW: 104247
FIXED-IN: 4.9
2012-05-03 17:48:44 +02:00
Ghislain MARY
8ebba542b0 Save and restore zoom value for desktop zoom and magnifier effects
REVIEW: 104597
BUG: 189956
FIXED-IN: 4.9.0
2012-05-03 16:38:56 +02:00
Martin Gräßlin
9aa30ad976 Cleanup of Desktop Grid: remove unused variables
Remove two unused variables the compiler nagged about
and remove commented code.

REVIEW: 104836
2012-05-03 11:40:07 +02:00
Martin Gräßlin
f2069112c2 Fix crash on closing present windows due to filter frame being null
Crash got introduced with bbf561ef9726e574684b67d53fc3c56cfc4e2e89

Also fixing coding style issue introduced in same commit.
2012-05-03 10:34:09 +02:00
Martin Gräßlin
d05d55b140 Delay creation of EffectFrames till needed
Creating an EffectFrame requires I/O which takes on my system
during testing between 10 and 40 msec. Also it needs a little
bit of memory.

This changes moves out the creation of EffectFrames at Effect
load till the Effect actually needs the EffectFrame. E.g. if a
user does not filter in PresentWindows there is no need to ever
create it.

BoxSwitch effect is ignored as it should be dropped for 4.9.

REVIEW: 104815
2012-05-03 09:10:48 +02:00
Martin Gräßlin
8489ede9aa Move loading of Cube textures into thread
Cube effect loads 0 to 2 textures which has been
performed during configuration. This change delays
loading the textures till cube is activated for the
first time and the loading from file is moved into
a thread.

This means that for a very short time the texture
is not yet visible, but this is not a problem as
the cube animates from fully opaque starting state.
So during the loading the texture would not be
visible anyway.

REVIEW: 104807
2012-05-03 09:07:06 +02:00
Thomas Lübking
c2940d8889 polish track mouse effect, add xrender implementation 2012-05-02 21:56:18 +02:00
Thomas Lübking
c8320b0db7 Avoid continious repaints in Present Windows effect
REVIEW: 104787
2012-04-30 22:37:40 +02:00
Thomas Lübking
b12279b6ed implement mousemark effect for xrender
BUG: 298338
FIXED-IN: 4.8.3
REVIEW: 104674
2012-04-20 23:59:32 +02:00
Philipp Knechtges
93b2674313 kwin: dropping several gl(Push|Pop)(Attrib|Matrix) calls
This makes kwin in OpenGL2 mode more coherent with kwin_gles.
Despite some fullscreen effects they should now make the same
(pure) OpenGL calls.

REVIEW: 103804
2012-04-19 21:01:46 +02:00
Thomas Lübking
ab86f0e837 add screen inversion through XF86VidModeSetGammaRamp or XRRSetCrtcGamma
use opengl invert effect as fallback

REVIEW: 104371
2012-04-17 21:11:03 +02:00
Michael Palimaka
c04fca92f9 Fix KWin build failure when OpenGL is disabled and OpenGLES is enabled.
Some old restructuring caused -DKWIN_HAVE_OPENGLES to no longer be
passed to the compiler, causing OpenGL-specific code to be built
while the libraries to link it were not available.

REVIEW: 104558
2012-04-15 05:12:41 +10:00
Aleix Pol
73c142fe45 Extend the screenshot effect API.
Makes it possible to take a screenshot for a given window ID.

REVIEW: 104388
2012-04-12 13:13:49 +02:00
Martin Gräßlin
7c00ab45f7 Add default values to Fade Effect
Without default values readConfig returns undefined values
causing the effect not to work. This needs to be documented.
2012-04-09 11:26:51 +02:00
Thomas Lübking
edfb40a95a guard a remaining m_closeView pointer
BUG: 297234
2012-04-01 17:02:59 +02:00
Martin Gräßlin
27643f5a9e Drop kephal dependency from KWin
Kephal has turned into not being more than a wrapper around
QDesktopWidget and does not even provide syntax sugar.

REVIEW: 104427
2012-04-01 08:11:57 +02:00
Martin Gräßlin
c16550f728 Use desktop icon for Show Desktop entry in TabBox
For the normal TabBox the TabBoxClient's icon method is
adjusted to use the "user-desktop" icon instead of the
window icon.

For the effects a method to set the caption is extended
to also set the icon on the caption frame.

REVIEW: 104444
2012-04-01 08:06:12 +02:00
Martin Gräßlin
68acc0692f Add Cursor key navigation to Flip- and Cover Switch Effects
FlipSwitch can be navigated with up and down keys as well
as left/right  and CoverSwitch only with left and right
keys while Alt+Tab is used.

REVIEW: 104438
FEATURE: 178595
FIXED-IN: 4.9.0
2012-04-01 07:57:17 +02:00
Martin Gräßlin
96c1046158 Synchronize Show Desktop Wording in TabBox Effects
Use "Show Desktop" for the desktop entry with the same
message as in "normal" TabBox.

FEATURE: 273478
FIXED-IN: 4.9.0
REVIEW: 104436
2012-04-01 07:57:17 +02:00
Thomas Lübking
41eea9dd3b Don't highlight windows w/o mouse
CCBUG: 292630
REVIEW: 104264
2012-03-30 15:27:37 +02:00
Martin Gräßlin
5ac29a5984 Remove TabBox related code from PresentWindows Effect
Present Windows mode has been replaced by a window switcher
layout which obsoletes the hack inside the present windows
effect.
2012-03-25 11:54:32 +02:00
Martin Gräßlin
05198bc2b7 Ifdef XRender related code in Screenshot effect
For PA KWin is compiled without XRender but with Screenshot effect
causing the compile to fail.
2012-03-24 08:08:12 +01:00
Script Kiddy
2440a67990 SVN_SILENT made messages (.desktop file) 2012-03-22 09:23:55 +01:00
Thomas Lübking
5bf62e5308 add xrender support to screenshot effect
REVIEW: 104152
cherry-picked from 30ee236d9d7a9c42d763fa4704156846cfa6af25
2012-03-21 00:36:29 +01:00
Martin Gräßlin
2f6784be57 Remove slot for no-longer existing signal in Slideback
Leftover from tabbing rewrite.
2012-03-16 11:40:47 +01:00
Thomas Lübking
2b2877ddb1 add present windows by class to active screen edges
BUG: 288960
2012-03-14 02:29:56 +01:00
Thomas Lübking
03e18bc88b Merge branch 'KDE/4.8' 2012-03-14 00:18:11 +01:00
Thomas Lübking
74078d7a91 implement xrender support for snaphelper
REVIEW: 104203
2012-03-13 21:38:55 +01:00
Thomas Lübking
f62bb93185 xrender support for magnifier
REVIEW: 104201
2012-03-13 21:38:55 +01:00
Martin Gräßlin
ab0daa1701 FadeDesktop effect ported to JavaScript 2012-03-12 21:37:42 +01:00
Martin Gräßlin
f8c0616574 Fade effect goes JavaScript
Our first effect written in JavaScript to replace an existing C++
effect. Fade effect has been chosen as it has shown to be problematic
in the past and would have needed a migration to AnimationEffect anyway.
2012-03-12 21:37:42 +01:00
Martin Gräßlin
2007a7eab8 Use namespaced parameters in signals
Required to get scripting bindings working.
2012-03-12 21:37:40 +01:00
Thomas Lübking
d50bf4e283 Merge branch 'KDE/4.8' 2012-03-11 23:50:42 +01:00
Thomas Lübking
63ab501557 zoom untracked towards cursor 2012-03-11 23:48:51 +01:00
Thomas Lübking
ac868aff98 Merge branch 'KDE/4.8' 2012-02-26 21:15:40 +01:00
Thomas Lübking
a57dc6b238 hotfix translucency effect 2012-02-26 18:40:21 +01:00
Thomas Lübking
b79a176be3 resolve merge conflicts 2012-02-21 19:22:08 +01:00
Thomas Lübking
152b738181 don't allocate unused closeview and guard all pointers
REVIEW: 104009
2012-02-21 17:18:05 +01:00
Philipp Knechtges
999d64bb19 kwin/blur: consider the valid part of the cache as being opaque
This reduces the repaints in cases where several blur regions are
stacked on top of each other (e.g. oxygen-transparent) and the topmost
layer needs to be updated (e.g. a blurry window is moved).
2012-02-19 01:28:23 +01:00
Philipp Knechtges
f3117f1038 kwin/blur: substituting QHash::operator[] by an iterator-based approach 2012-02-19 01:28:16 +01:00
Philipp Knechtges
2bfcfeceb4 kwin: fixing blur bug for move/resize events
The old blur version wrongly marked a cache region as valid with the
reason that this region would never become visible. It didnt matter
because the only case that this region could become visible was a
movement of the window on top, which back then would have forced a
workspace repaint of that region and as such would have invalidated
the cache anyway. With the introduction of addLayerRepaint the
last point is no longer true and we have to track the valid cache
regions more carefully.
2012-02-16 22:13:08 +01:00
Philipp Knechtges
239d5757f2 kwin: move/resize events shall not force a repaint of all layers
This patch adds a new function Toplevel::addLayerRepaint, that in contrast
to addWorkspaceRepaint does not invalidate every blur texture cache that
overlaps with that region. As the name suggests it rather invalidates the
to the window associated layer at that position. This is especially useful
in the case of move/resize events in combination with oxygen-transparent,
where the altered window is almost always the topmost window and the blur
texture cache of the windows underneath are unchanged.

For the case of fully opaque windows the behaviour of addLayerRepaint
and addWorkspaceRepaint should be same.

REVIEW: 103906
2012-02-12 16:57:12 +01:00
Thomas Lübking
85635dd485 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:30:22 +01:00
Thomas Lübking
bf88ec09ac Revert "fix tabbing"
pushed out of branch, not master - leading to absent revision, found hash collision??

This reverts commit 94b2ad7b85801e37e2df4671cdc4f26b6d7e5506.
2012-02-11 16:29:14 +01:00
Thomas Lübking
d245035a17 fix tabbing
BUG: 290959
BUG: 265160
BUG: 229292
BUG: 238279
BUG: 290758
BUG: 222831
BUG: 278275
BUG: 245747
BUG: 230000

BUG: 253697
BUG: 230570
BUG: 265977
BUG: 225337
BUG: 225339

REVIEW: 103855
2012-02-11 16:01:41 +01:00
Philipp Knechtges
ba39d1f917 kwin:remove PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_WITHOUT_FULL_REPAINTS
paintSimpleScreen can handle the affected effects now.

REVIEW: 103827
2012-02-09 14:52:25 +01:00
Thomas Lübking
b052f6429f Merge branch 'KDE/4.8' 2012-02-08 20:19:41 +01:00
Thomas Lübking
7d17a29826 secure closeView NULL pointer access
BUG: 293654
2012-02-08 19:46:48 +01:00
Martin Gräßlin
05cd97c746 Enable Blur by default for SandyBridge
REVIEW: 103852
2012-02-04 11:25:16 +01:00
Script Kiddy
6750f8907e SVN_SILENT made messages (.desktop file) 2012-01-30 11:46:01 +01:00
Martin Gräßlin
1ed900552b Remove test effects
Most effects would not compile anymopre as they are not adjusted
to changes in the effect system (e.g. change to slots).

Also we have enough proper effects to no longer need some demo or
howto effects.

REVIEW: 103744
2012-01-27 08:20:01 +01:00
Thomas Lübking
d845b60c6c change geometry w/o compositor restart
This possibly fails on some (older?) ati chip/driver combos
-> Waiting for bugreports

REVIEW: 103246
2012-01-24 22:27:15 +01:00
Script Kiddy
a94932475c SVN_SILENT made messages (.desktop file) 2012-01-23 09:42:47 +01:00
Martin Gräßlin
e785550be4 Remove unused method parameter in Fade effect 2012-01-13 09:15:44 +01:00
Martin Gräßlin
2d3198e67c Ensure variables are initialized in fade effect 2012-01-13 09:13:58 +01:00
Martin Gräßlin
e1f888d1f6 Remove stupid code 2012-01-13 09:11:08 +01:00
Martin Gräßlin
c3ca894171 Merge branch 'KDE/4.8' 2012-01-13 09:08:25 +01:00
Martin Gräßlin
07685da24e Check whether the ShaderManager is valid in Explosion effect
The effect did not check whether the ShaderManager is valid causing
a null pointer access when trying to use the shader.

Additionally this change moves the Shader init into the close window
slot as close window referrenced windows without checking whether the
effect would work. If the effect would not work each closed window
would be referrenced without any chance to being unreffed again as this
code is in a block checking whether the effect is valid.

BUG: 291390
FIXED-IN: 4.8.0
2012-01-13 09:06:15 +01:00
Script Kiddy
788f32cceb SVN_SILENT made messages (.desktop file) 2012-01-13 09:05:07 +01:00
Philipp Knechtges
815a0fe681 Merge remote-tracking branch 'origin/KDE/4.8' 2012-01-12 20:53:09 +01:00
Philipp Knechtges
8a4fbd438a kwin: fixing high cpu usage in the fade effect
This is a condensed version of Martin's patch that fixes a high cpu
usage in KWin and X. It seems to be due to a window being created and
deleted at almost the same time, such that the fade effect never quits.
The bug was reliably reproducable with starting Amarok.

CCBUG: 290025
CCBUG: 288948
2012-01-12 20:40:34 +01:00
Aaron Seigo
6b52a4ef19 Merge branch 'KDE/4.8' 2012-01-11 14:11:53 +01:00
Script Kiddy
2cee922fc9 SVN_SILENT made messages (.desktop file) 2012-01-11 09:13:06 +01:00
Script Kiddy
63bf9f8a75 SVN_SILENT made messages (.desktop file) 2012-01-10 15:54:13 +01:00
Jacopo De Simoi
126a79e18f Merge branch 'KDE/4.8' 2012-01-09 10:41:14 -05:00
Script Kiddy
3dc974f3bb SVN_SILENT made messages (.desktop file) 2012-01-09 08:36:30 +01:00
Philipp Knechtges
c8fbb4ec61 kwin/blur: use already existing texture instead of allocating a new one 2012-01-08 17:23:36 +01:00
Thomas Lübking
a8b212e40e Pick correct screen area in tabbox w/o scree focus separation case
BUG: 290633
2012-01-04 23:11:54 +01:00
Martin Gräßlin
f1dfdef1ab No longer enable BoxSwitch by default
Thanks to terietor for noticing this problem.
2012-01-04 19:47:59 +01:00
Script Kiddy
d08182e72f SVN_SILENT made messages (.desktop file) 2012-01-04 09:38:43 +01:00
Thomas Lübking
e1d15d9c21 present windows: keep highlighted windows in screen
REVIEW: 103574
(cherry picked from commit 629e8d3885129db2be19bd313e07d6fa02caddc1)
2012-01-02 19:02:05 +01:00
Thomas Lübking
8aa05a477b implement isActive in resize effect
(cherry picked from commit 60281f9cc3c515db1c36139842374353bca3cb3a)
2012-01-02 18:56:51 +01:00
Martin Gräßlin
f135206781 Disable Lanczos and Blur for fglrx
Too many crash reports in the fglrx driver when using ARB shaders.
It's a pity to disable functionality for all fglrx users, but it's
better than crash reports.

Blur effect can still be enabled manually and Lanczos can still be
enabled through the environment variable.

REVIEW: 103556
CCBUG: 270818
CCBUG: 286795
2011-12-31 08:54:15 +01:00
Script Kiddy
dde9eadfe1 SVN_SILENT made messages (.desktop file) 2011-12-29 10:49:38 +01:00
Script Kiddy
ea20b79d70 SVN_SILENT made messages (.desktop file) 2011-12-22 11:48:21 +01:00
Thomas Lübking
26c0f269f1 snaphelper is also active when not in transition
BUG: 289060
2011-12-18 19:51:52 +01:00
Thomas Lübking
ba529f205a Highlight window: support minimized windows
also
- replace QHash::operator[]
- replace double by float (-> ARM, and we don't need that precision)
- weaken some value checks ("== 1.0f")
- fix last paint of hiding windows (w->addRepaintFull() trap)

REVIEW: 103404
2011-12-18 19:51:51 +01:00
Script Kiddy
8979af0a5f SVN_SILENT made messages (.desktop file) 2011-12-18 09:55:30 +01:00
Script Kiddy
8ed9b35755 SVN_SILENT made messages (.desktop file) 2011-12-13 15:55:20 +01:00
Martin Gräßlin
544c4d60b5 Blur behind sliding popups
Finally it is possible :-) If it causes an impact on performance
during the release candidates I'm going to revert.
REVIEW: 103375
BUG: 255106
FIXED-IN: 4.8.0
2011-12-10 22:41:35 +01:00
Martin Gräßlin
de8b9f546f Fixing incorrect clipping of sliding popups
Make use of new extension of protocol for magic number -1.
If offset is -1 KWin has to decide the offset. This fixes all the
incorrect animations and allows us to perform clipping again by
filtering out the window quads which should not be visible.

Additionally the effect now sanitizes the offset. That is for e.g.
Yakuake setting an offset of 0, but there is a strut on the top
corner causing Yakuake not to appear on 0, but with an offset of
the strut. Such cases are now considered as well and the animation
is fixed.

REVIEW: 103367
BUG: 287602
CCBUG: 261159
CCBUG: 278760
FIXED-IN: 4.8.0
2011-12-10 22:41:34 +01:00
Philipp Knechtges
fbae9f9972 kwin: paint plasma panel always on top while sliding between desktops
The windows, that are considered to be always on top and that are on
all desktops, should also be always painted on top of everything while
switching the desktop.
2011-12-10 22:16:41 +01:00
Thomas Lübking
0cbe297d84 sanitize closed screenshot windows, ignore deleted
CCBUG: 288271
REVIEW: 103350
2011-12-10 21:25:57 +01:00
Philipp Knechtges
3065e6afce kwin/blur: add a proper initialization of the texture cache
This fixes graphical glitches that appear next to the borders of plasma
tooltips. Additionally I added a variable that forces the effect to
drop the cache, which might be useful in the future to fix bugs.
2011-12-10 17:35:02 +01:00
Philipp Knechtges
1023d3b08e kwin: fixing some blur bugs
This should fix 2 issues with the blur effect:
- It is now sufficient to have a damaged EXPANDED blurArea to trigger
  an update of the caching texture.
- No glitches in cases where the taskbarthumbnail effect paints a
  thumbnail of a blurred window.

CCBUG: 288568
2011-12-10 12:39:51 +01:00
Script Kiddy
64211ff568 SVN_SILENT made messages (.desktop file) 2011-12-06 17:06:26 +01:00
Thomas Lübking
6355a217c2 Magiclamp: fix integer overflow, cpu waste
BUG: 284738
2011-12-01 13:13:13 +01:00
Thomas Lübking
ac3bc1fcef apply effect transformations on taskbar thumbnail 2011-12-01 13:13:13 +01:00
Thomas Lübking
6ba2d30274 make glide effect respect the _KDE_SLIDE property
BUG: 287067
2011-11-24 20:17:20 +01:00
Script Kiddy
290b990c5b SVN_SILENT made messages (.desktop file) 2011-11-16 09:33:08 +01:00
Thomas Lübking
011643d983 use contentsrect to calculate window size if baseUnit isn't 1,1
BUG: 283518
2011-11-13 18:40:17 +01:00
Martin Gräßlin
219d0cc6a9 KConf Update for TabBox QML
* BoxSwitch users are migrated to new QML TabBox thumbnails layout
* Thumbnail layout is new default (as before was BoxSwitch)
* Removed obsoleted settings from TabBox config
2011-11-12 21:50:18 +01:00
Martin Gräßlin
ad950f71ab Fix desktop grid without present windows mode
Effect was not marked as active.
BUG: 282461
FIXED-IN: 4.8.0
2011-11-12 16:17:28 +01:00
Thomas Lübking
795fbc643b do a full geometry calculation with the moveResize start, not first moveResize event
BUG: 285824
FIXED-IN: 4.7.4
(cherry picked from commit 19c6ab33b94cd3e531fa5c86fdff66a6f33f5e4a)
2011-11-05 16:21:57 +01:00
Marco Martin
6698801cb5 Merge branch 'ksplash/ksplash-qml' 2011-11-03 22:09:35 +01:00
Thomas Lübking
d3331eed9c export the baseincrement size to the effectwindow and utilize it in the windowgeometry effect
BUG: 283518
REVIEW: 103033
FIXED-IN: 4.8
2011-11-03 21:49:20 +01:00
Marco Martin
69ad0fc5fc Merge branch 'master' into ksplash/ksplash-qml 2011-11-03 21:00:01 +01:00
Martin Gräßlin
6a94ff5641 Don't handle closing windows while BoxSwitch is inactive
This might be the cause for ghost windows, because they got
referrenced without being unreferrenced again.
CCBUG: 259640
2011-11-01 06:48:21 +01:00
Script Kiddy
918087e34f SVN_SILENT made messages (.desktop file) 2011-10-31 09:48:42 +01:00
Christophe Giboudeaux
f76c40c424 Fix the -Wmissing-include-dirs warnings 2011-10-19 23:53:13 +02:00
Philipp Knechtges
1ea54ef44f kwin: fixing blur for shaded windows
If a window is "rolled" up we should not blur the specific regions.

CCBUG: 245388
2011-10-15 16:32:13 +02:00
Martin Gräßlin
15fc864c95 Drop GLES specific hack in blur effect
With GLES full repaints are no longer required. At least I can no
longer notice any visual issues.
2011-10-15 10:55:27 +02:00
Script Kiddy
e9ef4b8600 SVN_SILENT made messages (.desktop file) 2011-10-13 08:48:12 +02:00
Philipp Knechtges
5c7f919bbf kwin: updating comments on the blur texture cache 2011-10-12 16:02:19 +02:00
Philipp Knechtges
b6c27a17b0 kwin: bugfix blur effect
This commit fixes the bug, that the blur texture cache is not marked invalid
when the related XProperty changes.

BUG: 283818
2011-10-12 15:16:46 +02:00
Thomas Lübking
2a84ba0094 don't scale highlighted window in present windows during de/activation
BUG: 283481
it's even worse, since it interferes with generally upscaled windows
(keeps them big, applies false transition and causes a final snapback)
and windata->highlight doesn't end at zero, so the entire screen is
still a little scaled when the effect ends (and snaps down afterwards)

now it snaps down when starting the leave what is better in general
and the only usable solution for upscaled windows.
some day presentwindows might be derived from the yet-to-add
animationeffect class ;-)
2011-10-06 22:47:29 +02:00
Philipp Knechtges
b6478e1b12 kwin: Optimizing Blur Part III
This patch introduces some kind of damage propagation. In the old version of the blur effect
we had to repaint the whole window if sth behind the blurred area was damaged. The new texture
cache, which was introduced by the last patch, gives us the opportunity to only update parts of
blurred background texture. This means that the damaged area can only propagate with the speed
of the blurring radius per window layer.

REVIEW: 102665
2011-10-02 14:47:03 +02:00
Marco Martin
35c405b586 Merge branch 'master' into ksplash/ksplash-qml 2011-09-29 19:01:40 +02:00
Martin Gräßlin
38d760c960 Only push shader when Cube effect is active
This caused situations in which the shader was pushed but never
popped from the stack as for the latter case there was a check
whether the effect is active.

BUG: 280455
2011-09-27 17:42:20 +02:00
Marco Martin
a95019e713 Merge branch 'master' into ksplash/ksplash-qml 2011-09-26 14:11:29 +02:00
Philipp Knechtges
9d6c9d521f kwin: bugfix for taskbarthumbnail and slide effect interplay
This patch avoids that the thumbnails slide when the desktop is changed.

REVIEW: 102675
2011-09-22 18:21:29 +02:00
Sebastian Kügler
c6c800b451 Repaint the whole window in the taskbar thumbnail
this really kills my windowstrip artifacts
2011-09-22 11:26:05 +02:00
Sebastian Kügler
224f8a78e7 Merge branch 'master' of git://anongit.kde.org/kde-workspace 2011-09-19 17:09:26 +02:00
Sebastian Kügler
c9e42abcc4 Repaint old area of the thumbnail
Fixes repaint issue in Active's windowstrip.

Made up by Martin

BUG:282150
2011-09-19 17:07:58 +02:00
Philipp Knechtges
ef9aeafe0d kwin: Optimizing Blur Part II
This patch adds an optional texture cache to the blur effect such that damaged windows in
front of the blurred region dont trigger a repaint of the whole blurred region which pretty
often results in a avalanche repaint of nearly the whole screen.

REVIEW: 101977
2011-09-18 02:01:31 +02:00
Martin Gräßlin
fcbd22ad36 Workaround repaint issue in blur effect with GLES
This is actually a bloody hack by forcing the screen to be
repainted in each frame. This needs to be fixed in a different
way or we at least have to turn blur off by default for GLES in
the next release.
2011-09-17 20:01:59 +02:00
Martin Gräßlin
60c73200f6 Clear thumbnails for deleted windows
REVIEW: 102445
2011-09-10 07:56:58 +02:00
Script Kiddy
4cbbf921d4 SVN_SILENT made messages (.desktop file) 2011-09-09 09:21:44 +02:00
Script Kiddy
157f51ce85 SVN_SILENT made messages (.desktop file) 2011-09-08 09:04:13 +02:00
Martin Gräßlin
96ebc30b29 Fix missing repaint when disabling lookingglass effect 2011-09-07 09:40:57 +02:00
Martin Gräßlin
4ed28ed2b0 Fix crash when ending magnifier effect
How did I test that?...
2011-09-07 09:31:31 +02:00
Philipp Knechtges
0740a01c6a kwin: fix kcm_kwin4_effect_builtins build
Add the missing definition of KWIN_HAVE_OPENGL, which has been a part of kwinconfig.h before.
2011-09-04 18:36:04 +02:00
Martin Gräßlin
31386d2f25 Drop unused variables
SVN_SILENT
2011-08-31 17:55:04 +02:00
Script Kiddy
a5936fc0fd SVN_SILENT made messages (.desktop file) 2011-08-29 09:36:30 +02:00
Martin Gräßlin
557b3ce0de Optimize Fade Effect
Remove windows from the hash after an animation is finished.
By that it is possible that the FadeEffect goes into an
inactive state.

REVIEW: 102452
2011-08-29 07:08:07 +02:00
Martin Gräßlin
fe4329a252 Only call active effects in the effect chain
Each effect is able to declare itself as currently being active,
that is transforming windows or painting or screen or doing anything
during the current rendered frame.

This change eliminates the hottest path inside KWin identified by
callgrind.

REVIEW: 102449
2011-08-29 07:06:58 +02:00
Philipp Knechtges
2dd48de82a kwin: reverting some parts of 73cd2c6fa67e2653a8d9a5e17f0140381d998c19
Might results to some asserts in the debug build and does not play well with other effects.
2011-08-27 19:05:34 +02:00
Philipp Knechtges
c12e089b41 kwin: optimizing taskbarthumbnail effect
Corrected some addRepaint calls and dropped the
dependency on paintGenericScreen.
2011-08-27 18:22:05 +02:00
Script Kiddy
c3004ddc7b SVN_SILENT made messages (.desktop file) 2011-08-27 10:03:17 +02:00
Script Kiddy
1b1e72b753 SVN_SILENT made messages (.desktop file) 2011-08-25 09:32:38 +02:00
Script Kiddy
d3b3c3c65e SVN_SILENT made messages (.desktop file) 2011-08-24 08:53:42 +02:00
Martin Gräßlin
b5279af212 Bring back the magnifier effect
Effect uses framebuffer blit to copy the zoomed are in a scaled
way into an offscreen texture and render the texture after the
rendering. This means instead of two rendering passes we now need
only one pass, but require the blit extension.
2011-08-20 10:58:43 +02:00
Martin Gräßlin
29e91f9042 Support for fullscreen, screen and region screenshot
Just to have something which uses the blitFramebuffer functionality.
2011-08-20 10:58:43 +02:00
Montel Laurent
62c5a5e276 normalize signal/slots 2011-08-17 23:51:55 +02:00
Martin Gräßlin
623db51c9b Remove unused files 2011-08-13 18:34:24 +02:00
Martin Gräßlin
987bc837d9 Remove define KWIN_HAVE_OPENGL_COMPOSITING
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.
2011-08-13 16:46:43 +02:00
Thomas Lübking
45eb40ef69 check m_closeView validity (can be NULL when the timer crosses the deactivation)
BUG: 280027
2011-08-13 16:41:36 +02:00
Thomas Lübking
a2d9ff72aa fix close button side for present windows effect
BUG: 262543

pint desktop as background when including desktop in switcher
BUG: 262137

zoom windows as hover/selection indicaton (1/8 of the screen or 105%)
BUG: 215348
CCBUG: 175521

no closer on "show desktop" desktop
show closer immediately but have it disabled for a short time to allow the user realize it

REVIEW: 101318
2011-08-09 22:57:54 +02:00
Script Kiddy
4b81841268 SVN_SILENT made messages (.desktop file) 2011-08-09 15:14:17 +02:00
Script Kiddy
857a61e30f SVN_SILENT made messages (.desktop file) 2011-08-04 10:39:45 +02:00
Martin Gräßlin
df75644817 Fix compilation with OpenGL ES and without OpenGL
If we have OpenGL ES but not OpenGL the KWIN_HAVE_OPENGL is set
causing the first compile pass to fail as it tries to build
against OpenGL. As a solution the first pass links against
OpenGL ES if OpenGL is not found.

This means both kwin and kwin_gles are built against GLES.
2011-08-03 16:39:36 +02:00
Martin Gräßlin
f72f465c13 Fix Typos
Krazy--
SVN_SILENT
2011-08-03 08:25:10 +02:00
Martin Gräßlin
3232c2cb2a Remove duplicate includes
Krazy--
SVN_SILENT
2011-08-03 08:25:10 +02:00
Martin Gräßlin
371f5b30e2 Adding missing newlines at end of file
Krazy--
SVN_SILENT
2011-08-03 08:25:02 +02:00
Martin Gräßlin
fe4744c1e9 Single quotes instead of double quotes
Krazy--
SVN_SILENT
2011-08-03 08:24:27 +02:00
Martin Gräßlin
1f89dcf25d All effects need to link X11
The Plasma Active build of kwin was broken because of that.
We really should get the effects X free...
2011-08-02 19:44:35 +02:00
Jaime Torres
26a492eb4a reduce the scope of two variables
reduce the scope of two variables

REVIEW: 102057
2011-08-02 17:26:21 +02:00
Jaime Torres
664aaa1b60 ++ prefix for non-trivial data-types
change suffix ++ to prefix ++ to speed up a little bit not-trivial
data-types. discovered by cppcheck

REVIEW: 102057
2011-08-02 17:21:56 +02:00
Kai Uwe Broulik
79844f0ae7 Disable new login effect.
I could swear I disabled the effect by default.
2011-08-02 15:14:55 +02:00
Kai Uwe Broulik
ca2a019bc8 Add option to make login effect fade via black instead of a long transition to your desktop.
Nuno has to decide whether the new option will become default or not, for now it is disabled by default.
You can enable it in effects kcm, now Login effect has a configuration dialog.

It does not (yet) however check for non-fullscreen effects, so they might look weird when this is enabled.

REVIEW: 101812
CCMAIL: nuno@oxygen-icons.org
2011-08-02 15:09:31 +02:00
Script Kiddy
c37c9de57b SVN_SILENT made messages (.desktop file) 2011-07-30 09:44:58 +02:00
Martin Gräßlin
68bba98e5f Remove duplicated xfixes include 2011-07-27 18:34:32 +02:00
Martin Gräßlin
997634c813 Remove a not working include directory
The kwin/lib directory does not exist for one
release cycle now.
2011-07-27 18:34:32 +02:00
Martin Gräßlin
92d32de087 Effects do not need kephal 2011-07-27 18:34:32 +02:00
Martin Gräßlin
808c29109a Build effects twice - once with GL, once with GLES 2011-07-27 18:34:31 +02:00
Martin Gräßlin
7e4e43d203 Make ShowFpsEffectConfig build without GL dep
Forward declarations to the help!
2011-07-27 18:34:31 +02:00
Martin Gräßlin
d0664a9c96 Ensure logout compiles with GLES 2011-07-27 18:34:31 +02:00
Script Kiddy
6df618e94b SVN_SILENT made messages (.desktop file) 2011-07-25 09:33:28 +02:00
Script Kiddy
30de988de8 SVN_SILENT made messages (.desktop file) 2011-07-24 09:25:34 +02:00
Script Kiddy
9b8404279b SVN_SILENT made messages (.desktop file) 2011-07-21 09:27:01 +02:00
Script Kiddy
2566d184c4 SVN_SILENT made messages (.desktop file) 2011-07-20 09:24:14 +02:00
Script Kiddy
7025e72d87 SVN_SILENT made messages (.desktop file) 2011-07-15 09:21:33 +02:00
Philipp Knechtges
afe8048afd kwin: optimizing the blur effect
This patch adds the capability to draw blurred region top to bottom using
paintSimpleScreen.

REVIEW: 101898
2011-07-14 14:20:56 +02:00
Script Kiddy
1eb1c85289 SVN_SILENT made messages (.desktop file) 2011-07-13 09:17:45 +02:00
Script Kiddy
4eba738a3f SVN_SILENT made messages (.desktop file) 2011-07-12 10:36:56 +02:00
Script Kiddy
2ae92ab509 SVN_SILENT made messages (.desktop file) 2011-07-09 09:40:35 +02:00
Script Kiddy
d414f57c8d SVN_SILENT made messages (.desktop file) 2011-07-07 10:20:05 +02:00
Script Kiddy
976f396fc7 SVN_SILENT made messages (.desktop file) 2011-07-06 10:41:48 +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
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
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
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
Philipp Knechtges
827f9219be kwin: add support for y-inverted textures to the Cube effect 2011-07-04 17:50:12 +02:00
Martin Gräßlin
aa3f7a6f4e Merge branch 'KDE/4.7' 2011-07-03 12:36:54 +02:00
Martin Gräßlin
78dd6e6859 Fix rendering glitch in screenshot effect with Raster
We have to set the bit depth of the XPixmap to 32 in order to get
an alpha channel and we have to render the grabbed image using
composition mode Source in order to just copy all pixels to the
destination pixmap.

BUG: 276719
FIXED-IN: 4.7.0
2011-07-03 12:23:11 +02:00
Martin Gräßlin
7e3f6931e4 Merge branch 'KDE/4.7' 2011-07-03 11:09:14 +02:00
Martin Gräßlin
5c0d24c7bf Fix a rendering glitch caused by the reflections in CoverSwitch
Seems like we need to use drawWindow instead of paintWindow or
KWin will keep some parts of the paint data.

BUG: 276810
FIXED-IN: 4.7.0
2011-07-03 11:07:27 +02:00
Thomas Lübking
a1b110634f zoom effect: fix xcursor loading, implement cursor scaling for XRender 2011-07-02 20:07:09 +02:00
Thomas Lübking
c2e06221ca zoom effect: fix xcursor loading, implement cursor scaling for XRender 2011-07-02 20:03:12 +02:00
Martin Gräßlin
135d835dd5 Merge branch 'KDE/4.7' 2011-06-26 18:52:18 +02:00
Martin Gräßlin
482ba893d5 Magnifier requires OpenGL 2011-06-26 18:51:08 +02:00
Arthur Arlt
25654f25b8 Removing TopMenu
Since the funtionality of TopMenu did no longer work in KDE4 this feature was
removed from Workspace. Every reference to it was removed as well as commentaries
and documentation.

REVIEW: 101485
2011-06-24 12:27:56 +02:00
Script Kiddy
163824af85 SVN_SILENT made messages (.desktop file) 2011-06-22 09:44:08 +02:00
Script Kiddy
538e9d1467 SVN_SILENT made messages (.desktop file) 2011-06-21 11:01:53 +02:00
Michael Zanetti
5fed91d391 Merge branch 'master' of git://anongit.kde.org/kde-workspace 2011-06-20 22:00:12 +02:00
Michael Zanetti
e1bf590a1c - fixes calculation of WindowMotionManager in case a new destination is set when the window is not at its original position and provide a function to check if windows
are currently moving (by Thomas Lübking)
- make use of new function and bugfix in SlideBack effect
2011-06-20 21:56:56 +02:00
Script Kiddy
bbcff0860f SVN_SILENT made messages (.desktop file) 2011-06-20 10:22:05 +02:00
Michael Zanetti
2f10503ee5 fix TabBox detection in SlideBack effect 2011-06-19 22:05:48 +02:00
Martin Gräßlin
6569bb071f Pass windowSize to Fragment Shader again 2011-06-19 20:54:13 +02:00
Martin Gräßlin
a05ad98896 Remove textureWidth/textureHeight from all Shaders
The uniforms textureWidth and textureHeight were only needed for
normal windows. For everything else it was just 1.0/1.0, that is
normalized.

The makeArrays method is changed to produce normalized texcoords
obsoleting the need for these uniforms. So two uniforms less, one
calculation in vertex shaders less and many many lines of code
removed.

At the same time makeArrays is also adjusted to take care of
yInverted of the texture, which is needed as we no longer can use
the enableUnnormalizedTexCoords which did the yInverted transformation.

REVIEW: 101646
2011-06-19 20:54:13 +02:00
Script Kiddy
16771b043c SVN_SILENT made messages (.desktop file) 2011-06-19 09:40:27 +02:00
Martin Gräßlin
d0e57a57cc Fix incorrect rendering of Cube Wallpaper with GL2
Textures should be rendered with simple shader when not being transformed.
2011-06-15 21:40:15 +02:00
Script Kiddy
15ea44e709 SVN_SILENT made messages (.desktop file) 2011-06-14 10:59:04 +02:00
Script Kiddy
9ec8ee095a SVN_SILENT made messages (.desktop file) 2011-06-12 10:07:36 +02:00
Script Kiddy
f1eb4d97bf SVN_SILENT made messages (.desktop file) 2011-06-10 09:20:20 +02:00
Script Kiddy
b0e3b23c25 SVN_SILENT made messages (.desktop file) 2011-06-08 09:23:45 +02:00
Script Kiddy
4ec556467d SVN_SILENT made messages (.desktop file) 2011-06-07 10:22:50 +02:00
Script Kiddy
054c6a7df5 SVN_SILENT made messages (.desktop file) 2011-06-05 10:13:23 +02:00
Script Kiddy
10a18f294a SVN_SILENT made messages (.desktop file) 2011-06-04 10:03:32 +02:00
Script Kiddy
01e64e9039 SVN_SILENT made messages (.desktop file) 2011-06-03 09:06:45 +02:00
Martin Gräßlin
20fdcf06f4 Fix blending issue with invert effect
Actually it's more a hack and should be addressed in the next
release cycle by allowing effects to modify the scene's blend
equation.
BUG: 274424
FIXED-IN: 4.7.0
2011-06-02 11:40:20 +02:00
Martin Gräßlin
46fdbd26a4 Only end effect if it is not active any more
BUG: 274550
FIXED-IN: 4.7.0
2011-06-02 10:08:51 +02:00
Script Kiddy
0ea286f887 SVN_SILENT made messages (.desktop file) 2011-05-30 09:32:46 +02:00
Script Kiddy
a7dc64e5b8 SVN_SILENT made messages (.desktop file) 2011-05-29 10:09:53 +02:00
Martin Gräßlin
f9ecbee57b Ensure Lanczos is disabled during start animation
For what reason ever motion manager thinks that windows are not
moving during the start animation (but are during the stop animation).
So we also have to look on the timeline to decide whether we should
disable lanczos filter on the windows.

Now wonder the animation was stuttering.
BUG: 274292
FIXED-IN: 4.7.0
2011-05-28 17:41:27 +02:00
Script Kiddy
69d944e64a SVN_SILENT made messages (.desktop file) 2011-05-27 09:01:39 +02:00
Script Kiddy
231080e083 SVN_SILENT made messages (.desktop file) 2011-05-25 08:52:41 +02:00
Philipp Knechtges
5e22d3912b kwin: fixes graphical glitches in the wobblywindows effect
Before this patch, the damaged area had been underestimated.
2011-05-20 21:57:28 +02:00
Script Kiddy
1b3657ec0e SVN_SILENT made messages (.desktop file) 2011-05-20 09:11:04 +02:00
Script Kiddy
3d0c81f121 SVN_SILENT made messages (.desktop file) 2011-05-17 10:49:34 +02:00
Fredrik Höglund
6bc8cb93da kwin/blur: Pack varyings in the GLSL shader
Pack two vec2 coordinates in each vec4 varying. This gives
a ~60% improvement in shader performance with R600G.
2011-05-15 21:25:34 +02:00
Martin Gräßlin
4365b077d5 Do full repaints on window damage in boxswitch with GLES
Due to changes in the blur effect, the EffectFrame was flickering
with GLES. This can be worked around by doing full repaints whenever
a window is damagded while boxswitch is active with GLES. The problem
only occurs with the GLES backend due to the way how the buffers are
swapped.
BUG: 272688
2011-05-15 20:26:26 +02:00
Script Kiddy
e986b32d64 SVN_SILENT made messages (.desktop file) 2011-05-15 09:52:04 +02:00
Fredrik Höglund
93dc4d459c kwin/blur: Don't blur anything when we're painting top-to-bottom 2011-05-14 18:26:21 +02:00
Fredrik Höglund
b1990eec75 kwin/blur: Refactor the tests in drawWindow()
Move the tests into a separate function to improve readability.
2011-05-14 18:22:38 +02:00
Thomas Lübking
580aa665c9 use KLocale::positive/negativeSign in windowgeometry effect
BUG: 273169
FIXED-IN: 4.7
2011-05-13 17:38:13 +02:00
Martin Gräßlin
234ec644d2 KWin supports graphicssystem Raster
With raster a QPixmap is no longer a XPixmap which fails all code
which assumes that an QPixmap is an XPixmap. Depending on were in
the codebase we either convert such pixmaps to images (OpenGL) or
create a XPixmap and use QPixmap::fromX11Pixmap to get a "real"
pixmap.

It is possible that there are more code pathes were we would need
a XPixmap. Currently tested is basic functionality of no-compositing,
XRender compositing, OpenGl/GLX and OpenGL ES/EGL compositing.

For OpenGL compositing raster might result in performance improvements,
for XRender it is possible that there are regressions when using raster.
By default KWin uses whatever is the default of the system, so we just
no longer enforce native.

Of course it is a bad idea to use graphicssystem OpenGL. As that
is broken anyways in Qt, we do not check for it.

Many thanks to Philipp Knechtges for bringing up the issue, convincing
me that we need it and providing most of the patch.

REVIEW: 101132
CCMAIL: Philipp.Knechtges@rwth-aachen.de
2011-05-12 18:52:38 +02:00
Thomas Lübking
13b420fe7b flipswitch effect, slotWindowClosed - heap data still doesn't wipe itself ;-) 2011-05-11 21:07:34 +02:00
Script Kiddy
9d7c88d288 SVN_SILENT made messages (.desktop file) 2011-05-11 09:17:09 +02:00
Thomas Lübking
b54806fe0f strip QHash::operator[] from flipswitch
BUG: 238334
2011-05-10 21:43:46 +02:00
Martin Gräßlin
55bcd2ed10 Add new build option KWIN_MOBILE_EFFECTS
The new build option restricts the building of effects to those
useable for Plasma Active:
* blur
* dialogparent
* fade
* login
* outline
* presentwindows
* slidingpopups
* taskbarthumbnails
* screenshot

Additionally all effect KCMs are excluded from building in the
assumption that when building with this option, KWIN_BUILD_KCMS
is turned off.
CCMAIL: sebas@kde.org
2011-05-10 18:28:53 +02:00
Script Kiddy
cb2597dcaf SVN_SILENT made messages (.desktop file) 2011-05-09 09:32:40 +02:00
Fredrik Höglund
ff889337e2 kwin/blur: Use pos() instead of geometry().topLeft() 2011-05-08 12:05:22 +02:00
Fredrik Höglund
9a08f99958 kwin/blur: Fix a regression from a6bdff71
Subtract the screen-relative contents rect of the window from
the paint region, not the window relative rect.
2011-05-08 11:58:33 +02:00
Martin Gräßlin
032c2cc333 Ensure that list is not empty before accessing
With settings to animate windows in boxswitch it was
possible that an empty list was accessed when the last
window closed.
BUG: 263306
FIXED-IN: 4.7.0
2011-05-07 11:26:36 +02:00
Script Kiddy
ffd4385396 SVN_SILENT made messages (.desktop file) 2011-05-06 09:17:40 +02:00
Script Kiddy
f08ee510ce SVN_SILENT made messages (.desktop file) 2011-05-05 08:48:17 +02:00
Script Kiddy
fd9ecd8d09 SVN_SILENT made messages (.desktop file) 2011-05-03 10:32:34 +02:00
Script Kiddy
7bc87bca86 SVN_SILENT made messages (.desktop file) 2011-05-02 09:21:02 +02:00
Fredrik Höglund
65025071fc kwin/blur: Optimize the paint region
Optimize the region of the screen that's painted in each frame,
and paint the windows top-to-bottom when the damaged region doesn't
intersect any blurred areas.
2011-05-02 02:06:18 +02:00
Fredrik Höglund
7ef8f444f6 kwin/blur: Disable by default on all Intel chipsets 2011-05-02 02:06:17 +02:00
Ivan Čukić
0f7f8a833e KWin effect support for ksplashqml 2011-05-01 16:17:21 +02:00
Montel Laurent
422eacb42b Fix warning (order) 2011-05-01 14:57:01 +02:00
Martin Gräßlin
32adc59e4b Use cap shader to render area between screens in cube
This fixes most of the rendering issues with cube in multi
screen setups and GLSL backend. For cylinder and sphere the
rendering of areas between screen is currently disabled if
using the GLSL backend. It needs adjustments to use another
vertex shader. Not sure if it is worth the effort.
2011-05-01 11:28:07 +02:00
Martin Gräßlin
d396ce990b Fix untextured cube caps with GLSL 2011-05-01 11:28:07 +02:00
Script Kiddy
a773a063b6 SVN_SILENT made messages (.desktop file) 2011-05-01 09:27:31 +02:00
Montel Laurent
c0a47ae1dd Warning-- 2011-04-30 13:17:26 +02:00
Script Kiddy
31218c820c SVN_SILENT made messages (.desktop file) 2011-04-30 09:13:55 +02:00
Martin Gräßlin
818a936e99 Only use GLSL blur shader if ShaderManager is valid 2011-04-29 16:44:48 +02:00
Martin Gräßlin
57c101c04d Fix sphere shader 2011-04-29 14:12:48 +02:00
Martin Gräßlin
fda841787f Make Logout Effect work again with OpenGL 2 backend
It's more of a hack, but at least it is working again. Still needs
a proper rewrite to also support GLES.
2011-04-29 10:49:06 +02:00
Martin Gräßlin
39151f8454 Explicitly repaint when thumbnails are requested/removed
That looks like it only worked because the thumbnail background
was repainted at the same time. Let's make it a little bit more
reliable.
2011-04-28 20:02:26 +02:00
Martin Gräßlin
e25913cafb Ensure Add/remove button is removed when DesktopGrid is unloaded
BUG: 271481
FIXED-IN: 4.7.0
2011-04-28 19:18:24 +02:00
Martin Gräßlin
915d28d797 Outline effect to replace rendering of the outline
It just uses the selection of the EffectFrame for the outline.
FEATURE: 247316
FIXED-IN: 4.7.0
2011-04-28 13:49:23 +02:00
Martin Gräßlin
9586c0b8d4 Fix broken cube rotation with GL2 backend 2011-04-27 15:13:26 +02:00
Martin Gräßlin
d647950ff0 Do not blur behind EffectFrames with no style 2011-04-27 14:52:04 +02:00
Martin Gräßlin
c0570a660b Drag windows to close in Present Windows
First change for KWin Tablet: rendering a trashcan in present windows
and when dragging a window to it, it will be closed.
2011-04-27 09:58:16 +02:00
Montel Laurent
a1609d452a Don't check pointer before to delete it 2011-04-26 14:19:42 +02:00
Thomas Lübking
4bf61c556b fix ed70462a07ae650f01002c25ce5b5104f19f2892
ignoredWindows is not limited to the opengl backend
CCMAIL: kde@michael-jansen.biz
2011-04-25 14:38:13 +02:00
Michael Jansen
6630e49d1d Fix (hopefully) compile if KWIN_HAVE_OPENGL_COMPOSITING is not defined. Those members are not
defined in that case so don't maintain them here.

@kwin devs. Feel free to revert, improve or whatever comes to your mind.

CCMAIL: kwin@kde.org
2011-04-25 14:15:45 +02:00
Thomas Lübking
fa8c6cba51 forward port of a389a45ecaea2577f5162edd1485356c81263cce
prevent accidental desktop swaps

CCBUG: 220088
2011-04-24 22:23:55 +02:00
Jan Gerrit Marker
122a97b9c8 Desktop grid effect now does not preserve space for windows from
other activities.
BUG:242555
2011-04-24 17:53:30 +02:00
Jan Gerrit Marker
2407b0fbc4 Make present windows effect not preserve space for windows from other activities
REVIEW:101180
CCBUG:242555
2011-04-24 14:26:46 +02:00
Script Kiddy
9234b7fa4f SVN_SILENT made messages (.desktop file) 2011-04-23 09:21:33 +02:00
Script Kiddy
d6943f1075 SVN_SILENT made messages (.desktop file) 2011-04-13 08:48:03 +02:00
Kevin Ottens
ecc92e16c6 Make it build with QT_STRICT_ITERATORS 2011-04-04 09:26:09 +02:00
Thomas Lübking
a23e01f0d9 Sanitize special window pointers in flip/coverswitch
CCBUG:253870
2011-04-04 00:04:23 +02:00
Thomas Lübking
48939462da Strip QHash::operator[] from present window effect
also rewrite of the regular grid assignment - was
a) a suboptimal implementation
b) required because otherwise broken in desktopgrid proxy mode (which btw. polluted the effect through QHash::operator[])

BUG:262485
2011-04-03 23:39:33 +02:00
Thomas Lübking
f8cab9a6da validate deleted moving window in desktop grid effect
BUG:233363
CCBUG:267562
2011-04-03 22:43:02 +02:00
Script Kiddy
25fd8bd0d3 SVN_SILENT made messages (.desktop file) 2011-03-31 07:42:47 +02:00
Thiago Macieira
325995de7c Fix compilation warning about invalid deletion
Warnings were:
glide.h:74:16: warning: possible problem detected in invocation of delete operator:
glide.h:74:16: warning: invalid use of incomplete type 'struct QTimeLine'
glide.h:28:7: warning: forward declaration of 'struct QTimeLine'
glide.h:74:16: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined.
2011-03-29 11:15:15 +02:00
Script Kiddy
05d50578b6 SVN_SILENT made messages (.desktop file) 2011-03-29 09:37:48 +02:00
Script Kiddy
11ba15a3a7 SVN_SILENT made messages (.desktop file) 2011-03-28 08:16:51 +02:00
Martin Gräßlin
5cad344f02 Fix Blur behind in Dashboard Effect
By making Dashboard Effect a fullscreen effect the blurring got
accidentially broken (blur ignores fullscreen effects). Reenabling
by setting the force blur role on the dashboard window(s).

Reapplied commit 629e17d18526ccfae3d3579066e8be927a92437d from KDE/4.6.

CCBUG: 259797
2011-03-20 13:26:00 +01:00
Thomas Lübking
f980fd8a8d fix dialogparent implementation
forward port of 26a5f4dc3ec42616a13eee4f0112a22b6361c241
CCBUG: 267349
2011-03-19 16:34:46 +01:00
Martin Gräßlin
2a91623891 Implement reconfigure in SlidingPopups Effect
FEATURE: 264277
FIXED-IN: 4.7.0
2011-03-19 11:46:34 +01:00
Martin Gräßlin
e0906c8766 Repaint area between offset and window in sliding popups
As this area was not repainted it caused visual garbage during
animationgs. Most visible with yakuake and a panel at the top.
Offset in that case is the upper screenedge while yakuake is
positioned below the panel. The area of the panel did not get
repainted causing the garbage.
CCBUG: 264765
2011-03-18 18:12:49 +01:00
Martin Gräßlin
f6233828fe Initialize variables in ctor
The not initialized boolean value seemed to have evaluated to true
and causing the animation to stop and therefore the darkening not
to apply.

Giving a default value to the EffectWindow pointer doesn't hurt either.

Patch does not apply to 4.6 branch, because of that only in master.
BUG: 264552
FIXED-IN: 4.7.0
2011-03-17 20:02:52 +01:00
Martin Gräßlin
db14f3d798 Remove not needed member variables
Removed variables are only used inside one method.
2011-03-17 19:38:50 +01:00
Martin Gräßlin
0a7ed2ff79 Implement default handler in Dashboard config
Sorry for doing a second commit - 4.6 and master had diverged.
CCBUG: 253599
2011-03-17 19:15:01 +01:00
Martin Gräßlin
0dd26b37bc Remove not needed slot from config 2011-03-17 19:15:00 +01:00
Martin Gräßlin
1a226ea3ca Optimization of Dashboard Effect
I think my review was not good enough on that effect.
2011-03-17 19:15:00 +01:00
Martin Gräßlin
b52975a57e Merge branch 'libkwineffects'
The branch contains the first step in reworking the kwineffects
library. This includes:
* replacing virtuals by signals and slots
* dropping some unused methods
* remove KWin::TimeLine

More to come.

Conflicts:
	kwin/workspace.cpp
2011-03-16 19:46:59 +01:00
Martin Gräßlin
82b8f8d2fc Drop the driver blacklist
Let's face it: it was a bad idea and the blacklist never got updated.
2011-03-15 20:11:11 +01:00
Martin Gräßlin
f213b7da70 Drop KWin::TimeLine from kwineffects
The KWin::TimeLine class was only a small wrapper around QTimeLine
without adding anything to QTimeLine what is not present in QTimeLine.
The initial idea was to make it possible to provide more curve shapes.
This is now obsoleted by Qt shipping more useful curves with QTimeLine.

So let's clean up a little bit and use QTimeLine directly instead of
the small wrapper.

All effects are adjusted to use QTimeLine directly.
2011-03-14 22:50:05 +01:00
Script Kiddy
fef3ee0ec6 SVN_SILENT made messages (.desktop file) 2011-03-14 08:45:54 +01:00
Martin Gräßlin
2cf51238a8 kwineffects doesn't use kdecorations 2011-03-13 16:56:25 +01:00
Martin Gräßlin
e5e5c4a020 Move push/popRenderTarget to kwingluitls
(De)Activating a FBO is OpenGL specific and does not belong into EffectsHandler.
2011-03-13 14:34:30 +01:00
Martin Gräßlin
32c903b05b Rework signals for move/resize windows
First a signal is emitted when the user starts a move/resize operation.
During the move/resize operation each geometry change emits an update signal.
Last but not least a finish signal is emitted.

This eliminates the specific method for geometry updates in drawbound resize
mode.
2011-03-13 12:41:30 +01:00
Martin Gräßlin
909a678e13 New signal for maximize state changed
The signal includes the state for horizontal and vertical maximize state.
It would be better to use the enum fro, KDecorationDefines but we don't want
to depend on decorations library.

Wobbly windows is adjusted to use this new signal - it is the only effect
interested in maximize state change.
2011-03-13 11:00:10 +01:00
Martin Gräßlin
640fdc7b6d PropertyNotify becomes a signal 2011-03-12 19:18:19 +01:00
Martin Gräßlin
f134a5c6bd DashboardEffect does not have a propertyNotify method
So there is no need to call the virtual method of the parent class
which does nothing.
2011-03-12 18:54:18 +01:00
Martin Gräßlin
88d50727ee WindowDamaged becomes a signal 2011-03-12 15:04:22 +01:00
Martin Gräßlin
39ab2cf29e MouseChanged becomes a signal 2011-03-12 14:37:30 +01:00
Martin Gräßlin
911098ee76 WindowGeometryShapeChanged becomes a signal 2011-03-12 12:34:59 +01:00
Martin Gräßlin
dcebc7481b ClientGroupItem* become signals
This needs to be improved in core. Currently ClientGroup does not yet
emit signals, as it would be difficult to connect them. Nevertheless
the effects dependency should be removed.
2011-03-06 21:15:09 +01:00
Martin Gräßlin
747afb4225 NumberDesktopsChanged becomes a signal
TODO: connect DesktopChangeOSD also to the signal
2011-03-06 20:10:11 +01:00
Martin Gräßlin
3529c34934 End PresentWindows effect after last window closed
Thanks to Marus Hähnel for this contribution to KDE.
CCMAIL: marcus@mh-development.info
FEATURE: 262540
FIXED-IN: 4.7.0
REVIEW: 100627
2011-03-06 19:08:14 +01:00
Martin Gräßlin
15757e953a TabBox uses signals to notify the effects
EffectsHandlerImpl just forwards the signals from TabBox. In order
to have a valid pointer to the TabBox, the TabBox is now initialized
before compositing in Workspace.
2011-03-06 12:15:16 +01:00
Martin Gräßlin
a404ec4259 WindowUnminimized becomes a signal 2011-03-06 11:08:19 +01:00
Martin Gräßlin
012222037e WindowMinimized becomes a signal 2011-03-06 10:55:27 +01:00
Martin Gräßlin
edd0950f96 WindowOpacityChanged becomes a signal 2011-03-06 10:30:23 +01:00
Martin Gräßlin
a728823fbe Fix passing matrixes to the shaders
QMatrix4x4 accepts data in row-major order, but returns them in
column-major order, which is not documented and because of that
I expected them to be in row-major order.
This commit fixes it and rewrites the shaders to apply the matrix
multiplications in the right order.
REVIEW: 100759
2011-03-06 09:13:31 +01:00
Lamarque V. Souza
b0c43762e2 Fix two problems with one commit:
1. The I18N_ARGUMENT_MISSING that appears when moving or resizing one
window. The problem happens because when declaring the variables
myResizeString, myCoordString[0] and myCoordString_[1] i18nc tries to
replace %1, %2, %3, and %4, but those arguments are not passed here.
Using #define we avoid the argument passsage.

2. Replace QString::arg() with direct formating, which is better for
performance.

I know we should avoid #define but in this case I think it is the best
option. If anyone has a better alternative feel free to change this
commit.
2011-03-03 00:37:17 -03:00
Script Kiddy
14fa13943a SVN_SILENT made messages (.desktop file) 2011-03-02 08:40:15 +01:00
Martin Gräßlin
eeb10c69d5 Signal for windowUserMovedResize
In core a new signal is added for maximizedState change of client.
Other function calls remain as direct calls for the moment.
2011-02-28 21:03:13 +01:00
Martin Gräßlin
e355700e6e EffectsHandler emits windowDeleted signal
Workspace emits a deletedRemoved signal which the EffectsHandlerImpl translates
into a windowDeleted signal.
2011-02-27 10:47:42 +01:00
Martin Gräßlin
0795ae89ac EffectsHandler emits signal on windowActivated
EffectsHandlerImpl connects to the Workspace signal clientActivated.
The emitting of the signal is slightly moved from before the activation logic
to after the activation logic. This might change behavior in the scripting
component, but the previous code looked wrong.
2011-02-27 10:05:04 +01:00
Martin Gräßlin
0b85768ec5 EffectsHandler emits windowClosed signal
Client and Unmanaged use a signal to notify that they are about to be closed.
The EffectsHandlerImpl is connected to those signals and emits the appropriate
windowClosed signal to which the effects are connected.
2011-02-27 09:25:45 +01:00
Script Kiddy
718680dfba SVN_SILENT made messages (.desktop file) 2011-02-27 08:11:47 +01:00
Martin Gräßlin
ab6f2ba1fd EffectsHandler emits windowAdded signal
All previously existing windowAdded methods are renamed to slotWindowAdded.
EffectsHandlerImpl is connected to Workspace's clientAdded signal, which is
emitted a little bit earlier than the previous direct method call. This might
change behavior.
Another signal is added to Workspace to signal that an unmanaged is added.
2011-02-25 22:06:02 +01:00
Martin Gräßlin
c3a076b6a5 EffectsHandler emits desktopChanged signal
The first signal used between EffectsHandler and Effects.
The signal is actually emitted by the EffectsHandlerImpl and only
the interested effects connect to this signal.
EffectsHandlerImpl itself is also notified by a signal from Workspace,
allowing to remove one of the many if (effects) checks.
2011-02-25 20:41:10 +01:00
Martin Gräßlin
b3a5639967 EffectsHandler and Effect become QObjects
This is in preparation for allowing to connect effects with signals and slots.
2011-02-25 20:25:21 +01:00
Martin Gräßlin
0827c2903b Use GLPlatform to decide whether shaders are supported
Dropping the static methods from GLShader and use supports()
where it was used before.
2011-02-19 11:08:43 +01:00
Martin Gräßlin
b265537962 Drop dependency to libplasma from kwineffects library
Since the EffectFrames have been moved into KWin core nothing in the
Effects lib actually used Plasma. The only remaining method is moved
to core as it's not used in the Effects. The Effects itself still
link against Plasma, so nothing changes for them.

The Plasma includes in the kwineffects header seemed to pull in
quite some additional headers, so the includes in some effects have
to be adjusted (most often KConfigGroup). This should speed up the
compilation of the library and the effects.
2011-02-17 19:38:42 +01:00
Fredrik Höglund
af92a4efd4 kwin: Rename sample to sampler in all shaders
A sample is not the same thing as a sampler.
2011-02-17 19:19:40 +01:00
Thomas Lübking
fcf68cfd69 secure m_highlightedWindows access when triggering
explicit repaint in highlight effect

forward port of 891a0a2a3272186c2c7a93f7a332e04809e3d4d4
2011-02-14 21:13:31 +01:00
Script Kiddy
18125ce37f SVN_SILENT made messages (.desktop file) 2011-02-14 16:30:56 +01:00
Script Kiddy
836b404f85 SVN_SILENT made messages (.desktop file) 2011-02-13 20:33:23 +01:00
Martin Gräßlin
dd4a169147 Fix missing include 2011-02-12 10:14:30 +01:00
Fredrik Höglund
73be6657ea kwin: Replace brightness and opacity with a modulation constant
This makes it possible to adjust both brightness and opacity
at the same time with one multiplication in the fragment shader.
2011-02-12 01:45:38 +01:00
Script Kiddy
8dc537af57 SVN_SILENT made messages (.desktop file) 2011-02-11 07:35:13 +01:00
Fredrik Höglund
2045e8dd34 kwin: Use the new setUniform() overloads in presentwindows 2011-02-11 00:41:19 +01:00
Fredrik Höglund
28cf355b26 kwin: Fix a bug in the fragment shaders
The alpha channel must be set to 1 before the sample is modulated
with the brightness and opacity constants, not after.
2011-02-11 00:39:47 +01:00
Fredrik Höglund
5e97ccf7e0 kwin: Normalize the texcoords in the vertex shader 2011-02-10 20:15:23 +01:00
Dr. Robert Marmorstein
6ccf538f49 Merge branch 'master' of git://anongit.kde.org/kde-workspace 2011-02-07 20:16:13 -05:00
Script Kiddy
95c8ba2035 SVN_SILENT made messages (.desktop file) 2011-02-07 07:07:14 +01:00
Dr. Robert Marmorstein
6f695d9a76 Merge branch 'master' of git://anongit.kde.org/kde-workspace 2011-02-06 13:57:17 -05:00
Dr. Robert Marmorstein
b9d4794977 Fix kwin crash when using animated effects.
Bug: 263383
2011-02-06 13:47:30 -05:00
Thomas Lübking
c513099354 logout effect: remove deleted windows from list
fwd port of 04831d049f73bb38694d7cecc4ea170b2a26a149
2011-02-06 16:54:20 +01:00
Thomas Lübking
7b5683f74b explicitly trigger repaint on highlight window property changes
forward port of 17934f79fa691a52efc4df142e5e8712634ad21a
2011-02-06 16:50:47 +01:00
Thomas Lübking
51ee04837f whitespace: da3a0ad39be3cd5529b3d8b259065cd26e631a0b
the other whitespace...
2011-02-06 16:39:41 +01:00
Thomas Lübking
a3328bd449 export WindowGeometry config symbols
BUG: 265272
2011-02-06 16:36:16 +01:00
Thomas Lübking
17dacb2290 strip qhash::operator[] from boxswitch
possibly prevents leaking ItemInfos
secure some accesses (selected_window), not sure whether this caused the unreproducable crash when used as proxy in coverswitch
manual fwd port of 84384efb52367e720ad82ace04ac8da668afc5ec

CCBUG: 253079
2011-02-06 00:53:22 +01:00
Script Kiddy
b90312c031 SVN_SILENT made messages (.desktop file) 2011-02-04 06:46:03 +01:00
Script Kiddy
15155326e2 SVN_SILENT made messages (.desktop file) 2011-02-03 07:25:47 +01:00
Script Kiddy
b637e9d7ca SVN_SILENT made messages (.desktop file) 2011-02-02 08:26:11 +01:00
Martin Gräßlin
54c0a913b9 Fixing broken Invert effect build.
Forgot to remove the header file for shadereffect, though
it was not used anymore in the effect.
CCMAIL: hein@kde.org
2011-02-01 20:13:26 +01:00
Eike Hein
39f57a472f Disable the invert effect to unbreak the workspace build.
invert.cpp refers to the apparently removed kwinshadereffect.h,
so it's probably missing out on some sort of porting activity.

CCMAIL:kde@martin-graesslin.com
2011-02-01 19:52:03 +01:00
Martin Gräßlin
0a7e48f7aa KWin uses kdelibs coding style. 2011-01-31 20:07:03 +01:00
Martin Gräßlin
cf03487331 Remove Shadow Effect.
The shadow effect is known to be broken since at least 4.5.
It is unfortunately in a state which makes it difficult to maintain
and the architecture has some serious drawbacks. Therefore it is the
best solution to replace the effect with a new and better
implementation. For more information about the new implementation
please see the discussion on KWin mailinglist:
http://lists.kde.org/?l=kwin&m=129607406517609&w=2

This also "fixes" all existing bug reports about the shadow effect.
Most of the bugs will really be fixed when the new shadow system is
implemented, if not it is a new bug and a new report should be created
for it.

Please excuse that we go this unnormal approach to mark bugs as
fixed with code removal.
BUG: 164084
BUG: 160948
BUG: 189241
BUG: 229164
BUG: 258663
BUG: 216709
BUG: 243890
FIXED-IN: 4.7.0
2011-01-30 14:26:58 +01:00
Martin Gräßlin
65e6a1b03b Removing Snow Effect.
The usefulness of the snow effect is doubtable and it is rather
difficult to port the effect to the new rendering architecture
introduced with GLES. It is probably easier to rewrite the complete
effect from scratch, therefore it is removed for now.

I might consider readding it for 4.7.

This kind of "fixes" snow related bug reports.
BUG: 259362
BUG: 254498
FIXED-IN: 4.7.0
2011-01-30 14:24:48 +01:00
Martin Gräßlin
debb747797 Removing the Sharpen Effect.
The effect has been known to cause some problems for quite some time
and is not really useful. Therfore dropping the effect.
See discussion on kwin mailinglist:
http://lists.kde.org/?l=kwin&m=129597766829618&w=2
2011-01-30 14:20:05 +01:00
Martin Gräßlin
3e42ddc2cc ShaderManager handles rebind of previous shader.
No need to explicitly rebind the window shader in blur effect.
2011-01-30 14:12:06 +01:00
Martin Gräßlin
ccd0cae094 CoverSwitch supports multi screen in GLES. 2011-01-30 14:12:06 +01:00
Martin Gräßlin
8d46c978aa FlipSwitch supports MultiScreen with GLES. 2011-01-30 14:12:06 +01:00