Commit graph

8339 commits

Author SHA1 Message Date
Montel Laurent
e08f67ff6e Make it compile with "-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS" 2011-05-22 13:53:25 +02:00
Philipp Knechtges
5e22d3912b kwin: fixes graphical glitches in the wobblywindows effect
Before this patch, the damaged area had been underestimated.
2011-05-20 21:57:28 +02:00
Script Kiddy
1b3657ec0e SVN_SILENT made messages (.desktop file) 2011-05-20 09:11:04 +02:00
Philipp Knechtges
5577cc769b kwin: bug fix for crash when using the raster backend
It seems to be possible to generate a QPixmap that is not null,
but doesnt have a paintEngine.
2011-05-19 21:41:30 +02:00
Arthur Arlt
866120ba2c KConf update script to remove obsoleted effects 2011-05-19 20:40:27 +02:00
Martin Gräßlin
9ba2a8f5d7 Don't emit windowDamaged on window deconstruction
The signal passed a null EffectWindow to all connected effects
which could cause a crash.
BUG: 273576
FIXED-IN: 4.7.0
2011-05-19 17:28:15 +02:00
Philipp Knechtges
2c0b0e9f18 Performance bugfix.
In case we use OpenGL compositing and KWin is started with the raster graphicssystem,
the decoration gets painted with the raster backend.
REVIEW: 101370
2011-05-18 21:27:11 +02:00
Philipp Knechtges
da82739301 kwin: Make SceneOpenGL::makeDecorationArrays aware of Texture::y_inverted 2011-05-18 21:09:59 +02:00
Martin Gräßlin
212c106855 Streamline titlebar and frame mousclick options
Thanks to Thomas Lundgaard for the patch.
CCMAIL: thomaslundgaard@gmail.com
REVIEW: 101071
2011-05-18 20:51:17 +02:00
Script Kiddy
3d0c81f121 SVN_SILENT made messages (.desktop file) 2011-05-17 10:49:34 +02:00
Fredrik Höglund
6bc8cb93da kwin/blur: Pack varyings in the GLSL shader
Pack two vec2 coordinates in each vec4 varying. This gives
a ~60% improvement in shader performance with R600G.
2011-05-15 21:25:34 +02:00
Martin Gräßlin
4365b077d5 Do full repaints on window damage in boxswitch with GLES
Due to changes in the blur effect, the EffectFrame was flickering
with GLES. This can be worked around by doing full repaints whenever
a window is damagded while boxswitch is active with GLES. The problem
only occurs with the GLES backend due to the way how the buffers are
swapped.
BUG: 272688
2011-05-15 20:26:26 +02:00
Martin Gräßlin
74accbd64a Remove obsoleted code
Should have been removed with 44b83f951aeb3221c43ef3356e46650248b673cd
2011-05-15 14:33:40 +02:00
Script Kiddy
e986b32d64 SVN_SILENT made messages (.desktop file) 2011-05-15 09:52:04 +02:00
Martin Gräßlin
a81ddf2949 Disable Unredirect Fullscreen Windows by default
Well we don't have another choice if half of the drivers crash kwin
whenever you watch a fullscreen flash video or use a screen saver.
Unredirect Fullscreen Window was quite useful in case you used
to play heavy OpenGL games, but pretty useless for anything else.
For the game and hd video usecase we nowadays have the better way
of really suspending compositing (either by the client indicating or
with a window specific rule). The plus of suspending compositing is
that the driver doesn't crash.

And yes we are "supposed" to no longer workaround driver bugs.
Good joke, I like to redirect my inbox to everyone who things we
are not allowed to workaround driver bugs.

CCBUG: 252817
2011-05-15 09:40:19 +02:00
Martin Gräßlin
3775616a13 Do not deep copy the shadow pixmaps
The deep copy does not work with raster as it creates a non-native
pixmap. In fact the deep copy is not needed any more as it was a
safety check during development when apps using raster could crash
kwin.
2011-05-14 21:04:28 +02:00
Martin Gräßlin
911b037fe8 Add another pixmap safety check in Shadow creation
Do not only check for null pixmaps but also that the
pixmap contains a 32 bit depth as we don't want shadows
without alpha.
2011-05-14 21:02:11 +02:00
Friedrich Kröner
a3962f895d kwin: If GLTexture::load is called, glxpixmap doesn't need to exist
Signed-off-by: Fredrik Höglund <fredrik@kde.org>
2011-05-14 19:07:30 +02:00
Fredrik Höglund
93dc4d459c kwin/blur: Don't blur anything when we're painting top-to-bottom 2011-05-14 18:26:21 +02:00
Fredrik Höglund
b1990eec75 kwin/blur: Refactor the tests in drawWindow()
Move the tests into a separate function to improve readability.
2011-05-14 18:22:38 +02:00
Thomas Lübking
580aa665c9 use KLocale::positive/negativeSign in windowgeometry effect
BUG: 273169
FIXED-IN: 4.7
2011-05-13 17:38:13 +02:00
Martin Gräßlin
234ec644d2 KWin supports graphicssystem Raster
With raster a QPixmap is no longer a XPixmap which fails all code
which assumes that an QPixmap is an XPixmap. Depending on were in
the codebase we either convert such pixmaps to images (OpenGL) or
create a XPixmap and use QPixmap::fromX11Pixmap to get a "real"
pixmap.

It is possible that there are more code pathes were we would need
a XPixmap. Currently tested is basic functionality of no-compositing,
XRender compositing, OpenGl/GLX and OpenGL ES/EGL compositing.

For OpenGL compositing raster might result in performance improvements,
for XRender it is possible that there are regressions when using raster.
By default KWin uses whatever is the default of the system, so we just
no longer enforce native.

Of course it is a bad idea to use graphicssystem OpenGL. As that
is broken anyways in Qt, we do not check for it.

Many thanks to Philipp Knechtges for bringing up the issue, convincing
me that we need it and providing most of the patch.

REVIEW: 101132
CCMAIL: Philipp.Knechtges@rwth-aachen.de
2011-05-12 18:52:38 +02:00
Martin Gräßlin
264fcfa49f Remove selfcheck code from OpenGL
Execution was ifdefed, if we want it again we have a VCS.
2011-05-12 17:59:57 +02:00
Thomas Lübking
13b420fe7b flipswitch effect, slotWindowClosed - heap data still doesn't wipe itself ;-) 2011-05-11 21:07:34 +02:00
Thomas Lübking
364ce6fbfc Allow the user to rearm OpenGLIsUnsafe KWIn autocrash protection
Also add a usable "doesn't work why" info and WARN! the user about clicking the rearm button.
Merge "OpenGLIsUnsafe" and "CheckIsSafe" config keys
Move the entire checking into CompositingPrefs

BUG:250865
FIXED-IN:4.7
2011-05-11 20:16:08 +02:00
Hugo Pereira Da Costa
810a750d25 removed some unneeded empty lines. 2011-05-11 10:23:36 +02:00
Script Kiddy
9d7c88d288 SVN_SILENT made messages (.desktop file) 2011-05-11 09:17:09 +02:00
Albert Astals Cid
b1cb75e52b Convert these extracomment to comment
Because:
* We have a bug in our scripts that makes extracomment not work (will try to fix this asap)
* Makes sense to be a comment since we want it to be a disambiguation text
* KUIT markers (e.g. @label) need to be in comment
2011-05-10 22:38:46 +01:00
Thomas Lübking
b54806fe0f strip QHash::operator[] from flipswitch
BUG: 238334
2011-05-10 21:43:46 +02:00
Martin Gräßlin
55bcd2ed10 Add new build option KWIN_MOBILE_EFFECTS
The new build option restricts the building of effects to those
useable for Plasma Active:
* blur
* dialogparent
* fade
* login
* outline
* presentwindows
* slidingpopups
* taskbarthumbnails
* screenshot

Additionally all effect KCMs are excluded from building in the
assumption that when building with this option, KWIN_BUILD_KCMS
is turned off.
CCMAIL: sebas@kde.org
2011-05-10 18:28:53 +02:00
Jacopo De Simoi
2573bec755 XRender backend: do not process invalid shadow data 2011-05-09 11:14:20 -04:00
Yuri Chornoivan
f5ad33789c fix typos: focussed->focused, mouseclick->mouse click 2011-05-09 10:40:48 +03:00
Script Kiddy
cb2597dcaf SVN_SILENT made messages (.desktop file) 2011-05-09 09:32:40 +02:00
Thomas Lübking
d233891da7 make kwinrules kcm more user friendly 2011-05-08 21:30:15 +02:00
Alberto Mattea
9bbed0335a Add basic multihead support to kwin
For now there is autostart support on all screens and support for different resolutions on different screens.
Keyboard shortcuts are still TODO
REVIEW: 101125
BUG: 256242
2011-05-08 20:39:27 +02:00
Thomas Lübking
2534acc961 Don't store virtual desktop settings while loading them
fwd-port of a2d4c3ebdf7137f3543c88245f0bfd3dba308ebf
CCBUG: 272666
2011-05-08 17:14:45 +02:00
Fredrik Höglund
ff889337e2 kwin/blur: Use pos() instead of geometry().topLeft() 2011-05-08 12:05:22 +02:00
Fredrik Höglund
9a08f99958 kwin/blur: Fix a regression from a6bdff71
Subtract the screen-relative contents rect of the window from
the paint region, not the window relative rect.
2011-05-08 11:58:33 +02:00
Martin Gräßlin
032c2cc333 Ensure that list is not empty before accessing
With settings to animate windows in boxswitch it was
possible that an empty list was accessed when the last
window closed.
BUG: 263306
FIXED-IN: 4.7.0
2011-05-07 11:26:36 +02:00
Martin Gräßlin
1dd614ee4b Improved detection of OpenGL software emulation
Adding a new method to retrieve whether the OpenGL implementation
uses any kind of software emulation and no software emulation can
provide GLSL support, even if it claims so.

Thanks to Maurel for testing again and again proposed patches.

BUG: 271166
2011-05-06 18:16:38 +02:00
Jacopo De Simoi
57c2b33bce XRender backend: Paint shadow with window contents only, not with decoration
This notably fixes glitches with shadow menus of a well-known xul-based browser.
2011-05-06 09:53:04 -04:00
Script Kiddy
ffd4385396 SVN_SILENT made messages (.desktop file) 2011-05-06 09:17:40 +02:00
Hugo Pereira Da Costa
b602ce9d52 fixed default tab. 2011-05-05 23:43:11 +02:00
Script Kiddy
f08ee510ce SVN_SILENT made messages (.desktop file) 2011-05-05 08:48:17 +02:00
Script Kiddy
fd9ecd8d09 SVN_SILENT made messages (.desktop file) 2011-05-03 10:32:34 +02:00
Script Kiddy
7bc87bca86 SVN_SILENT made messages (.desktop file) 2011-05-02 09:21:02 +02:00
Yuri Chornoivan
65f0763df4 fix typo: perfomed->performed 2011-05-02 10:00:49 +03:00
Fredrik Höglund
65025071fc kwin/blur: Optimize the paint region
Optimize the region of the screen that's painted in each frame,
and paint the windows top-to-bottom when the damaged region doesn't
intersect any blurred areas.
2011-05-02 02:06:18 +02:00
Fredrik Höglund
8ab56a2146 kwin: Return all windows in EffectsHandlerImpl::stackingOrder() 2011-05-02 02:06:18 +02:00
Fredrik Höglund
7ef8f444f6 kwin/blur: Disable by default on all Intel chipsets 2011-05-02 02:06:17 +02:00