Luboš Luňák
5d1c5d355f
Skip windows not ready for painting before computing screen area to redraw.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=807441
2008-05-13 20:49:56 +00:00
Luboš Luňák
9bd87cb271
Redo timing of next painting with vsync used, try harder not to miss
...
every other sync just by a small time.
svn path=/trunk/KDE/kdebase/workspace/; revision=806443
2008-05-11 12:03:42 +00:00
Luboš Luňák
53cc35b649
Show the composite overlay window only before the first painting pass
...
actually needs to flush the output to the screen. Avoids windows
temporarily disappearing during KDE startup or similar visual glitches.
svn path=/trunk/KDE/kdebase/workspace/; revision=806387
2008-05-11 09:48:34 +00:00
Luboš Luňák
2f8d2751a1
Fix handling of stacking order of unmanaged windows. Could maybe use a little
...
bit more of optimization.
BUG: 157878
svn path=/trunk/KDE/kdebase/workspace/; revision=800581
2008-04-24 12:53:03 +00:00
Luboš Luňák
2fb2f76168
Reshuffle compositing init a bit, and make KWIN_COMPOSE work even
...
if compositing is turned off in options.
svn path=/trunk/KDE/kdebase/workspace/; revision=772299
2008-02-08 10:31:40 +00:00
Luboš Luňák
4b792d000e
Make error messages about compositing use kError(), so that they show up
...
even in release builds. Point to release notes in case of error.
svn path=/trunk/KDE/kdebase/workspace/; revision=768132
2008-01-29 14:23:26 +00:00
Luboš Luňák
110f76ecd8
Change some of the debug messages to warnings, so compositing setup failures
...
show up also in release builds.
svn path=/trunk/KDE/kdebase/workspace/; revision=762175
2008-01-16 12:44:45 +00:00
Luboš Luňák
7b0b67b988
Change kError's to kDebug as they don't tell the user anything
...
useful in release builds anyway.
svn path=/trunk/KDE/kdebase/workspace/; revision=761477
2008-01-14 22:16:29 +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
e64ddaba99
Do not fall back to XRender due to XRender not doing very well.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=756727
2008-01-03 16:51:20 +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
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
eb0d793157
Default to SeparateScreenFocus being false, to be consistent with KDE3.
...
(and e.g. #141997 ).
svn path=/trunk/KDE/kdebase/workspace/; revision=739693
2007-11-21 15:54:06 +00:00
Luboš Luňák
5c9fd52311
Make debug output say that compositing is not available also
...
if opengl/xrender weren't found at compile time.
svn path=/trunk/KDE/kdebase/workspace/; revision=739692
2007-11-21 15:46:58 +00:00
Luboš Luňák
e13c612922
Don't keep the compositing manager selection when not doing compositing.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=736335
2007-11-13 23:51:46 +00:00
Luboš Luňák
76a9bdcc85
Fix crash.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=728490
2007-10-23 13:07:15 +00:00
Luboš Luňák
0e55f109c5
Don't do any compositing when nothing is visible anyway (e.g. when switched
...
away from the X session).
svn path=/trunk/KDE/kdebase/workspace/; revision=726713
2007-10-18 17:58:08 +00:00
Luboš Luňák
dddcbd06b5
Re-enable throttling, with lower time.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=725842
2007-10-16 10:17:14 +00:00
Luboš Luňák
0493a2f4b9
Try to disable the throttling code, it decreases smoothness of animations.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=724532
2007-10-12 15:30:12 +00:00
Andreas Pakulat
39e322fc83
Merge the KConfig branch. This are the 3 main modules (+kdeadmin), which are
...
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.
svn path=/trunk/KDE/kdebase/workspace/; revision=721704
2007-10-05 22:21:25 +00:00
Rivo Laks
68f7504fb0
- Add CompositingPrefs::compositingPossible() to check if compositing is supported at all.
...
- Use it in setupCompositing()
svn path=/trunk/KDE/kdebase/workspace/; revision=717330
2007-09-26 16:34:08 +00:00
Luboš Luňák
8985ca0b7f
Properly reload compositing settings on reconfigure.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=716806
2007-09-25 09:41:23 +00:00
Rivo Laks
59f21e39fe
Add automatic driver detection for compositing options.
...
This is used to set sane defaults and work around possible driver bugs.
Also, if you have a "whitelisted" driver (nvidia >= 96.39 or intel >= 20061017)
then compositing will be enabled by default for you.
svn path=/trunk/KDE/kdebase/workspace/; revision=714004
2007-09-18 13:59:06 +00:00
Laurent Montel
994c800d79
Adapt to new KWarning/kFatal/kDebug api
...
svn path=/trunk/KDE/kdebase/workspace/; revision=695877
2007-08-03 06:59:24 +00:00
Rivo Laks
824f005f58
Add beginnings of kwincompositing config module, meant to replace kwintranslucency one
...
svn path=/trunk/KDE/kdebase/workspace/; revision=689947
2007-07-19 16:20:05 +00:00
Philip Falkner
c2ff6a4d7a
Make sure to unbind the texture in tfp_mode when the underlying pixmap
...
is discarded. Windows that have previously been mapped and unmapped now
update properly when mapped again.
svn path=/trunk/KDE/kdebase/workspace/; revision=683977
2007-07-05 19:59:55 +00:00
Luboš Luňák
8d929cb3fc
Overlay window also needs input shape.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=683158
2007-07-04 09:52:03 +00:00
Luboš Luňák
162d6ac7c9
Support for _NET_WM_SYNC_REQUEST, based on a patch
...
by Rayiner Hashem <gtg990h@mail.gatech.edu>.
svn path=/trunk/KDE/kdebase/workspace/; revision=679986
2007-06-25 08:51:44 +00:00
Rivo Laks
34d9b03aff
More debugging when compositing is disabled
...
svn path=/trunk/KDE/kdebase/workspace/; revision=672265
2007-06-06 15:24:17 +00:00
Luboš Luňák
a352c5d349
Fall back to XRender if OpenGL fails.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=671719
2007-06-05 12:50:18 +00:00
Luboš Luňák
1caa3f95ed
Properly check for all needed extensions and handle gracefully absence.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=669827
2007-05-30 14:22:09 +00:00
Luboš Luňák
b70a68b02b
Debug output of composite/damage extensions are not available.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=669803
2007-05-30 13:05:06 +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
1040404a2a
Track stacking order of unmanaged windows.
...
svn path=/trunk/KDE/kdebase/workspace/; revision=667686
2007-05-23 16:22:59 +00:00
Harri Porten
1768b04b53
compile without Xfixes extension
...
svn path=/trunk/KDE/kdebase/workspace/; revision=661762
2007-05-06 14:38:28 +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
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
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
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
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
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
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
e61ecff9b9
Check that getting compositing pixmap of a window succeeded.
...
It may fail (or "fail") if the window is not mapped or if the geometry
doesn't match, both of which may happen due to the asynchronous
nature of X.
svn path=/branches/work/kwin_composite/; revision=637741
2007-02-27 16:13:34 +00:00
Luboš Luňák
1f318fbe52
When discarding window pixmap always damage the window, even
...
if there was no window pixmap.
svn path=/branches/work/kwin_composite/; revision=636660
2007-02-23 19:16:54 +00:00
Philip Falkner
6909f8a678
Fix some memory leaks.
...
svn path=/branches/work/kwin_composite/; revision=633714
2007-02-14 23:37:13 +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
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
Luboš Luňák
24eacc4908
Move NETWinInfo and few more things from Client to the base class.
...
svn path=/branches/work/kwin_composite/; revision=632380
2007-02-10 21:56:24 +00:00
Luboš Luňák
bb5f7a9519
Compress damage events.
...
svn path=/branches/work/kwin_composite/; revision=632376
2007-02-10 21:49:57 +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
35206efd25
Managed clients may be also in the 'desktop's list.
...
svn path=/branches/work/kwin_composite/; revision=629751
2007-02-03 17:14:13 +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
Luboš Luňák
8a3af8dcca
X.org docs have moved again.
...
svn path=/branches/work/kwin_composite/; revision=623807
2007-01-15 14:58:35 +00:00
Luboš Luňák
603a1d4686
Discard backing pixmap when finishing compositing.
...
svn path=/branches/work/kwin_composite/; revision=623759
2007-01-15 13:01:43 +00:00
Philip Falkner
e3cf0dd455
Move window_pix into Toplevel, allowing the backing pixmap to be kept even after a window is unmapped.
...
This is needed for effects to make use of unavailable windows, such as when closing a window.
svn path=/branches/work/kwin_composite/; revision=622777
2007-01-12 23:21:36 +00:00
Luboš Luňák
92652a187d
Support in scene painting code for drawing also hidden windows.
...
svn path=/branches/work/kwin_composite/; revision=621337
2007-01-08 17:05:58 +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
a643ff2b00
Try to use XComposite overlay also with XRender.
...
svn path=/branches/work/kwin_composite/; revision=610137
2006-12-03 13:38:16 +00:00
Luboš Luňák
6a66250620
Better synchronization of refresh rate and vsyncing,
...
patch by Philip Falkner.
svn path=/branches/work/kwin_composite/; revision=610110
2006-12-03 13:29:14 +00:00
Luboš Luňák
3374f1fbda
It seems there's a different place in fd.o git where docs are stored.
...
svn path=/branches/work/kwin_composite/; revision=608405
2006-11-27 14:20:40 +00:00
Luboš Luňák
d426d9dcd4
Don't let the damage region be larger than the window,
...
prevent painting errors when shrinking a window.
svn path=/branches/work/kwin_composite/; revision=607510
2006-11-24 21:50:10 +00:00
Luboš Luňák
049460fa2e
Reset window damage after updating the damaged areas of the OpenGL texture
...
or Xrender picture, not after every repaint.
This also allows removing the confusing initPaint()/postPaint() calls in Scene.
svn path=/branches/work/kwin_composite/; revision=607500
2006-11-24 21:28:00 +00:00
Luboš Luňák
38f4f76b31
Detect screen refresh rate for finding out optimal compositing
...
redraw speed. Patch by Philip Falkner.
svn path=/branches/work/kwin_composite/; revision=607253
2006-11-23 21:16:49 +00:00
Luboš Luňák
8e257f251f
Use kwin debug area.
...
svn path=/branches/work/kwin_composite/; revision=605290
2006-11-16 09:05:40 +00:00
Luboš Luňák
a222c2a675
Gee, map also the child X window. Qt makes some things way too simple.
...
svn path=/branches/work/kwin_composite/; revision=604018
2006-11-11 09:05:45 +00:00
Luboš Luňák
154d8a588b
Use the compositing manager _NET_WM_CM_S<n> manager selection.
...
svn path=/branches/work/kwin_composite/; revision=603322
2006-11-08 15:08:20 +00:00
Luboš Luňák
5040859ee3
Force re-creating of the Alt+F3 popup (opacity option).
...
svn path=/branches/work/kwin_composite/; revision=603312
2006-11-08 14:45:30 +00:00
Luboš Luňák
4110fc1c3a
Support for XComposite overlay window.
...
svn path=/branches/work/kwin_composite/; revision=603137
2006-11-07 22:44:39 +00:00
Luboš Luňák
c3ac9d79ac
kwin_composite currently doesn't build without libs for compositing.
...
svn path=/branches/work/kwin_composite/; revision=601780
2006-11-04 12:26:59 +00:00
Luboš Luňák
d92d3a8165
Document the compositing framework and the scene backends,
...
describe the design, add links to external docs.
Restructure COMPOSITE_TODO into sections and add sort of priorities.
svn path=/branches/work/kwin_composite/; revision=600163
2006-10-29 19:23:45 +00:00
Luboš Luňák
3f9b754ee7
Add post-painting pass to be used for triggering
...
repaints with animations.
svn path=/branches/work/kwin_composite/; revision=600156
2006-10-29 19:07:10 +00:00
Luboš Luňák
6b41c062c8
Remove the WrapperEffect hack, it's ugly.
...
svn path=/branches/work/kwin_composite/; revision=600155
2006-10-29 19:06:32 +00:00
Luboš Luňák
3f46d36bb9
Add convenience functions for damaging full area.
...
svn path=/branches/work/kwin_composite/; revision=598834
2006-10-24 19:28:17 +00:00
Luboš Luňák
10b31e7222
Support for animations, still some todo's pending.
...
svn path=/branches/work/kwin_composite/; revision=598831
2006-10-24 19:17:48 +00:00
Luboš Luňák
23b30bb2fa
Throttle composite repaints in order not to starve everything else.
...
svn path=/branches/work/kwin_composite/; revision=598820
2006-10-24 18:31:33 +00:00
Luboš Luňák
d50c63e451
Missing part of the don't-cache-window-pixmap commit.
...
svn path=/branches/work/kwin_composite/; revision=593732
2006-10-08 21:17:38 +00:00
Luboš Luňák
06203d0652
Don't bother with trying to transform window damage,
...
when there are any transformations, it should simply
repaint everything (todo).
svn path=/branches/work/kwin_composite/; revision=593450
2006-10-07 21:18:36 +00:00
Luboš Luňák
e194246f73
$KWIN_COMPOSE for overriding which compositing system to use
...
svn path=/branches/work/kwin_composite/; revision=593447
2006-10-07 21:17:30 +00:00
Luboš Luňák
fba72ecdfe
Update only damaged areas.
...
svn path=/branches/work/kwin_composite/; revision=590678
2006-09-30 16:17:54 +00:00
Luboš Luňák
b09713532a
Debug about which backend is enabled.
...
svn path=/branches/work/kwin_composite/; revision=590658
2006-09-30 15:48:31 +00:00
Luboš Luňák
649887d6c2
Looks like using XserverRegion for keeping damage regions
...
wasn't that good idea. Changed to QRegion.
svn path=/branches/work/kwin_composite/; revision=590648
2006-09-30 15:40:03 +00:00
Luboš Luňák
1c7e7bb2b7
Keeping scene-related data in opengl scene.
...
svn path=/branches/work/kwin_composite/; revision=590319
2006-09-29 19:05:36 +00:00
Luboš Luňák
efff218441
A very crude OpenGL-based compositing code.
...
svn path=/branches/work/kwin_composite/; revision=590265
2006-09-29 16:49:34 +00:00
Luboš Luňák
e24815411a
Keep damage info separately for every window.
...
svn path=/branches/work/kwin_composite/; revision=561966
2006-07-13 18:17:49 +00:00
Luboš Luňák
03fedc56dd
No effects when not compositing.
...
svn path=/branches/work/kwin_composite/; revision=560594
2006-07-10 18:34:57 +00:00
Luboš Luňák
e6c23e4cd3
Ok, I give up, whoever wants more complicated transformations than just
...
translation are welcome to implement it themselves. I'm no graphics guy
after all and this seems to be far beyond me.
svn path=/branches/work/kwin_composite/; revision=559182
2006-07-06 18:22:01 +00:00
Luboš Luňák
0516e1e73b
Add support for translation and add two "plugins" that
...
make windows transparent or shake them while moving.
svn path=/branches/work/kwin_composite/; revision=559013
2006-07-06 13:17:44 +00:00
Luboš Luňák
1719127d3f
Make the opacity slider and wheel operations work again.
...
svn path=/branches/work/kwin_composite/; revision=558740
2006-07-05 22:26:34 +00:00
Luboš Luňák
bab62bf88f
Use kwinrc:[Translucency]:UseTranslucency for controlling compositing.
...
svn path=/branches/work/kwin_composite/; revision=558712
2006-07-05 21:46:01 +00:00
Luboš Luňák
c7f515630d
Support for transparency.
...
svn path=/branches/work/kwin_composite/; revision=558690
2006-07-05 20:52:57 +00:00
Luboš Luňák
f400646a6d
xrender compositing work - now it uses damage areas
...
to reduce amount of painting
svn path=/branches/work/kwin_composite/; revision=558580
2006-07-05 16:04:11 +00:00
Luboš Luňák
29111875e1
Very basic compositing with xrender.
...
svn path=/branches/work/kwin_composite/; revision=558481
2006-07-05 13:26:08 +00:00
Luboš Luňák
afcc9b6897
Prepare for scene rendering with different engines.
...
svn path=/branches/work/kwin_composite/; revision=558442
2006-07-05 12:30:03 +00:00
Luboš Luňák
e76564c165
Proper stacking order even for unmanaged windows.
...
svn path=/branches/work/kwin_composite/; revision=558427
2006-07-05 12:00:13 +00:00
Luboš Luňák
4f12c1e606
Some first attempt at effects interface.
...
svn path=/branches/work/kwin_composite/; revision=558191
2006-07-04 20:51:01 +00:00
Luboš Luňák
06e47c10db
Remove the temporary hacks again.
...
svn path=/branches/work/kwin_composite/; revision=558185
2006-07-04 20:32:43 +00:00
Luboš Luňák
157372f2e7
And add a silly moving-in animation for new windows.
...
Now it's time to add plugins interface so that people who can
do this for real do it.
svn path=/branches/work/kwin_composite/; revision=558173
2006-07-04 20:07:58 +00:00
Luboš Luňák
c2e60957d5
Add a silly snowing-like effect to windows so that it's visible
...
there's something going on.
svn path=/branches/work/kwin_composite/; revision=558171
2006-07-04 20:05:52 +00:00
Luboš Luňák
571ba9cf9e
Basic compositing support. It doesn't actually do anything
...
besides drawing what should be drawn anyway, and there are
still some things missing like stacking order for override
redirect windows, but KWin is basically a compositing manager now.
svn path=/branches/work/kwin_composite/; revision=558168
2006-07-04 20:02:07 +00:00