Inter-client surface embedding

2014-02-16 Thread Mark Thomas
As part of my current attempts to get MATE fully working on Wayland, I was planning to take a look at porting mate-panel this weekend. However, I pretty quickly hit the first snag, which is that Gtk on Wayland doesn't support the GtkSocket/GtkPlug interface, which mate-panel relies heavily

Re: [PATCH 2/9] compositor: Output repaint in clone mode

2014-02-16 Thread Zhang, Xiong Y
On Fri, 2014-02-14 at 09:49 +0200, Pekka Paalanen wrote: On Fri, 14 Feb 2014 15:17:37 +0800 Xiong Zhang xiong.y.zh...@intel.com wrote: Because slave output doesn't in compositor-output_list, the output-repaint()is called from master output only. When master output repaint,all the slave

Re: [PATCH 5/9] compositor: Output unplug in clone mode

2014-02-16 Thread Zhang, Xiong Y
On Fri, 2014-02-14 at 09:56 +0200, Pekka Paalanen wrote: On Fri, 14 Feb 2014 15:17:40 +0800 Xiong Zhang xiong.y.zh...@intel.com wrote: Hi, just a general note: it seems the DRM backend code is getting into pretty deep indentation levels. I would recommend splitting chunks out into

Re: [RFC v2] Wayland presentation extension (video protocol)

2014-02-16 Thread Zhang, Xiong Y
On Thu, 2014-01-30 at 17:35 +0200, Pekka Paalanen wrote: Hi, it's time for a take two on the Wayland presentation extension. 1. Introduction The v1 proposal is here: http://lists.freedesktop.org/archives/wayland-devel/2013-October/011496.html In v2 the basic idea is

[PATCH libinput 01/19] Add the shell for a multitouch-compatible touchpad implementation

2014-02-16 Thread Peter Hutterer
Doesn't do anything but initialize and destroy. This is not a permanent separate implementation, it's just easier to start this way and then switch over than to add to the current one. Temporary measure: LIBINPUT_NEW_TOUCHPAD_DRIVER environment variable can be used to enable the new driver

[PATCH libinput 05/19] touchpad: add two-finger average scrolling

2014-02-16 Thread Peter Hutterer
If two fingers are down and moving, take the average movement of both fingers and use that for scrolling. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/evdev-mt-touchpad.c | 44 +++- 1 file changed, 43 insertions(+), 1 deletion(-) diff

[PATCH libinput 04/19] touchpad: hook up the pointer acceleration

2014-02-16 Thread Peter Hutterer
Same algorithm as in evdev-touchpad.c Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/evdev-mt-touchpad.c | 76 + 1 file changed, 76 insertions(+) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index f625814..1968199

[PATCH libinput 02/19] touchpad: add a touchpad driver based on per-finger tracking

2014-02-16 Thread Peter Hutterer
This patch is a mixture of an experimental project (libtouchpad) and evdev-touchpad.c. It adds a new touchpad driver for multi-touch touchpads that tracks each touchpoint separately. This makes it a lot easier to handle multi-finger tapping, software button areas, etc. libtouchpad used a slightly

[PATCH libinput 03/19] touchpad: add hysteresis smoothing for input coordinates

2014-02-16 Thread Peter Hutterer
Same algorithm as in evdev-touchpad. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/evdev-mt-touchpad.c | 63 + 1 file changed, 63 insertions(+) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 856d54f..f625814

[PATCH libinput 19/19] evdev: drop hook to init old touchpad driver

2014-02-16 Thread Peter Hutterer
Still leaving the driver itself in place for removal later, but only initialize the new driver now. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/evdev.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/evdev.c b/src/evdev.c index ffa8557..7d91e09

[PATCH libinput 16/19] touchpad: add support for clickfingers

2014-02-16 Thread Peter Hutterer
On touchpads without physical buttons, the number of fingers on the touchpad at the time the physical click happens decides the button type. 1/2/3 fingers is handled left/right/middle. We also swallow the motion event on the actual click event, this reduces erroneous motion events by a bit. More

[PATCH libinput 12/19] touchpad: require minimum scroll distance and lock scroll direction

2014-02-16 Thread Peter Hutterer
This is a fairly rough approach, but can be handled more fine-grained later. Require a minimum of 1 unit to start scrolling and lock the scrolling in the initial direction, so further scroll events are limited to that direction only. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net ---

[PATCH libinput 14/19] touchpad: support single-touch touchpads

2014-02-16 Thread Peter Hutterer
Touchpads without ABS_MT_SLOT create 5 slots by default (for up to QUINTTAP) and ABS_X/Y is mapped to the 0-slot touchpoint. This commit adds handling for a single finger, no BTN_TOOL_DOUBLETAP or similar is being processed yet. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net ---

[PATCH libinput 09/19] touchpad: Make touchpad_get_delta() available from other files

2014-02-16 Thread Peter Hutterer
No functional changes. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/evdev-mt-touchpad.c | 2 +- src/evdev-mt-touchpad.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index e25997d..73ea8a8 100644 ---

[PATCH libinput 06/19] touchpad: move structs into a header file

2014-02-16 Thread Peter Hutterer
The tapping state implementation will be in a separate file, so let's make sure we can access the structs we need. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/Makefile.am | 1 + src/evdev-mt-touchpad.c | 61 + src/evdev-mt-touchpad.h |

[PATCH libinput 13/19] touchpad: Only move the pointer when there's a single finger down

2014-02-16 Thread Peter Hutterer
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/evdev-mt-touchpad.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 14fb7f3..c4c4c41 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@

[PATCH libinput 08/19] touchpad: add a struct for handling physical button event state changes

2014-02-16 Thread Peter Hutterer
On ClickPads (touchpads without phys. middle/right buttons) it is important to know whether a physical click is queued up. The finger position or number of fingers decide which button event to send. This isn't currently used, we still just send the button number at the moment. Signed-off-by:

[PATCH libinput 11/19] touchpad: Filter motion in a certain number of tap states

2014-02-16 Thread Peter Hutterer
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/evdev-mt-touchpad-tap.c | 23 ++- src/evdev-mt-touchpad.c | 22 +++--- src/evdev-mt-touchpad.h | 1 + 3 files changed, 34 insertions(+), 12 deletions(-) diff --git

[PATCH libinput 17/19] touchpad: mark the first finger as pointer-controlling finger

2014-02-16 Thread Peter Hutterer
Unused at the moment, but will be used later to determine if a finger should trigger motion events. Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/evdev-mt-touchpad.c | 4 src/evdev-mt-touchpad.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/evdev-mt-touchpad.c

[PATCH libinput 07/19] touchpad: mark which events are currently pending processing

2014-02-16 Thread Peter Hutterer
Signed-off-by: Peter Hutterer peter.hutte...@who-t.net --- src/evdev-mt-touchpad.c | 6 ++ src/evdev-mt-touchpad.h | 9 + 2 files changed, 15 insertions(+) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 8a8586a..1d34df8 100644 --- a/src/evdev-mt-touchpad.c +++

[PATCH libinput 15/19] touchpad: add fake-touch support for BTN_TOOL_DOUBLETAP and friends

2014-02-16 Thread Peter Hutterer
This enables two-finger scrolling and two- and three-finger tapping on a single-touch touchpad if BTN_TOOL_DOUBLETAP and BTN_TOOL_TRIPLETAP is set. These require a bit of special processing: BTN_TOUCH is set with the first finger down, but somewhat randomly unset and re-set when switching between

[PATCH libinput 18/19] touchpad: Support finger-pinnnig during physical button presses

2014-02-16 Thread Peter Hutterer
On a clickpad, one finger has be on the trackpad to trigger a physical button press. For drag and drop, we still want motion events though when a second finger is down. This patch adds finger-pinning. If the touchpad is pressed, the pressing finger is pinned and ignored for further motion events.

Re: Inter-client surface embedding

2014-02-16 Thread Pekka Paalanen
On Mon, 17 Feb 2014 00:04:19 + (GMT) Mark Thomas mark-wayland-de...@efaref.net wrote: As part of my current attempts to get MATE fully working on Wayland, I was planning to take a look at porting mate-panel this weekend. However, I pretty quickly hit the first snag, which is that Gtk