Commit Graph

11664 Commits (f48aca47a589972a2606429da1097e1b5cbd7306)

Author SHA1 Message Date
Martin Gräßlin f48aca47a5 [kwin] Use ui-file for ShortcutDialog
At the same time switching to QKeySequenceEdit for capturing the
shortcut. This allows to get rid of xmlgui.
2014-02-27 10:18:37 +01:00
Martin Gräßlin ed4a0d0319 Screenedge show support for Clients
This provides a new protocol intended to be used by auto-hiding panels
to make use of the centralized screen edges. To use it a Client can
set an X11 property of type _KDE_NET_WM_SCREEN_EDGE_SHOW to KWin.
As value it takes:
* 0: top edge
* 1: right edge
* 2: bottom edge
* 3: left edge

KWin will hide the Client (hide because unmap or minimize would break
it) and create an Edge. If that Edge gets triggered the Client is shown
again and the property gets deleted. If the Client doesn't border the
specified screen edge the Client gets shown immediately so that we
never end in a situation that we cannot unhide the auto-hidden panel
again. The exact process is described in the documentation of
ScreenEdges. The Client can request to be shown again by deleting the
property.

If KWin gets restarted the state is read from the property and it is
tried to create the edge as described.

As this is a KWin specific extension we need to discuss what it means
for Clients using this feature with other WMs: it does nothing. As
the Client gets hidden by KWin and not by the Client, it just doesn't
get hidden if the WM doesn't provide the feature. In case of an
auto-hiding panel this seems like a good solution given that we don't
want to hide it if we cannot unhide it. Of course there's the option
for the Client to provide that feature itself and if that's wanted we
would need to announce the feature in the _NET_SUPPORTED atom. At the
moment that doesn't sound like being needed as Plasma doesn't want to
provide an own implementation.

The implementation comes with a small test application showing how
the feature is intended to be used.

REVIEW: 115910
2014-02-26 12:54:00 +01:00
Martin Gräßlin 95ab9d05aa [kwin] Remove dependency on KF5Declarative
It's a runtime dependency as PlasmaCore pulls it in automatically,
so we don't it as all the QML we currently ship uses PlasmaCore.
2014-02-26 08:30:52 +01:00
Martin Gräßlin 4586767db8 [kwin] Use imported targets for all XCB libs
Requires 04f78489265b6e52cabd2980dfc417abeee3a695 from ECM
2014-02-25 15:48:39 +01:00
Martin Gräßlin b49b631851 Use new components based FindWayland from ECM
This allows us to better control which features are available.

Requires 6277f5d8acbca3704d3e9ebbdee908537cd7b6eb in ECM.
2014-02-25 14:46:24 +01:00
Martin Gräßlin 2c7d702b5a [kwin] Use FindEgl for finding egl instead of FindOpenGLES
Requires a2ada35b5c768e8efe9b51a41f84ec6e18ea805c from ECM!
2014-02-25 13:50:10 +01:00
Matteo De Carlo 8b5e4bfcfe Replace NULL with nullptr in clients folder
Replacing all NULL to nullptr in all the files in clients folder
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 115921
2014-02-24 17:02:11 +01:00
Matteo De Carlo 4e4be83418 Replace NULL with nullptr in libkdecorations folder
Replacing all NULL to nullptr in all the files in libkdecorations folder
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 115919
2014-02-24 16:47:48 +01:00
Matteo De Carlo 8a9cdba6ae Replace NULL with nullptr in tabbox folder
Replacing all NULL to nullptr in all the files in tabbox folder
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 115917
2014-02-24 16:42:43 +01:00
Matteo De Carlo c01446583e Replace NULL with nullptr in scripting folder
Replacing all NULL to nullptr in all the files in scripting folder
(also substituting some "0" used as nullptr with nullptr)

REVIEW: 115915
2014-02-24 16:33:40 +01:00
Martin Gräßlin 5a521c149f Add GLTexture(const QSize &) ctor
Thanks to delegating ctors that's quite easy to do without boilerplate
code any more.
2014-02-24 16:08:59 +01:00
l10n daemon script 9c8800249a SVN_SILENT made messages (.desktop file) 2014-02-24 04:38:53 +00:00
l10n daemon script 8acdbff8cc SVN_SILENT made messages (.desktop file) 2014-02-23 04:50:11 +00:00
l10n daemon script 31d0cc055b SVN_SILENT made messages (.desktop file) 2014-02-22 04:23:30 +00:00
Martin Gräßlin b8f9fb254f Fix config dialog of Aurorae decorations
Install the layout on the dialog not on the KCM.
2014-02-21 12:12:05 +01:00
Martin Gräßlin b901928801 Fix position of buttons in decoration config dialog
Add after the main item, not before.
2014-02-21 12:08:31 +01:00
Sebastian Kügler d2ae57832b slidingpopups claim windowClosedGrabRole earlier
This seems like a more proper fix for the flickering issue in the
sliding popups effect. The problem is that slidingpopups grabs the
window in windowClosed, the fade effect checks it there, which makes
it racy.

In my tests, I've not seen this problem with the WindowAddedGrab, but
as far as I understand, the problem may well be present there as well.
(And my proposed trick doesn't work.) I've not seen this happening in my
debugging, however. The problem there is also less visible since the
transparency curves go into the same direction, and are more "in line
with each other".

So, fix: Move the setData(WindowClosedGrabRole, ...) call from
windowClosed into windowAdded, which makes sure it's set whenever the
window goes away.

REVIEW:115903
BUG:329991
2014-02-20 14:38:36 +01:00
Sebastian Kügler ca172e2082 Force backgroundcontrast during slidingpopup animations
This fixes the sliding popups losing their contrast effect when
animating, less flicker.

In this patch, we temporarily force the contrast effect on, but only if
it hasn't been explicitely disabled. As soon as the animation stops, the
force flag is disabled again. For disappearing windows, we just set the
flag in the same way, but skip over the bookkeeping, since the window is
going to be deleted, anyway.

REVIEW:115902
2014-02-20 14:11:08 +01:00
Sebastian Kügler 57a0667e9d Force-enable blur for Plasma's windows during desktop slide
Without setting the property, Plasma's panel and dialogs lose the
backgroundcontrast effect during slides, which makes them flicker.

As the panel is shown on screen all the time, this is quite a visible
bug. To fix this, when the slide effect is started, we check for window
types and properties of each window, and force the blur flag on if it's
unset.

If the background contrast flag is set to false, we leave the window
alone assuming that there's a reason to force it off. Windows that
are newly added during the slide get the same treatment, so something
popping up while sliding (such as the desktop switch OSD) also gets
the background effect applied.When the effect stops or is interupted, we
unset what we've set, and clean up our internal bookkeeping.

Thanks Martin and Thomas for the thorough review!

REVIEW:115857
2014-02-19 14:02:09 +01:00
l10n daemon script a8ec2b8bf3 SVN_SILENT made messages (.desktop file) 2014-02-19 05:16:00 +00:00
Marco Martin 337e92a78f check against the proper size 2014-02-18 11:48:18 +01:00
l10n daemon script 6f8c3dd771 SVN_SILENT made messages (.desktop file) 2014-02-18 05:12:30 +00:00
Bhushan Shah be8920d76c kwin is now free of KDE4Support
REVIEW: 115760
2014-02-16 00:31:01 +05:30
Marco Martin 727aa1e5ca Merge branch 'mart/newSlidingPopups'
REVIEW:115630
2014-02-14 14:28:59 +01:00
Marco Martin d7a2a3d31f use multiplyOpacity() 2014-02-14 10:36:51 +01:00
Hrvoje Senjan 814ff851b4 Use correct Activities, they are now a proper framework 2014-02-13 20:06:33 +01:00
Marco Martin 73b1bde2a3 optional property for sliding distance
if a sliding distance is given, it will be used instead of the default.
if that distance is the whole popup size, don't fade
2014-02-13 19:45:42 +01:00
Martin Gräßlin 836bfe11e9 Port away from KWindowSystem::windowInfo
Just using KWindowInfo ctor. In one case in appmenu two usages of
KWindowInfo are merged into one KWindowInfo. And in KWindowList a
usage of adding the KWindowInfos into a list got removed.
2014-02-12 18:23:29 +01:00
Martin Klapetek 70fd9d6b58 [kwin] Client of type NET::Notification should have no borders
Reviewed-by: Martin Gräßlin
2014-02-12 10:53:33 +01:00
Martin Klapetek 404fc2144c [kwin] Make KWin place the OSD
REVIEW: 115334
2014-02-12 10:53:10 +01:00
Martin Gräßlin 3ea8f0c217 [kwin/kcmdesktop] Don't crash if run on platform Wayland
Not much use currently as we don't have any desktops to configure,
but not crashing is nevertheless quite nice.
2014-02-11 15:27:28 +01:00
Marco Martin 36f45fda87 base size in fonts 2014-02-10 17:59:16 +01:00
l10n daemon script f67e67e5f0 SVN_SILENT made messages (.desktop file) 2014-02-09 05:45:40 +00:00
Marco Martin 117d8d5262 tweak sliding popup
slide only a fixed amount of pixel and fade at the same time
TODO: dpi independent
2014-02-07 15:18:45 +01:00
l10n daemon script 0212b9d185 SVN_SILENT made messages (.desktop file) 2014-02-06 04:11:22 +00:00
Martin Gräßlin fdee4ea8c8 Adjust kde-workspace to introduction of flags in NET classes 2014-02-05 17:40:19 +01:00
Martin Gräßlin dc9f613113 [kwin] Do not use camelcase includes for kactivities
Jenkins doesn't like them, so let's try without them.
2014-02-04 09:36:15 +01:00
Martin Gräßlin 93f9918905 [kwin] Change to new connect syntax for KActivities
Just to be sure, that we get a compile error in case it changes.
2014-02-03 13:44:06 +01:00
Martin Gräßlin 9414d8f7f1 [kwin] Re-enable KActivities support
* KWin lists the activities in the Alt+F3 menu
* Kcmrules though looks wrong
2014-02-03 13:40:47 +01:00
Martin Gräßlin a6c47e0314 [kwin] Add ProvidersUrl to *.knsrc
That at least inits the GHNS download dialog.
2014-02-03 13:04:12 +01:00
Martin Gräßlin 16c44810cb [kwin] Drop more unused includes
--warnings
2014-02-03 11:45:35 +01:00
Martin Gräßlin c954a3151c [kwin] Remove another useless kdebug include 2014-02-03 11:40:16 +01:00
Martin Gräßlin fcebfa799f [kwin] Fix ordering
--warnings
2014-02-03 11:37:04 +01:00
Martin Gräßlin f4597a3552 [kwin] Drop unused includes to KDebug 2014-02-03 11:36:46 +01:00
Martin Gräßlin 014cdf9267 [kwin] Mark unused variables as unused
--warnings
2014-02-03 11:36:21 +01:00
Martin Gräßlin a6b12108c9 Merge branch 'KDE/4.11'
Conflicts:
	kwin/clients/oxygen/config/oxygendetectwidget.cpp
2014-02-02 12:01:38 +01:00
Marek Marczykowski-Górecki 2ccf1bc3f0 kwin: fix handling of window size hints with PResizeInc
Use base_width/base_height if provided by the application and fallback to
min_width/min_height only if not (according to ICCCM 4.1.2.3).

This fixes long standing bug with shrinking gnome-terminal window.

REVIEW: 115396
2014-02-02 11:57:19 +01:00
l10n daemon script 7f7fc12a05 SVN_SILENT made messages (.desktop file) 2014-02-02 04:21:17 +00:00
Martin Gräßlin 0b32e5e57d [kwin] Listen to mouse motion events in the screenedge windows
Problem description: if a window decoration is in the screenedge
(not really unlikely for maximized windows) we either did not get
mouse events to the decoration or the screenedge window. E.g. the
enter event didn't reach the approach window which means it doesn't
get unmapped and thus the motion events in that area are not passed
to the decoration below. The same happened for the screenedge window,
the enter event was just not delivered if there is a window decoration
in the edge.

To solve this problem we listen for motion events in the approach and
the edge window and pass them from the event filter to the screen edges.
If one of our windows contains that the position of the motion event
we trigger the edge just in the same way as we do with the enter event.
2014-02-01 10:03:49 +01:00
Martin Gräßlin 7c7f137832 [kwin] Drop handling for mouse motion event compression
Not needed as Qt does it for us in the xcb plugin - see
QXcbConnection::processXcbEvents().
2014-02-01 09:34:40 +01:00