Commit graph

89 commits

Author SHA1 Message Date
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