Commit Graph

14001 Commits (f284ef814cc880abe99f71ebb7c84ef396512d51)

Author SHA1 Message Date
Martin Gräßlin cb400d7128 DecorationBridge creates Decoration for AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin 9ae2b505fa Group decoration related variables in a struct in AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin f4246ba7e2 SceneQPainter::Window::renderWindowDecorations operates on AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin 401efc28a8 SceneOpenGL::Window::getDecorationTexture() operates on AbstractClient 2015-12-18 16:41:49 +01:00
Martin Gräßlin e61ad65f10 InputRedirection::updatePointerDecoration operates on AbstractClient for deco
As decoration and decoratedClient is now in AbstractClient we don't need
to keep it as Client specific code.
2015-12-18 16:41:49 +01:00
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