Commit graph

8560 commits

Author SHA1 Message Date
Martin Gräßlin
972529cabd Remove BoxSwitch from list of Window Switcher effects
Replaced by a TabBox layout. The effect is still there as it
can be used for desktop switching (which is not yet ported to layouts)
and as a proxy effect for CoverSwitch.

The users who use BoxSwitch will be migrated to the new layout.
2011-11-10 21:54:57 +01:00
Martin Gräßlin
95430bc741 Remove window switching combo box from compositing UI
Reduces duplication of settings in different areas and was only
providing a small subset of the possible window switching capabilities.
With BoxSwitch being possible to be rendered as a "normal" window
switcher it does not make much sense anyway.
2011-11-10 21:29:45 +01:00
Martin Gräßlin
571a87a0b7 Safetey check in TabBox's Image Provider
We cannot provide pixmaps if the client is null or the index
is for "there are no windows".
2011-11-10 21:23:14 +01:00
Martin Gräßlin
43109f7264 Caption of selected item underneath icon only TabBox 2011-11-10 20:44:05 +01:00
Martin Gräßlin
f98593d3fb Window Thumbnail support for QML
A new QML item "ThumbnailItem" is registered to the TabBox. The
C++ implementation finds the EffectWindow of the TabBox and adds
itself to the EffectWindow.

While rendering the EffectWindow the information for all registered
ThumbnailItems are extracted and the thumbnail is rendered on top
of the EffectWindow.

This has obvious limitations like you cannot put other QML items
on top of the thumbnail. Nevertheless it works well enough to
be a possible replacement for e.g. BoxSwitch effect.

When compositing is disabled an icon is rendered instead of the
Thumbnail.

One TabBox Layout inspired by BoxSwitch Effect is added. For the
KCM small pre-rendered items are used.

REVIEW: 103039
2011-11-10 14:28:06 +01:00
Anton Kreuzkamp
9fda63a7f2 Make the tab group XProperty have the right type. 2011-11-09 23:17:49 +01:00
Thomas Lübking
b0e4bcb984 demystify detection dialog for window rules
REVIEW: 103095
2011-11-09 21:24:08 +01:00
Thomas Lübking
bdc3cc5564 skip empty damages, reset damageRatio also when pixmaps are created 2011-11-09 21:24:07 +01:00
Fredrik Höglund
965feeb9f3 kwin: fix glBlitFramebuffer resolution
This function is also provided by GL_ARB_framebuffer_object.
2011-11-09 18:03:10 +01:00
Fredrik Höglund
d858df569c kwin: Update a quirk for Gallium drivers in Mesa 7.10
The bug that prevented loose binding from working should be
fixed in Mesa 7.10.1.
2011-11-09 18:02:06 +01:00
Hugo Pereira Da Costa
12bcd08871 do not fade separator when it is drawn for both active and inactive windows. 2011-11-08 19:01:02 +01:00
Anton Kreuzkamp
98c89bcfd0 Make the window-tabbing group of a window public via an XProperty. 2011-11-07 20:52:21 +01:00
Thomas Lübking
795fbc643b do a full geometry calculation with the moveResize start, not first moveResize event
BUG: 285824
FIXED-IN: 4.7.4
(cherry picked from commit 19c6ab33b94cd3e531fa5c86fdff66a6f33f5e4a)
2011-11-05 16:21:57 +01:00
Martin Gräßlin
c20e9c18c2 Load main QML file while creating TabBox View
Layout loading still delayed till first show event.
2011-11-04 20:08:23 +01:00
Martin Gräßlin
ba98af770a Add safety check for invalid ModelIndex
With the new QML tabbox it could happen that the index is not
valid and nothing is selected in the view.
2011-11-04 19:27:02 +01:00
Marco Martin
6698801cb5 Merge branch 'ksplash/ksplash-qml' 2011-11-03 22:09:35 +01:00
Thomas Lübking
d3331eed9c export the baseincrement size to the effectwindow and utilize it in the windowgeometry effect
BUG: 283518
REVIEW: 103033
FIXED-IN: 4.8
2011-11-03 21:49:20 +01:00
Marco Martin
69ad0fc5fc Merge branch 'master' into ksplash/ksplash-qml 2011-11-03 21:00:01 +01:00
Thomas Lübking
4cd4481663 don't use const_iterator's when calling non const functions
BUG: 282933
FIXED-IN: 4.7.4
2011-11-01 21:24:18 +01:00
Martin Gräßlin
6a94ff5641 Don't handle closing windows while BoxSwitch is inactive
This might be the cause for ghost windows, because they got
referrenced without being unreferrenced again.
CCBUG: 259640
2011-11-01 06:48:21 +01:00
Raphael Kubo da Costa
f58653bdcd Clean up the X11 definitions after the X11 includes.
This fixes build problems after 8f43c5e: sm.h would include
X11/SM/SMlib.h, which includes X11/ICE/ICElib.h, which adds a #define
Status int, which breaks qdeclarativeview.h, included by
moc_declarative.cpp.

Reviewed-by: mgraesslin
2011-10-31 18:29:18 -02:00
Martin Gräßlin
8b9e7f56cf Pass mouse events to declarative Tabbox
The ListViews have therefore to emit a signal when the item changed
due to a mouse click event.
2011-10-31 14:34:37 +01:00
Script Kiddy
918087e34f SVN_SILENT made messages (.desktop file) 2011-10-31 09:48:42 +01:00
Martin Gräßlin
17834ae3f9 Request Icons in Correct Size 2011-10-31 08:51:34 +01:00
Martin Gräßlin
5c3a7afb36 Drop obsoleted files of TabBox Configuration
Old ui file for layout configuration no longer required and
preview of old TabBox no longer required (and was not used at all).
2011-10-31 08:43:37 +01:00
Martin Gräßlin
08d6f62ae7 New TabBox Layout configuration dialog
This dialog shows all available layouts with a preview.
2011-10-31 08:41:07 +01:00
Martin Gräßlin
a38c0e31ca Adding new properties for optimalWidth/Height 2011-10-30 21:56:25 +01:00
Montel Laurent
98b843e51f Fix compile with strict iterator 2011-10-30 20:29:28 +01:00
Martin Gräßlin
585ef3c19f Drop all obsoleted config options from kwintabbox kcm 2011-10-30 16:24:06 +01:00
Martin Gräßlin
aa17081fe8 TabBox in QML
All the default layouts (informative, compact, text, small and big icons)
are rewritten in QML and replace the ListView used before. The old code
is still around for the desktop switching modes which are not yet ported.

Next steps include to update the configuration module to not show now
obsoleted settings as well as providing a better way to choose the layout.

REVIEW: 102948
2011-10-30 16:07:14 +01:00
Fredrik Höglund
ebd0d9303b kwin: Replace calls to QElapsedTimer::restart() with start()
It doesn't make sense to call restart() without using the return
value, or when the timer has never been started.
2011-10-29 17:41:16 +02:00
Fredrik Höglund
eb9988b788 kwin: Make Scene::m_renderTimer a non-member
It's only used in Scene::paint(), and its value is not valid
between calls.
2011-10-29 17:41:16 +02:00
Fredrik Höglund
c784dbb097 kwin: Fix two ;;'s 2011-10-29 17:41:16 +02:00
Fredrik Höglund
fe08300505 kwin: Initialize Client::skip_switcher
This fixes a valgrind error
2011-10-29 17:41:16 +02:00
Fredrik Höglund
7f0c74cb38 kwin: Initialize Scene::lastRenderTime
This fixes a valgrind error
2011-10-29 17:41:16 +02:00
Fredrik Höglund
44165bb0d1 kwin: Initialize QElapsedTimers by calling invalidate()
QElapsedTimer doesn't have a constructor that initializes the
private members. This means that calls to isValid() will depend
on uninitialized data when the timer has never been started.

elapsed() and restart() will also use and return values
computed from uninitialized data.

This fixes several valgrind errors.
2011-10-29 17:40:09 +02:00
Thomas Lübking
67e79ea13a Add AnimationEffect class
REVIEW: 102922
2011-10-27 21:40:14 +02:00
Philipp Knechtges
2c08a14ff4 kwin: implement _KDE_NET_WM_OPAQUE_REGION
This patch implements an XProperty named _KDE_NET_WM_OPAQUE_REGION
which gives the compositor the information which part of a window
is opaque although it is an ARGB visual. The basic ideas are from
http://www.mail-archive.com/wm-spec-list@gnome.org/msg00715.html

Additionally the patch makes kwin  use this information to do a better
clipping in Scene::paintSimpleScreen which should result in a higher
performance.

REVIEW: 102933
2011-10-23 17:09:44 +02:00
Christophe Giboudeaux
f76c40c424 Fix the -Wmissing-include-dirs warnings 2011-10-19 23:53:13 +02:00
Pierre-Loup A. Griffais
7fff9705b4 kwin-gles: define EGL_POST_SUB_BUFFER_SUPPORTED_NV if it's not there
This fixes the build with older versions of eglext.h.

REVIEW: 102915
2011-10-19 20:15:40 +02:00
Pierre-Loup A. Griffais
2570e9ec61 kwin-gles: add support for EGL_NV_post_sub_buffer
The EGL path had no support for presenting sub-regions of the screen, we can
leverage EGL_NV_post_sub_buffer for that. This wouldn't be a win if we didn't
have to opt-out of flipping.

REVIEW: 102889
2011-10-17 20:27:23 +02:00
Pierre-Loup A. Griffais
309ce4013a kwin-gles: save a branch in the main shader
On less flexible hardware, one instruction for one branch might not be a good
trade.

REVIEW: 102886
2011-10-17 20:26:53 +02:00
Pierre-Loup A. Griffais
951904ba1a kwin-gles: opt-out of flipping
The drawing logic of KWin seems to rely on buffer preservation, so we have to
let the driver know that it can't flip.

REVIEW: 102880
2011-10-17 20:26:24 +02:00
Pierre-Loup A. Griffais
5971daf1c6 kwin-gles: check for EGL_image OR EGL_image_base + EGL_image_pixmap
EGL_KHR_image is a functional superset of both EGL_KHR_image_base and
EGL_KHR_image_pixmap, which were split off later to allow the former to be
more modular. Older drivers might only expose EGL_KHR_image if they were
released before the split happened.

REVIEW: 102879
2011-10-17 20:25:36 +02:00
Philipp Knechtges
1ea54ef44f kwin: fixing blur for shaded windows
If a window is "rolled" up we should not blur the specific regions.

CCBUG: 245388
2011-10-15 16:32:13 +02:00
Martin Gräßlin
fb2fbed035 Generate texture coordinates for limited NPOT support
Fixes rendering issues with R300 and similar GPUs. If the texture
uses GL_TEXTURE_RECTANGLE_ARB as target the tex coordinates need
to be adjusted. This at least fixes missing text on EffectFrames
with graphicssystem native on R300. Hopefully more issues are
resolved by the change.

BUG: 269576
CCBUG: 282882
FIXED-IN: 4.7.3
2011-10-15 14:14:44 +02:00
Martin Gräßlin
15fc864c95 Drop GLES specific hack in blur effect
With GLES full repaints are no longer required. At least I can no
longer notice any visual issues.
2011-10-15 10:55:27 +02:00
Martin Gräßlin
e6ed00123a Ensure that always one shader is on the ShaderStack with GL2
This brings some consistency with GLES2 where also one shader
is always on the stack and allows to use the test whether a shader
is bound to see if the GL2 code path is used. This fixes an issue
with cover/flip switch which tested for a bound shader before the
shader was pushed in multi screen setups.

As well it should bring some improvements as the simple screen
shader is not unbound and rebound in each rendered frame.

BUG: 283609
FIXED-IN: 4.7.3
2011-10-15 09:51:45 +02:00
Martin Gräßlin
eda72d6475 Don't react on mouse release events in Aurorae if mouse is outside button
HAPPY BIRTHDAY KDE. One bug fix as a present.

BUG: 283236
FIXED-IN: 4.7.3
2011-10-14 20:45:07 +02:00
Script Kiddy
e9ef4b8600 SVN_SILENT made messages (.desktop file) 2011-10-13 08:48:12 +02:00