Commit Graph

159 Commits (6ffa8df90f84c2537c1f74d678d6968b5d412363)

Author SHA1 Message Date
Aaron J. Seigo c83c168c16 'composit[e|ing]' is technical jargon; use the terminology we use elsewhere in the UI (particularly the config UI) consistently everywhere. tested on real life users(tm)
svn path=/trunk/KDE/kdebase/workspace/; revision=1103845
2010-03-16 01:17:36 +00:00
Lucas Murray 8960c552d2 Remove OpenGL driver whitelist; Add protection against crashy glXQuery
functions and share the value with the KCM; Fallback to XRender
compositing if OpenGL fails to work correctly; Rearrange setting order
in options.h slightly and fix variable names

svn path=/trunk/KDE/kdebase/workspace/; revision=1079919
2010-01-25 10:02:08 +00:00
Jacopo De Simoi 71a73acae8 Avoids a nasty race condition that caused corrupted window decorations
BUG:199735


svn path=/trunk/KDE/kdebase/workspace/; revision=1046461
2009-11-08 19:47:58 +00:00
Lucas Murray 20f1a79d04 Less warnings please.
svn path=/trunk/KDE/kdebase/workspace/; revision=1031490
2009-10-05 09:47:13 +00:00
Hugo Pereira Da Costa 3004fba3ce notify decorations when compositing is suspended
svn path=/trunk/KDE/kdebase/workspace/; revision=1021802
2009-09-10 05:05:44 +00:00
Martin Gräßlin 47366d5720 Reset Repaints on a Toplevel has to include the decoration shadows if used.
svn path=/trunk/KDE/kdebase/workspace/; revision=1006788
2009-08-04 12:20:33 +00:00
Martin Gräßlin 8981223956 Reimplement addRepaintFull() in Client and add the padding to the repaint region.
CCBUG: 201596

svn path=/trunk/KDE/kdebase/workspace/; revision=1004121
2009-07-29 11:48:55 +00:00
Martin Gräßlin ba27d2ebb0 Copy decoration pixmaps to Deleted. By that we see the decoration also when having a fade out animation.
As this is a bigger commit I will wait with backporting to 4.3 for something about two or three weeks and will only backport if nobody yells.
BUG: 201780

svn path=/trunk/KDE/kdebase/workspace/; revision=1004096
2009-07-29 11:07:28 +00:00
Lucas Murray ae71d8300f Be more strict in KWIN_COMPOSE handling.
svn path=/trunk/KDE/kdebase/workspace/; revision=987507
2009-06-26 08:36:25 +00:00
Lucas Murray ce0a650857 Display debugging messages when compositing mode has been forced by
KWIN_COMPOSE or KDE_FAILSAFE environment variables.

svn path=/trunk/KDE/kdebase/workspace/; revision=987409
2009-06-26 01:28:15 +00:00
Lucas Murray a20ba6a900 Prevent KWin from automatically disabling compositing when the user
changes the system time or timezone.
BUG: 184607

svn path=/trunk/KDE/kdebase/workspace/; revision=986962
2009-06-25 10:09:09 +00:00
Martin Gräßlin 9868b062c1 When finishing compositing we have to trigger a decoration repaint or there will be artefacts.
svn path=/trunk/KDE/kdebase/workspace/; revision=961903
2009-04-30 22:08:33 +00:00
Martin Gräßlin 63edbaff81 Show current compositing state (disabled/suspended/active) in Desktop Effects KCM and add a button to resume/suspend compositing. So it should be easier for the user to resume compositing if he does not know about the shortcut.
CCBUG: 188118

svn path=/trunk/KDE/kdebase/workspace/; revision=955636
2009-04-18 10:07:16 +00:00
Martin Gräßlin 253793dfff Use custom notification for compositing suspended via dbus.
svn path=/trunk/KDE/kdebase/workspace/; revision=949932
2009-04-06 09:33:43 +00:00
Martin Gräßlin 9174c43eb0 Show notification when compositing is suspended via dbus.
svn path=/trunk/KDE/kdebase/workspace/; revision=948322
2009-04-02 19:14:48 +00:00
Aike J. Sommer f30b3e2373 Resize the overlay-window to allow compositing to continue working after xrandr-events.
CCBUG:180994

svn path=/trunk/KDE/kdebase/workspace/; revision=937637
2009-03-10 08:06:49 +00:00
Luboš Luňák 1c2ba6ea17 I forgot to actually implement the resetCompositing() slot for the previous commit.
svn path=/trunk/KDE/kdebase/workspace/; revision=924759
2009-02-11 14:29:32 +00:00
Luboš Luňák 4d82d2291e Don't needlessly setup compositing twice during startup.
Xrandr seems to like to send events about "changes" right
after application startup.


svn path=/trunk/KDE/kdebase/workspace/; revision=923829
2009-02-09 14:31:42 +00:00
Lucas Murray cbea219964 Missing code from mouse polling commit. Stop polling when compositing is
disabled and increment the effect API version number.

svn path=/trunk/KDE/kdebase/workspace/; revision=920963
2009-02-04 07:09:47 +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
Martin Gräßlin 6a25ea49ee Deactivate scene idle during active fullscreen effect. So mouse events aren't dropped and mouse is usable in fullscreen effects, again. Of course this is not the best solution.
BUG: 177226

svn path=/trunk/KDE/kdebase/workspace/; revision=906064
2009-01-05 13:34:41 +00:00
Martin Gräßlin f07944389e Redirect windows when there is an active fullscreen effect. This solves the problem of unredirected fullscreen applications blocking effects like present windows or desktop grid.
BUG: 176996

svn path=/trunk/KDE/kdebase/workspace/; revision=906014
2009-01-05 12:52:27 +00:00
Luboš Luňák e53a9e8701 Maybe slightly better debug output.
svn path=/trunk/KDE/kdebase/workspace/; revision=904310
2009-01-01 21:17:58 +00:00
Jason vanRijn Kasper fb0a01228f This change allows KWin to use the new NETWinInfo2 class (binary
compatibility class) and subsequently properly handle the
_NET_WM_FULLSCREEN_MONITORS EWMH spec hint.

svn path=/trunk/KDE/kdebase/workspace/; revision=885362
2008-11-17 08:03:39 +00:00
Laurent Montel 5535a9de5e Fix iterator
svn path=/trunk/KDE/kdebase/workspace/; revision=883047
2008-11-11 23:09:11 +00:00
Albert Astals Cid 5f7174a27e Saying
"If this was only a temporary problem, you can resume using the 'Empty' shortcut.\n"
if no shortcut is found makes no sense, reworked to avoid it

Tried my best to do correct indentation but make failed

svn path=/trunk/KDE/kdebase/workspace/; revision=878365
2008-10-31 23:54:52 +00:00
Albert Astals Cid 6581455b93 we are showing the shortcut to the user so use QKeySequence::NativeText to get it translated
svn path=/trunk/KDE/kdebase/workspace/; revision=878357
2008-10-31 23:49:17 +00:00
Luboš Luňák c12172d291 A hack to disable unredirect for login splashscreen, better solution would
be to add support for effects refcounting the window.
BUG: 172276


svn path=/trunk/KDE/kdebase/workspace/; revision=871255
2008-10-14 10:34:35 +00:00
Hasso Tepper b19ba265f6 Fix compile on systems without XComposite.
svn path=/trunk/KDE/kdebase/workspace/; revision=870784
2008-10-13 09:56:13 +00:00
Albert Astals Cid 882b909364 Add const & so we don't copy all that objects for nothing, faster effects for free!
svn path=/trunk/KDE/kdebase/workspace/; revision=869928
2008-10-11 12:38:46 +00:00
Luboš Luňák 9ad12bc391 Add one more check for paints taking too much time, this time
also detect not-so-bad-but-still-slow paint times over a longer
period of time, i.e. the old check is for systems which are pathetically
slow, this one is for systems that are just slow. Possibly may need
tweaking for cases like high system load, but right now it seems
that e.g. a compilation running cannot trigger this check because
it cannot cause many long repaints in a row.


svn path=/trunk/KDE/kdebase/workspace/; revision=866636
2008-10-01 14:29:56 +00:00
Luboš Luňák f8163eac9d Use setOverlayShape() instead of doing it manually.
svn path=/trunk/KDE/kdebase/workspace/; revision=863939
2008-09-23 15:22:25 +00:00
Luboš Luňák e433f92374 Avoid useless repeated processing of checking whether to unredirect.
svn path=/trunk/KDE/kdebase/workspace/; revision=863933
2008-09-23 14:51:21 +00:00
Luboš Luňák 503bf3e767 Add a check that measures time needed for one compositing pass.
If three successive ones take more than 1 sec, suspend compositing,
as that very likely means the system is totally incapable of decent
compositing. Perhaps may need little tweaking.


svn path=/trunk/KDE/kdebase/workspace/; revision=861906
2008-09-17 13:42:12 +00:00
Luboš Luňák 8eedfa3456 Another attempt at self-check, this time done directly during setup
(so that it can fail immediately).


svn path=/trunk/KDE/kdebase/workspace/; revision=859960
2008-09-11 16:37:26 +00:00
Andreas Hartmetz af3b302b05 be more strict about acceptable frame intervals - system time really *can* change without notice.
svn path=/trunk/KDE/kdebase/workspace/; revision=859340
2008-09-10 04:35:28 +00:00
Andreas Hartmetz 56a323877e fix kwin-composite lockup at time of day == 00:00:00. also note that compositeRate is misnamed, it is an interval. CCMAIL:l.lunak@kde.org
svn path=/trunk/KDE/kdebase/workspace/; revision=859300
2008-09-09 23:14:52 +00:00
Luboš Luňák c6230db535 Stop the compositing timer when idle.
FEATURE: 155694


svn path=/trunk/KDE/kdebase/workspace/; revision=854913
2008-08-30 15:28:47 +00:00
Luboš Luňák 19a9dd4095 Fix the flicker caused by unredirecting code - apparently setting the same
shape with X is not a no-op.


svn path=/trunk/KDE/kdebase/workspace/; revision=854107
2008-08-28 20:43:40 +00:00
Luboš Luňák 7704c8f3fa Apparently it is possible to switch compositing between starting
and getting a zero-timeout timer.


svn path=/trunk/KDE/kdebase/workspace/; revision=852355
2008-08-25 19:49:42 +00:00
Luboš Luňák 14ae8d2dc9 Support for unredirecting fullscreen windows, i.e. games etc. can paint directly
and not be slowed down by going through compositing. Turned on and no UI option
in the naive hope that it won't cause any real problems. Maybe effects doing
window previews should get API to suspend unredirect though.


svn path=/trunk/KDE/kdebase/workspace/; revision=851742
2008-08-24 13:32:57 +00:00
Luboš Luňák 09d81b7e87 Cache the result of XQueryTree().
svn path=/trunk/KDE/kdebase/workspace/; revision=851667
2008-08-24 10:35:45 +00:00
Luboš Luňák ffc4bc5040 Make sure idling does not actually cause big load by a repeating
quick timer caused by dynamically adjusting the next repaint
when using vsync. Ideally there should be no idle ticks at all,
somewhen later.
BUG: 154270
CCBUG: 155694


svn path=/trunk/KDE/kdebase/workspace/; revision=850941
2008-08-22 15:57:31 +00:00
Luboš Luňák 49660876c1 When confirming compositing in the configuration module,
wait for KWin to initialize it and report if it fails.
FEATURE: 161900


svn path=/trunk/KDE/kdebase/workspace/; revision=847403
2008-08-15 11:09:07 +00:00
Luboš Luňák ff13bd5ed5 Don't assign the return value to a member variable.
svn path=/trunk/KDE/kdebase/workspace/; revision=845784
2008-08-12 11:45:06 +00:00
Luboš Luňák 63b01aff5d Rework handling of mapping and unmapping windows, in particular:
- the NormalState/IconicState things in ICCCM need to match exactly
  the real mapping state, so ensure that, no matter how superfluous that is
- extend the option for having live window previews either for all
  windows or for only all shown windows (default)
FEATURE: 163385


svn path=/trunk/KDE/kdebase/workspace/; revision=845772
2008-08-12 11:02:58 +00:00
Luboš Luňák 085abe58b2 Don't lose the desktop submenu in Alt+F3.
svn path=/trunk/KDE/kdebase/workspace/; revision=843596
2008-08-07 11:51:20 +00:00
Luboš Luňák 20a2c36677 Discard Deleted windows when finishing compositing, so that they're
not reused if compositing is started again.
BUG: 152914


svn path=/trunk/KDE/kdebase/workspace/; revision=838646
2008-07-28 11:49:43 +00:00
Luboš Luňák f56fd92540 No initial overlay window contents.
BUG: 166514


svn path=/trunk/KDE/kdebase/workspace/; revision=837331
2008-07-24 13:00:06 +00:00
Luboš Luňák 905b5676b2 Try to handle gracefully the case when there are many small changes
on the screen and the X server has absolutely no problem with flooding
KWin with a huge number of damage events, overloading both the X connection
and QRegion.
BUG: 163643


svn path=/trunk/KDE/kdebase/workspace/; revision=836664
2008-07-22 18:20:42 +00:00