Commit graph

11648 commits

Author SHA1 Message Date
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
Martin Gräßlin
73e6d9162d [oxygen/config] Use a pointer for the KWindowInfo member variable
The reason for this change is that the default ctor of KWindowInfo
creates a broken object. Calling any method in it will result in a
crush. Thus it is scheduled for removal in kwindowsystem framework
causing this code to no longer compile.

The solution is to use a pointer and set it to null as long as the
window has not been detected yet.

This is the same change as done for kcm kwinrules. And here we se
why copying code is bad ;-)
2014-02-01 08:58:26 +01:00
Hugo Pereira Da Costa
1e44f3edc8 fix includes 2014-01-31 15:24:13 +01:00
Thomas Lübking
66375ad741 Merge branch 'KDE/4.11'
Conflicts:
	kwin/effects/mouseclick/mouseclick.cpp
	plasma/generic/scriptengines/python/plasma-scriptengine-dataengine-python.desktop
	plasma/generic/scriptengines/python/plasma-scriptengine-runner-python.desktop
	plasma/generic/scriptengines/ruby/plasma-scriptengine-ruby-applet.desktop
	plasma/generic/scriptengines/ruby/plasma-scriptengine-ruby-dataengine.desktop
2014-01-30 20:55:35 +01:00
Thomas Lübking
62b277ad9f depend noborder on motif_noborder after reshape
app_noborder shall be the determined noborder (shape, type)
but relevant noborder shall be determined by rules and respect the
motif hint

BUG: 330573
FIXED-IN: 4.11.6
REVIEW: 115402
2014-01-30 20:25:09 +01:00
Thomas Lübking
34ecf8970e mouseclick FX, don't collect clicks unless active
BUG: 328010
FIXED-IN: 4.11.6
REVIEW: 115389
2014-01-30 20:23:42 +01:00
Martin Gräßlin
ae3cbca5f6 [kwin] Add a test application for testing size increment
The test application can verify that KWin correctly interprets the
WM_NORMAL_HINTS as described in ICCCM section 4.1.2.3 for the
combination of min size, base size and size increment.

Introduces an optional dependency to xcb-icccm library. It's optional
as the last time we tried to use it build.kde.org didn't like it at
all. Thus it should be possible to disable building this test app if
the dependency is not found.
2014-01-30 15:28:12 +01:00
Martin Gräßlin
2a5a89a0e4 [kwin] Remove b2 and laptop window decorations
They have been unmaintained for a long time and nobody stepped up to
port them to the changes in the decoration API. If at some time someone
wants to bring them back it's still in the git history.
2014-01-30 11:03:39 +01:00
Martin Gräßlin
04716ae5e3 [kwin] Rename tests subdirectories to autotests
Follows the naming schemes in frameworks and opens up the possibility
to include test applications for KWin in the tests subdirectory.
2014-01-30 11:01:59 +01:00
Martin Gräßlin
981e7afa96 [kwin/kcmrules] Call setupUi before accessing the ui widgets
This caused a crash with Qt 5.3 dev branch as the widgets are null
before setupUi is called. Might be a bug in Qt but still it makes
sense to first call setupUi and then do further changes to the Ui.
2014-01-30 10:39:40 +01:00
Martin Gräßlin
823222567e [kwin/kcmrules] Use a pointer for the KWindowInfo member variable
The reason for this change is that the default ctor of KWindowInfo
creates a broken object. Calling any method in it will result in a
crush. Thus it is scheduled for removal in kwindowsystem framework
causing this code to no longer compile.

The solution is to use a pointer and set it to null as long as the
window has not been detected yet. To ensure that this doesn't fail
badly an assert is added to the getter in DetectWidget.
2014-01-30 10:35:35 +01:00
l10n daemon script
8bd7159ebc SVN_SILENT made messages (.desktop file) 2014-01-30 06:49:57 +00:00
l10n daemon script
c96df87475 SVN_SILENT made messages (.desktop file) 2014-01-30 04:16:08 +00:00
Thomas Lübking
ffaa9d336e Merge branch 'KDE/4.11'
Conflicts:
	kcontrol/workspaceoptions/workspaceoptions.desktop
	kwin/sm.cpp
2014-01-29 20:28:27 +01:00
Thomas Lübking
23ae01ffd9 full repaints in logout effect
REVIEW: 115276
2014-01-29 19:58:54 +01:00
Thomas Lübking
6bd74cebf3 no autogrouping if deco doesn't support it
BUG: 328272
FIXED-IN: 4.11.6
REVIEW: 115308
2014-01-29 19:58:32 +01:00
Thomas Lübking
374ea9091e remove clientMachine from session handling
since the hostname is resolved asynchronous, testing it can easily fail

CCBUG: 326893
FIXED-IN: 4.11.6
REVIEW: 114963
2014-01-29 19:58:15 +01:00