Commit graph

14046 commits

Author SHA1 Message Date
Martin Gräßlin
7fc15b48fb Drop the Client specific code from Deleted::copyToDeleted
As DecoratedClient is now on AbstractClient we can have all copying
on AbstractClient and don't need any specific Client code.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
6270ea35a2 DecoratedClientImpl switches from operating on Client to AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin
4873b2933f Move decoratedClient from Client to AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin
ce84ae4b65 Move some decoration related signals from Client to AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin
1758db337f DecoratedClientImpl::client returns AbstractClient* instead of Client* 2015-12-18 16:41:49 +01:00
Martin Gräßlin
ae28c2499d Add virtual AbstractClient::showContextHelp and ::providesContextHelp
Required in the context of decorations. Default implementation does
nothing respectively returns false.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
5de55b61e7 Move processDecorationButton(Press|Release) to AbstractClient
This also requires to move m_decorationDoubleClickTimer and reworking
a bit how the x11 events are passed to processDecorationButtonPress.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
38d3346faa Mode dontMoveResize from Client to AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin
a15ccc2215 Move processDecorationMove from Client to AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin
4d61835988 Move implementation of mousePosition to AbstractClient
Also method does not need to be virtual any more.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
ad6ead1928 Move property noBorder from Client to AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin
5d36bab6b2 Move implementation for borderFoo() to AbstractClient
Also makes the methods no longer virtual, can just be provided in
AbstractClient.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
a82daabfe9 Scene::buildQuads can operate on AbstractClient for decoration handling 2015-12-18 16:41:49 +01:00
Martin Gräßlin
f112b0b052 Move handling for decoration rects in Deleted::copyToDeleted
Can now operate on the AbstractClient instead of Client.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
c1053ce1a5 Add a base implementation for layoutDecorationRects to AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin
1659c0b641 Move triggerDecorationRepaint from Client to AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin
0a82746f91 Move decorationHasAlpha from Client to AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin
ebe2989649 Move the KDecoration2::Decoration to AbstractClient
This includes the methods:
* decoration()
* decoration() const
* isDecorated() const

In addition new protected methods are added to destroy the Decoration
and to set it.

Usage of m_decoration in Client code is adjusted.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
5f502c141a [autotests/wayland] Disable KActivities in the tests
Makes our tests time out, we're too fast in shutting down.
2015-12-18 16:40:52 +01:00
Martin Gräßlin
55bae74aae Specify inputTransformation in Toplevel
InputRedirection uses the inputTransformation() to pass to SeatInterface
for focused pointer surface. This prepares for proper input
transformation including scaling and rotation.
2015-12-18 15:37:46 +01:00
Martin Gräßlin
6c746764b4 [plugins/qpa] Safety checks in native interface
During startup it might happen that the QPA is already loaded, but
the wayland server and it's internal connection not yet fully
created. Thus safety check for it.
2015-12-18 15:27:47 +01:00
Martin Gräßlin
20a9a2a247 Introduce a --no-kactivities command line option
This change enables kactivities integration by default again on both
X11 and Wayland (as kactivities no longer blocks). As we have an
infrastructure to disable kactivities we can also make use of it and
offer a command line switch to disable kactivities. This might be
useful for using KWin outside of Plasma.

REVIEW: 126153
2015-12-16 10:42:14 +01:00
Martin Gräßlin
96124c1643 Merge branch 'Plasma/5.5' 2015-12-15 13:08:16 +01:00
Nerdopolis Turfwalker
3247382752 [backends/fbdev] Support framebuffers with different color depths
Support more framebuffer color depths

REVIEW: 126262
BUG: 355569
FIXED-IN: 5.5.1
2015-12-15 13:05:00 +01:00
Martin Gräßlin
14b9046ad2 Unblock signals in child processes
We need to unblock the signals blocked with pthread_sigmask.
This caused kdeinit to block, because it relies on SIGUSR1.

BUG: 356580
FIXED-IN: 5.5.1
REVIEW: 126361
2015-12-15 13:03:30 +01:00
Jonathan Riddell
2f1731222a Update version number for 5.5.1
GIT_SILENT
2015-12-15 10:04:24 +00:00
Martin Gräßlin
2d6fe2cb05 [wayland] Forward error channel of launched processes
This ensures that the redirection to xwayland-errors works properly
for a complete session.
2015-12-15 10:08:36 +01:00
l10n daemon script
b2f053893e SVN_SILENT made messages (.desktop file) 2015-12-14 13:05:42 +00:00
l10n daemon script
7b23cbc13e 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"
2015-12-14 10:29:43 +00:00
Martin Gräßlin
2e191bb751 [backends/virtual] Fix include guards
Kudos to kbroulik for telling me, that I cannot copy'n'paste.
2015-12-10 15:19:19 +01:00
l10n daemon script
a58e788f3c 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"
2015-12-10 09:14:26 +00:00
Alex Richardson
cc29d0d296 Use SERVICE_TYPES parameter to kcoreaddons_desktop_to_json() 2015-12-09 23:42:45 +00:00
Thomas Lübking
8885a6798a emphasize minimization in m. all script
As long as there's something to minimize, do that.
Otherwise unminimize only the windows we minimized
on last invocation.

BUG: 356161
FIXED-IN: 5.6
REVIEW: 126225
2015-12-08 21:08:13 +01:00
Thomas Lübking
7b8ccd760d Merge branch 'Plasma/5.5' 2015-12-08 21:07:35 +01:00
Thomas Lübking
86f2a71b9a ensure to cancel animation on p-re-invocation
BUG: 356381
FIXED-IN: 5.5.1
REVIEW: 126277
2015-12-08 20:32:56 +01:00
Thomas Lübking
fab806df92 avoid pointless kbd grab on moveresize
This makes (Qt5?) clients believe they lost input, ie. are no longer
active and change their visual representation.

REVIEW: 126266
2015-12-08 20:32:32 +01:00
Martin Gräßlin
e5a27cffb1 [wayland] Disallow ptrace on kwin_wayland process
In order to increase the security we disable ptrace on kwin_wayland.
This makes it impossible for a another process running as the same
user to attach to kwin_wayland to install a key logger. It doesn't
protect against higher privileged users, but that's no problem: they
can just read the input device file and don't need to attach to KWin
to become a key logger.

This change is highly inspired by a similar change to kscreenlocker.
A difference is that KWin checks whether we are running under a
debugger. In such a case we still want to allow ptrace.
2015-12-08 11:42:48 +01:00
l10n daemon script
c6aafe23de 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"
2015-12-06 09:17:34 +00:00
Martin Gräßlin
03909b9d58 Allow rendering of input method windows also if screen is locked and OpenGL is used
Needed to get maliit keyboard above the greeter window.

Reviewed-By: Bhushan Shah
2015-12-04 16:37:54 +01:00
Martin Gräßlin
8e66832ba3 Allow rendering of input method windows also if screen is locked
Needed to get maliit keyboard above the greeter window.

Reviewed-By: Bhushan Shah
2015-12-04 16:13:35 +01:00
Martin Gräßlin
e2dc6380d1 [wayland] Pass processStartupEnvironment to ScreenLocker
Need to pass a proper env to ScreenLocker to ensure we don't mess
with the greeter's environment by e.g. unsetting QT_IM_MODULE or
setting EGL_PLATFORM.

Reviewed-By: Bhushan Shah
2015-12-04 16:09:47 +01:00
Jan Kundrát
7c8adeff9e Fix build with Qt 5.6
A recent change [1] led to Qt5PlatformSupport.pc not being installed
anymore. Pkg-config was only used for finding the paths, and the actual
include flags and library names were hardcoded in KWin's
FindQt5PlatformSupport.cmake anyway, so let's just focus on finding
Qt5Gui, the module which provides this Qt5PlatformSupport library, and
work from there.

Thanks to Hrvoje Senjan (shumski) for pointing me towards the upstream
Gerrit change.

[1] https://codereview.qt-project.org/140954/

REVIEW: 126234
2015-12-03 18:28:10 +01:00
Jonathan Riddell
ca7bf7dbe4 Update version number for 5.5.0
GIT_SILENT
2015-12-03 11:27:16 +00:00
Jonathan Riddell
7940a0d16d Update version number for 5.5.90
GIT_SILENT
2015-12-03 11:16:43 +00:00
Martin Gräßlin
c5959a5ffa Fix regression in EglOnXBackend caused by b1914b4b2c
The ctor used by kwin_x11 still had the call to init which is now
performed by SceneOpenGL. This means init was performed twice
ultimately hitting an assert when creating the overlay window.
2015-12-02 09:51:28 +01:00
l10n daemon script
0dd2917cba 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"
2015-12-01 10:31:47 +00:00
Martin Gräßlin
9f8a6d8e24 Merge branch 'Plasma/5.5' 2015-12-01 08:01:00 +01:00
Martin Gräßlin
d89777bcac Make Wayland::EGL optional again
This is needed to make KWin build-able on non-Linux, but is actually
only a workaround. The dependency should also be available on non-Linux.

This disables the EGL integration in the Wayland backend (QPainter still
available) and the EGL fallback in the qpa plugin (preferred context
sharing still available, but requires a working OpenGL Scene).

REVIEW: 126202
2015-12-01 07:58:47 +01:00
Martin Gräßlin
a055e2de82 Only compile VirtualTerminal if libinput is found
The implementation of VirtualTerminal is too linux specific and doesn't
compile on e.g. freebsd. Currently the most usage is in combination with
libinput. Only usage is:
* libinput related functionality in InputRedirection
* backends without custom input handling

Thus binding the feature to whether libinput is available is currently
the least invasive approach to get it compile on non-Linux.

In the long run this needs a different solution. The functionality
provided by VirtualTerminal is required and without the backends don't
work. It's needed to get notified about VT switches, when KWin needs to
stop rendering. So a solution for non-Linux needs to be found if
non-Linux wants to provide Wayland in future.

REVIEW: 126182
2015-12-01 07:57:39 +01:00
Rohan Garg
8680586dbd Add a check for waylandServer in the dtor before using it
Make sure the waylandServer ptr exists before referencing it
in the dtor.

REVIEW: 126190
2015-11-30 15:58:27 +01:00