- 02 Apr, 2015 3 commits
-
-
Martin Flöser authored
Getting the cursor image from the cursor theme is unfortunately not straight forward. We have three different libraries and all have drawbacks: * XCursor - we just kicked it out * xcb-util/cursor - only provides xcb_cursor_t, so a dependency on X * wayland-cursor - only a client side API The picked solution is using wayland-cursor. It provides the cursor in a wl_buffer. Unfortunately the client side API does not easily allow to a) read it back b) init without a wl_shm_pool Thus we need to work this around: * create an internal connection * get a ShmPool on it * init WaylandCursorTheme with this ShmPool * get the cursor wl_buffer from the theme * trigger a roundtrip * get the corresponding BufferInterface for the buffer * set the content as the software cursor
-
Martin Flöser authored
Allows to use the WaylandCursorTheme without needing a WaylandBackend. WaylandBackend was only used for getting the ShmPool.
-
Martin Flöser authored
We need to also pass the client to the verification.
-
- 01 Apr, 2015 18 commits
-
-
Mika Allan Rauhala authored
We already set WindowForceBlurRole for docks during Present Windows. This also sets WindowForceBackgroundContrastRole. REVIEW: 122904 BUG: 341926
-
Martin Flöser authored
At least the framebuffer backend does not have support for an overlay cursor. Thus the cursor needs to be rendered by the scene. This change allows a backend to set that it needs a software cursor which triggers tracking in the AbstractBackend. A repaint for the old cursor region is triggered whenever the cursor pos changes. So far only the QPainter/framebuffer scene is adjusted to render the software cursor. This is done after rendering a frame with the up to date cursor position. There is one problem, though: the KWin internal cursors don't work as we need to get it from the theme. Using wayland-cursor doesn't help as it gives us a (client) wl_buffer* and we cannot read the memory back.
-
Martin Flöser authored
The framebuffer backend currently only supports the QPainter backend if the format matches RGB32. It does not yet support any cursors.
-
Martin Flöser authored
If we have a VirtualTerminal and get a XKB_KEY_XF86Switch_VT_* keysym we trigger a VT switch.
-
Martin Flöser authored
A new Singleton VirtualTerminal is added. It interacts with Logind to get the VTNr to take over. To get the signal to release and acquire the VT we use a signalfd with a QSocketNotifier to monitor for signals. The used signals must be blocked for all threads prior to startup otherwise they are delivered to secondary threads causing issues.
-
Martin Flöser authored
-
Martin Flöser authored
When our session gets inactive libinput loses all devices, thus our Seat would not have neither keyboard, pointer nor touch. To not confuse all connected clients we block updates while libinput is suspended. After resume we check whether something actually changed and emit the corresponding signals to ensure everything is up to date.
-
Martin Flöser authored
Parts rely on screens being available but input might be created before screens are available. Thus connect to signal and delay.
-
Martin Flöser authored
-
Martin Flöser authored
nullptr checks as input events might be processed prior to KWin having been fully started.
-
Martin Flöser authored
Don't want it to be called again if we lose session control.
-
Martin Flöser authored
We never want to call takeControl twice at the same time.
-
Martin Flöser authored
TODO: send new modifier information to wayland server.
-
Martin Flöser authored
-
Martin Flöser authored
SceneQPainter delegates creation to the AbstractBackend removing the casting logic.
-
Martin Flöser authored
Replaces casting logic in the SceneOpenGL. Now the create is delegated to the backend allowing also to move the ifdef logic to where it belongs.
-
Martin Flöser authored
If we don't have EGL we also do not want Wayland_EGL.
-
Martin Flöser authored
The AbstractBackend provides a virtual method to create the Screens. A concrete backend can implement this method to create the backend specific Screens instance. This removes the casting logic from Screens::create.
-
- 31 Mar, 2015 3 commits
-
-
Mika Allan Rauhala authored
Adapt to API changes introduced by b62e8888cd39301e00ad98dfe791fa66676408fb. It adds DecoratedClient::color(group, role) for getting colors that are not included in QPalette. Breeze used to read these colors from kdeglobals, breaking per window color schemes. KWin now handles reading these colors along with QPalette loading with DecorationPalette. REVIEW: 122883
-
Martin Flöser authored
Without it results in a nice crash when trying to use with touch support. Having ways to test clearly improves ;-)
-
Mika Allan Rauhala authored
This adds "Quick Tile Window to the Top" and "Quick Title Window to the Bottom" shortcuts. These are useful for those using displays that are in portrait orientation. CCBUG: 310005 REVIEW: 123153
-
- 26 Mar, 2015 2 commits
-
-
Martin Flöser authored
We handle device added/remove to monitor whether we have keyboard, pointer and touch devices and emit signals. Those are used to update the SeatInferface from InputRedirection.
-
Martin Flöser authored
Without we might end in a race as kwin_wayland might start the Xwayland server before we have a populated seat interface.
-
- 25 Mar, 2015 4 commits
-
-
Martin Flöser authored
-
Martin Flöser authored
InputRedirection gains basic support for processing touch events which are delegated to KWayland::Server. WaylandBackend accepts touch events from KWayland::Client and delegates them to the InputRedirection.
-
Martin Flöser authored
Fixes a defect reported by coverity.
-
Nick Shaforostoff authored
REVIEW: 123114
-
- 24 Mar, 2015 4 commits
-
-
Martin Flöser authored
Let's try again.
-
Martin Flöser authored
Build error in SceneOpenGL.
-
Andrey Bondrov authored
-
Martin Flöser authored
* Vendor name * Vendor release * Protocol version * All Extensions used by KWin (name, present and version) Need for this recognized due to a bug related to no xrandr present. CCBUG: 345448
-
- 23 Mar, 2015 6 commits
-
-
Martin Flöser authored
Based on experience that builds might not have optional features (packagers running automated builds, devs using kdesrc-build).
-
Martin Flöser authored
We released three versions with it being disabled and it doesn't look like it will come back any time soon. Also the build was broken at least since the repo splitting due to incorrect path to dbus xml. In addition the connection to decorations got dropped already with the change to kdecoration2. Which means it anyway needs large adjustements to get the code working again. Overall it doesn't look like it makes lots of sense to keep the code around for someone working on it in future. If that happens this change can be reverted.
-
Martin Flöser authored
Not referenced anywhere in build system.
-
Martin Flöser authored
They are installed in the WaylandServer, thus we don't need an explicit singleton accessor. If we need to differentiate we can cast.
-
Andrey Bondrov authored
-
Martin Flöser authored
It didn't get adjusted for Xwayland, so probably doesn't work any more. The rendering mode seems not very useful if honest and it's better to use the QPainter backend.
-