Luboš Luňák
a1fa5c4206
No interpolating when there's no old position, just fade in.
...
svn path=/branches/work/kwin_composite/; revision=654363
2007-04-15 21:50:00 +00:00
Luboš Luňák
f8c84d4310
Don't disable desktop from painting.
...
svn path=/branches/work/kwin_composite/; revision=654361
2007-04-15 21:42:36 +00:00
Luboš Luňák
257ce3ad99
Find-as-you-type filtering of presented windows.
...
svn path=/branches/work/kwin_composite/; revision=654360
2007-04-15 21:42:01 +00:00
Luboš Luňák
795de6c6d6
Centered placement in slots.
...
svn path=/branches/work/kwin_composite/; revision=654291
2007-04-15 18:12:24 +00:00
Luboš Luňák
b30180ca26
Compute scale factor properly.
...
svn path=/branches/work/kwin_composite/; revision=654285
2007-04-15 17:59: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
894d08a522
When the number of presented windows changes, do the rearranging smoothly.
...
Also rearrange only if the size of the grid would change.
svn path=/branches/work/kwin_composite/; revision=654209
2007-04-15 13:25:44 +00:00
Luboš Luňák
b65e6affd9
Build the list of windows to present when activating the effect
...
and don't change this list later (I suppose newly turned up
windows would just disturb anyway). This will later also allow
filtering of the presented windows.
svn path=/branches/work/kwin_composite/; revision=654201
2007-04-15 12:38:09 +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
812dd7238e
Arrange windows to regularly spaced slots, try to find the closest one.
...
svn path=/branches/work/kwin_composite/; revision=654184
2007-04-15 10:53:01 +00:00
Luboš Luňák
e18e701f7f
LMB activates, others cancel.
...
svn path=/branches/work/kwin_composite/; revision=654154
2007-04-15 09:14:37 +00:00
Luboš Luňák
672c95e435
Work properly even with idle paint passes (react on mouse events).
...
svn path=/branches/work/kwin_composite/; revision=653927
2007-04-14 16:10:58 +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
2d89e4304e
Magnifier glass - like Zoom, but only for a small part of the screen.
...
svn path=/branches/work/kwin_composite/; revision=653542
2007-04-13 15:19:12 +00:00
Luboš Luňák
6c971a4462
ZoomIn/ZoomOut/ActualSize actions.
...
svn path=/branches/work/kwin_composite/; revision=653520
2007-04-13 14:42:37 +00:00
Luboš Luňák
a2a8c39a27
Small fixes.
...
svn path=/branches/work/kwin_composite/; revision=653431
2007-04-13 10:08:18 +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
0b4f83fc90
The rest ported to plugins, BoxSwich being the only exception.
...
svn path=/branches/work/kwin_composite/; revision=652990
2007-04-12 13:12:11 +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
6bf23a5c48
Convert to plugins (and make it a test, since it's more or less useless).
...
svn path=/branches/work/kwin_composite/; revision=652928
2007-04-12 10:16:02 +00:00
Luboš Luňák
74e97a2c9b
Convert to plugins.
...
svn path=/branches/work/kwin_composite/; revision=652631
2007-04-11 15:53:32 +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
Luboš Luňák
f285fe4af8
Properly depend on opengl and/or xrender.
...
svn path=/branches/work/kwin_composite/; revision=652619
2007-04-11 15:31:14 +00:00
Luboš Luňák
8973e88245
Convert zoom and videorecord to plugins.
...
svn path=/branches/work/kwin_composite/; revision=652616
2007-04-11 15:22:36 +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
04a3787213
Non-inline functions should be in .cpp .
...
svn path=/branches/work/kwin_composite/; revision=652257
2007-04-10 14:53:13 +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
Luboš Luňák
76eae77b57
Position fixes.
...
svn path=/branches/work/kwin_composite/; revision=651101
2007-04-06 14:51:55 +00:00
Luboš Luňák
c38dc5e099
Change the DesktopChangeSlideEffect so that the new desktop doesn't
...
always slide in from the top but from the position where it is
according to the desktop layout.
svn path=/branches/work/kwin_composite/; revision=651083
2007-04-06 13:46:29 +00:00
Luboš Luňák
e3b865cd5f
namespace KWinInternal -> KWin - shorter typing of names in gdb, yay
...
svn path=/branches/work/kwin_composite/; revision=650770
2007-04-05 12:07:35 +00:00
Luboš Luňák
35bbf89aed
Add support for activating features using window borders/corners.
...
Enabled it for PresentWindowsEffect for now.
svn path=/branches/work/kwin_composite/; revision=650532
2007-04-04 19:08:03 +00:00
Philip Falkner
efa28b23f5
Don't crash when activating a window on another desktop.
...
svn path=/branches/work/kwin_composite/; revision=648171
2007-03-30 17:15:48 +00:00
Rivo Laks
1f167d8d15
Add EffectWindow::isDeleted() method.
...
Don't draw shadow for deleted windows.
svn path=/branches/work/kwin_composite/; revision=648149
2007-03-30 16:12:07 +00:00
Rivo Laks
9027b501c8
Interpolate between brightness changes when highlighting window under cursor.
...
svn path=/branches/work/kwin_composite/; revision=648132
2007-03-30 15:35:19 +00:00
Rivo Laks
64051d3cf8
Honor window transformations when drawing the shadow.
...
This makes the shadow effect play nice with e.g. MinimizeAnimation or Expose
svn path=/branches/work/kwin_composite/; revision=647821
2007-03-29 15:52:20 +00:00
Philip Falkner
574e562906
Some updates to the tabbox.
...
Provide a pair of methods, setCurrentClient() and setCurrentDesktop(),
to allow effects to select items in the tabbox without activating them.
Insulate effects from having to know the order of desktops, with
currentDesktopList(). DesktopMode and DesktopListMode should be
effectively identical as far as how effects work.
Some changes to how the tabbox refcounting is done, should work a little
better. Other small cosmetic changes.
Update BoxSwitchEffect.
svn path=/branches/work/kwin_composite/; revision=647594
2007-03-28 20:29:45 +00:00
Rivo Laks
56a2a995d1
Add an effect to render live thumbnails of windows next to their taskbar entries when the cursor is
...
above the corresponding taskbar entry.
It's a "demo" effect because in the future the taskbar itself (or any other application) should be able to
request a window's thumbnail to be rendered at a specified position. So once we'll support such
functionality, the taskbar will replace this effect.
svn path=/branches/work/kwin_composite/; revision=647144
2007-03-27 14:26:30 +00:00
Rivo Laks
295477c4ad
Try to load the data in prePaintWindow() instead of paintWindow() if it's not loaded yet.
...
This way we won't request the window to be painted when loading fails or has failed.
Also remove 2 lines of obsolete code.
svn path=/branches/work/kwin_composite/; revision=647139
2007-03-27 14:15:41 +00:00
Luboš Luňák
8b5b40e4e8
Shadows. Right not it's only flat black rectangle, but otherwise
...
everything should work.
svn path=/branches/work/kwin_composite/; revision=646315
2007-03-25 10:48:07 +00:00
Philip Falkner
aa6d8eabc5
Add GLTexture class. This is a convenient wrapper around managing an OpenGL texture, as well as loading an image into it. Includes support for loading from QImage, QPixmap, and a file. Defaults to a GL_TEXTURE_2D target, and will scale image if necessary.
...
Also add SceneOpenGL::Texture class, based on GLTexture. Optimised for SceneOpenGL::Window, this adds support for loading from an X Pixmap, as well as taking advantage of texture_from_pixmap/shm when available. Automatically detects what texture target should be used, so be sure to enableUnnormalizedTexCoords() before painting.
Make SceneOpenGL::Window, BoxSwitchEffect, and ExplosionEffect use the new classes.
svn path=/branches/work/kwin_composite/; revision=645125
2007-03-21 18:14:09 +00:00
Luboš Luňák
d09096a784
The window-burning-down effect (gee), except that there's no actual
...
flame, since I'm lame at graphics. Should be easy to add anyway.
Besides the apparent unusefulness this effect should be for testing
some new changes to the core.
svn path=/branches/work/kwin_composite/; revision=645111
2007-03-21 17:35:48 +00:00
Rivo Laks
d74c23ff17
Ctrl+F11 now does Expose effect with all window, including those on other desktops.
...
The downside is that sometimes it crashes when you want to activate a window in Expose mode. It seems
to be some kind of memory problem, but I can't figure out what/where exactly, so I'd appreciate if
someone took a look at it.
svn path=/branches/work/kwin_composite/; revision=645067
2007-03-21 16:24:28 +00:00
Luboš Luňák
61f99cf2f0
Ok, I couldn't resist - make the fragments also spin.
...
svn path=/branches/work/kwin_composite/; revision=644987
2007-03-21 13:28:35 +00:00
Luboš Luňák
b75f3dfeb0
Make the effect look better by adding certain randomness.
...
svn path=/branches/work/kwin_composite/; revision=644640
2007-03-20 16:28:23 +00:00
Rivo Laks
aae967c5f9
Make your windows explode!
...
Add ExplosionEffect which makes the windows blow up into small pieces when they're closed.
In the future this could be used only when user kills (an unresponsive) window.
svn path=/branches/work/kwin_composite/; revision=643135
2007-03-16 13:02:47 +00:00
Luboš Luňák
5cabf743ae
The official excuse for this effect is that I wanted to try
...
drawing a window several times.
svn path=/branches/work/kwin_composite/; revision=642577
2007-03-14 18:21:11 +00:00
Luboš Luňák
d4a58f4152
QMap -> QHash
...
svn path=/branches/work/kwin_composite/; revision=642532
2007-03-14 16:50:19 +00:00
Luboš Luňák
de8f39accf
Hmm, I think I now understand this vertices stuff. Added a silly
...
effect that destroys a window by spliting it into many small pieces.
svn path=/branches/work/kwin_composite/; revision=642152
2007-03-13 13:42:01 +00:00
Luboš Luňák
52afddcaeb
Don't unref a deleted window more than once.
...
svn path=/branches/work/kwin_composite/; revision=642067
2007-03-13 09:49:44 +00:00
Philip Falkner
1dc9715e45
Show effect even when only one option is available, like the default tabbox does.
...
svn path=/branches/work/kwin_composite/; revision=641579
2007-03-11 21:19:44 +00:00
Philip Falkner
04e488b0a7
Add XRender support to BoxSwitch.
...
This includes icon support for XRender.
svn path=/branches/work/kwin_composite/; revision=640729
2007-03-08 22:12:41 +00:00
Philip Falkner
6af1c36304
Actually add BoxSwitch effect.
...
svn path=/branches/work/kwin_composite/; revision=640631
2007-03-08 16:54:50 +00:00
Luboš Luňák
f6ad1881e1
Support for window thumbnails.
...
svn path=/branches/work/kwin_composite/; revision=640344
2007-03-07 17:50:33 +00:00
Luboš Luňák
29f9714a7e
Capseo has moved.
...
svn path=/branches/work/kwin_composite/; revision=636916
2007-02-24 17:36:37 +00:00
Luboš Luňák
5f02d68fb9
FadeIn/FadeOut effects are succeeded by Fade.
...
CCMAIL: philip.falkner@gmail.com
svn path=/branches/work/kwin_composite/; revision=636634
2007-02-23 16:34:57 +00:00
Luboš Luňák
9dda6936a7
Ok, plugins will be GPL as well.
...
svn path=/branches/work/kwin_composite/; revision=636633
2007-02-23 16:32:15 +00:00
Luboš Luňák
6d16df2007
This one has to be GPL because of libcaptury.
...
svn path=/branches/work/kwin_composite/; revision=636626
2007-02-23 16:26:20 +00:00
Luboš Luňák
0498cd7785
Add VideoRecordEffect for saving video captures.
...
Requires external lib to compile, see the videorecord.cpp .
svn path=/branches/work/kwin_composite/; revision=636625
2007-02-23 16:20:22 +00:00
Philip Falkner
8299541652
Add build checks for XComposite, XDamage, XRender, OpenGL, and XShm.
...
KWin should now build and run with/without any or all of the above.
svn path=/branches/work/kwin_composite/; revision=633387
2007-02-13 23:28:36 +00:00
Philip Falkner
a71753e5cd
Change effects->windowOpacityChanged to also pass the old opacity; thanks Lubos!
...
Clean up FadeEffect a bit, and make it replace FadeOut in the default effects list.
svn path=/branches/work/kwin_composite/; revision=633032
2007-02-12 23:14:50 +00:00
Luboš Luňák
4019dff500
Distinguish between damage and repaints - damage is when windows contents
...
change, repaint just triggers repaint of the area (without e.g. the texture
updating for OpenGL).
addDamage() -> addRepaint()
CCMAIL: kwin@kde.org
svn path=/branches/work/kwin_composite/; revision=632866
2007-02-12 15:22:43 +00:00
Philip Falkner
2fdc57ccd6
Fade effect. Unified version of FadeIn and FadeOut; also fades on window opacity changes.
...
The fade_in_speed and fade_out_speed settings work like they did in kompmgr, but aren't currently configurable.
svn path=/branches/work/kwin_composite/; revision=632583
2007-02-11 17:41:21 +00:00
Philip Falkner
c16656d66d
Rework how window painting is disabled; now effects can indicate reasons they want particular windows painted or not.
...
This solves a few problems, but may need revisiting in the future.
svn path=/branches/work/kwin_composite/; revision=632581
2007-02-11 17:36:32 +00:00
Philip Falkner
949aa1a778
Add PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS flag, to be called by effects in prePaintScreen(). Indicates that some window(s) may have transformed geometry, so the whole screen should be repainted.
...
svn path=/branches/work/kwin_composite/; revision=632580
2007-02-11 17:35:10 +00:00
Luboš Luňák
0a9e366038
Just use findModal().
...
svn path=/branches/work/kwin_composite/; revision=632379
2007-02-10 21:55:31 +00:00
Dirk Mueller
6c224134db
porting simplifications regarding KConfig::readEntry
...
svn path=/branches/work/kwin_composite/; revision=632199
2007-02-10 09:12:35 +00:00
Luboš Luňák
00136f014f
Configurable effects loading by Cedric Borgese.
...
svn path=/branches/work/kwin_composite/; revision=630276
2007-02-04 22:19:17 +00:00
Luboš Luňák
63a97b7d3d
Add DesktopChangeSlideEffect, an effect that on virtual desktop
...
change slides the old desktop out and the new one in. Should not
be really technically different from the cube.
svn path=/branches/work/kwin_composite/; revision=629163
2007-02-01 17:20:48 +00:00
Rivo Laks
cc93b859e3
Make Client::iconGeometry() recursively use it's mainwindow's icongeometry if it
...
doesn't have one itself.
svn path=/branches/work/kwin_composite/; revision=628327
2007-01-29 19:28:53 +00:00
Rivo Laks
8669b298be
Minimize e.g. dialogs onto taskbar entries of their mainwindows.
...
If everything else fails, minimize to the center of the screen.
svn path=/branches/work/kwin_composite/; revision=627172
2007-01-25 21:23:27 +00:00
Rivo Laks
445ab8ca7a
Add MinimizeAnimation effect which makes the window move onto/from its taskbar
...
entry when minimized/restored
svn path=/branches/work/kwin_composite/; revision=627003
2007-01-25 11:48:07 +00:00
Rivo Laks
a00b314b5a
Temporarily-unminimize hack doesn't seem to be necessary anymore.
...
Use transparency for minimized windows in the fade-in and fade-out phases (when
the effect is not fully active yet)
svn path=/branches/work/kwin_composite/; revision=626829
2007-01-24 17:43:36 +00:00
Rivo Laks
adb35ae446
Adding WavyWindows effect which makes all windows wavy.
...
Meant to demonstrate possibilities of vertex transforming and for cool screenshots ;-)
svn path=/branches/work/kwin_composite/; revision=626815
2007-01-24 17:19:00 +00:00
Luboš Luňák
0ae5a772e7
Add EffectWindow as a window representation for effects,
...
to hide the change from Client/Unmanaged and eventually also
act as the only API available to effects.
svn path=/branches/work/kwin_composite/; revision=626360
2007-01-22 22:57:22 +00:00
Luboš Luňák
77f803a563
Instead of the somewhat fragile way of trying to clean up Client/Unmanaged
...
instances and keeping them around after the window is closed, create
class Deleted as a representation of a closed window.
svn path=/branches/work/kwin_composite/; revision=626356
2007-01-22 22:51:30 +00:00
Luboš Luňák
ff6f889ffc
Add support for showing effects for windows which have already been deleted.
...
Add a fade-out effect.
svn path=/branches/work/kwin_composite/; revision=623872
2007-01-15 18:03:04 +00:00
Rivo Laks
33f8a0758c
Add Expose-like effect to show all windows of active desktop side by side.
...
Another window can then be activated by clicking on it.
Also add interpolate() utility function to Effect
svn path=/branches/work/kwin_composite/; revision=622634
2007-01-12 14:14:53 +00:00
Luboš Luňák
de4d1bc518
Implement cursorPos() as an optimized version of QCursor::pos()
...
that tries to reduce the number of X roundtrips.
svn path=/branches/work/kwin_composite/; revision=620326
2007-01-05 17:45:54 +00:00
Luboš Luňák
1765551277
Support for "input windows" that let effects intercept mouse events
...
when they e.g. want to let the user select from window thumbnails.
svn path=/branches/work/kwin_composite/; revision=620305
2007-01-05 16:45:56 +00:00
Luboš Luňák
f1be2aa724
Optimize XRender painting by manually doing clipping, even with transformations.
...
Since it's unlikely XRender code will use other transformations then the ones
provided this should be ok. Makes painting with obscured windows much faster
(i.e. it's just slow, not bloody slow).
svn path=/branches/work/kwin_composite/; revision=610613
2006-12-04 18:30:41 +00:00
Luboš Luňák
1c151d222b
Fix the zoom effect to use time differences instead of a hardcoded step.
...
svn path=/branches/work/kwin_composite/; revision=610611
2006-12-04 18:29:16 +00:00
Luboš Luňák
6bf5d12108
Zoom effect, i.e. magnifying glass. The zoom is hardcoded
...
for now.
svn path=/branches/work/kwin_composite/; revision=610134
2006-12-03 13:36:40 +00:00
Luboš Luňák
a4d6273de0
Do glFinish()/XSync() to make sure all painting has been also processed.
...
svn path=/branches/work/kwin_composite/; revision=608430
2006-11-27 15:13:10 +00:00
Luboš Luňák
f551826ae2
Wait for all XRender requests to be actually sent and processes, not just
...
queued.
svn path=/branches/work/kwin_composite/; revision=606788
2006-11-21 20:08:08 +00:00
Luboš Luňák
0e53720687
Finish the showfps effect, including adding some configuration
...
and making it work even with XRender. I think it shows that
making non-trivial effects for both OpenGL and XRender
would be a) quite possible b) quite pain.
svn path=/branches/work/kwin_composite/; revision=606271
2006-11-19 20:25:04 +00:00
Luboš Luňák
0283b97a62
When no transformations are needed simple screen painting can be used
...
even for painting the whole screen, not just a region.
svn path=/branches/work/kwin_composite/; revision=605563
2006-11-17 08:43:24 +00:00
Luboš Luňák
4efa523375
A simple attempt at a showfps effect. OpenGL-only, only lame graphs,
...
still many TODO's.
svn path=/branches/work/kwin_composite/; revision=605497
2006-11-16 22:46:14 +00:00
Luboš Luňák
8036be5f52
Fix dialog<->parent handling to also work with group transient dialogs.
...
svn path=/branches/work/kwin_composite/; revision=603396
2006-11-08 19:29:29 +00:00
Luboš Luňák
aeafa63a94
Move some OpenGL code to glutils.* .
...
Add support for changing window brightness.
Add DialogParent effect that makes windows that are unaccessible because
of modal dialogs darker.
Patch by Rivo Laks.
svn path=/branches/work/kwin_composite/; revision=603384
2006-11-08 19:10:07 +00:00
Luboš Luňák
0f03921271
Add a commented howto effect.
...
svn path=/branches/work/kwin_composite/; revision=600553
2006-10-30 22:49:59 +00:00
Luboš Luňák
bed1c3c6b9
Fix a crash.
...
svn path=/branches/work/kwin_composite/; revision=600512
2006-10-30 20:33:06 +00:00
Luboš Luňák
5f03c77514
Move effects to their own directory.
...
svn path=/branches/work/kwin_composite/; revision=600157
2006-10-29 19:08:09 +00:00