Martin Gräßlin
827486ff36
Introduce a Toplevel::clientContentPos() -> QPoint
...
This describes an additional offset for the client content. On X11
our client content position matches with the window - the window
decoration is part of the overall content coordinate system.
On Wayland the content is an own texture starting at 0/0. Thus a
mapping to texture coordinates will be required when server side
decorations are provided. The new information is used in the scene's
to adjust the rendering and generating of quads.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
5f90fa5cfd
Introduce pure virtual, protectd AbstractClient::acceptsFocus -> bool
...
Replacement for calls to info->input() which is only valid for the Client
sub class, but not for ShellClient.
In ShellClient the implementation is swapped with wantsInput() and
wantsInput() has a new implementation which properly delegates to rules()
just like Client does.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
a4c347fc7a
[wayland] Translate inputTransformation matrix by borderLeft/Top
...
With decorations the ShellClient needs to have another input offset
by borderTop and borderLeft.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
d28fba8839
DecorationShadow operates on AbstractClient
2015-12-18 16:41:49 +01:00
Martin Gräßlin
60b09586ef
[decorations] Schedule repaint for renderer on AbstractClient
...
We need to search in AbstractClient instead of just Client.
2015-12-18 16:41:49 +01:00
Martin Gräßlin
0bf2b1de0f
Add a Workspace::findAbstractClient
...
Like Workspace::findClient just that it operates on AbstractClient
and the m_allClients instead of clients.
2015-12-18 16:41:49 +01:00
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