Commit Graph

10127 Commits (b01f5684c50dca638ba999097022545e515db485)

Author SHA1 Message Date
Martin Gräßlin 9f85f7f597 Port non-composited Outline to XCB
Use xcb to create and manage the X11 backend of Outline. In addition the
used background pixmaps are rendered with XRender instead of using a
QPainter on a QPixmap. This is done because QPixmap is no longer bound to
an X Pixmap.

To create the XRender Picture the available functionality from
kwinxrenderutils is used. To be able to use it in KWin core the compile
option to build without XRender is removed for kwinxrenderutils, but
still supported for effects.

Obviously the port to XCB is not complete as xremderutils itself is still
on XLib.

REVIEW: 108642
2013-02-04 08:55:21 +01:00
Martin Gräßlin f238cbc3f5 Light-weight wrapper class for an xcb_window_t
The idea behind this class is to relieve the developer from having to
call xcb_destroy_window once it is no longer needed. That is having a
RAII approach to windows.

In addition the class provides some simple method wrappers for the most
common use cases inside KWin:
* map
* unmap
* setGeometry - basically a moveResizeWindow
* ...
2013-02-04 08:47:46 +01:00
Martin Gräßlin e68f7f960b Port zoom effect to XCB render
Still strong usage of other XLib components.

REVIEW: 108652
2013-02-04 08:34:18 +01:00
Martin Gräßlin 29b36c87dd Port Resize effect to XCB render 2013-02-04 08:33:25 +01:00
Martin Gräßlin cd1eab0c55 Port ShowPaint Effect to XCB render 2013-02-04 08:33:25 +01:00
Martin Gräßlin c7e86b970c Port ShowFPS Effect to XCB render 2013-02-04 08:33:25 +01:00
Martin Gräßlin 79af33c136 Cleanup in SnapHelper effect
* use <> includes
* remove commented and unused code
2013-02-04 08:33:24 +01:00
Martin Gräßlin e790284eee Port SnapHelper effect to XCB 2013-02-04 08:33:24 +01:00
Martin Gräßlin 5dc4b1d85d Port of mousemark effect to XCB 2013-02-04 08:33:24 +01:00
Martin Gräßlin c5bebcd809 Port Magnifier Effect to XCB
First XRender effect which gets ported over. Therefore required bits are
added to CMakeLists.txt.

Port to xcb is luckily rather straight forward. Though the QPixmap usage
needs to be replaced by xcb_pixmap_t together with a XRenderPicture.
2013-02-04 08:33:24 +01:00
Raphael Kubo da Costa d703adbdc1 Add a few more headers required by getaddrinfo(3).
Follow-up to cbb7f57; the code built on Linux despite the lack of required
includes most likely because netdb.h ends up indirectly including
sys/types.h and sys/socket.h.
2013-02-03 01:28:42 +02:00
Aaron Seigo 3191a6b7ab Merge remote-tracking branch 'origin/KDE/4.10' 2013-02-01 14:34:32 +01:00
Script Kiddy 3c966e3098 SVN_SILENT made messages (.desktop file) 2013-02-01 13:28:42 +01:00
Script Kiddy d9191d1485 SVN_SILENT made messages (.desktop file) 2013-02-01 08:50:51 +01:00
Marco Martin baf21f6b34 Merge branch 'KDE/4.10'
Conflicts:
	plasma/generic/applets/batterymonitor/metadata.desktop
	plasma/generic/applets/lock_logout/metadata.desktop
2013-01-31 17:00:02 +01:00
Script Kiddy f193c56957 SVN_SILENT made messages (.desktop file) 2013-01-31 16:31:28 +01:00
Script Kiddy ca2cf4d697 SVN_SILENT made messages (.desktop file) 2013-01-31 12:00:36 +01:00
Aitor Morant 422b436119 KConfigXT for TabBox and TabBoxAlternative
REVIEW: 108345
2013-01-31 08:31:22 +01:00
Script Kiddy 1416c8d62c SVN_SILENT made messages (.desktop file) 2013-01-30 16:27:26 +01:00
Martin Gräßlin 58019b9ce3 Merge branch 'KDE/4.10'
Conflicts:
	kwin/client.cpp
2013-01-30 15:16:56 +01:00
Martin Gräßlin 0c92e1f30c Use translucent/dialogs/background elements where possible
In effects it's obvious that compositing is enabled, so specifying the
translucent element is no problem.

In tabbox a context property "compositing" is injected which decides
whether "translucent" or "opaque" elements should be used. Here the
translucent elements are only used if the Blur effect is available - for
this a new Effect::Feature Blur is introduced and in addition it is
tested whether the theme provides the translucent element.

Also the masking is adjusted to ensure that only the shadow is not
blurred.

Reason for this change is that Plasma theme seems not always to pick up
whether compositing is used when used from inside KWin. It does not cover
the Desktop Change OSD which uses PlasmaCore.Dialog and there we cannot
(yet) inject that we use compositing.

Overall I'm quite unhappy with this patch and I do hope we can fix it in
the proper place in the lifetime of 4.10 and revert this patch.

CCBUG: 311995
REVIEW: 108438
2013-01-30 15:14:54 +01:00
Thomas Lübking 2dc85f15af don't shortcut Above restacks
just because we're above the sibling.
There could be another sibling to get below.

BUG: 313909
REVIEW: 108609
FIXED-IN: 4.11
2013-01-30 13:33:58 +01:00
Thomas Lübking e128d5ad26 use Size instead of Scale animation
BUG: 310945
FIXED-IN: 4.10
REVIEW: 108650
2013-01-30 13:07:22 +01:00
Thomas Lübking 22f5769e74 catch DIV by 0 for 0 dimension from modeline
BUG :313996
FIXED-IN: 4.10
2013-01-30 13:07:12 +01:00
Thomas Lübking fb356a8bef capture condensedTitle config change 2013-01-30 13:07:03 +01:00
Thomas Lübking c88742db98 fix copy and paste error
setting from because to is invalid is rather wrong
2013-01-30 13:06:59 +01:00
Thomas Lübking cd2eedd0f2 Initialize some variables and check on destruction
BUG: 313911
REVIEW: 108604
FIXED-IN: 4.10
2013-01-30 13:06:45 +01:00
Thomas Lübking 0ac1950ddc do not remove leading special chars
According to Mozilla docu only [^A-Za-z0-9_] is considered
a Word character - yeah :-(
2013-01-30 13:06:38 +01:00
Thomas Lübking e2db836def Merge branch 'KDE/4.10'
Conflicts:
	kwin/client.cpp
2013-01-30 12:43:39 +01:00
Thomas Lübking a2ac8dab0c use Size instead of Scale animation
BUG: 310945
2013-01-30 10:45:22 +01:00
Thomas Lübking 929fb3c508 catch DIV by 0 for 0 dimension from modeline
BUG :313996
2013-01-30 10:45:21 +01:00
Thomas Lübking bf2776b42f capture condensedTitle config change 2013-01-30 10:45:21 +01:00
Thomas Lübking 56cd3f8928 fix copy and paste error
setting from because to is invalid is rather wrong
2013-01-30 10:45:21 +01:00
Thomas Lübking 69b2804a12 Initialize some variables and check on destruction
BUG: 313911
REVIEW: 108604
2013-01-30 10:45:21 +01:00
Thomas Lübking a7066aa3e2 do not remove leading special chars
According to Mozilla docu only [^A-Za-z0-9_] is considered
a Word character - yeah :-(
2013-01-30 10:45:21 +01:00
Albert Astals Cid 905558fea1 Merge remote-tracking branch 'origin/KDE/4.10'
Conflicts:
	CMakeLists.txt
2013-01-29 00:00:04 +00:00
Script Kiddy 862b35dcc8 SVN_SILENT made messages (.desktop file) 2013-01-28 13:20:08 +01:00
Script Kiddy f3ca3e4c02 SVN_SILENT made messages (.desktop file) 2013-01-28 08:47:50 +01:00
Script Kiddy da9c66760a SVN_SILENT made messages (.desktop file) 2013-01-27 13:02:17 +01:00
Martin Gräßlin 45af15b459 Merge branch 'KDE/4.10' 2013-01-27 12:13:51 +01:00
Martin Gräßlin b5dd9d93c1 Fix typo in Window Switcher "compact"
BUG: 313950
FIXED-IN: 4.10.0
2013-01-27 12:12:20 +01:00
Alex Merry abb090fe64 Merge branch 'KDE/4.10' 2013-01-26 19:45:59 +00:00
Script Kiddy 2ea65eb18e SVN_SILENT made messages (.desktop file) 2013-01-26 13:21:28 +01:00
Script Kiddy 7d821f3814 SVN_SILENT made messages (.desktop file) 2013-01-26 09:04:17 +01:00
Martin Gräßlin 4f536c7f3d Extend ScopedCPointer from QScopedPointer with QScopedPointerPodDeleter
REVIEW: 108242
2013-01-25 08:56:33 +01:00
Martin Gräßlin 6c213d4392 Make use of new Xcb Wrapper classes
Use WindowAttributes and WindowGeometry everywhere where the xcb commands
had already been used.

Introduces another wrapper for overlay window and a subclass for query
tree which also wrapps the children command.
2013-01-25 08:51:38 +01:00
Martin Gräßlin 2d4b67d361 Do not use a shared pointer for the Xcb::Wrapper
It's not really needed, the required functionality can be achieved in a
more implicit way. The reply pointer is managed by the Wrapper class as
long as the method take() is not invoked. This method follows the
semantics of QScopedPointer::take(). That is the pointer is set to null
and the responsibility to free the pointer is passed to the callee.

By this change we do not have the overhead of creating a QSharedPointer.

In addition the Wrapper provides a copy ctor and assignment operator also
using the semantics of take().
2013-01-25 08:51:38 +01:00
Martin Gräßlin 1e47911ab0 Discard reply in ~Wraper if not yet retrieved
Ensures that we don't leak replies.
2013-01-25 08:51:37 +01:00
Martin Gräßlin b3885dcb99 Adjusting some of the default values in kwin.kcfg
* using the existing enum types
* adjusting the settings which recently changed.
2013-01-24 14:17:19 +01:00
Alexander Jones 15bb0c26a6 KConfigXT for Windows, ElectricBorders, MouseBindings, and Compositing groups
REVIEW: 108347
2013-01-24 09:42:46 +01:00