Rivo Laks
3f581b4d0c
Add a method to subdivide the window into regular grid.
...
Will be used by wobbly windows effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=781469
2008-03-02 22:28:50 +00:00
Laurent Montel
b844bcae41
Fix compile (need to export it)
...
svn path=/trunk/KDE/kdebase/workspace/; revision=779292
2008-02-25 19:53:43 +00:00
Luboš Luňák
cff2b0e6cd
Abstract paint clipping into PaintClipper helper class that allows
...
stacking of clipping regions.
(http://lists.kde.org/?l=kwin&m=120138051215450&w=2 )
BUG: 156798
svn path=/trunk/KDE/kdebase/workspace/; revision=779045
2008-02-25 11:32:21 +00:00
Rivo Laks
5b38737dee
Add apidox for kwineffects group, showing the necessary steps for
...
adding a new effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=767202
2008-01-27 14:43:05 +00:00
Luboš Luňák
3c3b5f4b2d
Split kdecoration and kwineffects libraries as two modules for doxygen.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=762274
2008-01-16 18:13:24 +00:00
Luboš Luňák
bc5acf8268
Shaped shadows are not implemented yet, so disable shadows completely
...
for shaped windows.
svn path=/trunk/KDE/kdebase/workspace/; revision=756795
2008-01-03 19:39:18 +00:00
Luboš Luňák
c708796804
findWindow()
...
svn path=/trunk/KDE/kdebase/workspace/; revision=755996
2008-01-02 15:37:46 +00:00
Luboš Luňák
82ad4e01ce
Report old buttons and modifiers state in mouseChanged() as well.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=755995
2008-01-02 15:34:12 +00:00
Luboš Luňák
0bbc0fa5dc
Support for getting PropertyNotify events - effects can have their
...
own properties for communication with something outside of kwin.
Intended now mainly for a better taskbar thumbnails effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=755991
2008-01-02 15:21:33 +00:00
Luboš Luňák
76c76f585d
Don't apply DimInactive effect to override-redirect windows. Things
...
like popups should be short-lived and mostly for the active window anyway.
Possibly could be revisited in the future when support for window grouping
for unmanaged windows gets implemented too.
BUG: 154009
svn path=/trunk/KDE/kdebase/workspace/; revision=755987
2008-01-02 15:17:58 +00:00
Luboš Luňák
d43b34aa0b
Remove old comments.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=749629
2007-12-17 14:15:32 +00:00
Luboš Luňák
bb433ac40e
No longer include config*.h files in installed headers.
...
Also slightly redo the #define's for effects, now it's:
- #ifdef KWIN_HAVE_COMPOSITING to check whether there's any compositing support at all
- #ifdef KWIN_HAVE_OPENGL_COMPOSITING to check for OpenGL-based compositing
- #ifdef KWIN_HAVE_XRENDER_COMPOSITING the same for XRender
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=749628
2007-12-17 14:14:53 +00:00
Luboš Luňák
44cc93170d
Add check for effect version to prevent loading of incompatible plugins.
...
Should work automagically, not changes in plugins needed.
svn path=/trunk/KDE/kdebase/workspace/; revision=749626
2007-12-17 14:10:21 +00:00
Rivo Laks
bd19b6dc45
Add EffectWindow::shape()
...
svn path=/trunk/KDE/kdebase/workspace/; revision=746064
2007-12-07 18:03:24 +00:00
Luboš Luňák
01bf6cbb4c
License cleanup - add headers where missing, be explicit about GPL
...
being v2+ (right now it says just GPL, which according to GPL itself
means any GPL). Decoration clients will come later.
CCMAIL: kwin@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=742302
2007-11-27 19:40:25 +00:00
Rivo Laks
85961ce0a3
Add KWin::GlobalShortcutsEditor which is a KShortcutsEditor that only edits global shortcuts.
...
This allows shortcut editor widgets to be added in Designer (for 4.1 KShortcutsEditor should
probably get setActionTypes() method so that it needn't be set in it's ctor).
libkwineffects also links to kdeui now, I hope it's ok since it linked to QtGUI and kdecore already anyway.
svn path=/trunk/KDE/kdebase/workspace/; revision=740954
2007-11-24 13:43:52 +00:00
Luboš Luňák
c1ed1edb52
Proper support for active xinerama screen in effects.
...
BUG: 152552
svn path=/trunk/KDE/kdebase/workspace/; revision=739248
2007-11-20 18:58:30 +00:00
Luboš Luňák
ceb07f1c5c
-Woverloaded-virtual
...
svn path=/trunk/KDE/kdebase/workspace/; revision=739149
2007-11-20 16:19:06 +00:00
Luboš Luňák
d18e4933a0
Make DesktopGrid useful also from keyboard.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=739147
2007-11-20 16:17:08 +00:00
Rivo Laks
0ac3b393b1
Add some apidocs.
...
Lots more are still needed but it's a start.
svn path=/trunk/KDE/kdebase/workspace/; revision=737896
2007-11-17 10:20:19 +00:00
Luboš Luňák
bc6a084894
Let effects access window role as well.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=736266
2007-11-13 19:59:53 +00:00
Rivo Laks
a2801f1ba1
Add #define with KWin effects API version so that 3rd party effects can check for compatibility
...
svn path=/trunk/KDE/kdebase/workspace/; revision=736187
2007-11-13 17:03:24 +00:00
Rivo Laks
bb9ff25ec4
Prevent multiple fullscreen effects from becoming active at the same time as discussed
...
on kwin ml
svn path=/trunk/KDE/kdebase/workspace/; revision=731717
2007-11-01 17:47:41 +00:00
Pino Toscano
54289af3ea
#include fixup
...
svn path=/trunk/KDE/kdebase/workspace/; revision=722244
2007-10-07 00:08:11 +00:00
Rivo Laks
7ad70d9c83
Fix compilation
...
svn path=/trunk/KDE/kdebase/workspace/; revision=714831
2007-09-20 18:06:36 +00:00
Bernhard Loos
4ff6a33526
fix the effect kcm for kwin
...
(port it to KPluginFactory)
svn path=/trunk/KDE/kdebase/workspace/; revision=714825
2007-09-20 17:48:27 +00:00
Luboš Luňák
e6069e9cf6
Arghl. Again a stupid bug caused by float having poor precision.
...
Reverting r700026 and changing floats to doubles again. I'd probably like
to change even the ones interfacing with OpenGL which I've left for now.
svn path=/trunk/KDE/kdebase/workspace/; revision=707987
2007-09-03 15:00:43 +00:00
Rivo Laks
d618ba8d23
Turn paintText() into two generic methods: one just paints the text, the other also paints
...
background. Move the methods into kwineffects.*
svn path=/trunk/KDE/kdebase/workspace/; revision=707699
2007-09-02 18:20:36 +00:00
Arto Hytönen
b494cddaa9
includes, include guards and typos fixed
...
svn path=/trunk/KDE/kdebase/workspace/; revision=705066
2007-08-27 04:31:52 +00:00
Luboš Luňák
d846a1e8a9
Use always float as the floating point type for compositing
...
(http://lists.kde.org/?l=kwin&m=118493073424327&w=2 ).
svn path=/trunk/KDE/kdebase/workspace/; revision=700026
2007-08-14 15:22:23 +00:00
Luboš Luňák
5a50381e1f
Move the shader used for painting to WindowPaintData, as it's
...
more related to one painting than to a window.
svn path=/trunk/KDE/kdebase/workspace/; revision=698576
2007-08-10 11:26:58 +00:00
Luboš Luňák
30eb55863c
Make WindowPaintData ctor require an EffectWindow argument,
...
which is used to fill it in. Makes thumbnails work again.
svn path=/trunk/KDE/kdebase/workspace/; revision=697961
2007-08-08 14:42:06 +00:00
Aaron J. Seigo
b9c69f425b
various ebn fixes (markup, uninling, QString())
...
svn path=/trunk/KDE/kdebase/workspace/; revision=692765
2007-07-26 07:51:16 +00:00
Luboš Luňák
56eeb84acc
More checks that quads are split only in pre-paint and transformed
...
only in paint.
svn path=/trunk/KDE/kdebase/workspace/; revision=689945
2007-07-19 16:11:27 +00:00
Luboš Luňák
023ebc47b1
Implement smoothNeeded() - window quads need smoothing if width or height
...
of some of them has changed.
svn path=/trunk/KDE/kdebase/workspace/; revision=689942
2007-07-19 15:55:04 +00:00
Luboš Luňák
dbade7f1a4
No public texture coordinates.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689926
2007-07-19 14:56:25 +00:00
Luboš Luňák
4dd8d34c8f
Don't make texture coordinates in WindowVertex public at all,
...
the meaning may possibly change in the future if more than one texture
is used. Instead store original coordinates.
svn path=/trunk/KDE/kdebase/workspace/; revision=689918
2007-07-19 14:35:55 +00:00
Rivo Laks
7273d0ddb5
Add setTransformed() helper method
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689913
2007-07-19 14:05:59 +00:00
Luboš Luňák
96aba51960
Add a helper to turn on transparency in pre-paint calls.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689910
2007-07-19 13:32:46 +00:00
Luboš Luňák
e1c5f18414
Separate rendering for decoration and window contents, they can have
...
different opacity (opacity only for decoration option).
svn path=/trunk/KDE/kdebase/workspace/; revision=689855
2007-07-19 10:07:49 +00:00
Luboš Luňák
b7ae1af212
Pedantic.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689597
2007-07-18 16:42:21 +00:00
Luboš Luňák
c29c66832d
Make quads carry information about whether the quad is part
...
of decoration or the actual window contents.
svn path=/trunk/KDE/kdebase/workspace/; revision=689554
2007-07-18 15:01:59 +00:00
Pino Toscano
d7b200945d
use QtModule/QFoo includes
...
svn path=/trunk/KDE/kdebase/workspace/; revision=687987
2007-07-14 23:26:49 +00:00
Luboš Luňák
5faa397849
Vertex redesign - redo the way windows are split into smaller parts
...
for use in effects (and not only). Now a list of window quads (=window areas)
is created at the beginning of the paint pass, prepaint calls can modify
the split itself (i.e. divide it into more parts). The actual paint calls
can then modify these quads (i.e. transform their geometry). This will allow
better control of how the split is done and also allow painting e.g. only
the decoration differently. Still work in progress, but it works.
Also pass data to prepaint functions in a struct, as there is
already quite a number of them.
svn path=/trunk/KDE/kdebase/workspace/; revision=684893
2007-07-07 14:01:32 +00:00
Rivo Laks
e9cb72087f
Add 2 static helper methods to EffectHandler:
...
One calls reloadEffect() over dbus to reload given effect (to be used in config modules).
The second one returns KConfigGroup for given effect.
svn path=/trunk/KDE/kdebase/workspace/; revision=669435
2007-05-29 11:46:12 +00:00
Rivo Laks
44b293211c
Options now longer provides list of effects to be loaded.
...
Instead, EffectsHandler itself loads the list of enabled effects (saved by the effects selector widget),
also making use of their EnabledByDefault property, so if you haven't touched the config, you'll
automatically get default effects.
svn path=/trunk/KDE/kdebase/workspace/; revision=669036
2007-05-28 11:23:00 +00:00
Rivo Laks
041673bf86
Effect's name in KWIN_EFFECT*() macros must now match effect's internal name in .desktop file,
...
without kwin4_effect_ prefix, so change the name in those macros to lowercase.
Some modifications to the macros themselves as well.
Effect loading via dcop might work again now.
svn path=/trunk/KDE/kdebase/workspace/; revision=669033
2007-05-28 11:16:18 +00:00
Luboš Luňák
278e721494
Support for keeping a window temporarily at the very top,
...
desktop grid effect raises the window being moved this way.
svn path=/trunk/KDE/kdebase/workspace/; revision=667944
2007-05-24 14:41:56 +00:00
Thorsten Roeder
97b328de46
SVN_SILENT: some krazy spelling fixes mainly in comments
...
svn path=/trunk/KDE/kdebase/runtime/solid/control/solid/; revision=662694
2007-05-08 22:05:30 +00:00
Luboš Luňák
f52b8e48cd
branches/work/kwin_composite becomes new trunk kwin.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=659202
2007-04-29 17:35:43 +00:00
Luboš Luňák
2b7e1f4993
Remove kwin, kwin_composite will become new trunk kwin, missing merges
...
from trunk will be merged in.
svn path=/trunk/KDE/kdebase/workspace/; revision=659200
2007-04-29 17:34:49 +00:00
Rivo Laks
9342f6902c
Add EffectWindow::isPaintingEnabled() to check whether painting of that window is enabled (surprise!)
...
svn path=/branches/work/kwin_composite/; revision=658747
2007-04-28 12:21:14 +00:00
Laurent Montel
67f6750ab3
Remove not necessary include
...
svn path=/trunk/KDE/kdebase/workspace/; revision=656776
2007-04-22 11:14:24 +00:00
Rivo Laks
868719ed65
Port ExplosionEffect to plugin system
...
svn path=/branches/work/kwin_composite/; revision=656456
2007-04-21 12:57:15 +00:00
Luboš Luňák
f43b53ef7d
Trigger TrackMouseEffect using Ctrl+Meta rather than mouse buttons.
...
svn path=/branches/work/kwin_composite/; revision=656455
2007-04-21 12:50:02 +00:00
Rivo Laks
7250a8edcd
Support having multiple rendertarget-using effects active at once
...
svn path=/branches/work/kwin_composite/; revision=656210
2007-04-20 15:53:30 +00:00
Luboš Luňák
d6d91cf88a
Add the ability to move windows around in DesktopGridEffect.
...
svn path=/branches/work/kwin_composite/; revision=654796
2007-04-16 22:47:51 +00:00
Luboš Luňák
40002ec325
Allow changing the desktop in DesktopGridEffect by clicking.
...
svn path=/branches/work/kwin_composite/; revision=654680
2007-04-16 19:09:21 +00:00
Luboš Luňák
970f4c4d60
Get window class.
...
svn path=/branches/work/kwin_composite/; revision=654513
2007-04-16 11:48:14 +00:00
Luboš Luňák
76cb5de294
Support for effects taking control of the keyboard. Needs recent kdeui change
...
to work properly.
svn path=/branches/work/kwin_composite/; revision=654259
2007-04-15 16:31:13 +00:00
Luboš Luňák
f5fa11222a
Effects that can keep thumbnails of selected windows permanently
...
visible at the side.
svn path=/branches/work/kwin_composite/; revision=654185
2007-04-15 10:56:17 +00:00
Luboš Luňák
10bfb82e8c
Make PresentWindows effect work properly even with idle paint passes
...
(i.e. trigger next repaint properly and react on mouse events).
svn path=/branches/work/kwin_composite/; revision=653921
2007-04-14 15:33:12 +00:00
Luboš Luňák
15c8a4220e
Fix and re-enable optimized cursorPos().
...
svn path=/branches/work/kwin_composite/; revision=653895
2007-04-14 14:15:43 +00:00
Luboš Luňák
5fc1d4c480
Tabbox effect also converted to plugins.
...
svn path=/branches/work/kwin_composite/; revision=653014
2007-04-12 14:12:34 +00:00
Luboš Luňák
2b82c88874
The rest ported to plugins, BoxSwich being the only exception.
...
svn path=/branches/work/kwin_composite/; revision=652991
2007-04-12 13:12:37 +00:00
Luboš Luňák
8e25dd6bfa
Port to plugins.
...
svn path=/branches/work/kwin_composite/; revision=652956
2007-04-12 11:55:07 +00:00
Luboš Luňák
ca5451fef0
Convert WavyWindows to plugins (and move Vertex class to the effects lib).
...
svn path=/branches/work/kwin_composite/; revision=652628
2007-04-11 15:46:46 +00:00
Rivo Laks
02032f8587
Move most (all?) internal methods from EffectsHandler to EffectsHandlerImpl.
...
The ugly side effect of this is that there are tons of static_casts in the code now... maybe it
would be better to add effectImpl() convenience method and use that?
svn path=/branches/work/kwin_composite/; revision=652348
2007-04-10 18:47:13 +00:00
Luboš Luňák
58fdb149a8
Convert ShowFps effect to plugins.
...
svn path=/branches/work/kwin_composite/; revision=652275
2007-04-10 15:38:36 +00:00
Luboš Luňák
d2dbc77323
Add support for dimming of inactive windows (accessibility).
...
FEATURE: 46226
svn path=/branches/work/kwin_composite/; revision=652255
2007-04-10 14:48:55 +00:00
Rivo Laks
0353f3376e
Make effects actual plugins, so it's possible to load them on runtime.
...
There's also a kwineffects library now, containing the effects API, which makes it possible to write
third-party effects.
API isn't complete yet and for now just two effects have been converted but I'm working on it :-)
svn path=/branches/work/kwin_composite/; revision=652226
2007-04-10 13:02:08 +00:00