Commit graph

8578 commits

Author SHA1 Message Date
Thomas Lübking
5f9f4db401 export AnimationEffect class, add non float Point/Size construtors to FPx2
CCMAIL:kde-bindings@kde.org
This API change is in the kwin effect library and probably not of interest
2011-11-24 20:17:19 +01:00
Aaron Seigo
26953d412c make the calls to ksmserver async. dbus will queue other calls while ksmserver is budy for us.
this way window management doesn't stutter when stopping/starting activities.
2011-11-24 15:54:48 +01:00
Script Kiddy
290b990c5b SVN_SILENT made messages (.desktop file) 2011-11-16 09:33:08 +01:00
Thomas Lübking
dc6d442868 don't ::updateRules() in ::updateActivities()
breaks remember rules when called by ::setActivity() in ::manage()
TODO: add activity rules and make remember state applying more robust in 4.9

BUG: 264981
2011-11-14 12:49:59 +01:00
Martin Gräßlin
9a1d0a7eec Use const access to list element
Saves a copy operation.
2011-11-13 20:11:00 +01:00
Thomas Lübking
6b148f1866 Move maximization when managing client
Maximization of oversized windows must happen BEFORE keepInArea() is called
because that will through resizeWithChecks() lead to an artificial constrainment
to the WorkArea which is the combination of all screens minus all struts
this fails if only one screen struts and as a result the window is no more
bigger than FullArea which is used as maximization enforcing condition.
(Maximization must also happen AFTER placement, because otherwise the window
will eventually be maximized to the wrong MaximizeArea - Screens(s) - (local) struts
depending on xinerama settings)

BUG:285967
CCBUG:286146
CCBUG:183694

FIXED-IN:4.8
2011-11-13 18:50:37 +01:00
Thomas Lübking
011643d983 use contentsrect to calculate window size if baseUnit isn't 1,1
BUG: 283518
2011-11-13 18:40:17 +01:00
Martin Gräßlin
252c21e903 Use 128x128 for big icons TabBox 2011-11-12 22:42:04 +01:00
Martin Gräßlin
d89b9b3abe Do not stretch icons but use the smaller one with padding
Thanks to Iceweasel for providing a maximum icon of 48x48 which
looks really bad when upscaled to 128x128. Orig icon is placed
in the center of a new pixmap in requested size.
2011-11-12 22:39:01 +01:00
Martin Gräßlin
f27a00d8cd Setting a maximum highlight move duration on the TabBox layouts
Makes the wrapping around the corners much more usable...
2011-11-12 22:16:02 +01:00
Martin Gräßlin
219d0cc6a9 KConf Update for TabBox QML
* BoxSwitch users are migrated to new QML TabBox thumbnails layout
* Thumbnail layout is new default (as before was BoxSwitch)
* Removed obsoleted settings from TabBox config
2011-11-12 21:50:18 +01:00
Thomas Lübking
a3e268e737 checkWorspacePosition on screen changes only
REVIEW: 103029
BUG: 283302
2011-11-12 19:29:17 +01:00
Martin Gräßlin
ad950f71ab Fix desktop grid without present windows mode
Effect was not marked as active.
BUG: 282461
FIXED-IN: 4.8.0
2011-11-12 16:17:28 +01:00
Martin Gräßlin
4e8a0fcaec Declarative is a dependency of KWin in general and not just TabBox
Fixes broken build without TabBox since
8f569072db2fa6421f331a7d06b4c926d56081a9.
2011-11-11 12:47:31 +01:00
Fredrik Höglund
9fa2feabc8 kwin: Insert an input-only window above each decorated client
This input-only window is used to capture events above the
client window and preventing them from reaching the client.

It is currently used to enlarge the borders by an invisible
amount, using the ExtendedBorderRegion provided by the
decoration.
2011-11-11 03:02:10 +01:00
Fredrik Höglund
3a91e4dee6 kwin: Add a KDecorationUnstable::region() slot
This slot can be reimplemented by the decoration to return
the regions defined by KDecorationDefines::Region.

The only region defined initially is ExtendedBorderRegion.
This region specifies an invisible input region that can extend
both inside and outside the decoration.

The intended use case is to be able to have an active border
area that's larger than the visible borders.
2011-11-11 03:02:06 +01:00
Martin Gräßlin
5f96025532 Remove explicit Configure Layout button
Has been integrated with the other config buttons of window
switching combo box.
2011-11-10 21:55:06 +01:00
Martin Gräßlin
76f03823b1 Use config button of effect combo for layouts
When layout based switcher is selected the configure button next
to the combo box opens the layout configuration.
2011-11-10 21:55:06 +01:00
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