Commit Graph

2301 Commits (939fa12707e077290bf098868196684dbe1645b9)

Author SHA1 Message Date
Martin Gräßlin c3423b15e7 Add method to EffectsHandler to define the cursor for an input window
Convenience method to replace XDefineCursor used in the effects.

REVIEW: 109039
2013-02-25 13:35:19 +01:00
Martin Gräßlin b8c6831a1f Port Screenshot effect to XCB
This includes:
* getting cursor image through xcb_xfixes
* using xcb_image_get for reading screen content in xrender case
* using xcb_put_image to upload the generated screenshot into shared xpix

Overall this means that QPixmap as an X Pixmap wrapper is no longer used.
The conversion from xcb_image_t to QImage still needs some code for not
matching byte order. I'm a little bit unsure about adding the code as I
would not be able to test it.

REVIEW: 109076
2013-02-25 13:31:50 +01:00
Martin Gräßlin a3faf455b9 Port Zoom effect to XCB and some small improvements
* use xcb_fixes_foo
* drop QX11Info - we don't need it in the effects
* use QScopedPointer for GLTexture/XRenderPicture
* remove commented code
* use kDebug instead of qDebug

Of course XCursor library is still used as there is no XCB replacement.
What could be considered is adding a getCursor hook into the
EffectsHandler as also the ScreenShot Effect is getting the cursor and
using XCursor doesn't seem future proof to me ;-)

Sorry for putting everything into one commit.

REVIEW: 109083
2013-02-25 10:52:50 +01:00
Script Kiddy 83faa5f54b SVN_SILENT made messages (.desktop file) 2013-02-22 18:00:11 +01:00
Martin Gräßlin 7e10fe524f Fix warnings and compile errors when building with XRender Compositing disabled
ScreenEdgesEffect failed compiling, mouseclick and zoom are yelling
warnings.

Compiling is tested with XRender enabled, for the disabled test I need to
wait for my Jenkins installation ;-)
2013-02-21 18:21:46 +01:00
Thomas Lübking 8129451ab3 re-settle slideBack effect to stackingOrderChanged
BUG: 294490
FIXED-IN: 4.11
2013-02-18 21:55:14 +01:00
Martin Gräßlin 3d5f962566 XRender implementation for ScreenEdges Glow Effect
More or less straight forward port from OpenGL to XRender. There is one small difference:
the corners are not upscaled.

REVIEW: 108939
2013-02-18 09:21:43 +01:00
Martin Gräßlin d0d43046d8 Use XRenderPicture instead of QPixmap in TrackMouse Effect
At the same time porting from XLib to XCB.

REVIEW: 108919
2013-02-14 14:22:57 +01:00
Martin Gräßlin f45ade7785 Port preMultiply of color to xcb_render
Method returns a xcb_render_color_t instead of an XRenderColor.

With this change kwinxrenderutils is XLib free!
2013-02-14 14:20:27 +01:00
Martin Gräßlin f20ec15053 Port xRenderOffscreenTarget away from QPixmap
Instead of having a pointer to a QPixmap the offscreen target holds an
xcb_render_picture_t. To make this possible in SceneWindow the tempPixmap
is changed from a QPixmap* to a XRenderPicture*. QPixmap was only used
for convenience.

ScreenShot Effect as only user of the offscreen target is adjusted but
as it needs a QImage, still uses a QPixmap wrapper.
2013-02-14 14:20:27 +01:00
Martin Gräßlin 368de6842a Wrapper class to create an xcb_xfixes_region_t from a QRegion
Replaces the previously existing method to convert a QRegion which did
not take care of freeing the region again.

Usages are ported over.
2013-02-14 14:20:26 +01:00
Thomas Lübking c395d6e66c fix mouse button order
X counts the middle button as 2 and right as 3, Qt as 4 and 2 resp. the flags
... we shall at least match our GUI ;-)

BUG: 314756
FIXED-IN: 4.10.1
REVIEW: 108883
2013-02-12 21:59:22 +01:00
Thomas Lübking f5744fa224 catch releases without presses
happens when the polling misses the press when doing more
important things

also shortcut buttons == oldButtons

BUG: 314762
FIXED-IN: 4.10.1
REVIEW: 108883
2013-02-12 21:59:22 +01:00
Thomas Lübking 06c725e685 port mouseclick to xcb using a tristrip
REVIEW: 108879
2013-02-12 20:59:47 +01:00
Script Kiddy 9af0232217 SVN_SILENT made messages (.desktop file) 2013-02-12 19:49:11 +01:00
Script Kiddy f63f41de83 SVN_SILENT made messages (.desktop file) 2013-02-12 01:32:38 +01:00
Script Kiddy 1338bc83b2 SVN_SILENT made messages (.desktop file) 2013-02-11 11:27:36 +01:00
Martin Gräßlin 55585514f9 Remove close window mouse action from Present Windows effect
This feature has been superseded by the close window button and as it
is a rather destructive action it makes sense to remove it.

Sorry to everyone who used it.

CCBUG: 314393
REVIEW: 108851
2013-02-11 09:04:06 +01:00
Script Kiddy c14c152cb5 SVN_SILENT made messages (.desktop file) 2013-02-09 09:05:22 +01:00
Martin Gräßlin 8d2df5dba4 Merge branch 'KDE/4.10' 2013-02-08 14:11:03 +01:00
Martin Gräßlin 2f02157a0f Do not activate InvertEffect per window if there is no active window
BUG: 314593
FIXED-IN: 4.10.1
REVIEW: 108828
2013-02-08 14:08:20 +01:00
Marco Martin 9bddaea08b Merge branch 'KDE/4.10' 2013-02-07 17:59:07 +01:00
Script Kiddy 685e9368b1 SVN_SILENT made messages (.desktop file) 2013-02-07 13:30:14 +01:00
Martin Gräßlin 10c07080bb Notify effects when the screen gets locked
EffectsHandlerImpl starts to monitor DBus for the screen being locked and
provides this information to the Effect system by allowing them to ask
whether the screen is currently locked and by emitting a signal when the
screen gets locked/unlocked.

This information is needed to ensure that no private data is shown on the
screen. The following effects are adjusted:
* taskbar thumbnails
* thumbnail aside
* mouse mark
* screen shot

BUG: 255712
FIXED-IN: 4.11
REVIEW: 108670
2013-02-07 10:23:30 +01:00
Martin Gräßlin beb00478e1 Only start animating in cube slide on window move if core uses switch desktop on edge
For this new KWinOptions are exposed to query whether core uses switch on
desktop on move or always.

BUG: 299901
FIXED-IN: 4.11
REVIEW: 108671
2013-02-07 10:10:25 +01:00
Martin Gräßlin 06895db1a9 New Glow on approaching Screen Edge Effect
Feature stolen from hidden Plasma Panel now available for all edges on
approach by mouse.
2013-02-07 09:48:09 +01:00
Martin Gräßlin 7a7f9d1a34 Change the way how screen edges interact with Effects/Scripts
The main difference is that the activation of an edge is no longer
broadcasted to all effects and scripts, but instead a passed in slot of
the Effect/Script is invoked.

For this the EffectsHandler API is changed to take the Effect as an
argument to (un)reserveElectricBorder. As callback slot the existing
borderActivated is used.

In addition the ScreenEdge monitors the object for beeing destroyed and
unregisters the the edge automatically. This removes the need from the
Effect to call unregister in the dtor.

BUG: 309695
FIXED-IN: 4.11
2013-02-07 09:46:52 +01:00
Script Kiddy 63356876ac SVN_SILENT made messages (.desktop file) 2013-02-07 08:57:53 +01:00
Martin Gräßlin 4471e8a41b Do not delete close window on screenCountChanged
Not needed there and causes crash.
2013-02-06 14:32:43 +01:00
Script Kiddy dad894d830 SVN_SILENT made messages (.desktop file) 2013-02-06 08:18:00 +01:00
Script Kiddy 7d16cef10e SVN_SILENT made messages (.desktop file) 2013-02-05 21:32:15 +01:00
Thomas Lübking c713141a37 react on screenCountChanged to re-validate lists
BUG: 314409
REVIEW: 108775
2013-02-05 19:15:40 +01:00
Thomas Lübking 70d19d9c80 Try to keep the labels in the expanded geometry
and ensure to repaint labels for very tiny windows
Also move to LayerRepaints

BUG: 278137
FIXED-IN: 4.10.1
REVIEW: 108676
2013-02-05 19:15:39 +01:00
Script Kiddy 85e8375402 SVN_SILENT made messages (.desktop file) 2013-02-05 16:56:36 +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
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
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