Commit Graph

12618 Commits (65fd014fdb6948b10af63591763bdc5248adeac4)

Author SHA1 Message Date
Martin Gräßlin 9fae34f86f Remove Client::getWMHints in favor of functionality in NETWinInfo
We are only using the UrgencyHint, InputHint and GroupLeader from
WMHints. Those are provided by NETWinInfo, so we can use the
functionality provided by NETWinInfo instead of calling XGetWMHints.

REVIEW: 120162
2014-09-15 16:29:47 +02:00
Martin Gräßlin 73ec4569df Fix misaligned combo box in window rules kcm
The combox for "Titlebar color scheme" was of the wrong size and a
little misaligned.

Thanks to kdeuser56 for this patch.

REVIEW: 119998
2014-09-15 16:19:50 +02:00
Fredrik Höglund 078d5ac5b5 Add support for EGL_EXT_platform_wayland 2014-09-13 12:07:33 +02:00
Fredrik Höglund c9e2f36802 Add support for EGL_EXT_platform_x11 2014-09-13 12:07:32 +02:00
Fredrik Höglund 3b4907d060 Add support for explicit command stream synchronization
Create and import X sync fences into GL and use them to synchronize
the kwin command stream with the X command stream.

This prevents damaged windows from being composited by kwin before
the rendering that triggered the damage events have finished on
the GPU.

Requires GL_EXT_x11_sync_object.

Tested-by: Marco Martin <notmart@gmail.com>
2014-09-12 14:50:12 +02:00
l10n daemon script 8a620e7259 SVN_SILENT made messages (.desktop file) 2014-09-11 08:46:22 +00:00
Martin Gräßlin 1b091a0517 [PaintRedirector] Fix typo
BUG: 338210
2014-09-08 14:41:07 +02:00
Martin Gräßlin d96af81f5e Merge branch 'Plasma/5.0'
Conflicts:
	kcmkwin/kwindesktop/desktop.desktop
2014-09-08 10:07:57 +02:00
Martin Gräßlin edd2899094 [aurorae] Use AlignHCenter instead of AlignCenter for horizontalAlignment
The Text.horizontalAlignment property expects AlignHCenter instead of
AlignCenter. By not using AlignHCenter the centering broke when a window
got maximized.
2014-09-08 10:05:44 +02:00
l10n daemon script 65548b0df3 SVN_SILENT made messages (.desktop file) 2014-09-07 09:22:40 +00:00
l10n daemon script 1205c9c170 SVN_SILENT made messages (.desktop file) 2014-09-07 08:46:08 +00:00
l10n daemon script 6a9b43e486 SVN_SILENT made messages (.desktop file) 2014-09-04 09:13:04 +00:00
l10n daemon script e75adfa9f5 SVN_SILENT made messages (.desktop file) 2014-09-04 08:36:54 +00:00
Martin Gräßlin d2e4b4300e [autotests/wayland_client] Make TestWaylandShell more robust 2014-09-03 21:31:10 +02:00
Martin Gräßlin 7b2d7d9c54 [autotests/wayland_client] Improve TestWaylandShell
Uses our own Wayland server instead of starting Weston and adds
tests for the interface removed signals.
2014-09-03 21:13:25 +02:00
Martin Gräßlin 7748b64ba0 [kwin_wayland] Add assert in Display::setRunning
Making the impossible condition an assert instead of a return.
2014-09-03 20:04:31 +02:00
Martin Gräßlin a69228ed0d [kwin_wayland] Fix Display::outputs
Should return a const-ref not a const copy.
2014-09-03 20:03:13 +02:00
Martin Gräßlin 515903cc33 [kwin_wayland] Test that Seat gets destroyed when Display terminates 2014-09-03 20:02:42 +02:00
Martin Gräßlin 7e27f2fc0c [kwin_wayland] Test adding/removing Outputs in TestWaylandServerDisplay 2014-09-03 20:01:54 +02:00
Fredrik Höglund c061cc5fd9 Match the fbconfig visual depth to the window
Not all RGBA 8888 fbconfigs in the NVIDIA driver have an associated
X visual with a 32 bit depth.

This fixes a regression from 88f8078073.

Tested-by: Eike Hein <hein@kde.org>
2014-09-03 19:52:56 +02:00
Martin Gräßlin c00c67bf29 [scripting] Drop qmlRegisterType for QQuickWindow
Not needed as one can just do:
import QtQuick.Window;

This fixes a build problem with Qt 5.4.

BUG: 338277
2014-09-03 09:47:21 +02:00
l10n daemon script 9af9814859 SVN_SILENT made messages (.desktop file) 2014-09-02 11:19:59 +00:00
l10n daemon script 493e9b3238 SVN_SILENT made messages (.desktop file) 2014-09-02 10:43:26 +00:00
Martin Gräßlin dbad3d12e6 [kwin_wayland] define WL_SEAT_NAME_SINCE_VERSION if not defined
Apparently not yet in wayland server library on build.kde.org.
2014-09-02 11:11:26 +02:00
Martin Gräßlin 5852a4c069 [kwin_wayland] Add SeatInterface to server module
So far the Seat interface is provided together with pointer and
keyboard. As always touch is not yet implemented. The pointer interface
is still lacking the set cursor callback. Keyboard on the other hand is
complete.

Both Keyboard and Pointer have the concept of a focused surface and only
to the bound interface belonging to the same client as the focused
surface events are sent.

The change comes with a set of new auto tests also verifying the client
side which wasn't possible before as we couldn't fake events.
2014-09-02 10:55:33 +02:00
Martin Gräßlin 106b540d91 [kwin_wayland] Add Shell and ShellSurface to server module
ShellSurfaceInterface is not yet completely implemented. Several parts
are still TODO, e.g. move/resize is missing, setting to maximized is
missing and also flags for fullscreen are missing.

The surface test is extended as far as possible.
2014-09-02 10:55:33 +02:00
Martin Gräßlin 35c4786820 [kwin_wayland] Add support for shm buffers in server module
The Display provides a method to create the shm pool and a
BufferInterface class is added to the server module. It is created
from the SurfaceInterface when a buffer gets attached to the surface.
The BufferInterface can be referenced and once its unreferenced it
sends a buffer release to the client and destroys itself.

For the case that the buffer is a shm buffer the BufferInterface
provides a convenience method to turn it into a QImage.

The auto test for Surface is extended by attaching buffers to the
surface and verifying that the content is correct.
2014-09-02 09:52:16 +02:00
Martin Gräßlin cb7cabe98e [kwin_wayland] Add CompositorInterface and SurfaceInterface
As far as it's currently possible to implement. CompositorInterface is
able to create a surface and emits the created SurfaceInterface. It
does not yet support regions.

The SurfaceInterface is already more complete. It keeps track of the
double buffered states and emits signals when one of the values are
changed after the committing. It supports frame callbacks and has a
hook to mark the frame as rendered.

What's still missing are the regions (as it's not implemented in
CompositorInterface) and attaching the buffer as we do not yet support
creating shm buffers and pools.

The client side test is changed to use our own server and extended to
test damage and frame callback. The test needs to be extended for scale
and transform, but that is still missing in the client side
implementation.
2014-09-02 09:52:16 +02:00
Martin Gräßlin 1e230fda77 [kwin_wayland] Initial addition of the WaylandServer module
So far this new module contains:
* Display
* OutputInterface

Display manages the server socket and server event loop. In general it's
the entry point to any part of the server.

OutputInterface is the abstraction for the wl_output interface on server
side. An OutputInterface is created through the Display.

The auto tests for ConnectionThread and Output are adjusted to use the
internal server instead of starting Weston. Especially the Output test
could be extended to test much more as we have absolute control over
the server now.
2014-09-02 09:52:16 +02:00
Martin Gräßlin 81eab11dbb [kwin_wayland] Fix enum arguments in Q_SIGNALS
Need to be fully specified and declared as a metatype.
2014-09-02 09:52:16 +02:00
Martin Gräßlin e11df5b4f5 [kwin_wayland] Keep the size in Surface
Technically the Surface itself does not have a size, it's the
ShellSurface or the size of the FullScreenShell's Output. But it
simplifies a lot if we keep track of the size in the Surface as that
way we can hide the fact which kind of Shell is used.

The user of the Surface must connect either the FullscreenShell's
Output or the ShellSurface to set the size on the Surface.
2014-09-02 09:52:16 +02:00
Martin Gräßlin 9bde3bf0ce [kwin_wayland] Hold the currently entered Surface in Pointer 2014-09-02 09:48:05 +02:00
Martin Gräßlin 94654a12dd [kwin_wayland] Track all created Wayland::Surface
Add static accessors to get all Surfaces and the Surface for a
wl_surface to Wayland::Surface.
2014-09-02 09:48:05 +02:00
Fredrik Höglund e1e6badb6a glx: Remove initDrawableConfigs()
The table that maps pixmap depths to FBConfigs is no longer used.
2014-09-01 17:45:58 +02:00
Fredrik Höglund 4f9ea5335d Remove SceneOpenGL::Texture::findTarget()
It is no longer used.
2014-09-01 17:45:58 +02:00
Fredrik Höglund 59212e3a79 Remove SceneOpenGL::Texture::load(..., int depth)
The scene always uses the version that takes an xcb_visualid_t.
2014-09-01 17:45:58 +02:00
Fredrik Höglund 88f8078073 glx: Use the X visual when choosing an FBConfig
This adds a SceneOpenGL::Texture::load(..., xcb_visualid_t) overload,
and uses it to bind window pixmaps to textures.

By taking the RGBA masks in the visual into account when choosing an
FBConfig for the GLXPixmap, we are able to disambiguate formats that
have the same depth, such as GL_RGB10_A2 and GL_RGBA8.
2014-09-01 17:45:58 +02:00
Fredrik Höglund ada5d02170 xrender: Remove findFormatForVisual()
Use XRenderUtils::findPictFormat() instead.
2014-09-01 17:45:58 +02:00
Fredrik Höglund 3a47b1c1c0 Add XRenderUtils::findPictFormat() and findPictFormatInfo()
These methods look up the render pictformat that correspond to an
X visual, and the format description respectively.
2014-09-01 17:45:58 +02:00
Fredrik Höglund cf62fe51dc Add a bitCount() util function
This function returns the number of bits set in an unsigned integer.
2014-09-01 17:45:58 +02:00
Fredrik Höglund fc56ac28fb Remove SceneOpenGL::Texture::update()
The default implementation is a no-op, and none of the current
backends reimplement it.
2014-09-01 17:45:57 +02:00
Fredrik Höglund 210df22b17 Remove SceneOpenGL::Texture::load(QPixmap)
Fold it into the constructor, since that's the only place
where it's called.
2014-09-01 17:45:57 +02:00
Fredrik Höglund 49c8827345 Remove SceneOpenGL::Texture::load(QImage)
It's never called.
2014-09-01 17:45:57 +02:00
Fredrik Höglund ff096e532f Remove the region parameter from Texture::load()
It's never used.
2014-09-01 17:45:57 +02:00
Fredrik Höglund 1c7938e43e Don't pass pixmap handles as const references
But do pass the region in SceneOpenGL::Texture::load() as a const
reference.

This patch also replaces the Xlib types with their xcb equivalents.
2014-09-01 17:45:57 +02:00
l10n daemon script 26baff06a4 SVN_SILENT made messages (.desktop file) 2014-09-01 09:18:50 +00:00
l10n daemon script baf37deacd SVN_SILENT made messages (.desktop file) 2014-09-01 08:42:05 +00:00
l10n daemon script 5114d9b5da SVN_SILENT made messages (.desktop file) 2014-08-31 08:41:36 +00:00
Bernd Steinhauser 9ec2272dc3 Fix target dependencies. 2014-08-29 12:49:04 +02:00
Thomas Lübking c8abd56a2f fix shortcut extrapolation
NativeText is translated (ie. matching
ctrl against eg. strg) and the shortcut
must be added to KGlobalAccel to feed
further extrapolations

BUG: 338579
REVIEW: 119949
2014-08-28 20:31:15 +02:00