Commit graph

2346 commits

Author SHA1 Message Date
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
Script Kiddy
0bd6e413b2 SVN_SILENT made messages (.desktop file) 2013-02-13 00:36:34 +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
b233288439 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:16:35 +01:00
Thomas Lübking
e36e5efab8 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:16:29 +01:00
Thomas Lübking
c016589fcd 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
(cherry picked from commit 1365f04435f0bbbc74301988b778f7fdf1ad4fd8)
2013-02-12 21:15:55 +01:00
Thomas Lübking
1cc5c2ff3f react on screenCountChanged to re-validate lists
includes fixing commit 1ac2f407c67c5740fb79cb11b610814a056b3268

BUG: 314409
REVIEW: 108775
FIXED-IN: 4.10.1
(cherry picked from commit e4ef2f072336a59039b1372266e4a5ab05d29cc0)
2013-02-12 21:15:37 +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
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
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
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
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
Thomas Lübking
ad36e510e4 don't zoom or clamp windows on effect start/end
REVIEW: 108477
BUG: 294428
2013-01-23 21:28:25 +01:00
Thomas Lübking
5d0e383924 don't stopMousePolling when not started
REVIEW: 108536
BUG: 313655
2013-01-23 21:28:25 +01:00
Thomas Lübking
31f20cb4b1 push zoomregion on contact
BUG: 312956
2013-01-23 21:27:46 +01:00
Thomas Lübking
1a5640cfc5 continuous zoom animation support, constant time driven 2013-01-23 21:27:46 +01:00
Thomas Lübking
74fa33497f reset generic shader after zoom
REVIEW: 108252
BUG: 304435
2013-01-23 21:27:45 +01:00
Thomas Lübking
c312914f6e don't zoom or clamp windows on effect start/end
REVIEW: 108477
BUG: 294428
2013-01-23 21:27:43 +01:00
Thomas Lübking
9a5db24cdf don't stopMousePolling when not started
REVIEW: 108536
BUG: 313655
2013-01-23 21:27:43 +01:00
Martin Gräßlin
819b474a79 Introduce property "visible" on EffectWindow
This property can be used to check whether a window is currently visible
to the user, that is:
* not minimized
* on the current desktop
* on current activity

This is a common need for various effects.

REVIEW: 108341
2013-01-21 15:56:58 +01:00
Script Kiddy
763a953d4a SVN_SILENT made messages (.desktop file) 2013-01-21 12:47:21 +01:00
Script Kiddy
2781f240b6 SVN_SILENT made messages (.desktop file) 2013-01-21 08:20:27 +01:00
Script Kiddy
26a316d044 SVN_SILENT made messages (.desktop file) 2013-01-20 11:57:59 +01:00
Script Kiddy
eb22a0ea1c SVN_SILENT made messages (.desktop file) 2013-01-20 07:52:28 +01:00
Script Kiddy
61e92cf442 SVN_SILENT made messages (.desktop file) 2013-01-18 12:35:32 +01:00
Script Kiddy
96f88dda18 SVN_SILENT made messages (.desktop file) 2013-01-18 08:08:47 +01:00
Script Kiddy
589ed300d1 SVN_SILENT made messages (.desktop file) 2013-01-17 12:53:52 +01:00
Script Kiddy
8154d50dec SVN_SILENT made messages (.desktop file) 2013-01-17 08:15:16 +01:00
Aaron Seigo
de008fe200 Merge branch 'KDE/4.10' 2013-01-16 16:17:20 +01:00
Script Kiddy
3cddfdecff SVN_SILENT made messages (.desktop file) 2013-01-16 12:37:47 +01:00
Script Kiddy
f49ad23e8a SVN_SILENT made messages (.desktop file) 2013-01-16 08:25:39 +01:00
Martin Gräßlin
b7f06b8708 Use window size for offscreen texture size in screenshot effect
Effect used the display size which caused windows being larger than
either width or height not to be captured correctly.

Now it uses the window size for the offscreen texture which also requires
to adjust the modelviewprojection matrix.

As an unrelated change the pointer to GLRenderTarget and GLTexture are
changed to a QScopedPointer and some variables which got moved around
are consted.

BUG: 312851
FIXED-IN: 4.11
REVIEW: 108258
2013-01-15 15:05:43 +01:00
Script Kiddy
0e73ee70a4 SVN_SILENT made messages (.desktop file) 2013-01-13 12:19:08 +01:00
Script Kiddy
e22b539e3a SVN_SILENT made messages (.desktop file) 2013-01-13 08:07:12 +01:00
Weng Xuetian
b0887fe0cf Merge remote-tracking branch 'origin/KDE/4.10' 2013-01-12 09:39:06 -05:00
Script Kiddy
537cd85eff SVN_SILENT made messages (.desktop file) 2013-01-12 13:13:12 +01:00
Martin Gräßlin
47da2464f3 Merge branch 'KDE/4.10' 2013-01-11 08:52:42 +01:00
Martin Gräßlin
524a63b3fe Track painted areas in Thumbnail Aside effect
Following the approach of ShowPaint effect by tracking the actual painted
regions per window to determine whether the painted area intersects with
one of the thumbnails.

BUG: 306169
FIXED-IN: 4.10
REVIEW: 108289
2013-01-11 08:51:20 +01:00
Martin Gräßlin
e654c9d106 Do not clip away shadows in SlidingPopupsEffect
Animation now completely based on the expandedGeometry which includes the
shadows and another repaint at the end of the animation is added to
ensure that there are no leftover shadows.

BUG: 312168
FIXED-IN: 4.10
REVIEW: 108255
2013-01-11 08:50:15 +01:00
Script Kiddy
3035d220c0 SVN_SILENT made messages (.desktop file) 2013-01-11 08:17:14 +01:00
Weng Xuetian
0a699cf8ce Merge remote-tracking branch 'origin/KDE/4.10' 2013-01-10 13:19:04 -05:00
Script Kiddy
d5a0dd56cf SVN_SILENT made messages (.desktop file) 2013-01-10 12:23:23 +01:00
Martin Gräßlin
80bd289e06 Better names for global shortcuts in Zoom Effect
BUG: 288903
FIXED-IN: 4.11
REVIEW: 108290
2013-01-10 08:28:30 +01:00
Script Kiddy
a2c44c29f4 SVN_SILENT made messages (.desktop file) 2013-01-08 22:37:02 +01:00
Script Kiddy
6e267063d8 SVN_SILENT made messages (.desktop file) 2013-01-08 17:21:50 +01:00
Martin Gräßlin
a4ef906b14 Fix warnings
SVN_SILENT
2013-01-08 11:08:46 +01:00
Albert Astals Cid
dec63fb987 Merge remote-tracking branch 'origin/KDE/4.10' 2013-01-07 11:04:39 +01:00
Martin Gräßlin
565b4ed6a3 Common way to announce support for specific effects through X11
Instead of each effect, which needs to announce support, having custom
code to create a property and set it on the root window, there is now a
common API in EffectsHandler to take care of this.

The methods takes care of creating the atom if it has not already done
and set the property on the root window. Furthermore it allows multiple
effects to announce the same property without getting in conflict with
each other.

As a further convenience the property is automatically removed when the
effect is unloaded, so less things an effect author has to care about.

REVIEW: 107815
2013-01-07 10:00:01 +01:00
Martin Gräßlin
334b4bf622 Move handling of Virtual Desktops into a VirtualDesktopManager
The ownership for virtual desktops is moved from Workspace into a new
VirtualDesktopManager. The manager is responsible for providing the count
of virtual desktops and keeping track of the currently used virtual
desktop.

All methods related to moving between desktops are also moved from
Workspace to the new manager, though all methods related to Clients on
Virtual Desktops remain in Workspace for the time being. This is to have
the new manager as independent from KWin core as possible.

An rather important change for the handling of virtual desktops is that
the count and the id of a desktop is now an unsinged integer instead of
an integer. The reason for that is that we cannot have a negative count
of desktops as well as it is not possible to be on a desktop with a
negative identifier.

In that regard it is important to remember that a Client can be on a
desktop with a negative identifier. The special value for a Client being
on all desktops is handled by using -1 as a desktop. For the time being
this is not adjusted but instead of comparing the virtual desktop ids one
should prefer to use the convenient methods like isOnDesktop and
isOnAllDesktops. This would allow in future to internally change the
representation for on all desktops.
2013-01-07 09:47:51 +01:00
Script Kiddy
c6d91ac7eb SVN_SILENT made messages (.desktop file) 2013-01-07 08:11:48 +01:00
Weng Xuetian
6fd8db7af9 Merge branch 'KDE/4.10' 2013-01-06 23:25:01 -05:00
Script Kiddy
93c9fd0f32 SVN_SILENT made messages (.desktop file) 2013-01-04 07:44:10 +01:00
Script Kiddy
d6dd4308db SVN_SILENT made messages (.desktop file) 2013-01-03 07:40:00 +01:00
Thomas Lübking
8b35d3e34e finish / sync screenshot before calling ksnapshot
BUG: 312209
FIXED-IN: 4.10
REVIEW: 107981
2013-01-02 19:05:11 +01:00
Thomas Lübking
dcab3d44f3 snaphelper: repaint center rect on resizing client
BUG: 311551
FIXED-IN: 4.10
REVIEW: 108005
2013-01-02 19:05:10 +01:00
Martin Gräßlin
533d57da60 Mark most ctors as explicit as reported by Krazy2 checker 2013-01-02 18:35:46 +01:00
Thomas Lübking
75e87a44ce finish / sync screenshot before calling ksnapshot
BUG: 312209
FIXED-IN: 4.10
REVIEW: 107981
2013-01-02 18:25:45 +01:00
Thomas Lübking
d83d4a7977 snaphelper: repaint center rect on resizing client
BUG: 311551
FIXED-IN: 4.10
REVIEW: 108005
2013-01-02 18:25:24 +01:00
Martin Gräßlin
a0e8987adb Port Logout Effect to KConfigXT
REVIEW: 107935
2012-12-30 09:51:01 +01:00