Commit graph

17680 commits

Author SHA1 Message Date
Jan Grulich
3faeb543a7 Add support for keyboard key press and release from fake input protocol
Summary: Depends on D23766.

Reviewers: davidedmundson, #plasma, romangg

Reviewed By: davidedmundson, #plasma

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D23769
2019-10-22 13:25:03 +02:00
Roman Gilg
929866b1a0 Merge branch 'Plasma/5.17' 2019-10-22 11:29:03 +02:00
Roman Gilg
0d67a0b48a Fix non-atomic output init
Summary:
The initial blank needs to happen after the output device has been
initialized to get the current mode size.

Also we can't assert in legacy mode on the page flip pending since
a page flip can also be the result of a CRTC blank using a different.

BUG: 412684
FIXED-IN: 5.17.1

Test Plan: Full Plasma session

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24829
2019-10-22 11:28:08 +02:00
Vlad Zahorodnii
6dd2d6f169 Merge branch 'Plasma/5.17' 2019-10-22 11:21:59 +03:00
Vlad Zahorodnii
982fefd389 [aurorae] Fix visibility of Context Help button
Summary:
providesContextHelp is a property of DecoratedClient, not Decoration.

BUG: 413145
FIXED-IN: 5.17.1

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24851
2019-10-22 11:21:52 +03:00
Vlad Zahorodnii
e06f83717c Don't use MESA_EGL_NO_X11_HEADERS
Summary:
With recent Mesa updates (19.2.1), MESA_EGL_NO_X11_HEADERS doesn't have
any effect. So, let's include fixx11h.h instead.

Test Plan: I am able to build kwin once again.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24840
2019-10-21 22:18:30 +03:00
David Edmundson
1af0ee3f71 [effects/presentwindows] Fix newly introduced memory leak
Summary: Introduced by accident in my port.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24835
2019-10-21 16:45:19 +01:00
David Edmundson
cd99a901f6 [effects/presentwindows] Port present windows to EffectQuickView
Summary:
Removes over 100 lines of rather confusing code, implicitly introduces a
sharedEngine. Doesn't perform hide/show by moving a window offscreen.

As for the freeze, proving that EffectQuickView covers this case without
lots of extra C++ is an important pre-requisite for ever moving this
effect to a magic declarative API.

General code structure remains the same.

Test Plan: Opened present windows

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24240
2019-10-21 14:36:39 +01:00
l10n daemon script
b81c899194 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-20 09:24:18 +02:00
l10n daemon script
6789573d88 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-20 08:55:01 +02:00
l10n daemon script
d9ed103196 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-20 05:22:16 +02:00
l10n daemon script
e30a761422 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-19 09:45:53 +02:00
l10n daemon script
05d5656712 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-19 09:16:12 +02:00
l10n daemon script
0fcb85804d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-19 05:33:29 +02:00
l10n daemon script
bb7051dd3a SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-18 05:38:34 +02:00
Kai Uwe Broulik
6429019a0f Merge branch 'Plasma/5.17' 2019-10-17 19:04:40 +02:00
Kai Uwe Broulik
2497f901d7 [effects/startupfeedback] Scale application icon size with cursor size
KWin doesn't use Qt scaling and as such the icon remains tiny.
Instead, make it follow the cursor size as the user is likely to have larger cursors on high dpi.

Differential Revision: https://phabricator.kde.org/D24714
2019-10-17 19:04:14 +02:00
l10n daemon script
fe27d39b5c SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-17 05:41:38 +02:00
Fabian Vogt
f4c6de8ec4 Merge branch 'Plasma/5.17' 2019-10-15 16:08:36 +02:00
Fabian Vogt
4982dfd5f5 glx: Don't use sRGB configs on llvmpipe with depth 16
Summary:
This is necessary to keep openQA working, which uses LLVMpipe as a
renderer on a Cirrus device that operates in depth 16.

LLVMpipe advertises 24/32 bit sRGB configurations on this setup, but
they cannot be presented.

CCBUG: 408594

Test Plan: Compile tested only.

Reviewers: fvogt, #kwin, zzag

Reviewed By: fvogt, #kwin, zzag

Subscribers: romangg, sbergeron, fvogt, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D22203
2019-10-15 16:07:01 +02:00
David Edmundson
96701c6702 Merge branch 'Plasma/5.17' 2019-10-15 12:41:39 +01:00
David Edmundson
446e23af5a [aurorae] Fix crash on KCM teardown with Qt5.14
Summary:
Context behaviour subtly changed in Qt5.14 which has exposed some
questionable things in this KCM.

Auorae::Decoration is a context property of the loaded QML.

QObject::~QObject signals it's own deletion before deleting children.
This means the bindings of loaded QML update in particular

aurorae.qml
   DecorationOptions {
        id: options
        deco: decoration
    }

DecorationOptions has a pointer to the previously set decoration which
is now dangling, and we crash.

Rather than adding more guards and smart pointers in DecorationOptions,
this patch deletes the QQmlContext before deleting the context
properties that we expose.

It also moves unreferring the shared qmlcontext we inherit from till
after we've deleted the child context, because it didn't make sense.

Test Plan:
Opened KCM
Closed the KCM
didn't crash

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24594
2019-10-15 12:40:55 +01:00
David Edmundson
82f4e03d7a Merge branch 'Plasma/5.12' into Plasma/5.17 2019-10-15 12:40:42 +01:00
David Edmundson
5d4be83de0 [tabbox] Correctly set global short on kwin tabbox
Summary:
We need to set both the current autoload shortcut and the default
shortcut. setGlobalShortcut is a convenience method for both.

Otherwise clicking defaults in the keys KCM will discard the shortcut
forever.

BUG: 407000

Test Plan:
wiped kglobalshortcutsrc to get a clean slate
restarted kwin
alt+tab
hit defauts in the kwin KCM
could still alt+tab

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24647
2019-10-15 12:39:57 +01:00
l10n daemon script
b967dec72d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-15 09:08:47 +02:00
l10n daemon script
26d3905f89 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-15 05:30:38 +02:00
Roman Gilg
4cd6f9428f Merge branch 'Plasma/5.17' 2019-10-13 15:54:26 -04:00
Roman Gilg
1bd2f8ba63 [platforms/drm] Disable transformations
Summary:
Rotation in the past was not working in the DRM backend reliable. Now on 5.17
it even freezes the KWin session, so for now we need to just disable it trying.

Test Plan:
Tried to change Rotation with KScreen. Nothing happened but session was still
usable afterwards.

Reviewers: #kwin

Subscribers: ngraham, jriddell, bshah, zzag, apol, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24112
2019-10-13 15:52:31 -04:00
Marco Martin
10ace126be [wayland] Make sure fullscreen windows aren't repositioned
Summary:
on X11, setFullScreen is always called after Placement::place()
so they always have the correct geometry.
on wayland, the window if is shown directly as fullscren,
is set fullscreen in init() then place() is evecuted, potentially
moving it to a wrong position and potentially even size (which happens
with maximiziong placement strategy)
so instead of place() the client needs to be explicitly set at
fullscreen geometry

Test Plan:
fullscreen windows always appear with the proper geometry
autotests still pass

Reviewers: #kwin, #plasma, davidedmundson

Reviewed By: #kwin, #plasma, davidedmundson

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24542
2019-10-11 10:46:43 +02:00
Aleix Pol
08d0c6a3bc Reduce interfaces verbosity
Summary: Only report about them when they're requested for the first time.

Test Plan: Been using it for a few days

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: zzag, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24535
2019-10-10 17:31:03 +02:00
Jonathan Riddell
549517293f Update version number for 5.17.0
GIT_SILENT
2019-10-10 12:57:14 +01:00
Jonathan Riddell
9854b9bee5 Update version number for 5.17.80
GIT_SILENT
2019-10-10 12:45:18 +01:00
Jonathan Riddell
27d72437cf Update version number for 5.17.0
GIT_SILENT
2019-10-10 12:40:12 +01:00
l10n daemon script
9f8deb0448 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-10 09:07:20 +02:00
l10n daemon script
382077f872 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-10 05:36:05 +02:00
Marco Martin
8d847bd0ff don't allow to resize or move fullscreen windows
Summary:
add the same check of the Client class: if a window
is fullscreen, is not movable nor resizable

Test Plan:
Doesn't have any visible regression over normal usage,
this partially tackles a bug that can be seen in plasma mobile:
if the placement is "maximizing", then asking windows to be
shown as fullscreen has no effect and they will always be shown as a normal
maximized window.

this now doesn't happen anymore.. most of the times,
 as there must be some race condition
as a concause of the problem

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24515
2019-10-09 14:31:35 +02:00
Marco Martin
1a9a49ab7a don't allow to resize or move fullscreen windows
Summary:
add the same check of the Client class: if a window
is fullscreen, is not movable nor resizable

Test Plan:
Doesn't have any visible regression over normal usage,
this partially tackles a bug that can be seen in plasma mobile:
if the placement is "maximizing", then asking windows to be
shown as fullscreen has no effect and they will always be shown as a normal
maximized window.

this now doesn't happen anymore.. most of the times,
 as there must be some race condition
as a concause of the problem

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24515
2019-10-09 14:30:42 +02:00
l10n daemon script
b1b675e50a SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-08 08:56:12 +02:00
l10n daemon script
3ce9df9f96 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-08 05:28:33 +02:00
l10n daemon script
10ade3e9c7 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-10-07 08:37:26 +02:00
David Edmundson
81c7330671 [scenes/opengl] Set correct blend mode for EffectQuickView buffers
Summary:
Everything is already multiplied in the buffer, we want to copy the
source directly.

Test Plan:
Looked at something with EffectQuickView and alpha
It now matched what it should be

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24368
2019-10-02 20:51:47 +01:00
David Edmundson
d2f37a73dd [plugins/scenes] match push/pop shaders in paintEffectQuickView 2019-10-02 20:33:34 +01:00
Vlad Zahorodnii
cd3a38ab5c Fix coding style 2019-10-02 12:57:59 +03:00
Vlad Zahorodnii
78be358746 Document some geometry properties
Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24338
2019-10-02 11:46:40 +03:00
Vlad Zahorodnii
68cbbb62f0 Don't compute frame extents in packPositionFoo methods
Summary: Use frameMargins() method instead.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24336
2019-10-02 11:46:40 +03:00
Vlad Zahorodnii
1f301b2271 Fix coding style issues in window packing code
Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24335
2019-10-02 11:46:40 +03:00
Vlad Zahorodnii
7d4471eba6 Rename geometry property to frameGeometry
Summary:
In order to properly implement xdg_surface.set_window_geometry we need
two kinds of geometry - frame and buffer. The frame geometry specifies
visible bounds of the client on the screen, excluding client-side drop
shadows. The buffer geometry specifies rectangle on the screen that the
attached buffer or x11 pixmap occupies on the screen.

This change renames the geometry property to frameGeometry in order to
reflect the new meaning assigned to it as well to make it easier to
differentiate between frame geometry and buffer geometry in the future.

Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24334
2019-10-02 11:46:37 +03:00
Vlad Zahorodnii
45784b70e7 [wayland] Get rid of some code duplication in XdgShellClient constructors
Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24332
2019-10-02 11:29:08 +03:00
Vlad Zahorodnii
3ff0f3781a [wayland] Fix some coding style issues in setGeometry method
Reviewers: #kwin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24331
2019-10-02 11:28:53 +03:00
Vlad Zahorodnii
07ded57273 [wayland] Add missing const qualifier in resizeWithChecks
Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24330
2019-10-02 11:28:36 +03:00