Commit graph

104 commits

Author SHA1 Message Date
Lucas Murray
a1c82cd52b Added support for inter-effect communication through the use of proxy
classes. Example code has been added to present windows and desktop
grid, if this code is not to be used by KDE 4.3 it should be removed and
added to a test effect instead.

svn path=/trunk/KDE/kdebase/workspace/; revision=922039
2009-02-06 10:15:06 +00:00
Lucas Murray
752d5fa642 Extracted mouse polling out of the composite timer to allow effects to
detect mouse movement and modifier key changes even when KWin is idle.
As the track mouse effect requires polling to always be active disabling
it by default to prevent wasting CPU usage in the default install.

svn path=/trunk/KDE/kdebase/workspace/; revision=919711
2009-02-01 15:16:52 +00:00
Lucas Murray
8e6d18f7b3 Revert "Ported grid branch to a desktop effect."
I accidently committed the wrong Git branch to trunk. =\

svn path=/trunk/KDE/kdebase/workspace/; revision=897889
2008-12-17 03:14:33 +00:00
Lucas Murray
07653a50a7 Ported grid branch to a desktop effect.
Added resize functions to effect API.

svn path=/trunk/KDE/kdebase/workspace/; revision=897887
2008-12-17 03:10:41 +00:00
Lucas Murray
154c19b0e7 Make the client shadowOpacity() return a relative opacity instead of absolute.
svn path=/trunk/KDE/kdebase/workspace/; revision=873440
2008-10-19 13:43:16 +00:00
Lucas Murray
c07ba30b63 Fixed shadow effect losing its shadows after making changes to the settings.
Added force mode to buildQuads() to allow refreshing the cache.
Made EffectWindow::buildQuads() no longer internal.

svn path=/trunk/KDE/kdebase/workspace/; revision=872836
2008-10-18 10:31:59 +00:00
Lucas Murray
899d578c49 Merge Libkdecoration2 Git branch.
WARNING: Breaks shadow effect. I don't think it causes anything to crash anymore but it is VERY ugly visually.

Contains:
 - New decoration API that allows decorations to change the way shadows look.
 - Shadows now wobble.
 - API example code in the Oxygen decoration.
 - Added buildQuads() effect plugin hook.
 - Work on the shadow effect to use the new decoration shadow API as well.
 - Added IDs to WindowQuads.
 - Added public accessors to texture coords in WindowVertex.

Would like all this to be reviewed.

CCMAIL: kwin@kde.org

svn path=/trunk/KDE/kdebase/workspace/; revision=872473
2008-10-17 10:30:43 +00:00
Luboš Luňák
1d2c54edcc Support for proper effect reconfiguration instead of reloading them.
Fixes e.g. the global animation combo not taking effect.


svn path=/trunk/KDE/kdebase/workspace/; revision=866903
2008-10-02 09:27:32 +00:00
Luboš Luňák
2a87593638 Add a global configuration option for animation speed. See description
of Effect::animationTime() for how-to-use.
TODO: Effects need to reload config after doing the change in the kcm.
NOTE: Default TimeLine constructor now creates invalid object, it is
necessary to explicitly call setDuration() in order to ensure all
animations respect this setting.

CCMAIL: kwin@kde.org


svn path=/trunk/KDE/kdebase/workspace/; revision=854690
2008-08-30 07:25:54 +00:00
Lucas Murray
0581746327 Allow moving of maximized windows across screens
BUG: 131299

svn path=/trunk/KDE/kdebase/workspace/; revision=837644
2008-07-25 10:31:47 +00:00
Lucas Murray
d515abb82c Added screenNumber() and addRepaint(QRegion) to effects API
svn path=/trunk/KDE/kdebase/workspace/; revision=822215
2008-06-19 14:16:21 +00:00
Luboš Luňák
e2f835e142 Modules -> Effects, for consistent naming (not sure if the calls
are used somewhere). Also fix the strange indent.
CCMAIL: Laurent Montel <montel@kde.org>


svn path=/trunk/KDE/kdebase/workspace/; revision=818994
2008-06-10 09:32:46 +00:00
Luboš Luňák
3f4a2dfaed Add functions for querying xinerama screens to effects API,
from Lucas Murray <admin@undefinedfire.com>.


svn path=/trunk/KDE/kdebase/workspace/; revision=818782
2008-06-09 16:09:56 +00:00
Laurent Montel
5628d59f1f Add dbus function to show which effect can be loaded
so now all is ok to know which module can be load/unload

svn path=/trunk/KDE/kdebase/workspace/; revision=815903
2008-06-02 20:05:17 +00:00
Laurent Montel
54ede72bf1 Add a dbus function to show which effect is loaded
svn path=/trunk/KDE/kdebase/workspace/; revision=815896
2008-06-02 19:52:02 +00:00
Rivo Laks
0d64af45ce Make elevatedWindows() return list of EffectWindow pointers instead
of Toplevel ones. This makes it independant of the Toplevel objects
  and fixes a crash when an elevated window is closed.

svn path=/trunk/KDE/kdebase/workspace/; revision=760802
2008-01-13 13:00:15 +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
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
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
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
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
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
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
Rivo Laks
da0450f67f Make loadEffect() return bool
svn path=/trunk/KDE/kdebase/workspace/; revision=690381
2007-07-20 21:13:10 +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
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
6c8b18f379 Add support for effect ordering.
Effects can now have e.g.  X-Ordering=10  field in their .desktop file. The bigger the number,
  the later the effect comes.

svn path=/trunk/KDE/kdebase/workspace/; revision=684272
2007-07-06 12:38:41 +00:00
Rivo Laks
e3d45c99f0 Add reloadEffect() and isEffectLoaded() and use them
svn path=/trunk/KDE/kdebase/workspace/; revision=669433
2007-05-29 11:42:47 +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
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
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
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
438b8ce045 toggleEffect() DBUS call
svn path=/branches/work/kwin_composite/; revision=655369
2007-04-18 06:57:49 +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