Commit graph

8052 commits

Author SHA1 Message Date
Martin Gräßlin
ff3900d825 Refactor KWin Outline code into an own class
This change unduplicates some code and merges it into one class
allowing us to use an replacement effect for the outline in
future.
CCMAIL: a.arlt@stud.uni-heidelberg.de
REVIEW: 100848
2011-04-28 11:19:05 +02:00
Martin Gräßlin
9586c0b8d4 Fix broken cube rotation with GL2 backend 2011-04-27 15:13:26 +02:00
Martin Gräßlin
77a7bedac8 Delete ShaderManger before destroying GL Context 2011-04-27 14:52:04 +02:00
Martin Gräßlin
d647950ff0 Do not blur behind EffectFrames with no style 2011-04-27 14:52:04 +02:00
Martin Gräßlin
c0570a660b Drag windows to close in Present Windows
First change for KWin Tablet: rendering a trashcan in present windows
and when dragging a window to it, it will be closed.
2011-04-27 09:58:16 +02:00
Aaron Seigo
d7862ace5b default to a single desktop 2011-04-26 22:28:19 +02:00
Montel Laurent
a1609d452a Don't check pointer before to delete it 2011-04-26 14:19:42 +02:00
Thomas Lübking
fab764f6c6 only use lanczos filter when either direction is scaled below 90%
BUG: 263653
2011-04-25 21:42:29 +02:00
Jacopo De Simoi
696d2da570 Fix glitches with scaled windows for the XRender backend
Scale window contents and decorations togheter in order to
avoid 1px glitches caused by rounding errors;
This has the net benefit of scaling only one pixmap instead of two
for each window*clipper and should actually give some performance bonus

I've tested this for some time with no issues, but this commit
*might* cause regressions. In case, let me know.
CC: kwin@kde.org
2011-04-25 11:13:20 -04:00
Thomas Lübking
4bf61c556b fix ed70462a07ae650f01002c25ce5b5104f19f2892
ignoredWindows is not limited to the opengl backend
CCMAIL: kde@michael-jansen.biz
2011-04-25 14:38:13 +02:00
Michael Jansen
6630e49d1d Fix (hopefully) compile if KWIN_HAVE_OPENGL_COMPOSITING is not defined. Those members are not
defined in that case so don't maintain them here.

@kwin devs. Feel free to revert, improve or whatever comes to your mind.

CCMAIL: kwin@kde.org
2011-04-25 14:15:45 +02:00
Script Kiddy
86deb80d65 SVN_SILENT made messages (.desktop file) 2011-04-25 08:43:51 +02:00
Thomas Lübking
fa8c6cba51 forward port of a389a45ecaea2577f5162edd1485356c81263cce
prevent accidental desktop swaps

CCBUG: 220088
2011-04-24 22:23:55 +02:00
Martin Gräßlin
001b9da6d8 Perform glFlush before deleting the EffectFrame's pixmaps
On NVIDIA it is possible that the actual rendering gets delayed to
after the deletion of the pixmap during the end of fullscreen effects.
This was causing freezes. By using glFlush before deleting the pixmaps
we can ensure that the pixmap is not needed anymore after the pixmaps
are deleted.

BUG: 261323
FIXED-IN: 4.6.3
2011-04-24 20:24:04 +02:00
Jan Gerrit Marker
122a97b9c8 Desktop grid effect now does not preserve space for windows from
other activities.
BUG:242555
2011-04-24 17:53:30 +02:00
Jan Gerrit Marker
2407b0fbc4 Make present windows effect not preserve space for windows from other activities
REVIEW:101180
CCBUG:242555
2011-04-24 14:26:46 +02:00
Thomas Lübking
65237d9c8c finegrain decobutton reload so that it doesn't happen with every max/restore event 2011-04-23 17:17:48 +02:00
Martin Gräßlin
2133d56fb6 Call setupOverlay also from GLES backend
This fixes my issue that mouse events are eaten on R600G.
I am a little bit surprised that it worked at all with nouveau.
Now my issues are fixed and finally, finally my primary system uses
the free driver stack (though only GLES).
2011-04-23 16:27:23 +02:00
Martin Gräßlin
99c3999881 Destroy overlay window on shutting down GLES compositing 2011-04-23 16:15:08 +02:00
Thomas Lübking
38859ebe4c re-add button config ui to the layout
BUG: 271508
2011-04-23 15:53:46 +02:00
Script Kiddy
9234b7fa4f SVN_SILENT made messages (.desktop file) 2011-04-23 09:21:33 +02:00
Hugo Pereira Da Costa
685d5b2a4b cleanup 2011-04-21 19:14:28 +02:00
Hugo Pereira Da Costa
5a29c0b21b added dedicated hint so that widget style can tell the decoration whether to
use a window pixmap or not.
2011-04-20 12:01:38 +02:00
Hugo Pereira Da Costa
d84f048b6a moved pixmap rendering to separate method.
It is called independently from window background in decoration code;
It is called together with window background in style.
2011-04-20 11:28:45 +02:00
Hugo Pereira Da Costa
77dd014d8a fixed horizontal positionning of background pixmap. 2011-04-20 10:57:40 +02:00
Hugo Pereira Da Costa
82d3524353 Merge branch 'master' into oxygen/background-pixmap 2011-04-20 10:21:37 +02:00
Hugo Pereira Da Costa
6b3928f5a2 Merge branch 'oxygen-sprint' 2011-04-16 17:43:00 +02:00
Hugo Pereira Da Costa
e213b3ca9f fix gradient positionning for maximized windows 2011-04-16 13:18:45 +02:00
Hugo Pereira Da Costa
38f5c5d055 nothing. 2011-04-16 11:48:44 +02:00
Thomas Lübking
6c89064e10 kwin: updateClientArea /after/ invalidating the screenareas
prevents segfaults when collpasing several desktops containing clients
2011-04-14 17:40:40 +02:00
Script Kiddy
d6943f1075 SVN_SILENT made messages (.desktop file) 2011-04-13 08:48:03 +02:00
Martin Gräßlin
6264370237 Merge branch 'oxygen-shadows' 2011-04-12 18:13:49 +02:00
Martin Gräßlin
2d066a710c Fix repainting of Shadows for torn-off toolbars
Toolbars and Dock Widgets are clients which did not yet have
proper Shadow support. Especially the visibleRect and decorationRect
which is incorrectly used to refer to the complete window geometry
had to be updated.
2011-04-10 21:26:46 +02:00
Martin Gräßlin
16dd83bc4e Support diagonal navigation in mouse emulation 2011-04-06 17:56:00 +02:00
Martin Gräßlin
026dd17d88 Repaint also old shadow region on geometry change 2011-04-04 18:50:30 +02:00
Martin Gräßlin
320de6abc6 Merge branch 'master' into oxygen-shadows
Conflicts:
	kwin/atoms.cpp
	kwin/atoms.h
2011-04-04 18:09:59 +02:00
Hugo Pereira Da Costa
275cf05184 make sure Shadow X11 property is not set on decorated windows, since it is handled by
the decoration itself (and therefore should not be by kwin).
2011-04-04 09:42:11 +02:00
Kevin Ottens
ecc92e16c6 Make it build with QT_STRICT_ITERATORS 2011-04-04 09:26:09 +02:00
Thomas Lübking
31278d570e add rule/property based composite blocking 2011-04-04 01:59:52 +02:00
Thomas Lübking
a23e01f0d9 Sanitize special window pointers in flip/coverswitch
CCBUG:253870
2011-04-04 00:04:23 +02:00
Thomas Lübking
48939462da Strip QHash::operator[] from present window effect
also rewrite of the regular grid assignment - was
a) a suboptimal implementation
b) required because otherwise broken in desktopgrid proxy mode (which btw. polluted the effect through QHash::operator[])

BUG:262485
2011-04-03 23:39:33 +02:00
Thomas Lübking
bfd922d7fa strip down kwin shortcut allocation code 2011-04-03 23:18:44 +02:00
Thomas Lübking
b32331afcf fix & cleanup Workspace::setNumberOfDesktops()
encapsulate all relevant (vector resizing) code to
Workspace::setNumberOfDesktops and invoke it from
Workspace::loadDesktopSettigns, this will likely
fix
CCBUG:200213
2011-04-03 22:44:19 +02:00
Thomas Lübking
f8cab9a6da validate deleted moving window in desktop grid effect
BUG:233363
CCBUG:267562
2011-04-03 22:43:02 +02:00
Martin Gräßlin
a9ce4aa2af Don't render a Shadow if the Shadow overlaps the window 2011-04-03 13:05:35 +02:00
Martin Gräßlin
7287019050 Update cached Shadow information on size changes
In order to notice when the geometry changes a new signal is
added to toplevel and both Unmanaged and Client connect all their
signals which are emitted whenever the geometry changes in some way
to this new signal.

Shadow connects to the signal and updates the quads and region
whenever the size changes.
2011-04-03 12:43:57 +02:00
Martin Gräßlin
24f36b7fae Shadow is read when Scene::Window is created 2011-04-03 12:13:20 +02:00
Martin Gräßlin
38e9ab9a4e Move ownership on Shadow from Toplevel to Scene::Window
The Shadow is clearly an aspect of the compositor. Therefore the
Shadow has to be owned and controlled by the Scene::Window.
Nevertheless Toplevel needs to know about the Shadow cause of reading
the property.
2011-04-03 11:31:33 +02:00
Martin Gräßlin
c82fed057f Verify that Shadow pixmaps are valid
At least in rekonq the shadow pixmaps are not valid causing
an exception to be thrown and crashing kwin.
2011-04-02 19:03:08 +02:00
Martin Gräßlin
9f02766fd9 Trigger full repaint when adding a shadow 2011-04-01 22:52:37 +02:00