We don't want the application to fight with the user when manually
resizing a window.
v2: Re-enable sync when a new resize operation is started
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 20 +++-
1 file changed, 19 insertions(+), 1 del
If Weston is built with Pango, use it to render the title for
X11 applications and Weston toy toolkit clients. It allows us
to ellipsize the title when there isn't enough space to show the
whole string.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
Makefile.am | 2 ++
configu
If the minimum and maximum size hints are equal, that means the
application doesn't want the window manager to allow resizing.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 26 --
1 file changed, 20 insertions(+), 6 deletions(-)
diff
If we configure a window with the same size and wait for the
sync alarm to go off, the resizing is gonna block. The event is
only handled is the size actually changed.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 15 +++
1 file changed, 11 insertions
lebar isn't large enough;
* Clip the end of the title if needed.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
shared/cairo-util.c | 26 +++---
shared/cairo-util.h | 4 ++--
shared/frame.c | 10 +-
3 files changed, 26 insertions(+), 14 deletions(-)
di
v2: Remove some useless checks and don't be too verbose
Signed-off-by: Louis-Francis Ratté-Boulianne
fixup: Implement _NET_WM_SYNC_REQUEST
---
configure.ac | 2 +-
xwayland/window-manager.c | 207 +++---
xwayland/xwayland.h
Don't just ignore the minimal and maximal sizes requested
by the application.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 14 ++
1 file changed, 14 insertions(+)
diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c
index 3cc
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 26 --
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c
index 149d7fe4..4b84b24e 100644
--- a/xwayland/window-manager.c
+++ b
me useless checks
- Be less verbose when resizing with debug log enabled
- Re-enable the sync extension when a new resize operation is started
instead of just disabling it forever when something times out.
Louis-Francis Ratté-Boulianne (8):
xwm: Implement _NET_WM_SYNC_REQUEST protocol
xwm
If Weston is built with Pango, use it to render the title for
X11 applications and Weston toy toolkit clients. It allows us
to ellipsize the title when there isn't enough space to show the
whole string.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
Makefile.am | 2 ++
configu
lebar isn't large enough;
* Clip the end of the title if needed.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
shared/cairo-util.c | 26 +++---
shared/cairo-util.h | 4 ++--
shared/frame.c | 10 +-
3 files changed, 26 insertions(+), 14 deletions(-)
di
We don't want the application to fight with the user when manually
resizing a window.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/xwayland/window-manager.c b/xwayland/w
Implement NET_WM_SYNC_REQUEST protocol for throtting X11 window resizes
in Weston's XWM. We wait for the window to be drawn (by setting an
alarm on the sync counter) before configuring the window again.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
configure.ac
If the minimum and maximum size hints are equal, that means the
application doesn't want the window manager to allow resizing.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 26 --
1 file changed, 20 insertions(+), 6 deletions(-)
diff
If we configure a window with the same size and wait for the
sync alarm to go off, the resizing is gonna block. The event is
only handled is the size actually changed.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 15 +++
1 file changed, 11 insertions
Don't just ignore the minimal and maximal sizes requested
by the application.
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 14 ++
1 file changed, 14 insertions(+)
diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c
index 804
from X11 applications and to display the title
more elegantly when there isn't enough space available.
Louis-Francis Ratté-Boulianne (8):
xwm: Implement _NET_WM_SYNC_REQUEST protocol
xwm: Maximize windows when double-clicking on title bar
xwm: Don't resize windows if the applica
Signed-off-by: Louis-Francis Ratté-Boulianne
---
xwayland/window-manager.c | 26 --
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c
index a067f741..02a7c252 100644
--- a/xwayland/window-manager.c
+++ b
pulating the dx,dy
> arguments originating from a wl_surface.attach request.
>
> Signed-off-by: Pekka Paalanen
Reviewed-by: Louis-Francis Ratté-Boulianne
> ---
> libweston-desktop/xwayland.c | 7 +++
> 1 file changed, 7 insertions(+)
>
> diff --git a/libweston-desktop/xw
2, excluding the
> _NET_WM_SYNC_REQUEST handling.
>
> Task: https://phabricator.freedesktop.org/T7622
> Signed-off-by: Pekka Paalanen
It seems to fix the race just fine.
Reviewed-by: Louis-Francis Ratté-Boulianne
> ---
> xwayland/window-manager.c | 40
> ++-
> patch.
>
> For override-redirect windows weston_wm_window_schedule_repaint()
> reduced into a call to weston_wm_window_set_pending_state_OR(), so we
> can just call that directly. It should not matter that the call is
> moved
> to the end of the function.
>
> Signed-off
From: George Kiagiadakis
Signed-off-by: George Kiagiadakis
Signed-off-by: Louis-Francis Ratté-Boulianne
---
.gitignore | 1 +
Makefile.am | 15 ++
clients/simple-dmabuf.c | 578
configure.ac| 9 +
4
From: Pekka Paalanen
---
src/compositor-x11.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index a760f33..7b15ba9 100644
--- a/src/compositor-x11.c
+++ b/src/compositor-x11.c
@@ -51,6 +51,7 @@
#include "pixman-renderer.h"
#include "../sha
s from the
compositor to a client before-hand. The client has to create a
wl_buffer wrapping one or more dmabuf buffers and then listen at
the feedback object returned to know if the operation was successful.
Signed-off-by: Pekka Paalanen
Signed-off-by: Louis-Francis Ratté-Boulianne
---
M
From: Pekka Paalanen
---
src/compositor-drm.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 9b4d4dc..44fc912 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -50,6 +50,7 @@
#include "libinput-seat.h"
#include "launcher
This serie of patches by Pekka and George contains an experimental
implementation of "zlinux_dmabuf" protocol.
See these links for more information about the design and failed previous
attempts:
http://lists.freedesktop.org/archives/wayland-devel/2014-June/015362.html
https://bugs.freedesktop.org
From: Pekka Paalanen
---
src/compositor-drm.c | 26 ++
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index 44fc912..d3e8b34 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -839,7 +839,9 @@ drm_ou
From: Pekka Paalanen
Squashed with:
gl-renderer: error if dmabuf exposed unsupported
gl_renderer: always use GL_TEXTURE_EXTERNAL_OES with dmabuf
---
src/gl-renderer.c | 103 ++
1 file changed, 103 insertions(+)
diff --git a/src/gl-renderer.c
From: Pekka Paalanen
Signed-off-by: Pekka Paalanen
Signed-off-by: Louis-Francis Ratté-Boulianne
---
Makefile.am| 2 +
src/linux-dmabuf.c | 322 +
src/linux-dmabuf.h | 45
3 files changed, 369 insertions(+)
create mode
From: Pekka Paalanen
Signed-off-by: Pekka Paalanen
v3 Reviewed-by: Mario Kleiner
---
Makefile.am | 3 ++
clients/weston-info.c | 81 +++
2 files changed, 84 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index b1dcc21..6a91a8f 1
From: Pekka Paalanen
Add 'msc' field to weston_output to maintain the refresh counter, and
use it in presentation_feedback.presented.
Make compositor-drm update the per-output refresh counter with the
values reported by DRM. If the DRM reported value jumps backwards,
assume it wrapped around onc
From: Pekka Paalanen
Implement the presentation.feedback request, and the
presentation_feedback protocol interface. Feedback information is
delivered to clients as the backend reports it, except the refresh
counter (MSC) which is always reported as zero.
Changes in v4:
* add 'flags' argument to
From: Pekka Paalanen
You can bind to the global interface, and it delivers a fake clock id.
All requests on it raise an error.
Changes in v4:
* queuing methods were extractracted for a later series
[Louis-Francis Ratté-Boulianne: split queuing feature]
Signed-off-by: Pekka Paalanen
Signed
From: Pekka Paalanen
---
Makefile.am | 8 ++
tests/presentation-test.c | 246 ++
2 files changed, 254 insertions(+)
create mode 100644 tests/presentation-test.c
diff --git a/Makefile.am b/Makefile.am
index 6a91a8f..87204a6 100644
---
e-rendered at startup, so no rendering
happens during the animation.
[Louis-Francis Ratté-Boulianne: split queuing feature]
Signed-off-by: Pekka Paalanen
Signed-off-by: Louis-Francis Ratté-Boulianne
---
.gitignore | 1 +
Makefile.am| 8 +
clients/presentation-s
protocol error code for invalid flags
Changes in v5:
* remove the destroy method for the feedback object
The protocol object should instead be automatically destroyed after
a 'presented' or 'discarded' event has been triggered.
* some grammatical corrections to the specificatio
From: Pekka Paalanen
Add presentation clock setters that verify the given clock actually
works. Offer an automatic choice of a software fallback clock, when a
backend has to always use clock_gettime() to approximate the
presentation time.
The DRM backend already queried the DRM about the clock i
ion-test.c| 246 +++
15 files changed, 1823 insertions(+), 69 deletions(-)
create mode 100644 clients/presentation-shm.c
create mode 100644 protocol/presentation_timing.xml
create mode 100644 tests/presentation-test.c
Thanks,
Louis-Francis Ratté-Boulianne
show_bug.cgi?id=78190
According to Pekka, it's high time we get the feedback basics into
Weston for everyone to try out. Let's hope it's ready to be merged.
Thanks,
Louis-Francis Ratté-Boulianne
--
1.9.3
___
wayland-de
From: Pekka Paalanen
Add presentation clock setters that verify the given clock actually
works. Offer an automatic choice of a software fallback clock, when a
backend has to always use clock_gettime() to approximate the
presentation time.
The DRM backend already queried the DRM about the clock i
From: Pekka Paalanen
Added in v4.
Signed-off-by: Pekka Paalanen
---
Makefile.am | 8 ++
tests/presentation-test.c | 246 ++
2 files changed, 254 insertions(+)
create mode 100644 tests/presentation-test.c
diff --git a/Makefile.am b/M
From: Pekka Paalanen
Signed-off-by: Pekka Paalanen
v3 Reviewed-by: Mario Kleiner
---
Makefile.am | 3 ++
clients/weston-info.c | 81 +++
2 files changed, 84 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index b1dcc21..6a91a8f 1
From: Pekka Paalanen
Add 'msc' field to weston_output to maintain the refresh counter, and
use it in presentation_feedback.presented.
Make compositor-drm update the per-output refresh counter with the
values reported by DRM. If the DRM reported value jumps backwards,
assume it wrapped around onc
From: Pekka Paalanen
You can bind to the global interface, and it delivers a fake clock id.
All requests on it raise an error.
Changes in v4:
* queuing methods were extractracted for a later series
[Louis-Francis Ratté-Boulianne: split queuing feature]
Signed-off-by: Pekka Paalanen
Signed
protocol error code for invalid flags
[Louis-Francis Ratté-Boulianne: split the spec in two parts]
Signed-off-by: Pekka Paalanen
Signed-off-by: Louis-Francis Ratté-Boulianne
v3 Reviewed-by: Mario Kleiner
---
Makefile.am | 5 +
protocol/presentat
From: Pekka Paalanen
Implement the presentation.feedback request, and the
presentation_feedback protocol interface. Feedback information is
delivered to clients as the backend reports it, except the refresh
counter (MSC) which is always reported as zero.
Changes in v4:
* add 'flags' argument to
e-rendered at startup, so no rendering
happens during the animation.
[Louis-Francis Ratté-Boulianne: split queuing feature]
Signed-off-by: Pekka Paalanen
Signed-off-by: Louis-Francis Ratté-Boulianne
---
.gitignore | 1 +
Makefile.am| 8 +
clients/presentation-s
Draw everything in a cairo image surface before copying it to the XCB
surface. That removes the flickering visible on rpi whenever the
decoration were redrawn.
---
src/xwayland/window-manager.c | 26 --
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/src/xway
On Wednesday, July 31, 2013 10:41 EDT, Uli Schlachter wrote:
> Hi,
>
> On 30.07.2013 18:13, Louis-Francis Ratté-Boulianne wrote:
> > Draw everything in a cairo image surface before copying it to the XCB
> > surface. That removes the flickering visible on rpi whenever th
From: Louis-Francis Ratté-Boulianne
Make sure XCB_MAP_NOTIFY has been received and the window id has been set
before mapping the shell surface. It fixes race condition making the surface
appears at wrong coordinates or with wrong size.
---
src/xwayland/window-manager.c | 29 ++
---
hw/xfree86/xwayland/xwayland-input.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/xfree86/xwayland/xwayland-input.c
b/hw/xfree86/xwayland/xwayland-input.c
index c550d77..e1858f2 100644
--- a/hw/xfree86/xwayland/xwayland-input.c
+++ b/hw/xfree86/xwayland/xwayland-input.c
@@ -278,6
"Extended synchronization provides a more general framework for redraw
coordination, including spontaneous application updates as well as resizing."
See documentation http://fishsoup.net/misc/wm-spec-synchronization.html
---
src/compositor.c | 3 +
src/compositor.h |
Draw everything in a cairo image surface before copying it to the XCB
surface. That removes the flickering visible on rpi whenever the
decoration were redrawn.
---
src/xwayland/window-manager.c | 22 --
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/src/xwayland
>From the documentation:
"This protocol uses the XSync extension to let client and window manager
synchronize the repaint of the window manager frame and the client window"
* It makes sure the window manager doesn't send configure events faster
than the application can handle them.
* If an sync
Fix a segfault occuring after the last X window was closed.
---
src/xwayland/window-manager.c |1 +
1 file changed, 1 insertion(+)
diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c
index fd91004..57a5d99 100644
--- a/src/xwayland/window-manager.c
+++ b/src/xwayland/wi
n slowest hardware (rpi) though.
I also found it weird to map the surface without being sure we received
MAP_NOTIFY first.
> Thanks.
>
> On 22 de mayo de 2013 at 10:27 AM, ppaala...@gmail.com wrote:
> >
> >From: Louis-Francis Ratté-Boulianne
> >
> >Make sure XCB_
56 matches
Mail list logo