Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate xdg_shell #17

Merged
merged 12 commits into from
Jun 20, 2017
Merged

Integrate xdg_shell #17

merged 12 commits into from
Jun 20, 2017

Conversation

mitchmindtree
Copy link
Contributor

So far this commit mostly attempts to replace wl_shell with xdg_shell in order to simplify integration of xdg_shell for myself. The plan is to re-integrate support for wl_shell and move all xdg_shell functionality behind a (defaulted) feature gate in a future commit to allow for backward-compatibility with wl_shell.

Several xdg_surface methods have not yet been exposed in the DecoratedSurface API including set_api_id, minimize, etc.

@vberger Although this commit replaces usage of wl_shell with xdg_shell in the example, I'm finding that I still have the exact same problems that I had before mentioned in #16 - configure is still not being called by the mutter (v3.22.3) compositor during resizing or moving, even though it seems to work perfectly fine on weston (v2.0.0). This makes me wonder if the issue is perhaps not related to xdg_shell, and perhaps some other difference between the mutter and weston compositors? On the other hand, maybe I just haven't integrated xdg_shell properly?

I decided to run the example on both mutter and wayland to compare the output of WAYLAND_DEBUG=1 to see if I could spot any differences. I found only two:

The first difference was the very start of the log where globals are registered:

weston

[3812751.543] [email protected](1, "wl_compositor", 4)
[3812751.554] [email protected](2, "wl_subcompositor", 1)
[3812751.561] [email protected](3, "wp_viewporter", 1)
[3812751.568] [email protected](4, "wp_presentation", 1)
[3812751.584] [email protected](5, "zwp_relative_pointer_manager_v1", 1)
[3812751.593] [email protected](6, "zwp_pointer_constraints_v1", 1)
[3812751.602] [email protected](7, "wl_data_device_manager", 3)
[3812751.612] [email protected](8, "wl_shm", 1)
[3812751.623] [email protected](9, "wl_seat", 5)
[3812751.637] [email protected](10, "wl_drm", 2)
[3812751.647] [email protected](11, "zwp_linux_dmabuf_v1", 1)
[3812751.658] [email protected](12, "wl_output", 3)
[3812751.668] [email protected](13, "zwp_input_panel_v1", 1)
[3812751.679] [email protected](14, "zwp_input_method_v1", 1)
[3812751.691] [email protected](15, "zwp_text_input_manager_v1", 1)
[3812751.702] [email protected](16, "zxdg_shell_v6", 1)
[3812751.714]  -> [email protected](1, "wl_compositor", 4, new id [unknown]@4)
[3812751.749]  -> [email protected](2, "wl_subcompositor", 1, new id [unknown]@5)
[3812751.762]  -> [email protected](8, "wl_shm", 1, new id [unknown]@6)
[3812751.771]  -> [email protected](16, "zxdg_shell_v6", 1, new id [unknown]@7)
[3812751.798] [email protected](17, "xdg_shell", 1)
[3812751.805] [email protected](18, "wl_shell", 1)
[3812751.811] [email protected](19, "weston_desktop_shell", 1)
[3812751.818] [email protected](20, "weston_screenshooter", 1)

mutter

[2095686.583] [email protected](1, "wl_drm", 2)
[2095686.598] [email protected](2, "wl_compositor", 3)
[2095686.606] [email protected](3, "wl_shm", 1)
[2095686.616] [email protected](5, "wl_output", 2)
[2095686.640] [email protected](6, "wl_data_device_manager", 3)
[2095686.652] [email protected](7, "gtk_primary_selection_device_manager", 1)
[2095686.662] [email protected](8, "zxdg_shell_v6", 1)
[2095686.675] [email protected](9, "wl_shell", 1)
[2095686.687] [email protected](10, "gtk_shell1", 1)
[2095686.699] [email protected](11, "wl_subcompositor", 1)
[2095686.715]  -> [email protected](2, "wl_compositor", 3, new id [unknown]@4)
[2095686.728]  -> [email protected](11, "wl_subcompositor", 1, new id [unknown]@5)
[2095686.746]  -> [email protected](3, "wl_shm", 1, new id [unknown]@6)
[2095686.758]  -> [email protected](8, "zxdg_shell_v6", 1, new id [unknown]@7)
[2095686.774] [email protected](12, "zwp_pointer_gestures_v1", 1)
[2095686.784] [email protected](13, "zwp_tablet_manager_v2", 1)
[2095686.792] [email protected](14, "wl_seat", 5)
[2095686.800] [email protected](15, "zwp_relative_pointer_manager_v1", 1)
[2095686.810] [email protected](16, "zwp_pointer_constraints_v1", 1)
[2095686.819] [email protected](17, "zxdg_exporter_v1", 1)
[2095686.826] [email protected](18, "zxdg_importer_v1", 1)

The main difference I noticed between these two (besides the ordering which I assume does not matter) is that weston registers a "xdg_shell", "weston_desktop_shell" and "weston_screenshooter" globals whereas mutter does not, but does register a "gtk_shell1" global. Does it seem strange to you that the mutter compositor does not register "xdg_shell" like weston does?

The second and only other difference I noticed (besides configure not being called during resize) was that weston used the surface.damage_buffer method to indicate surface damage when the ThemedPointer hovered over the resizable edge, whereas mutter used the surface.damage method. I found the related code here. This seems to indicate that mutter uses a pre-4 version of surface. Could this be related?

@mitchmindtree
Copy link
Contributor Author

Seeing as the example works fine on weston but not on mutter, I've posted the issue to the gnome bugtracker here.

One person on the wayland IRC yesterday mentioned that the problem might be due to invalid input and as a result mutter refuses to create conigure events. They mentioned that it's quite possible that the reason it works on weston and not on mutter is that it is likely that weston has a bug in its input validation. @vberger does this sound like it might be possible? Where should I look in the codebase to verify the input handling?

@elinorbgr
Copy link
Member

It's difficult to say, what kind of "invalid input" would they be mentioning?

let w = std::cmp::max(width, 100);
let h = std::cmp::max(height, 100);
if width <= 0 || height <= 0 {
println!("WARNING: wayland_window::Handler::configure: Received invalid dimensions: \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are not invalid dimensions actually, they just indicate that the user doing the resize moved the cursor past the other side of the window than the side they grabbed. It's up to the client to decide how to act in this case. The most classic behavior being to ignore requests to be resized beyond a certain minimum size.

@elinorbgr
Copy link
Member

Regarding this PR, and the integration of wdg_shell into wayland-window:

First of all, thanks a lot for starting to tackle this ! 😄

Now, the way I was thinking to organize this:

  • split wl_shell specific and xdg_shell specific logic into two other files
  • expose an unified api, by making the DecoratedSurface struct an opaque wrapper around an enum over two possible implementations, one for each protocol
  • a initialization, if an xdg_shell global is advertised, use it, if not, fallback on wl_shell

@elinorbgr
Copy link
Member

Also, regarding the globals advertized:

  • weston_desktop_shell and gtk_shell1 are, I belive, special globals for a client to register as a desktop shell, so as a building block of the UI of the desktop environment. Thus they are not of a concern to use.
  • the wdg_shell that weston exposes is probably (?) a relic from before the unstable naming scheme from protocol was decided, and is likely here only for legacy reasons.

@elinorbgr
Copy link
Member

Oh, okay, I checked the IRC logs about this input validation, and the serial things. That could have been a cause for trouble indeed...

However, it looks like we are indeed sending the proper values, given your logs :

[814139.649] [email protected](20109, 10070859, 272, 1)
[814139.727]  -> [email protected](wl_seat@10, 20109, 8)

here the serial (20109) is correctly the same...

Could you generate a wayland trace from a simple program that resizes / moves correctly in mutter, so that we could compare ? (maybe one of the weston sample apps?)

@mitchmindtree
Copy link
Contributor Author

First of all, thanks a lot for starting to tackle this ! 😄

No problem at all! Thanks for the library and for taking your time to help debug this with me - much appreciated!

Now, the way I was thinking to organize this...

Agreed, this all sounds good to me 👍

Could you generate a wayland trace from a simple program that resizes / moves correctly in mutter, so that we could compare ? (maybe one of the weston sample apps?)

Sure thing!

Resize

screenshot from 2017-04-28 17-58-51

The following is the output of the WAYLAND_DEBUG=1 weston-eventdemo app where I

  • move the cursor to the right frame.
  • grab it with the left mouse button and resize it to the right (making the window slightly wider).
  • my cursor back to the terminal and click on it.
  • stop the program with Ctrl+C.
[3937602.171]  -> [email protected]_registry(new id wl_registry@2)
[3937602.347]  -> [email protected](new id wl_callback@3)
[3937602.567] [email protected]_id(3)
[3937602.607] [email protected](1, "wl_drm", 2)
[3937602.653] [email protected](2, "wl_compositor", 3)
[3937602.688]  -> [email protected](2, "wl_compositor", 3, new id [unknown]@4)
[3937602.743] [email protected](3, "wl_shm", 1)
[3937602.776]  -> [email protected](3, "wl_shm", 1, new id [unknown]@5)
[3937602.818] [email protected](5, "wl_output", 2)
[3937602.850]  -> [email protected](5, "wl_output", 2, new id [unknown]@6)
[3937602.895] [email protected](6, "wl_data_device_manager", 3)
[3937602.926]  -> [email protected](6, "wl_data_device_manager", 3, new id [unknown]@7)
[3937602.968] [email protected](7, "gtk_primary_selection_device_manager", 1)
[3937603.002] [email protected](8, "zxdg_shell_v6", 1)
[3937603.033]  -> [email protected](8, "zxdg_shell_v6", 1, new id [unknown]@8)
[3937603.075] [email protected](9, "wl_shell", 1)
[3937603.106] [email protected](10, "gtk_shell1", 1)
[3937603.140] [email protected](11, "wl_subcompositor", 1)
[3937603.171]  -> [email protected](11, "wl_subcompositor", 1, new id [unknown]@9)
[3937603.212] [email protected](12, "zwp_pointer_gestures_v1", 1)
[3937603.246] [email protected](13, "zwp_tablet_manager_v2", 1)
[3937603.277] [email protected](14, "wl_seat", 5)
[3937603.308]  -> [email protected](14, "wl_seat", 5, new id [unknown]@10)
[3937603.352]  -> [email protected]_data_device(new id wl_data_device@11, wl_seat@10)
[3937603.383]  -> [email protected]_surface(new id wl_surface@12)
[3937603.415] [email protected](15, "zwp_relative_pointer_manager_v1", 1)
[3937603.448]  -> [email protected](15, "zwp_relative_pointer_manager_v1", 1, new id [unknown]@13)
[3937603.493] [email protected](16, "zwp_pointer_constraints_v1", 1)
[3937603.525]  -> [email protected](16, "zwp_pointer_constraints_v1", 1, new id [unknown]@14)
[3937603.566] [email protected](17, "zxdg_exporter_v1", 1)
[3937603.596] [email protected](18, "zxdg_importer_v1", 1)
[3937603.630] [email protected](300955)
[3937603.787]  -> [email protected]_pool(new id wl_shm_pool@3, fd 8, 4096)
[3937604.308]  -> [email protected](12288)
[3937604.526]  -> [email protected](28672)
[3937604.978]  -> [email protected](61440)
[3937605.790]  -> [email protected](126976)
[3937611.229]  -> [email protected](258048)
[3937611.590]  -> [email protected](520192)
[3937622.655]  -> [email protected](1044480)
[3937626.101]  -> [email protected](2093056)
[3937654.634]  -> [email protected]_surface(new id wl_surface@15)
[3937654.665]  -> [email protected]_xdg_surface(new id zxdg_surface_v6@16, wl_surface@15)
[3937654.673]  -> [email protected]_toplevel(new id zxdg_toplevel_v6@17)
[3937654.680]  -> [email protected]()
[3937654.823]  -> [email protected]_title("EventDemo")
[3937735.107] [email protected](0)
[3937735.153] [email protected](1)
[3937735.159] [email protected](0, 0, 280, 160, 0, "SHP", "0x144d", 0)
[3937735.196] [email protected](3, 3840, 2160, 59997)
[3937735.209] [email protected](2)
[3937735.215] [email protected]()
[3937735.219] [email protected](7)
[3937735.226]  -> [email protected]_pointer(new id wl_pointer@18)
[3937735.234]  -> [email protected]_keyboard(new id wl_keyboard@19)
[3937735.242]  -> [email protected]_touch(new id wl_touch@20)
[3937735.249] [email protected]("seat0")
[3937735.256] [email protected](0, 0, array)
[3937735.269] [email protected](300956)
[3937735.277]  -> [email protected]_configure(300956)
[3937735.285]  -> [email protected]_region(new id wl_region@21)
[3937735.299]  -> [email protected]_region(new id wl_region@22)
[3937735.307]  -> [email protected](32, 32, 436, 336)
[3937735.470]  -> [email protected]_pool(new id wl_shm_pool@23, fd 9, 800000)
[3937735.506]  -> [email protected]_buffer(new id wl_buffer@24, 0, 500, 400, 2000, 0)
[3937735.530]  -> [email protected](new id wl_callback@25)
[3937741.572]  -> [email protected]_window_geometry(32, 32, 436, 336)
[3937741.632]  -> [email protected]_opaque_region(wl_region@21)
[3937741.637]  -> [email protected]()
[3937741.643]  -> [email protected]_input_region(wl_region@22)
[3937741.647]  -> [email protected]()
[3937741.650]  -> [email protected](wl_buffer@24, 0, 0)
[3937741.659]  -> [email protected](0, 0, 500, 400)
[3937741.668]  -> [email protected]()
[3937745.730] [email protected]_id(21)
[3937745.787] [email protected]_id(22)
[3937745.792] [email protected](1, fd 8, 51740)
[3937752.189] [email protected]_info(33, 500)
[3937752.232] [email protected]()
[3937766.073] [email protected](436, 336, array)
[3937766.111] [email protected](300959)
[3937766.118]  -> [email protected]_configure(300959)
[3937766.124] [email protected](300961, 0, 0, 0, 0)
[3937766.147] [email protected](300961, wl_surface@15, array)
[3937766.161] [email protected]_offer(new id wl_data_offer@22186144)
[3937766.171] [email protected]("TARGETS")
[3937766.179] [email protected]("_VIMENC_TEXT")
[3937766.185] [email protected]("_VIM_TEXT")
[3937766.191] [email protected]("text/plain;charset=utf-8")
[3937766.198] [email protected]("UTF8_STRING")
[3937766.207] [email protected]("STRING")
[3937766.215] [email protected]("TEXT")
[3937766.229] [email protected]("COMPOUND_TEXT")
[3937766.235] [email protected](wl_data_offer@4278190080)
[3937805.786] [email protected]_id(25)
[3937805.850] [email protected](wl_output@6)
[3937805.860] [email protected](290279004)
[3937805.872]  -> [email protected]_region(new id wl_region@25)
[3937805.888]  -> [email protected]_region(new id wl_region@22)
[3937805.897]  -> [email protected](32, 32, 436, 336)
[3937805.913]  -> [email protected](new id wl_callback@21)
[3937806.818]  -> [email protected]_opaque_region(wl_region@25)
[3937806.851]  -> [email protected]()
[3937806.856]  -> [email protected]_input_region(wl_region@22)
[3937806.860]  -> [email protected]()
[3937806.864]  -> [email protected](wl_buffer@24, 0, 0)
[3937806.872]  -> [email protected](0, 0, 500, 400)
[3937806.882]  -> [email protected]()
[3937821.606] [email protected]_id(25)
[3937821.687] [email protected]_id(22)
[3937821.697] [email protected]_id(21)
[3937821.703] [email protected]()
[3937821.707] [email protected](290279019)
[3949066.774] [email protected](300963, wl_surface@15, 467.976562, 211.320312)
[3949066.965]  -> [email protected]_buffer(new id wl_buffer@21, 806912, 32, 32, 128, 0)
[3949067.083]  -> [email protected](wl_buffer@21, 0, 0)
[3949067.135]  -> [email protected](0, 0, 32, 32)
[3949067.204]  -> [email protected]()
[3949067.226]  -> [email protected]_cursor(300963, wl_surface@12, 25, 17)
[3949067.321] [email protected]()
[3949067.343] [email protected](290290258, 467.976562, 211.320312)
[3949067.394] [email protected]()
[3949104.391] [email protected](290290289, 467.804688, 211.320312)
[3949104.556] [email protected]()
[3949120.225] [email protected](290290304, 467.644531, 211.320312)
[3949120.324] [email protected]()
[3949137.048] [email protected](290290319, 467.488281, 211.320312)
[3949137.134] [email protected]()
[3949153.602] [email protected](290290335, 467.335938, 211.320312)
[3949153.688] [email protected]()
[3949193.533] [email protected](290290389, 467.195312, 211.320312)
[3949193.643] [email protected]()
[3949209.947] [email protected](290290404, 466.921875, 211.320312)
[3949210.028] [email protected]()
[3949247.318] [email protected](290290443, 466.789062, 211.320312)
[3949247.399] [email protected]()
[3949262.856] [email protected](290290450, 466.660156, 211.320312)
[3949262.929] [email protected]()
[3949278.719] [email protected](290290473, 466.402344, 211.320312)
[3949278.809] [email protected]()
[3949347.584] [email protected](290290543, 466.281250, 211.320312)
[3949347.672] [email protected]()
[3949884.249] [email protected](290291081, 466.171875, 211.320312)
[3949884.286] [email protected]()

This is where I press the left mouse button on the right frame in order to begin dragging it to the right:

[3949937.319] [email protected](300964, 290291135, 272, 1)
[3949937.360]  -> [email protected](wl_seat@10, 300964, 8)
[3949937.375] [email protected]()
[3949938.478] [email protected](300965, wl_surface@15)
[3949938.509] [email protected](300966, wl_surface@15)
[3949938.519] [email protected]()
[3949938.523] [email protected](436, 336, array)
[3949938.534] [email protected](300967)
[3949938.540]  -> [email protected]_configure(300967)
[3949938.548]  -> [email protected]_region(new id wl_region@22)
[3949938.557]  -> [email protected]_region(new id wl_region@25)
[3949938.564]  -> [email protected](32, 32, 436, 336)
[3949938.581]  -> [email protected](new id wl_callback@26)
[3949939.229]  -> [email protected]_opaque_region(wl_region@22)
[3949939.245]  -> [email protected]()
[3949939.248]  -> [email protected]_input_region(wl_region@25)
[3949939.252]  -> [email protected]()
[3949939.256]  -> [email protected](wl_buffer@24, 0, 0)
[3949939.264]  -> [email protected](0, 0, 500, 400)
[3949939.274]  -> [email protected]()
[3949954.187] [email protected]_id(22)
[3949954.209] [email protected]_id(25)
[3949954.214] [email protected]_id(26)
[3949954.219] [email protected]()
[3949954.222] [email protected](290291152)
[3950977.032] [email protected](436, 336, array)
[3950977.073] [email protected](300968)
[3950977.080]  -> [email protected]_configure(300968)
[3950977.089]  -> [email protected]_region(new id wl_region@26)
[3950977.098]  -> [email protected]_region(new id wl_region@25)
[3950977.105]  -> [email protected](32, 32, 436, 336)
[3950977.120]  -> [email protected](new id wl_callback@22)
[3950977.922]  -> [email protected]_opaque_region(wl_region@26)
[3950977.932]  -> [email protected]()
[3950977.936]  -> [email protected]_input_region(wl_region@25)
[3950977.945]  -> [email protected]()
[3950977.948]  -> [email protected](wl_buffer@24, 0, 0)
[3950977.956]  -> [email protected](0, 0, 500, 400)
[3950977.966]  -> [email protected]()
[3950995.018] [email protected]_id(26)
[3950995.050] [email protected]_id(25)
[3950995.056] [email protected]_id(22)
[3950995.061] [email protected]()
[3950995.067] [email protected](437, 336, array)
[3950995.080] [email protected](300969)
[3950995.086]  -> [email protected]_configure(300969)
[3950995.112] [email protected](290292193)
[3950995.140]  -> [email protected]_region(new id wl_region@22)
[3950995.149]  -> [email protected]_region(new id wl_region@25)
[3950995.156]  -> [email protected](32, 32, 437, 336)
[3950995.173]  -> [email protected]()
[3950995.232]  -> [email protected]()
[3950996.390]  -> [email protected]_pool(new id wl_shm_pool@26, fd 9, 6291456)
[3950996.427]  -> [email protected]_buffer(new id wl_buffer@27, 0, 501, 400, 2004, 0)
[3950996.449]  -> [email protected](new id wl_callback@28)
[3950997.374]  -> [email protected]_window_geometry(32, 32, 437, 336)
[3950997.406]  -> [email protected]_opaque_region(wl_region@22)
[3950997.413]  -> [email protected]()
[3950997.418]  -> [email protected]_input_region(wl_region@25)
[3950997.424]  -> [email protected]()
[3950997.428]  -> [email protected](wl_buffer@27, 0, 0)
[3950997.441]  -> [email protected](0, 0, 501, 400)
[3950997.455]  -> [email protected]()
[3951015.593] [email protected]_id(24)
[3951015.689] [email protected]_id(23)
[3951015.701] [email protected]_id(22)
[3951015.711] [email protected]_id(25)
[3951015.722] [email protected]_id(28)
[3951015.732] [email protected]()
[3951015.741] [email protected](437, 336, array)
[3951015.764] [email protected](300970)
[3951015.776]  -> [email protected]_configure(300970)
[3951015.789] [email protected](290292213)
[3951015.801]  -> [email protected]_region(new id wl_region@28)
[3951015.820]  -> [email protected]_region(new id wl_region@25)
[3951015.859]  -> [email protected](32, 32, 437, 336)
[3951015.903]  -> [email protected](new id wl_callback@22)
[3951017.477]  -> [email protected]_opaque_region(wl_region@28)
[3951017.544]  -> [email protected]()
[3951017.552]  -> [email protected]_input_region(wl_region@25)
[3951017.562]  -> [email protected]()
[3951017.570]  -> [email protected](wl_buffer@27, 0, 0)
[3951017.591]  -> [email protected](0, 0, 501, 400)
[3951017.616]  -> [email protected]()
[3951038.373] [email protected]_id(28)
[3951038.503] [email protected]_id(25)
[3951038.519] [email protected]_id(22)
[3951038.532] [email protected]()
[3951038.545] [email protected](438, 336, array)
[3951038.579] [email protected](300971)
[3951038.598]  -> [email protected]_configure(300971)
[3951038.618] [email protected](290292236)
[3951038.638]  -> [email protected]_region(new id wl_region@22)
[3951038.668]  -> [email protected]_region(new id wl_region@25)
[3951038.691]  -> [email protected](32, 32, 438, 336)
[3951038.746]  -> [email protected]()
[3951038.774]  -> [email protected]_buffer(new id wl_buffer@28, 0, 502, 400, 2008, 0)
[3951038.846]  -> [email protected](new id wl_callback@23)
[3951041.846]  -> [email protected]_window_geometry(32, 32, 438, 336)
[3951041.966]  -> [email protected]_opaque_region(wl_region@22)
[3951041.989]  -> [email protected]()
[3951042.000]  -> [email protected]_input_region(wl_region@25)
[3951042.013]  -> [email protected]()
[3951042.026]  -> [email protected](wl_buffer@28, 0, 0)
[3951042.056]  -> [email protected](0, 0, 502, 400)
[3951042.094]  -> [email protected]()
[3951059.247] [email protected]_id(27)
[3951059.389] [email protected]_id(22)
[3951059.405] [email protected]_id(25)
[3951059.418] [email protected]_id(23)
[3951059.433] [email protected]()
[3951059.449] [email protected](438, 336, array)
[3951059.487] [email protected](300972)
[3951059.524]  -> [email protected]_configure(300972)
[3951059.544] [email protected](290292256)
[3951059.565]  -> [email protected]_region(new id wl_region@23)
[3951059.595]  -> [email protected]_region(new id wl_region@25)
[3951059.617]  -> [email protected](32, 32, 438, 336)
[3951059.669]  -> [email protected](new id wl_callback@22)
[3951062.518]  -> [email protected]_opaque_region(wl_region@23)
[3951062.595]  -> [email protected]()
[3951062.613]  -> [email protected]_input_region(wl_region@25)
[3951062.634]  -> [email protected]()
[3951062.644]  -> [email protected](wl_buffer@28, 0, 0)
[3951062.672]  -> [email protected](0, 0, 502, 400)
[3951062.707]  -> [email protected]()
[3951071.243] [email protected]_id(23)
[3951071.332] [email protected]_id(25)
[3951071.350] [email protected]_id(22)
[3951071.365] [email protected]()
[3951071.380] [email protected](439, 336, array)
[3951071.413] [email protected](300973)
[3951071.429]  -> [email protected]_configure(300973)
[3951071.468] [email protected](290292269)
[3951071.495]  -> [email protected]_region(new id wl_region@22)
[3951071.525]  -> [email protected]_region(new id wl_region@25)
[3951071.546]  -> [email protected](32, 32, 439, 336)
[3951071.596]  -> [email protected]()
[3951071.634]  -> [email protected]_buffer(new id wl_buffer@23, 0, 503, 400, 2012, 0)
[3951071.737]  -> [email protected](new id wl_callback@27)
[3951074.754]  -> [email protected]_window_geometry(32, 32, 439, 336)
[3951074.850]  -> [email protected]_opaque_region(wl_region@22)
[3951074.882]  -> [email protected]()
[3951074.899]  -> [email protected]_input_region(wl_region@25)
[3951074.913]  -> [email protected]()
[3951074.926]  -> [email protected](wl_buffer@23, 0, 0)
[3951074.955]  -> [email protected](0, 0, 503, 400)
[3951074.992]  -> [email protected]()
[3951091.245] [email protected]_id(28)
[3951091.411] [email protected]_id(22)
[3951091.431] [email protected]_id(25)
[3951091.441] [email protected]_id(27)
[3951091.495] [email protected]()
[3951091.508] [email protected](439, 336, array)
[3951091.568] [email protected](300974)
[3951091.586]  -> [email protected]_configure(300974)
[3951091.603] [email protected](290292288)
[3951091.623]  -> [email protected]_region(new id wl_region@27)
[3951091.645]  -> [email protected]_region(new id wl_region@25)
[3951091.661]  -> [email protected](32, 32, 439, 336)
[3951091.700]  -> [email protected](new id wl_callback@22)
[3951094.023]  -> [email protected]_opaque_region(wl_region@27)
[3951094.123]  -> [email protected]()
[3951094.132]  -> [email protected]_input_region(wl_region@25)
[3951094.141]  -> [email protected]()
[3951094.148]  -> [email protected](wl_buffer@23, 0, 0)
[3951094.165]  -> [email protected](0, 0, 503, 400)
[3951094.182]  -> [email protected]()
[3951103.075] [email protected]_id(27)
[3951103.111] [email protected]_id(25)
[3951103.119] [email protected]_id(22)
[3951103.126] [email protected]()
[3951103.132] [email protected](439, 336, array)
[3951103.150] [email protected](300975)
[3951103.164]  -> [email protected]_configure(300975)
[3951103.181] [email protected](290292301)
[3951103.195]  -> [email protected]_region(new id wl_region@22)
[3951103.237]  -> [email protected]_region(new id wl_region@25)
[3951103.249]  -> [email protected](32, 32, 439, 336)
[3951103.279]  -> [email protected](new id wl_callback@27)
[3951105.292]  -> [email protected]_opaque_region(wl_region@22)
[3951105.346]  -> [email protected]()
[3951105.353]  -> [email protected]_input_region(wl_region@25)
[3951105.361]  -> [email protected]()
[3951105.367]  -> [email protected](wl_buffer@23, 0, 0)
[3951105.381]  -> [email protected](0, 0, 503, 400)
[3951105.398]  -> [email protected]()
[3951119.792] [email protected]_id(22)
[3951119.837] [email protected]_id(25)
[3951119.846] [email protected]_id(27)
[3951119.853] [email protected]()
[3951119.860] [email protected](440, 336, array)
[3951119.879] [email protected](300976)
[3951119.904]  -> [email protected]_configure(300976)
[3951119.930] [email protected](290292317)
[3951119.944]  -> [email protected]_region(new id wl_region@27)
[3951119.961]  -> [email protected]_region(new id wl_region@25)
[3951119.974]  -> [email protected](32, 32, 440, 336)
[3951120.005]  -> [email protected]()
[3951120.033]  -> [email protected]_buffer(new id wl_buffer@22, 0, 504, 400, 2016, 0)
[3951120.069]  -> [email protected](new id wl_callback@28)
[3951122.217]  -> [email protected]_window_geometry(32, 32, 440, 336)
[3951122.409]  -> [email protected]_opaque_region(wl_region@27)
[3951122.445]  -> [email protected]()
[3951122.451]  -> [email protected]_input_region(wl_region@25)
[3951122.459]  -> [email protected]()
[3951122.466]  -> [email protected](wl_buffer@22, 0, 0)
[3951122.481]  -> [email protected](0, 0, 504, 400)
[3951122.499]  -> [email protected]()
[3951138.644] [email protected]_id(23)
[3951138.736] [email protected]_id(27)
[3951138.750] [email protected]_id(25)
[3951138.757] [email protected]_id(28)
[3951138.765] [email protected]()
[3951138.774] [email protected](440, 336, array)
[3951138.795] [email protected](300977)
[3951138.808]  -> [email protected]_configure(300977)
[3951138.825] [email protected](290292336)
[3951138.841]  -> [email protected]_region(new id wl_region@28)
[3951138.861]  -> [email protected]_region(new id wl_region@25)
[3951138.872]  -> [email protected](32, 32, 440, 336)
[3951138.915]  -> [email protected](new id wl_callback@27)
[3951141.098]  -> [email protected]_opaque_region(wl_region@28)
[3951141.168]  -> [email protected]()
[3951141.175]  -> [email protected]_input_region(wl_region@25)
[3951141.182]  -> [email protected]()
[3951141.188]  -> [email protected](wl_buffer@22, 0, 0)
[3951141.201]  -> [email protected](0, 0, 504, 400)
[3951141.217]  -> [email protected]()
[3951153.111] [email protected]_id(28)
[3951153.154] [email protected]_id(25)
[3951153.164] [email protected]_id(27)
[3951153.172] [email protected]()
[3951153.182] [email protected](441, 336, array)
[3951153.211] [email protected](300978)
[3951153.241]  -> [email protected]_configure(300978)
[3951153.257] [email protected](290292351)
[3951153.272]  -> [email protected]_region(new id wl_region@27)
[3951153.294]  -> [email protected]_region(new id wl_region@25)
[3951153.308]  -> [email protected](32, 32, 441, 336)
[3951153.340]  -> [email protected]()
[3951153.365]  -> [email protected]_buffer(new id wl_buffer@28, 0, 505, 400, 2020, 0)
[3951153.397]  -> [email protected](new id wl_callback@23)
[3951155.421]  -> [email protected]_window_geometry(32, 32, 441, 336)
[3951155.518]  -> [email protected]_opaque_region(wl_region@27)
[3951155.527]  -> [email protected]()
[3951155.533]  -> [email protected]_input_region(wl_region@25)
[3951155.540]  -> [email protected]()
[3951155.547]  -> [email protected](wl_buffer@28, 0, 0)
[3951155.560]  -> [email protected](0, 0, 505, 400)
[3951155.576]  -> [email protected]()
[3951171.737] [email protected]_id(22)
[3951171.791] [email protected]_id(27)
[3951171.806] [email protected]_id(25)
[3951171.814] [email protected]_id(23)
[3951171.821] [email protected]()
[3951171.829] [email protected](441, 336, array)
[3951171.852] [email protected](300979)
[3951171.864]  -> [email protected]_configure(300979)
[3951171.903] [email protected](290292369)
[3951171.921]  -> [email protected]_region(new id wl_region@23)
[3951171.941]  -> [email protected]_region(new id wl_region@25)
[3951171.956]  -> [email protected](32, 32, 441, 336)
[3951171.979]  -> [email protected](new id wl_callback@27)
[3951174.074]  -> [email protected]_opaque_region(wl_region@23)
[3951174.128]  -> [email protected]()
[3951174.135]  -> [email protected]_input_region(wl_region@25)
[3951174.141]  -> [email protected]()
[3951174.147]  -> [email protected](wl_buffer@28, 0, 0)
[3951174.165]  -> [email protected](0, 0, 505, 400)
[3951174.184]  -> [email protected]()
[3951186.329] [email protected]_id(23)
[3951186.378] [email protected]_id(25)
[3951186.388] [email protected]_id(27)
[3951186.401] [email protected]()
[3951186.418] [email protected](442, 336, array)
[3951186.444] [email protected](300980)
[3951186.461]  -> [email protected]_configure(300980)
[3951186.472] [email protected](290292384)
[3951186.485]  -> [email protected]_region(new id wl_region@27)
[3951186.504]  -> [email protected]_region(new id wl_region@25)
[3951186.519]  -> [email protected](32, 32, 442, 336)
[3951186.548]  -> [email protected]()
[3951186.574]  -> [email protected]_buffer(new id wl_buffer@23, 0, 506, 400, 2024, 0)
[3951186.611]  -> [email protected](new id wl_callback@22)
[3951188.871]  -> [email protected]_window_geometry(32, 32, 442, 336)
[3951189.108]  -> [email protected]_opaque_region(wl_region@27)
[3951189.126]  -> [email protected]()
[3951189.138]  -> [email protected]_input_region(wl_region@25)
[3951189.152]  -> [email protected]()
[3951189.163]  -> [email protected](wl_buffer@23, 0, 0)
[3951189.182]  -> [email protected](0, 0, 506, 400)
[3951189.207]  -> [email protected]()
[3951205.256] [email protected]_id(28)
[3951205.330] [email protected]_id(27)
[3951205.339] [email protected]_id(25)
[3951205.346] [email protected]_id(22)
[3951205.355] [email protected]()
[3951205.364] [email protected](442, 336, array)
[3951205.393] [email protected](300981)
[3951205.417]  -> [email protected]_configure(300981)
[3951205.428] [email protected](290292403)
[3951205.442]  -> [email protected]_region(new id wl_region@22)
[3951205.456]  -> [email protected]_region(new id wl_region@25)
[3951205.468]  -> [email protected](32, 32, 442, 336)
[3951205.491]  -> [email protected](new id wl_callback@27)
[3951207.609]  -> [email protected]_opaque_region(wl_region@22)
[3951207.703]  -> [email protected]()
[3951207.708]  -> [email protected]_input_region(wl_region@25)
[3951207.716]  -> [email protected]()
[3951207.721]  -> [email protected](wl_buffer@23, 0, 0)
[3951207.734]  -> [email protected](0, 0, 506, 400)
[3951207.750]  -> [email protected]()
[3951219.751] [email protected]_id(22)
[3951219.790] [email protected]_id(25)
[3951219.799] [email protected]_id(27)
[3951219.807] [email protected]()
[3951219.813] [email protected](443, 336, array)
[3951219.832] [email protected](300982)
[3951219.850]  -> [email protected]_configure(300982)
[3951219.859] [email protected](290292417)
[3951219.872]  -> [email protected]_region(new id wl_region@27)
[3951219.893]  -> [email protected]_region(new id wl_region@25)
[3951219.909]  -> [email protected](32, 32, 443, 336)
[3951219.961]  -> [email protected]()
[3951219.988]  -> [email protected]_buffer(new id wl_buffer@22, 0, 507, 400, 2028, 0)
[3951220.027]  -> [email protected](new id wl_callback@28)
[3951222.190]  -> [email protected]_window_geometry(32, 32, 443, 336)
[3951222.321]  -> [email protected]_opaque_region(wl_region@27)
[3951222.334]  -> [email protected]()
[3951222.342]  -> [email protected]_input_region(wl_region@25)
[3951222.348]  -> [email protected]()
[3951222.354]  -> [email protected](wl_buffer@22, 0, 0)
[3951222.370]  -> [email protected](0, 0, 507, 400)
[3951222.388]  -> [email protected]()
[3951238.514] [email protected]_id(23)
[3951238.561] [email protected]_id(27)
[3951238.571] [email protected]_id(25)
[3951238.580] [email protected]_id(28)
[3951238.594] [email protected]()
[3951238.606] [email protected](443, 336, array)
[3951238.628] [email protected](300983)
[3951238.641]  -> [email protected]_configure(300983)
[3951238.677] [email protected](290292436)
[3951238.701]  -> [email protected]_region(new id wl_region@28)
[3951238.725]  -> [email protected]_region(new id wl_region@25)
[3951238.740]  -> [email protected](32, 32, 443, 336)
[3951238.767]  -> [email protected](new id wl_callback@27)
[3951240.967]  -> [email protected]_opaque_region(wl_region@28)
[3951241.061]  -> [email protected]()
[3951241.068]  -> [email protected]_input_region(wl_region@25)
[3951241.075]  -> [email protected]()
[3951241.082]  -> [email protected](wl_buffer@22, 0, 0)
[3951241.096]  -> [email protected](0, 0, 507, 400)
[3951241.112]  -> [email protected]()
[3951252.997] [email protected]_id(28)
[3951253.058] [email protected]_id(25)
[3951253.068] [email protected]_id(27)
[3951253.078] [email protected]()
[3951253.087] [email protected](445, 336, array)
[3951253.114] [email protected](300984)
[3951253.128]  -> [email protected]_configure(300984)
[3951253.140] [email protected](290292451)
[3951253.154]  -> [email protected]_region(new id wl_region@27)
[3951253.178]  -> [email protected]_region(new id wl_region@25)
[3951253.190]  -> [email protected](32, 32, 445, 336)
[3951253.219]  -> [email protected]()
[3951253.239]  -> [email protected]_buffer(new id wl_buffer@28, 0, 509, 400, 2036, 0)
[3951253.293]  -> [email protected](new id wl_callback@23)
[3951255.217]  -> [email protected]_window_geometry(32, 32, 445, 336)
[3951255.312]  -> [email protected]_opaque_region(wl_region@27)
[3951255.323]  -> [email protected]()
[3951255.329]  -> [email protected]_input_region(wl_region@25)
[3951255.337]  -> [email protected]()
[3951255.342]  -> [email protected](wl_buffer@28, 0, 0)
[3951255.358]  -> [email protected](0, 0, 509, 400)
[3951255.374]  -> [email protected]()
[3951271.604] [email protected]_id(22)
[3951271.654] [email protected]_id(27)
[3951271.674] [email protected]_id(25)
[3951271.691] [email protected]_id(23)
[3951271.702] [email protected]()
[3951271.712] [email protected](446, 336, array)
[3951271.732] [email protected](300985)
[3951271.786]  -> [email protected]_configure(300985)
[3951271.803] [email protected](290292469)
[3951271.819]  -> [email protected]_region(new id wl_region@23)
[3951271.838]  -> [email protected]_region(new id wl_region@25)
[3951271.849]  -> [email protected](32, 32, 446, 336)
[3951271.910]  -> [email protected]()
[3951271.950]  -> [email protected]_buffer(new id wl_buffer@27, 0, 510, 400, 2040, 0)
[3951271.985]  -> [email protected](new id wl_callback@22)
[3951274.074]  -> [email protected]_window_geometry(32, 32, 446, 336)
[3951274.143]  -> [email protected]_opaque_region(wl_region@23)
[3951274.152]  -> [email protected]()
[3951274.159]  -> [email protected]_input_region(wl_region@25)
[3951274.167]  -> [email protected]()
[3951274.172]  -> [email protected](wl_buffer@27, 0, 0)
[3951274.188]  -> [email protected](0, 0, 510, 400)
[3951274.209]  -> [email protected]()
[3951288.255] [email protected]_id(28)
[3951288.365] [email protected]_id(23)
[3951288.390] [email protected]_id(25)
[3951288.412] [email protected]_id(22)
[3951288.426] [email protected]()
[3951288.460] [email protected](448, 336, array)
[3951288.491] [email protected](300986)
[3951288.503]  -> [email protected]_configure(300986)
[3951288.514] [email protected](290292486)
[3951288.529]  -> [email protected]_region(new id wl_region@22)
[3951288.549]  -> [email protected]_region(new id wl_region@25)
[3951288.562]  -> [email protected](32, 32, 448, 336)
[3951288.589]  -> [email protected]()
[3951288.615]  -> [email protected]_buffer(new id wl_buffer@23, 0, 512, 400, 2048, 0)
[3951288.656]  -> [email protected](new id wl_callback@28)
[3951291.041]  -> [email protected]_window_geometry(32, 32, 448, 336)
[3951291.151]  -> [email protected]_opaque_region(wl_region@22)
[3951291.169]  -> [email protected]()
[3951291.182]  -> [email protected]_input_region(wl_region@25)
[3951291.193]  -> [email protected]()
[3951291.201]  -> [email protected](wl_buffer@23, 0, 0)
[3951291.225]  -> [email protected](0, 0, 512, 400)
[3951291.270]  -> [email protected]()
[3951303.976] [email protected]_id(27)
[3951304.017] [email protected]_id(22)
[3951304.023] [email protected]_id(25)
[3951304.028] [email protected]_id(28)
[3951304.033] [email protected]()
[3951304.038] [email protected](449, 336, array)
[3951304.055] [email protected](300987)
[3951304.073]  -> [email protected]_configure(300987)
[3951304.080] [email protected](290292502)
[3951304.089]  -> [email protected]_region(new id wl_region@28)
[3951304.115]  -> [email protected]_region(new id wl_region@25)
[3951304.130]  -> [email protected](32, 32, 449, 336)
[3951304.156]  -> [email protected]()
[3951304.177]  -> [email protected]_buffer(new id wl_buffer@22, 0, 513, 400, 2052, 0)
[3951304.196]  -> [email protected](new id wl_callback@27)
[3951306.072]  -> [email protected]_window_geometry(32, 32, 449, 336)
[3951306.161]  -> [email protected]_opaque_region(wl_region@28)
[3951306.169]  -> [email protected]()
[3951306.174]  -> [email protected]_input_region(wl_region@25)
[3951306.179]  -> [email protected]()
[3951306.185]  -> [email protected](wl_buffer@22, 0, 0)
[3951306.195]  -> [email protected](0, 0, 513, 400)
[3951306.209]  -> [email protected]()
[3951320.899] [email protected]_id(23)
[3951320.932] [email protected]_id(28)
[3951320.937] [email protected]_id(25)
[3951320.943] [email protected]_id(27)
[3951320.947] [email protected]()
[3951320.952] [email protected](449, 336, array)
[3951320.964] [email protected](300988)
[3951320.977]  -> [email protected]_configure(300988)
[3951320.999] [email protected](290292518)
[3951321.020]  -> [email protected]_region(new id wl_region@27)
[3951321.051]  -> [email protected]_region(new id wl_region@25)
[3951321.060]  -> [email protected](32, 32, 449, 336)
[3951321.077]  -> [email protected](new id wl_callback@28)
[3951322.939]  -> [email protected]_opaque_region(wl_region@27)
[3951323.007]  -> [email protected]()
[3951323.012]  -> [email protected]_input_region(wl_region@25)
[3951323.017]  -> [email protected]()
[3951323.021]  -> [email protected](wl_buffer@22, 0, 0)
[3951323.030]  -> [email protected](0, 0, 513, 400)
[3951323.040]  -> [email protected]()
[3951335.882] [email protected]_id(27)
[3951335.912] [email protected]_id(25)
[3951335.917] [email protected]_id(28)
[3951335.921] [email protected]()
[3951335.926] [email protected](450, 336, array)
[3951335.937] [email protected](300989)
[3951335.943]  -> [email protected]_configure(300989)
[3951335.949] [email protected](290292533)
[3951335.968]  -> [email protected]_region(new id wl_region@28)
[3951336.018]  -> [email protected]_region(new id wl_region@25)
[3951336.025]  -> [email protected](32, 32, 450, 336)
[3951336.048]  -> [email protected]()
[3951336.066]  -> [email protected]_buffer(new id wl_buffer@27, 0, 514, 400, 2056, 0)
[3951336.096]  -> [email protected](new id wl_callback@23)
[3951337.977]  -> [email protected]_window_geometry(32, 32, 450, 336)
[3951338.041]  -> [email protected]_opaque_region(wl_region@28)
[3951338.047]  -> [email protected]()
[3951338.052]  -> [email protected]_input_region(wl_region@25)
[3951338.058]  -> [email protected]()
[3951338.063]  -> [email protected](wl_buffer@27, 0, 0)
[3951338.072]  -> [email protected](0, 0, 514, 400)
[3951338.082]  -> [email protected]()
[3951353.998] [email protected]_id(22)
[3951354.028] [email protected]_id(28)
[3951354.034] [email protected]_id(25)
[3951354.039] [email protected]_id(23)
[3951354.044] [email protected]()
[3951354.049] [email protected](452, 336, array)
[3951354.063] [email protected](300990)
[3951354.075]  -> [email protected]_configure(300990)
[3951354.086] [email protected](290292552)
[3951354.119]  -> [email protected]_region(new id wl_region@23)
[3951354.144]  -> [email protected]_region(new id wl_region@25)
[3951354.156]  -> [email protected](32, 32, 452, 336)
[3951354.185]  -> [email protected]()
[3951354.209]  -> [email protected]_buffer(new id wl_buffer@28, 0, 516, 400, 2064, 0)
[3951354.235]  -> [email protected](new id wl_callback@22)
[3951356.165]  -> [email protected]_window_geometry(32, 32, 452, 336)
[3951356.241]  -> [email protected]_opaque_region(wl_region@23)
[3951356.250]  -> [email protected]()
[3951356.254]  -> [email protected]_input_region(wl_region@25)
[3951356.258]  -> [email protected]()
[3951356.263]  -> [email protected](wl_buffer@28, 0, 0)
[3951356.272]  -> [email protected](0, 0, 516, 400)
[3951356.282]  -> [email protected]()
[3951370.654] [email protected]_id(27)
[3951370.683] [email protected]_id(23)
[3951370.688] [email protected]_id(25)
[3951370.693] [email protected]_id(22)
[3951370.698] [email protected]()
[3951370.703] [email protected](454, 336, array)
[3951370.718] [email protected](300991)
[3951370.729]  -> [email protected]_configure(300991)
[3951370.753] [email protected](290292568)
[3951370.766]  -> [email protected]_region(new id wl_region@22)
[3951370.787]  -> [email protected]_region(new id wl_region@25)
[3951370.806]  -> [email protected](32, 32, 454, 336)
[3951370.843]  -> [email protected]()
[3951370.868]  -> [email protected]_buffer(new id wl_buffer@23, 0, 518, 400, 2072, 0)
[3951370.893]  -> [email protected](new id wl_callback@27)
[3951373.243]  -> [email protected]_window_geometry(32, 32, 454, 336)
[3951373.323]  -> [email protected]_opaque_region(wl_region@22)
[3951373.354]  -> [email protected]()
[3951373.358]  -> [email protected]_input_region(wl_region@25)
[3951373.363]  -> [email protected]()
[3951373.367]  -> [email protected](wl_buffer@23, 0, 0)
[3951373.376]  -> [email protected](0, 0, 518, 400)
[3951373.388]  -> [email protected]()
[3951387.380] [email protected]_id(28)
[3951387.418] [email protected]_id(22)
[3951387.447] [email protected]_id(25)
[3951387.454] [email protected]_id(27)
[3951387.465] [email protected]()
[3951387.477] [email protected](458, 336, array)
[3951387.490] [email protected](300992)
[3951387.504]  -> [email protected]_configure(300992)
[3951387.518] [email protected](290292585)
[3951387.531]  -> [email protected]_region(new id wl_region@27)
[3951387.571]  -> [email protected]_region(new id wl_region@25)
[3951387.593]  -> [email protected](32, 32, 458, 336)
[3951387.617]  -> [email protected]()
[3951387.638]  -> [email protected]_buffer(new id wl_buffer@22, 0, 522, 400, 2088, 0)
[3951387.665]  -> [email protected](new id wl_callback@28)
[3951389.554]  -> [email protected]_window_geometry(32, 32, 458, 336)
[3951389.618]  -> [email protected]_opaque_region(wl_region@27)
[3951389.625]  -> [email protected]()
[3951389.629]  -> [email protected]_input_region(wl_region@25)
[3951389.634]  -> [email protected]()
[3951389.640]  -> [email protected](wl_buffer@22, 0, 0)
[3951389.650]  -> [email protected](0, 0, 522, 400)
[3951389.661]  -> [email protected]()
[3951404.164] [email protected]_id(23)
[3951404.198] [email protected]_id(27)
[3951404.203] [email protected]_id(25)
[3951404.208] [email protected]_id(28)
[3951404.213] [email protected]()
[3951404.218] [email protected](460, 336, array)
[3951404.230] [email protected](300993)
[3951404.238]  -> [email protected]_configure(300993)
[3951404.255] [email protected](290292602)
[3951404.269]  -> [email protected]_region(new id wl_region@28)
[3951404.283]  -> [email protected]_region(new id wl_region@25)
[3951404.293]  -> [email protected](32, 32, 460, 336)
[3951404.326]  -> [email protected]()
[3951404.364]  -> [email protected]_buffer(new id wl_buffer@27, 0, 524, 400, 2096, 0)
[3951404.386]  -> [email protected](new id wl_callback@23)
[3951406.241]  -> [email protected]_window_geometry(32, 32, 460, 336)
[3951406.311]  -> [email protected]_opaque_region(wl_region@28)
[3951406.319]  -> [email protected]()
[3951406.326]  -> [email protected]_input_region(wl_region@25)
[3951406.331]  -> [email protected]()
[3951406.336]  -> [email protected](wl_buffer@27, 0, 0)
[3951406.344]  -> [email protected](0, 0, 524, 400)
[3951406.358]  -> [email protected]()
[3951420.784] [email protected]_id(22)
[3951420.844] [email protected]_id(28)
[3951420.850] [email protected]_id(25)
[3951420.855] [email protected]_id(23)
[3951420.860] [email protected]()
[3951420.865] [email protected](463, 336, array)
[3951420.878] [email protected](300994)
[3951420.889]  -> [email protected]_configure(300994)
[3951420.902] [email protected](290292618)
[3951420.914]  -> [email protected]_region(new id wl_region@23)
[3951420.927]  -> [email protected]_region(new id wl_region@25)
[3951420.938]  -> [email protected](32, 32, 463, 336)
[3951420.965]  -> [email protected]()
[3951420.984]  -> [email protected]_buffer(new id wl_buffer@28, 0, 527, 400, 2108, 0)
[3951421.008]  -> [email protected](new id wl_callback@22)
[3951422.967]  -> [email protected]_window_geometry(32, 32, 463, 336)
[3951423.035]  -> [email protected]_opaque_region(wl_region@23)
[3951423.042]  -> [email protected]()
[3951423.046]  -> [email protected]_input_region(wl_region@25)
[3951423.051]  -> [email protected]()
[3951423.056]  -> [email protected](wl_buffer@28, 0, 0)
[3951423.066]  -> [email protected](0, 0, 527, 400)
[3951423.077]  -> [email protected]()
[3951437.436] [email protected]_id(27)
[3951437.496] [email protected]_id(23)
[3951437.503] [email protected]_id(25)
[3951437.508] [email protected]_id(22)
[3951437.513] [email protected]()
[3951437.519] [email protected](465, 336, array)
[3951437.541] [email protected](300995)
[3951437.559]  -> [email protected]_configure(300995)
[3951437.594] [email protected](290292635)
[3951437.606]  -> [email protected]_region(new id wl_region@22)
[3951437.657]  -> [email protected]_region(new id wl_region@25)
[3951437.669]  -> [email protected](32, 32, 465, 336)
[3951437.691]  -> [email protected]()
[3951437.721]  -> [email protected]_buffer(new id wl_buffer@23, 0, 529, 400, 2116, 0)
[3951437.757]  -> [email protected](new id wl_callback@27)
[3951439.751]  -> [email protected]_window_geometry(32, 32, 465, 336)
[3951439.826]  -> [email protected]_opaque_region(wl_region@22)
[3951439.834]  -> [email protected]()
[3951439.840]  -> [email protected]_input_region(wl_region@25)
[3951439.845]  -> [email protected]()
[3951439.849]  -> [email protected](wl_buffer@23, 0, 0)
[3951439.859]  -> [email protected](0, 0, 529, 400)
[3951439.870]  -> [email protected]()
[3951454.099] [email protected]_id(28)
[3951454.157] [email protected]_id(22)
[3951454.165] [email protected]_id(25)
[3951454.170] [email protected]_id(27)
[3951454.175] [email protected]()
[3951454.179] [email protected](467, 336, array)
[3951454.192] [email protected](300996)
[3951454.202]  -> [email protected]_configure(300996)
[3951454.216] [email protected](290292652)
[3951454.233]  -> [email protected]_region(new id wl_region@27)
[3951454.246]  -> [email protected]_region(new id wl_region@25)
[3951454.256]  -> [email protected](32, 32, 467, 336)
[3951454.280]  -> [email protected]()
[3951454.300]  -> [email protected]_buffer(new id wl_buffer@22, 0, 531, 400, 2124, 0)
[3951454.326]  -> [email protected](new id wl_callback@28)
[3951456.205]  -> [email protected]_window_geometry(32, 32, 467, 336)
[3951456.272]  -> [email protected]_opaque_region(wl_region@27)
[3951456.279]  -> [email protected]()
[3951456.282]  -> [email protected]_input_region(wl_region@25)
[3951456.286]  -> [email protected]()
[3951456.289]  -> [email protected](wl_buffer@22, 0, 0)
[3951456.298]  -> [email protected](0, 0, 531, 400)
[3951456.309]  -> [email protected]()
[3951470.694] [email protected]_id(23)
[3951470.725] [email protected]_id(27)
[3951470.730] [email protected]_id(25)
[3951470.735] [email protected]_id(28)
[3951470.740] [email protected]()
[3951470.744] [email protected](469, 336, array)
[3951470.758] [email protected](300997)
[3951470.766]  -> [email protected]_configure(300997)
[3951470.773] [email protected](290292668)
[3951470.783]  -> [email protected]_region(new id wl_region@28)
[3951470.799]  -> [email protected]_region(new id wl_region@25)
[3951470.847]  -> [email protected](32, 32, 469, 336)
[3951470.870]  -> [email protected]()
[3951470.890]  -> [email protected]_buffer(new id wl_buffer@27, 0, 533, 400, 2132, 0)
[3951470.917]  -> [email protected](new id wl_callback@23)
[3951472.809]  -> [email protected]_window_geometry(32, 32, 469, 336)
[3951472.900]  -> [email protected]_opaque_region(wl_region@28)
[3951472.908]  -> [email protected]()
[3951472.912]  -> [email protected]_input_region(wl_region@25)
[3951472.916]  -> [email protected]()
[3951472.920]  -> [email protected](wl_buffer@27, 0, 0)
[3951472.928]  -> [email protected](0, 0, 533, 400)
[3951472.939]  -> [email protected]()
[3951487.413] [email protected]_id(22)
[3951487.452] [email protected]_id(28)
[3951487.458] [email protected]_id(25)
[3951487.462] [email protected]_id(23)
[3951487.467] [email protected]()
[3951487.471] [email protected](472, 336, array)
[3951487.483] [email protected](300998)
[3951487.488]  -> [email protected]_configure(300998)
[3951487.495] [email protected](290292685)
[3951487.503]  -> [email protected]_region(new id wl_region@23)
[3951487.513]  -> [email protected]_region(new id wl_region@25)
[3951487.520]  -> [email protected](32, 32, 472, 336)
[3951487.539]  -> [email protected]()
[3951487.555]  -> [email protected]_buffer(new id wl_buffer@28, 0, 536, 400, 2144, 0)
[3951487.584]  -> [email protected](new id wl_callback@22)
[3951489.329]  -> [email protected]_window_geometry(32, 32, 472, 336)
[3951489.414]  -> [email protected]_opaque_region(wl_region@23)
[3951489.421]  -> [email protected]()
[3951489.425]  -> [email protected]_input_region(wl_region@25)
[3951489.429]  -> [email protected]()
[3951489.433]  -> [email protected](wl_buffer@28, 0, 0)
[3951489.441]  -> [email protected](0, 0, 536, 400)
[3951489.450]  -> [email protected]()
[3951504.299] [email protected]_id(27)
[3951504.327] [email protected]_id(23)
[3951504.332] [email protected]_id(25)
[3951504.338] [email protected]_id(22)
[3951504.345] [email protected]()
[3951504.351] [email protected](474, 336, array)
[3951504.365] [email protected](300999)
[3951504.370]  -> [email protected]_configure(300999)
[3951504.377] [email protected](290292702)
[3951504.385]  -> [email protected]_region(new id wl_region@22)
[3951504.393]  -> [email protected]_region(new id wl_region@25)
[3951504.403]  -> [email protected](32, 32, 474, 336)
[3951504.420]  -> [email protected]()
[3951504.432]  -> [email protected]_buffer(new id wl_buffer@23, 0, 538, 400, 2152, 0)
[3951504.459]  -> [email protected](new id wl_callback@27)
[3951506.122]  -> [email protected]_window_geometry(32, 32, 474, 336)
[3951506.204]  -> [email protected]_opaque_region(wl_region@22)
[3951506.211]  -> [email protected]()
[3951506.215]  -> [email protected]_input_region(wl_region@25)
[3951506.219]  -> [email protected]()
[3951506.224]  -> [email protected](wl_buffer@23, 0, 0)
[3951506.232]  -> [email protected](0, 0, 538, 400)
[3951506.242]  -> [email protected]()
[3951520.746] [email protected]_id(28)
[3951520.777] [email protected]_id(22)
[3951520.781] [email protected]_id(25)
[3951520.785] [email protected]_id(27)
[3951520.789] [email protected]()
[3951520.793] [email protected](475, 336, array)
[3951520.803] [email protected](301000)
[3951520.808]  -> [email protected]_configure(301000)
[3951520.814] [email protected](290292718)
[3951520.821]  -> [email protected]_region(new id wl_region@27)
[3951520.838]  -> [email protected]_region(new id wl_region@25)
[3951520.845]  -> [email protected](32, 32, 475, 336)
[3951520.858]  -> [email protected]()
[3951520.866]  -> [email protected]_buffer(new id wl_buffer@22, 0, 539, 400, 2156, 0)
[3951520.884]  -> [email protected](new id wl_callback@28)
[3951522.004]  -> [email protected]_window_geometry(32, 32, 475, 336)
[3951522.048]  -> [email protected]_opaque_region(wl_region@27)
[3951522.055]  -> [email protected]()
[3951522.060]  -> [email protected]_input_region(wl_region@25)
[3951522.066]  -> [email protected]()
[3951522.072]  -> [email protected](wl_buffer@22, 0, 0)
[3951522.084]  -> [email protected](0, 0, 539, 400)
[3951522.099]  -> [email protected]()
[3951537.391] [email protected]_id(23)
[3951537.418] [email protected]_id(27)
[3951537.422] [email protected]_id(25)
[3951537.426] [email protected]_id(28)
[3951537.431] [email protected]()
[3951537.435] [email protected](476, 336, array)
[3951537.445] [email protected](301001)
[3951537.450]  -> [email protected]_configure(301001)
[3951537.457] [email protected](290292735)
[3951537.464]  -> [email protected]_region(new id wl_region@28)
[3951537.475]  -> [email protected]_region(new id wl_region@25)
[3951537.482]  -> [email protected](32, 32, 476, 336)
[3951537.497]  -> [email protected]()
[3951537.507]  -> [email protected]_buffer(new id wl_buffer@27, 0, 540, 400, 2160, 0)
[3951537.526]  -> [email protected](new id wl_callback@23)
[3951538.708]  -> [email protected]_window_geometry(32, 32, 476, 336)
[3951538.750]  -> [email protected]_opaque_region(wl_region@28)
[3951538.760]  -> [email protected]()
[3951538.775]  -> [email protected]_input_region(wl_region@25)
[3951538.781]  -> [email protected]()
[3951538.789]  -> [email protected](wl_buffer@27, 0, 0)
[3951538.798]  -> [email protected](0, 0, 540, 400)
[3951538.827]  -> [email protected]()
[3951554.046] [email protected]_id(22)
[3951554.079] [email protected]_id(28)
[3951554.084] [email protected]_id(25)
[3951554.088] [email protected]_id(23)
[3951554.092] [email protected]()
[3951554.096] [email protected](477, 336, array)
[3951554.106] [email protected](301002)
[3951554.111]  -> [email protected]_configure(301002)
[3951554.116] [email protected](290292752)
[3951554.122]  -> [email protected]_region(new id wl_region@23)
[3951554.137]  -> [email protected]_region(new id wl_region@25)
[3951554.147]  -> [email protected](32, 32, 477, 336)
[3951554.163]  -> [email protected]()
[3951554.171]  -> [email protected]_buffer(new id wl_buffer@28, 0, 541, 400, 2164, 0)
[3951554.190]  -> [email protected](new id wl_callback@22)
[3951555.408]  -> [email protected]_window_geometry(32, 32, 477, 336)
[3951555.459]  -> [email protected]_opaque_region(wl_region@23)
[3951555.464]  -> [email protected]()
[3951555.467]  -> [email protected]_input_region(wl_region@25)
[3951555.473]  -> [email protected]()
[3951555.481]  -> [email protected](wl_buffer@28, 0, 0)
[3951555.494]  -> [email protected](0, 0, 541, 400)
[3951555.504]  -> [email protected]()
[3951570.641] [email protected]_id(27)
[3951570.667] [email protected]_id(23)
[3951570.672] [email protected]_id(25)
[3951570.676] [email protected]_id(22)
[3951570.680] [email protected]()
[3951570.684] [email protected](477, 336, array)
[3951570.694] [email protected](301003)
[3951570.699]  -> [email protected]_configure(301003)
[3951570.704] [email protected](290292768)
[3951570.710]  -> [email protected]_region(new id wl_region@22)
[3951570.718]  -> [email protected]_region(new id wl_region@25)
[3951570.725]  -> [email protected](32, 32, 477, 336)
[3951570.737]  -> [email protected](new id wl_callback@23)
[3951571.837]  -> [email protected]_opaque_region(wl_region@22)
[3951571.870]  -> [email protected]()
[3951571.874]  -> [email protected]_input_region(wl_region@25)
[3951571.878]  -> [email protected]()
[3951571.882]  -> [email protected](wl_buffer@28, 0, 0)
[3951571.890]  -> [email protected](0, 0, 541, 400)
[3951571.900]  -> [email protected]()
[3951585.963] [email protected]_id(22)
[3951586.033] [email protected]_id(25)
[3951586.041] [email protected]_id(23)
[3951586.048] [email protected]()
[3951586.055] [email protected](478, 336, array)
[3951586.081] [email protected](301004)
[3951586.092]  -> [email protected]_configure(301004)
[3951586.099] [email protected](290292784)
[3951586.110]  -> [email protected]_region(new id wl_region@23)
[3951586.124]  -> [email protected]_region(new id wl_region@25)
[3951586.132]  -> [email protected](32, 32, 478, 336)
[3951586.154]  -> [email protected]()
[3951586.173]  -> [email protected]_buffer(new id wl_buffer@22, 0, 542, 400, 2168, 0)
[3951586.197]  -> [email protected](new id wl_callback@27)
[3951588.051]  -> [email protected]_window_geometry(32, 32, 478, 336)
[3951588.110]  -> [email protected]_opaque_region(wl_region@23)
[3951588.118]  -> [email protected]()
[3951588.123]  -> [email protected]_input_region(wl_region@25)
[3951588.130]  -> [email protected]()
[3951588.134]  -> [email protected](wl_buffer@22, 0, 0)
[3951588.144]  -> [email protected](0, 0, 542, 400)
[3951588.154]  -> [email protected]()
[3951604.218] [email protected]_id(28)
[3951604.256] [email protected]_id(23)
[3951604.262] [email protected]_id(25)
[3951604.266] [email protected]_id(27)
[3951604.271] [email protected]()
[3951604.276] [email protected](479, 336, array)
[3951604.290] [email protected](301005)
[3951604.307]  -> [email protected]_configure(301005)
[3951604.315] [email protected](290292802)
[3951604.327]  -> [email protected]_region(new id wl_region@27)
[3951604.360]  -> [email protected]_region(new id wl_region@25)
[3951604.373]  -> [email protected](32, 32, 479, 336)
[3951604.424]  -> [email protected]()
[3951604.450]  -> [email protected]_buffer(new id wl_buffer@23, 0, 543, 400, 2172, 0)
[3951604.479]  -> [email protected](new id wl_callback@28)
[3951606.461]  -> [email protected]_window_geometry(32, 32, 479, 336)
[3951606.525]  -> [email protected]_opaque_region(wl_region@27)
[3951606.533]  -> [email protected]()
[3951606.539]  -> [email protected]_input_region(wl_region@25)
[3951606.544]  -> [email protected]()
[3951606.548]  -> [email protected](wl_buffer@23, 0, 0)
[3951606.635]  -> [email protected](0, 0, 543, 400)
[3951606.656]  -> [email protected]()
[3951620.863] [email protected]_id(22)
[3951620.902] [email protected]_id(27)
[3951620.908] [email protected]_id(25)
[3951620.913] [email protected]_id(28)
[3951620.918] [email protected]()
[3951620.924] [email protected](479, 336, array)
[3951620.939] [email protected](301006)
[3951620.952]  -> [email protected]_configure(301006)
[3951620.959] [email protected](290292818)
[3951620.970]  -> [email protected]_region(new id wl_region@28)
[3951620.982]  -> [email protected]_region(new id wl_region@25)
[3951620.989]  -> [email protected](32, 32, 479, 336)
[3951621.005]  -> [email protected](new id wl_callback@27)
[3951622.978]  -> [email protected]_opaque_region(wl_region@28)
[3951623.042]  -> [email protected]()
[3951623.049]  -> [email protected]_input_region(wl_region@25)
[3951623.053]  -> [email protected]()
[3951623.057]  -> [email protected](wl_buffer@23, 0, 0)
[3951623.066]  -> [email protected](0, 0, 543, 400)
[3951623.076]  -> [email protected]()
[3951636.043] [email protected]_id(28)
[3951636.078] [email protected]_id(25)
[3951636.083] [email protected]_id(27)
[3951636.087] [email protected]()
[3951636.091] [email protected](480, 336, array)
[3951636.104] [email protected](301007)
[3951636.111]  -> [email protected]_configure(301007)
[3951636.120] [email protected](290292834)
[3951636.126]  -> [email protected]_region(new id wl_region@27)
[3951636.138]  -> [email protected]_region(new id wl_region@25)
[3951636.146]  -> [email protected](32, 32, 480, 336)
[3951636.168]  -> [email protected]()
[3951636.187]  -> [email protected]_buffer(new id wl_buffer@28, 0, 544, 400, 2176, 0)
[3951636.212]  -> [email protected](new id wl_callback@22)
[3951638.221]  -> [email protected]_window_geometry(32, 32, 480, 336)
[3951638.294]  -> [email protected]_opaque_region(wl_region@27)
[3951638.300]  -> [email protected]()
[3951638.305]  -> [email protected]_input_region(wl_region@25)
[3951638.310]  -> [email protected]()
[3951638.314]  -> [email protected](wl_buffer@28, 0, 0)
[3951638.324]  -> [email protected](0, 0, 544, 400)
[3951638.335]  -> [email protected]()
[3951653.868] [email protected]_id(23)
[3951653.904] [email protected]_id(27)
[3951653.909] [email protected]_id(25)
[3951653.914] [email protected]_id(22)
[3951653.920] [email protected]()
[3951653.934] [email protected](290292851)
[3951997.691] [email protected](480, 336, array)
[3951997.863] [email protected](301008)
[3951997.898]  -> [email protected]_configure(301008)
[3951997.926] [email protected](301009, 0, 0, 0, 0)
[3951997.980] [email protected](301009, wl_surface@15, array)
[3951998.039] [email protected]_offer(new id wl_data_offer@22295616)
[3951998.073] [email protected]("TARGETS")
[3951998.098] [email protected]("_VIMENC_TEXT")
[3951998.124] [email protected]("_VIM_TEXT")
[3951998.150] [email protected]("text/plain;charset=utf-8")
[3951998.181] [email protected]("UTF8_STRING")
[3951998.200] [email protected]("STRING")
[3951998.216] [email protected]("TEXT")
[3951998.233] [email protected]("COMPOUND_TEXT")
[3951998.256] [email protected](wl_data_offer@4278190081)
[3951998.278]  -> [email protected]()
[3951998.335] [email protected](301010, wl_surface@15, 510.289062, 216.968750)
[3951998.393]  -> [email protected](wl_buffer@21, 0, 0)
[3951998.433]  -> [email protected](0, 0, 32, 32)
[3951998.481]  -> [email protected]()
[3951998.496]  -> [email protected]_cursor(301010, wl_surface@12, 25, 17)
[3951998.544] [email protected]()
[3951998.562]  -> [email protected]_region(new id wl_region@22)
[3951998.595]  -> [email protected]_region(new id wl_region@25)
[3951998.620]  -> [email protected](32, 32, 480, 336)
[3951998.677]  -> [email protected]()
[3951998.813]  -> [email protected]()
[3951999.381]  -> [email protected]_pool(new id wl_shm_pool@27, fd 9, 870400)
[3951999.475]  -> [email protected]_buffer(new id wl_buffer@23, 0, 544, 400, 2176, 0)
[3951999.541]  -> [email protected](new id wl_callback@24)
[3952002.779]  -> [email protected]_opaque_region(wl_region@22)
[3952002.848]  -> [email protected]()
[3952002.861]  -> [email protected]_input_region(wl_region@25)
[3952002.877]  -> [email protected]()
[3952002.890]  -> [email protected](wl_buffer@23, 0, 0)
[3952002.921]  -> [email protected](0, 0, 544, 400)
[3952002.961]  -> [email protected]()
[3952019.369] [email protected]_id(28)
[3952019.513] [email protected]_id(26)
[3952019.518] [email protected]_id(22)
[3952019.523] [email protected]_id(25)
[3952019.527] [email protected]_id(24)
[3952019.533] [email protected]()
[3952019.541] [email protected](290293217)
[3952081.540] [email protected](290293274, 510.406250, 216.968750)
[3952081.678] [email protected]()
[3952106.330] [email protected](290293297, 510.824219, 216.968750)
[3952106.524] [email protected]()
[3952121.760] [email protected](301011, wl_surface@15)
[3952121.894] [email protected]()
[3954099.772] [email protected](480, 336, array)
[3954099.859] [email protected](301013)
[3954099.871]  -> [email protected]_configure(301013)
[3954099.882] [email protected](301015, wl_surface@15)
[3954099.905]  -> [email protected]_region(new id wl_region@24)
[3954099.923]  -> [email protected]_region(new id wl_region@25)
[3954099.935]  -> [email protected](32, 32, 480, 336)
[3954099.967]  -> [email protected](new id wl_callback@22)
[3954101.606]  -> [email protected]_opaque_region(wl_region@24)
[3954101.666]  -> [email protected]()
[3954101.675]  -> [email protected]_input_region(wl_region@25)
[3954101.684]  -> [email protected]()
[3954101.692]  -> [email protected](wl_buffer@23, 0, 0)
[3954101.711]  -> [email protected](0, 0, 544, 400)
[3954101.733]  -> [email protected]()
[3954141.502] [email protected]_id(24)
[3954141.543] [email protected]_id(25)
[3954141.549] [email protected]_id(22)
[3954141.554] [email protected]()
[3954141.558] [email protected](290295339)

Sorry for the lengthy output! I tried to make the interaction as short as possible however wayland still likes to print a lot of info :)

Move

Here's another output from WAYLAND_DEBUG=1 weston-eventdemo except this time I

  • move my cursor to the title bar
  • grab the title bar by pressing the left mouse button down
  • drag the title bar (moving the window)
  • release the left mouse button
  • move my cursor back to the terminal
  • Ctrl+C to stop the program
[285154.993]  -> [email protected]_registry(new id wl_registry@2)
[285155.128]  -> [email protected](new id wl_callback@3)
[285155.399] [email protected]_id(3)
[285155.431] [email protected](1, "wl_drm", 2)
[285155.474] [email protected](2, "wl_compositor", 3)
[285155.516]  -> [email protected](2, "wl_compositor", 3, new id [unknown]@4)
[285155.564] [email protected](3, "wl_shm", 1)
[285155.598]  -> [email protected](3, "wl_shm", 1, new id [unknown]@5)
[285155.646] [email protected](5, "wl_output", 2)
[285155.679]  -> [email protected](5, "wl_output", 2, new id [unknown]@6)
[285155.742] [email protected](6, "wl_data_device_manager", 3)
[285155.794]  -> [email protected](6, "wl_data_device_manager", 3, new id [unknown]@7)
[285155.844] [email protected](7, "gtk_primary_selection_device_manager", 1)
[285155.885] [email protected](8, "zxdg_shell_v6", 1)
[285155.923]  -> [email protected](8, "zxdg_shell_v6", 1, new id [unknown]@8)
[285155.972] [email protected](9, "wl_shell", 1)
[285156.012] [email protected](10, "gtk_shell1", 1)
[285156.049] [email protected](11, "wl_subcompositor", 1)
[285156.086]  -> [email protected](11, "wl_subcompositor", 1, new id [unknown]@9)
[285156.139] [email protected](12, "zwp_pointer_gestures_v1", 1)
[285156.176] [email protected](13, "zwp_tablet_manager_v2", 1)
[285156.211] [email protected](14, "wl_seat", 5)
[285156.250]  -> [email protected](14, "wl_seat", 5, new id [unknown]@10)
[285156.305]  -> [email protected]_data_device(new id wl_data_device@11, wl_seat@10)
[285156.338]  -> [email protected]_surface(new id wl_surface@12)
[285156.376] [email protected](15, "zwp_relative_pointer_manager_v1", 1)
[285156.418]  -> [email protected](15, "zwp_relative_pointer_manager_v1", 1, new id [unknown]@13)
[285156.467] [email protected](16, "zwp_pointer_constraints_v1", 1)
[285156.508]  -> [email protected](16, "zwp_pointer_constraints_v1", 1, new id [unknown]@14)
[285156.557] [email protected](17, "zxdg_exporter_v1", 1)
[285156.594] [email protected](18, "zxdg_importer_v1", 1)
[285156.634] [email protected](303003)
[285156.811]  -> [email protected]_pool(new id wl_shm_pool@3, fd 8, 4096)
[285157.384]  -> [email protected](12288)
[285157.631]  -> [email protected](28672)
[285158.051]  -> [email protected](61440)
[285158.911]  -> [email protected](126976)
[285164.762]  -> [email protected](258048)
[285165.059]  -> [email protected](520192)
[285172.456]  -> [email protected](1044480)
[285178.674]  -> [email protected](2093056)
[285206.729]  -> [email protected]_surface(new id wl_surface@15)
[285206.758]  -> [email protected]_xdg_surface(new id zxdg_surface_v6@16, wl_surface@15)
[285206.767]  -> [email protected]_toplevel(new id zxdg_toplevel_v6@17)
[285206.774]  -> [email protected]()
[285206.902]  -> [email protected]_title("EventDemo")
[285243.453] [email protected](0)
[285243.477] [email protected](1)
[285243.481] [email protected](0, 0, 280, 160, 0, "SHP", "0x144d", 0)
[285243.506] [email protected](3, 3840, 2160, 59997)
[285243.518] [email protected](2)
[285243.522] [email protected]()
[285243.525] [email protected](7)
[285243.530]  -> [email protected]_pointer(new id wl_pointer@18)
[285243.537]  -> [email protected]_keyboard(new id wl_keyboard@19)
[285243.542]  -> [email protected]_touch(new id wl_touch@20)
[285243.547] [email protected]("seat0")
[285243.552] [email protected](0, 0, array)
[285243.563] [email protected](303005)
[285243.569]  -> [email protected]_configure(303005)
[285243.575]  -> [email protected]_region(new id wl_region@21)
[285243.585]  -> [email protected]_region(new id wl_region@22)
[285243.591]  -> [email protected](32, 32, 436, 336)
[285243.718]  -> [email protected]_pool(new id wl_shm_pool@23, fd 9, 800000)
[285243.739]  -> [email protected]_buffer(new id wl_buffer@24, 0, 500, 400, 2000, 0)
[285243.758]  -> [email protected](new id wl_callback@25)
[285249.766]  -> [email protected]_window_geometry(32, 32, 436, 336)
[285249.815]  -> [email protected]_opaque_region(wl_region@21)
[285249.836]  -> [email protected]()
[285249.842]  -> [email protected]_input_region(wl_region@22)
[285249.846]  -> [email protected]()
[285249.850]  -> [email protected](wl_buffer@24, 0, 0)
[285249.858]  -> [email protected](0, 0, 500, 400)
[285249.869]  -> [email protected]()
[285253.727] [email protected]_id(21)
[285253.759] [email protected]_id(22)
[285253.763] [email protected](1, fd 8, 51740)
[285260.197] [email protected]_info(33, 500)
[285260.224] [email protected]()
[285276.328] [email protected](436, 336, array)
[285276.370] [email protected](303007)
[285276.378]  -> [email protected]_configure(303007)
[285276.384] [email protected](303009, 0, 0, 0, 0)
[285276.436] [email protected](303009, wl_surface@15, array)
[285276.452] [email protected]_offer(new id wl_data_offer@23591232)
[285276.462] [email protected]("TARGETS")
[285276.470] [email protected]("_VIMENC_TEXT")
[285276.476] [email protected]("_VIM_TEXT")
[285276.482] [email protected]("text/plain;charset=utf-8")
[285276.490] [email protected]("UTF8_STRING")
[285276.496] [email protected]("STRING")
[285276.503] [email protected]("TEXT")
[285276.510] [email protected]("COMPOUND_TEXT")
[285276.516] [email protected](wl_data_offer@4278190080)
[285313.759] [email protected]_id(25)
[285313.838] [email protected](wl_output@6)
[285313.848] [email protected](290921479)
[285313.859]  -> [email protected]_region(new id wl_region@25)
[285313.872]  -> [email protected]_region(new id wl_region@22)
[285313.881]  -> [email protected](32, 32, 436, 336)
[285313.895]  -> [email protected](new id wl_callback@21)
[285314.892]  -> [email protected]_opaque_region(wl_region@25)
[285315.038]  -> [email protected]()
[285315.045]  -> [email protected]_input_region(wl_region@22)
[285315.050]  -> [email protected]()
[285315.053]  -> [email protected](wl_buffer@24, 0, 0)
[285315.062]  -> [email protected](0, 0, 500, 400)
[285315.073]  -> [email protected]()
[285330.353] [email protected]_id(25)
[285330.410] [email protected]_id(22)
[285330.419] [email protected]_id(21)
[285330.426] [email protected]()
[285330.433] [email protected](290921495)
[288467.447] [email protected](303013, wl_surface@15, 315.320312, 32.343750)
[288467.631]  -> [email protected]_buffer(new id wl_buffer@21, 434176, 32, 32, 128, 0)
[288467.731]  -> [email protected](wl_buffer@21, 0, 0)
[288467.786]  -> [email protected](0, 0, 32, 32)
[288467.843]  -> [email protected]()
[288467.862]  -> [email protected]_cursor(303013, wl_surface@12, 17, 7)
[288467.920] [email protected]()
[288467.940] [email protected](290924631, 315.320312, 32.343750)
[288468.008] [email protected]()
[288487.483] [email protected](290924646, 315.093750, 33.218750)
[288487.625] [email protected]()
[288503.211] [email protected](290924661, 314.859375, 34.140625)
[288503.334] [email protected]()
[288518.639] [email protected](290924677, 314.859375, 34.863281)
[288518.752] [email protected]()
[288535.451] [email protected](290924692, 314.859375, 35.347656)
[288535.551] [email protected]()
[288551.402] [email protected](290924708, 314.609375, 36.074219)
[288551.486] [email protected]()
[288568.184] [email protected](290924731, 313.859375, 37.539062)
[288568.373] [email protected]()
[288584.538] [email protected](290924746, 313.351562, 38.777344)
[288584.635] [email protected]()
[288600.917] [email protected](290924761, 312.835938, 39.781250)
[288600.995] [email protected]()
[288617.412] [email protected](290924777, 312.308594, 41.324219)
[288617.503]  -> [email protected]_buffer(new id wl_buffer@22, 1400832, 32, 32, 128, 0)
[288617.583]  -> [email protected](wl_buffer@22, 0, 0)
[288617.621]  -> [email protected](0, 0, 32, 32)
[288617.666]  -> [email protected]()
[288617.679]  -> [email protected]_cursor(303013, wl_surface@12, 5, 5)
[288617.741] [email protected]()
[288634.155] [email protected](290924792, 311.761719, 42.394531)
[288634.266] [email protected]()
[288650.663] [email protected](290924808, 311.480469, 43.488281)
[288650.743] [email protected]()
[288667.424] [email protected](290924823, 311.480469, 44.035156)
[288667.524] [email protected]()
[288683.175] [email protected](290924846, 311.480469, 44.835938)
[288683.296] [email protected]()
[288699.910] [email protected](290924861, 311.480469, 45.332031)
[288700.028] [email protected]()
[288716.429] [email protected](290924869, 311.480469, 45.562500)
[288716.531] [email protected]()
[288732.759] [email protected](290924892, 311.042969, 45.785156)
[288732.864] [email protected]()
[288749.477] [email protected](290924908, 310.460938, 46.164062)
[288749.571] [email protected]()
[288766.008] [email protected](290924923, 309.910156, 46.523438)
[288766.152] [email protected]()
[288782.641] [email protected](290924938, 309.117188, 46.703125)
[288782.753] [email protected]()
[288798.432] [email protected](290924962, 307.636719, 46.703125)
[288798.519] [email protected]()
[288814.836] [email protected](290924977, 307.148438, 46.703125)
[288814.969] [email protected]()
[288831.910] [email protected](290924992, 306.683594, 46.703125)
[288832.002] [email protected]()
[288848.564] [email protected](290925008, 306.234375, 46.703125)
[288848.651] [email protected]()
[288865.232] [email protected](290925023, 305.789062, 46.703125)
[288865.327] [email protected]()
[288881.899] [email protected](290925038, 305.363281, 46.703125)
[288882.017] [email protected]()
[288898.583] [email protected](290925054, 304.957031, 46.703125)
[288898.685] [email protected]()
[288914.761] [email protected](290925077, 304.398438, 46.703125)
[288914.840] [email protected]()
[288931.871] [email protected](290925092, 304.042969, 46.703125)
[288931.960] [email protected]()
[288948.171] [email protected](290925108, 303.687500, 46.703125)
[288948.330] [email protected]()
[288965.235] [email protected](290925123, 303.332031, 46.703125)
[288965.322] [email protected]()
[288981.785] [email protected](290925139, 302.976562, 46.703125)
[288981.924] [email protected]()
[288998.405] [email protected](290925154, 302.800781, 46.703125)
[288998.507] [email protected]()
[289015.402] [email protected](290925177, 302.289062, 46.703125)
[289015.505] [email protected]()
[289032.057] [email protected](290925192, 301.945312, 46.703125)
[289032.162] [email protected]()
[289048.146] [email protected](290925208, 301.601562, 46.703125)
[289048.250] [email protected]()
[289065.023] [email protected](290925223, 301.257812, 46.703125)
[289065.141] [email protected]()
[289081.893] [email protected](290925239, 300.914062, 46.703125)
[289082.007] [email protected]()
[289098.113] [email protected](290925254, 300.570312, 46.703125)
[289098.208] [email protected]()
[289114.847] [email protected](290925277, 299.667969, 46.703125)
[289115.004] [email protected]()
[289131.504] [email protected](290925292, 298.882812, 46.703125)
[289131.583] [email protected]()
[289148.224] [email protected](290925308, 298.050781, 46.703125)
[289148.372] [email protected]()
[289165.450] [email protected](290925323, 297.164062, 46.703125)
[289165.535] [email protected]()
[289181.788] [email protected](290925339, 296.230469, 46.703125)
[289181.892] [email protected]()
[289198.478] [email protected](290925354, 295.496094, 46.703125)
[289198.560] [email protected]()
[289215.498] [email protected](290925377, 294.761719, 46.703125)
[289215.575] [email protected]()
[289231.942] [email protected](290925393, 294.281250, 46.703125)
[289232.015] [email protected]()
[289248.683] [email protected](290925408, 293.824219, 46.703125)
[289248.760] [email protected]()
[289265.015] [email protected](290925423, 293.394531, 46.703125)
[289265.094] [email protected]()
[289281.565] [email protected](290925439, 292.992188, 46.703125)
[289281.746] [email protected]()
[289298.247] [email protected](290925454, 292.609375, 46.703125)
[289298.396] [email protected]()
[289314.914] [email protected](290925477, 292.074219, 46.703125)
[289315.082] [email protected]()
[289331.758] [email protected](290925493, 291.535156, 46.703125)
[289331.845] [email protected]()
[289348.241] [email protected](290925508, 290.980469, 46.703125)
[289348.419] [email protected]()
[289364.830] [email protected](290925523, 290.195312, 46.703125)
[289364.907] [email protected]()
[289381.556] [email protected](290925539, 289.789062, 46.703125)
[289381.791] [email protected]()
[289398.254] [email protected](290925554, 289.382812, 46.703125)
[289398.396] [email protected]()
[289414.752] [email protected](290925577, 288.347656, 46.703125)
[289414.823] [email protected]()
[289431.576] [email protected](290925593, 287.691406, 46.703125)
[289431.728] [email protected]()
[289448.319] [email protected](290925608, 286.785156, 46.703125)
[289448.411] [email protected]()
[289465.023] [email protected](290925623, 285.859375, 46.703125)
[289465.091] [email protected]()
[289481.752] [email protected](290925639, 285.402344, 46.703125)
[289481.838] [email protected]()
[289498.456] [email protected](290925654, 284.960938, 46.703125)
[289498.550] [email protected]()
[289514.903] [email protected](290925677, 284.296875, 46.703125)
[289515.047] [email protected]()
[289531.914] [email protected](290925693, 283.867188, 46.703125)
[289531.985] [email protected]()
[289548.109] [email protected](290925708, 283.460938, 46.703125)
[289548.178] [email protected]()
[289565.346] [email protected](290925723, 283.066406, 46.703125)
[289565.430] [email protected]()
[289581.910] [email protected](290925739, 282.699219, 46.703125)
[289581.996] [email protected]()

Here is where I press the left mouse button in order to begin moving the window:

[290028.746] [email protected](303014, 290926193, 272, 1)
[290028.883]  -> [email protected](wl_seat@10, 303014)
[290028.921] [email protected]()
[290032.157] [email protected](303015, wl_surface@15)
[290032.255] [email protected](303016, wl_surface@15)
[290032.296] [email protected]()
[290032.323]  -> [email protected](new id wl_callback@25)
[290034.208]  -> [email protected](wl_buffer@24, 0, 0)
[290034.261]  -> [email protected](0, 0, 500, 400)
[290034.301]  -> [email protected]()
[290046.563] [email protected]_id(25)
[290046.627] [email protected]()
[290046.642] [email protected](290926211)
[294808.688] [email protected](303017, 0, 0, 0, 0)
[294808.734] [email protected](303017, wl_surface@15, array)
[294808.751] [email protected]_offer(new id wl_data_offer@23403088)
[294808.762] [email protected]("TARGETS")
[294808.769] [email protected]("_VIMENC_TEXT")
[294808.776] [email protected]("_VIM_TEXT")
[294808.782] [email protected]("text/plain;charset=utf-8")
[294808.788] [email protected]("UTF8_STRING")
[294808.795] [email protected]("STRING")
[294808.800] [email protected]("TEXT")
[294808.806] [email protected]("COMPOUND_TEXT")
[294808.812] [email protected](wl_data_offer@4278190081)
[294808.819]  -> [email protected]()
[294808.829] [email protected](303018, wl_surface@15, 282.664062, 46.503906)
[294808.865]  -> [email protected](wl_buffer@22, 0, 0)
[294808.880]  -> [email protected](0, 0, 32, 32)
[294808.895]  -> [email protected]()
[294808.900]  -> [email protected]_cursor(303018, wl_surface@12, 5, 5)
[294808.917] [email protected]()
[294808.926]  -> [email protected](new id wl_callback@25)
[294809.905]  -> [email protected](wl_buffer@24, 0, 0)
[294809.942]  -> [email protected](0, 0, 500, 400)
[294809.955]  -> [email protected]()
[294831.680] [email protected]_id(25)
[294831.748] [email protected]()
[294831.760] [email protected](290930996)
[296757.527] [email protected](290932919, 282.664062, 42.105469)
[296757.771] [email protected]()
[296773.750] [email protected](290932934, 282.664062, 33.085938)
[296773.860]  -> [email protected](wl_buffer@21, 0, 0)
[296773.899]  -> [email protected](0, 0, 32, 32)
[296773.941]  -> [email protected]()
[296773.957]  -> [email protected]_cursor(303018, wl_surface@12, 17, 7)
[296773.999] [email protected]()
[296790.035] [email protected](303019, wl_surface@15)
[296790.126] [email protected]()
[297382.026] [email protected](436, 336, array)
[297382.077] [email protected](303021)
[297382.087]  -> [email protected]_configure(303021)
[297382.095] [email protected](303023, wl_surface@15)
[297382.111]  -> [email protected]_region(new id wl_region@25)
[297382.122]  -> [email protected]_region(new id wl_region@26)
[297382.136]  -> [email protected](32, 32, 436, 336)
[297382.169]  -> [email protected](new id wl_callback@27)
[297384.110]  -> [email protected]_opaque_region(wl_region@25)
[297384.196]  -> [email protected]()
[297384.210]  -> [email protected]_input_region(wl_region@26)
[297384.223]  -> [email protected]()
[297384.235]  -> [email protected](wl_buffer@24, 0, 0)
[297384.265]  -> [email protected](0, 0, 500, 400)
[297384.318]  -> [email protected]()
[297419.225] [email protected]_id(25)
[297419.266] [email protected]_id(26)
[297419.281] [email protected]_id(27)
[297419.288] [email protected]()
[297419.295] [email protected](290933584)

@elinorbgr
Copy link
Member

Thanks!

As a comparison, do you have a trace of wayland-window with your patch? We need to see what differs. Looks like the xdg_shell has changed the "configure" protocol (requiring an ack apparently). Maybe something is not implemented properly on this regard. I haven't yet taken the time to familiarize myself with xdg_shell.

@mitchmindtree
Copy link
Contributor Author

Ah of course! Here's the full output of WAYLAND_DEBUG=1 cargo run --example simple_window using this new xdg-shell branch:

  • move the cursor to the right frame.
  • grab it with the left mouse button and resize it to the right (attempting to make the window slightly wider, however no configure events are emitted).
  • my cursor back to the terminal and click on it.
  • stop the program with Ctrl+C.
[ 92682.377]  -> [email protected]_registry(new id wl_registry@2)
[ 92682.400]  -> [email protected](new id wl_callback@3)
[ 92682.537] [email protected]_id(3)
[ 92682.543] [email protected](1, "wl_drm", 2)
[ 92682.554] [email protected](2, "wl_compositor", 3)
[ 92682.560] [email protected](3, "wl_shm", 1)
[ 92682.567] [email protected](4, "wl_output", 2)
[ 92682.582] [email protected](5, "wl_data_device_manager", 3)
[ 92682.591] [email protected](6, "gtk_primary_selection_device_manager", 1)
[ 92682.600] [email protected](7, "zxdg_shell_v6", 1)
[ 92682.612] [email protected](8, "wl_shell", 1)
[ 92682.620] [email protected](9, "gtk_shell1", 1)
[ 92682.630] [email protected](10, "wl_subcompositor", 1)
[ 92682.642]  -> [email protected](2, "wl_compositor", 3, new id [unknown]@4)
[ 92682.654]  -> [email protected](10, "wl_subcompositor", 1, new id [unknown]@5)
[ 92682.664]  -> [email protected](3, "wl_shm", 1, new id [unknown]@6)
[ 92682.673]  -> [email protected](7, "zxdg_shell_v6", 1, new id [unknown]@7)
[ 92682.682] [email protected](11, "zwp_pointer_gestures_v1", 1)
[ 92682.689] [email protected](12, "zwp_tablet_manager_v2", 1)
[ 92682.695] [email protected](13, "wl_seat", 5)
[ 92682.702] [email protected](14, "zwp_relative_pointer_manager_v1", 1)
[ 92682.708] [email protected](15, "zwp_pointer_constraints_v1", 1)
[ 92682.714] [email protected](16, "zxdg_exporter_v1", 1)
[ 92682.720] [email protected](17, "zxdg_importer_v1", 1)
[ 92682.728] [email protected](637)
[ 92682.765]  -> [email protected]_surface(new id wl_surface@3)
[ 92682.772]  -> [email protected]_pool(new id wl_shm_pool@8, fd 5, 64)
[ 92682.780]  -> [email protected]_buffer(new id wl_buffer@9, 0, 4, 4, 16, 0)
[ 92682.795]  -> [email protected](13, "wl_seat", 1, new id [unknown]@10)
[ 92682.812]  -> [email protected]_pool(new id wl_shm_pool@11, fd 7, 1536)
[ 92682.821]  -> [email protected]_surface(new id wl_surface@12)
[ 92682.826]  -> [email protected]_surface(new id wl_surface@13)
[ 92682.830]  -> [email protected]_surface(new id wl_surface@14)
[ 92682.834]  -> [email protected]_surface(new id wl_surface@15)
[ 92682.841]  -> [email protected]_subsurface(new id wl_subsurface@16, wl_surface@12, wl_surface@3)
[ 92682.849]  -> [email protected]_subsurface(new id wl_subsurface@17, wl_surface@13, wl_surface@3)
[ 92682.858]  -> [email protected]_subsurface(new id wl_subsurface@18, wl_surface@14, wl_surface@3)
[ 92682.865]  -> [email protected]_subsurface(new id wl_subsurface@19, wl_surface@15, wl_surface@3)
[ 92682.874]  -> [email protected]_desync()
[ 92682.876]  -> [email protected]_desync()
[ 92682.879]  -> [email protected]_desync()
[ 92682.881]  -> [email protected]_desync()
[ 92682.884]  -> [email protected]_xdg_surface(new id zxdg_surface_v6@20, wl_surface@3)
[ 92682.890]  -> [email protected]_toplevel(new id zxdg_toplevel_v6@21)
[ 92682.895]  -> [email protected]()
[ 92682.898]  -> [email protected]_pointer(new id wl_pointer@22)
[ 92682.984]  -> [email protected]_pool(new id wl_shm_pool@23, fd 9, 1024)
[ 92683.089]  -> [email protected](4352)
[ 92683.114]  -> [email protected](11008)
[ 92683.159]  -> [email protected](24320)
[ 92683.283]  -> [email protected](50944)
[ 92683.450]  -> [email protected](104192)
[ 92684.054]  -> [email protected](210688)
[ 92684.193]  -> [email protected](423680)
[ 92685.260]  -> [email protected](849664)
[ 92687.587]  -> [email protected](1701632)
[ 92692.950]  -> [email protected]_surface(new id wl_surface@24)
[ 92692.967]  -> [email protected](3072)
[ 92694.637]  -> [email protected]_buffer(new id wl_buffer@25, 0, 32, 24, 128, 0)
[ 92694.652]  -> [email protected](wl_buffer@25, 0, 0)
[ 92694.659]  -> [email protected]_position(-8, -24)
[ 92694.665]  -> [email protected]_buffer(new id wl_buffer@26, 0, 8, 16, 32, 0)
[ 92694.677]  -> [email protected](wl_buffer@26, 0, 0)
[ 92694.689]  -> [email protected]_position(16, 0)
[ 92694.694]  -> [email protected]_buffer(new id wl_buffer@27, 0, 32, 8, 128, 0)
[ 92694.706]  -> [email protected](wl_buffer@27, 0, 0)
[ 92694.712]  -> [email protected]_position(-8, 16)
[ 92694.717]  -> [email protected]_buffer(new id wl_buffer@28, 0, 8, 16, 32, 0)
[ 92694.731]  -> [email protected](wl_buffer@28, 0, 0)
[ 92694.739]  -> [email protected]_position(-8, 0)
[ 92694.744]  -> [email protected]()
[ 92694.747]  -> [email protected]()
[ 92694.749]  -> [email protected]()
[ 92694.752]  -> [email protected]()
[ 92706.360] [email protected](0, 0, array)
	configure: resizing to (100, 100)
[ 92706.407] [email protected](638)
[ 92706.413]  -> [email protected]_configure(638)
[ 92706.439]  -> [email protected]()
[ 92706.444]  -> [email protected]()
[ 92706.448]  -> [email protected]()
[ 92706.451]  -> [email protected]()
[ 92706.461]  -> [email protected](11136)
[ 92712.908]  -> [email protected]_buffer(new id wl_buffer@29, 0, 116, 24, 464, 0)
[ 92712.940]  -> [email protected](wl_buffer@29, 0, 0)
[ 92712.966]  -> [email protected]_position(-8, -24)
[ 92712.973]  -> [email protected]_buffer(new id wl_buffer@30, 0, 8, 100, 32, 0)
[ 92712.987]  -> [email protected](wl_buffer@30, 0, 0)
[ 92712.993]  -> [email protected]_position(100, 0)
[ 92712.998]  -> [email protected]_buffer(new id wl_buffer@31, 0, 116, 8, 464, 0)
[ 92713.010]  -> [email protected](wl_buffer@31, 0, 0)
[ 92713.017]  -> [email protected]_position(-8, 100)
[ 92713.023]  -> [email protected]_buffer(new id wl_buffer@32, 0, 8, 100, 32, 0)
[ 92713.035]  -> [email protected](wl_buffer@32, 0, 0)
[ 92713.041]  -> [email protected]_position(-8, 0)
[ 92713.047]  -> [email protected]()
[ 92713.050]  -> [email protected]()
[ 92713.053]  -> [email protected]()
[ 92713.055]  -> [email protected]()
[ 92719.039]  -> [email protected](40000)
[ 92719.067]  -> [email protected]()
[ 92719.075]  -> [email protected]_buffer(new id wl_buffer@33, 0, 100, 100, 400, 0)
[ 92719.090]  -> [email protected](wl_buffer@33, 0, 0)
[ 92719.097]  -> [email protected]()
[ 92734.814] [email protected]_id(25)
[ 92734.846] [email protected]_id(26)
[ 92734.851] [email protected]_id(27)
[ 92734.856] [email protected]_id(28)
[ 92734.860] [email protected]_id(9)
[ 92734.865] [email protected](0, 0, array)
	configure: resizing to (100, 100)
[ 92734.895] [email protected](640)
[ 92734.902]  -> [email protected]_configure(640)
[ 92734.915]  -> [email protected]()
[ 92734.920]  -> [email protected]()
[ 92734.924]  -> [email protected]()
[ 92734.928]  -> [email protected]()
[ 92741.987]  -> [email protected]_buffer(new id wl_buffer@34, 0, 116, 24, 464, 0)
[ 92742.052]  -> [email protected](wl_buffer@34, 0, 0)
[ 92742.062]  -> [email protected]_position(-8, -24)
[ 92742.071]  -> [email protected]_buffer(new id wl_buffer@35, 0, 8, 100, 32, 0)
[ 92742.092]  -> [email protected](wl_buffer@35, 0, 0)
[ 92742.103]  -> [email protected]_position(100, 0)
[ 92742.109]  -> [email protected]_buffer(new id wl_buffer@36, 0, 116, 8, 464, 0)
[ 92742.122]  -> [email protected](wl_buffer@36, 0, 0)
[ 92742.129]  -> [email protected]_position(-8, 100)
[ 92742.135]  -> [email protected]_buffer(new id wl_buffer@37, 0, 8, 100, 32, 0)
[ 92742.147]  -> [email protected](wl_buffer@37, 0, 0)
[ 92742.155]  -> [email protected]_position(-8, 0)
[ 92742.162]  -> [email protected]()
[ 92742.166]  -> [email protected]()
[ 92742.169]  -> [email protected]()
[ 92742.171]  -> [email protected]()
[ 92742.176]  -> [email protected]()
[ 92742.182]  -> [email protected]_buffer(new id wl_buffer@38, 0, 100, 100, 400, 0)
[ 92742.197]  -> [email protected](wl_buffer@38, 0, 0)
[ 92742.204]  -> [email protected]()
[ 96640.211] [email protected]_id(29)
[ 96640.300] [email protected]_id(30)
[ 96640.323] [email protected]_id(31)
[ 96640.365] [email protected]_id(32)
[ 96640.384] [email protected]_id(33)
[ 96640.404] [email protected](643, wl_surface@13, 7.722656, 80.187500)
[ 96640.488]  -> [email protected]_buffer(new id wl_buffer@39, 453888, 24, 24, 96, 0)
[ 96640.562]  -> [email protected](wl_buffer@39, 0, 0)
[ 96640.598]  -> [email protected](0, 0, 24, 24)
[ 96640.638]  -> [email protected]()
[ 96640.655]  -> [email protected]_cursor(643, wl_surface@24, 19, 13)
[ 96640.704] [email protected](6451419, 7.722656, 80.187500)
[ 96659.054] [email protected](6451434, 7.339844, 80.187500)
[ 96675.140] [email protected](6451450, 7.148438, 80.187500)
[ 96709.472] [email protected](6451488, 6.953125, 80.187500)
[ 96740.161] [email protected](6451519, 6.761719, 80.187500)
[ 96801.834] [email protected](6451580, 6.550781, 80.187500)
[ 96862.926] [email protected](6451642, 6.316406, 80.187500)
[ 97062.651] [email protected](6451842, 6.097656, 80.187500)
[ 97079.204] [email protected](6451857, 5.675781, 80.187500)
[ 97095.168] [email protected](6451873, 5.253906, 80.187500)

Here is where I press the right edge with the left mouse button in an attempt to begin resizing it:

[ 97669.311] [email protected](644, 6452449, 272, 1)
[ 97669.395]  -> [email protected](wl_seat@10, 644, 8)
[ 98391.711] [email protected](6453172, 6.027344, 80.187500)
[ 98407.867] [email protected](6453188, 7.472656, 80.187500)
[ 98424.317] [email protected](6453203, 8.820312, 80.187500)
[ 98440.725] [email protected](6453219, 10.035156, 80.187500)
[ 98457.171] [email protected](6453234, 11.300781, 80.187500)
[ 98473.806] [email protected](6453249, 12.613281, 80.187500)
[ 98490.482] [email protected](6453265, 13.976562, 80.187500)
[ 98506.523] [email protected](6453288, 16.789062, 80.187500)
[ 98522.926] [email protected](6453303, 20.152344, 80.187500)
[ 98539.564] [email protected](6453319, 23.515625, 80.187500)
[ 98556.274] [email protected](6453334, 26.878906, 80.187500)
[ 98572.990] [email protected](6453349, 30.246094, 80.187500)
[ 98589.585] [email protected](6453365, 33.609375, 80.187500)
[ 98606.193] [email protected](6453380, 36.972656, 80.187500)
[ 98622.259] [email protected](6453403, 40.894531, 80.187500)
[ 98639.312] [email protected](6453419, 43.136719, 80.187500)
[ 98656.998] [email protected](6453434, 45.378906, 80.187500)
[ 98673.535] [email protected](6453449, 47.621094, 80.187500)
[ 98690.384] [email protected](6453465, 49.867188, 80.187500)
[ 98706.804] [email protected](6453480, 52.109375, 80.187500)
[ 98723.162] [email protected](6453503, 56.031250, 81.277344)
[ 98740.102] [email protected](6453519, 58.250000, 81.277344)
[ 98756.853] [email protected](6453534, 60.472656, 81.277344)
[ 98773.408] [email protected](6453549, 61.558594, 81.277344)
[ 98790.221] [email protected](6453565, 62.593750, 81.277344)
[ 98807.000] [email protected](6453580, 63.582031, 81.277344)
[ 98823.473] [email protected](6453603, 64.964844, 81.277344)
[ 98840.144] [email protected](6453619, 65.808594, 81.277344)
[ 98885.757] [email protected](6453665, 66.179688, 81.277344)
[ 98923.710] [email protected](6453703, 66.496094, 81.277344)
[ 98940.700] [email protected](6453711, 66.792969, 81.277344)
[ 98956.694] [email protected](6453734, 67.078125, 81.554688)
[ 98973.463] [email protected](6453749, 68.214844, 81.835938)
[ 98990.163] [email protected](6453765, 69.410156, 82.421875)
[ 99006.751] [email protected](6453780, 70.671875, 82.421875)
[ 99023.472] [email protected](6453803, 72.320312, 82.421875)
[ 99040.236] [email protected](6453819, 72.992188, 82.421875)
[ 99056.728] [email protected](6453834, 73.750000, 82.421875)
[ 99073.495] [email protected](6453849, 74.617188, 82.421875)
[ 99089.977] [email protected](6453865, 75.503906, 82.421875)
[ 99107.050] [email protected](6453880, 76.339844, 82.421875)
[ 99123.474] [email protected](6453903, 77.121094, 82.421875)
[ 99161.875] [email protected](6453942, 77.460938, 82.421875)
[ 99178.338] [email protected](6453957, 78.402344, 82.726562)
[ 99194.459] [email protected](6453972, 79.714844, 83.367188)
[ 99211.002] [email protected](6453988, 81.480469, 83.703125)
[ 99227.624] [email protected](6454003, 82.988281, 84.074219)
[ 99244.710] [email protected](6454019, 84.578125, 84.074219)
[ 99261.040] [email protected](6454034, 85.390625, 84.074219)
[ 99277.358] [email protected](6454057, 86.660156, 84.074219)
[ 99293.585] [email protected](6454072, 87.625000, 84.074219)
[ 99310.255] [email protected](6454088, 88.539062, 84.074219)
[ 99326.452] [email protected](6454095, 88.976562, 84.074219)
[ 99343.286] [email protected](6454111, 89.386719, 84.074219)
[ 99360.223] [email protected](6454134, 90.128906, 84.074219)
[ 99376.372] [email protected](6454149, 91.546875, 84.421875)
[ 99392.503] [email protected](6454172, 95.058594, 85.562500)
[ 99409.056] [email protected](6454188, 97.746094, 85.988281)
[ 99425.566] [email protected](6454203, 100.707031, 86.949219)
[ 99442.239] [email protected](6454218, 103.941406, 87.488281)
[ 99459.399] [email protected](6454234, 107.304688, 88.031250)
[ 99475.485] [email protected](6454249, 110.667969, 88.031250)
[ 99492.100] [email protected](6454265, 114.035156, 88.031250)
[ 99508.883] [email protected](6454288, 119.078125, 88.578125)
[ 99525.675] [email protected](6454303, 122.441406, 88.578125)
[ 99542.291] [email protected](6454318, 125.804688, 88.578125)
[ 99558.895] [email protected](6454334, 128.046875, 88.578125)
[ 99575.590] [email protected](6454349, 130.289062, 88.578125)
[ 99592.236] [email protected](6454365, 131.972656, 88.578125)
[ 99608.844] [email protected](6454388, 133.656250, 88.578125)
[ 99625.759] [email protected](6454403, 134.738281, 88.578125)
[ 99642.595] [email protected](6454418, 135.722656, 88.578125)
[ 99659.083] [email protected](6454434, 136.609375, 88.578125)
[ 99675.633] [email protected](6454449, 137.828125, 88.578125)
[ 99692.014] [email protected](6454465, 139.449219, 88.578125)
[ 99708.962] [email protected](6454488, 141.929688, 88.578125)
[ 99725.766] [email protected](6454503, 143.699219, 88.578125)
[ 99742.180] [email protected](6454518, 145.570312, 88.578125)
[ 99759.188] [email protected](6454534, 147.539062, 88.578125)
[ 99775.610] [email protected](6454549, 149.605469, 88.578125)
[ 99792.313] [email protected](6454565, 151.761719, 88.578125)
[ 99809.090] [email protected](6454588, 155.015625, 88.578125)
[ 99825.665] [email protected](6454603, 157.183594, 88.578125)
[ 99842.028] [email protected](6454618, 159.351562, 88.578125)
[ 99858.842] [email protected](6454634, 161.519531, 88.578125)
[ 99875.406] [email protected](6454649, 163.687500, 88.578125)
[ 99892.430] [email protected](6454672, 166.941406, 88.578125)
[ 99908.806] [email protected](6454688, 169.113281, 88.578125)
[ 99925.366] [email protected](6454703, 171.281250, 88.578125)
[ 99942.093] [email protected](6454718, 173.449219, 88.578125)
[ 99958.783] [email protected](6454734, 174.511719, 88.578125)
[ 99975.070] [email protected](6454749, 175.519531, 88.578125)
[ 99991.963] [email protected](6454772, 176.941406, 88.578125)
[100009.084] [email protected](6454788, 177.824219, 88.578125)
[100025.410] [email protected](6454795, 178.250000, 88.578125)
[100046.004] [email protected](6454826, 178.640625, 88.578125)
[100084.930] [email protected](6454865, 178.984375, 88.578125)
[100101.000] [email protected](6454880, 179.609375, 88.578125)
[100117.567] [email protected](6454895, 180.523438, 88.578125)
[100133.748] [email protected](6454911, 181.128906, 88.578125)
[100150.340] [email protected](6454926, 181.738281, 88.578125)
[100166.726] [email protected](6454941, 182.347656, 88.578125)
[100182.874] [email protected](6454957, 182.957031, 88.578125)
[100199.202] [email protected](6454972, 183.574219, 88.578125)
[100215.954] [email protected](6454988, 183.914062, 88.578125)
[100844.904] [email protected](645, 6455626, 272, 0)
[100845.037] [email protected](646, wl_surface@13)
[100845.103]  -> [email protected]_buffer(new id wl_buffer@40, 787968, 24, 24, 96, 0)
[100845.232]  -> [email protected](wl_buffer@40, 0, 0)
[100845.265]  -> [email protected](0, 0, 24, 24)
[100845.297]  -> [email protected]()
[100845.308]  -> [email protected]_cursor(646, wl_surface@24, 4, 4)
[108361.999] [email protected](0, 0, array)
	configure: resizing to (100, 100)
[108362.089] [email protected](648)
[108362.103]  -> [email protected]_configure(648)
[108362.124]  -> [email protected]()
[108362.133]  -> [email protected]()
[108362.140]  -> [email protected]()
[108362.147]  -> [email protected]()
[108375.830]  -> [email protected]_buffer(new id wl_buffer@41, 0, 116, 24, 464, 0)
[108375.906]  -> [email protected](wl_buffer@41, 0, 0)
[108375.936]  -> [email protected]_position(-8, -24)
[108375.963]  -> [email protected]_buffer(new id wl_buffer@42, 0, 8, 100, 32, 0)
[108375.999]  -> [email protected](wl_buffer@42, 0, 0)
[108376.019]  -> [email protected]_position(100, 0)
[108376.033]  -> [email protected]_buffer(new id wl_buffer@43, 0, 116, 8, 464, 0)
[108376.066]  -> [email protected](wl_buffer@43, 0, 0)
[108376.087]  -> [email protected]_position(-8, 100)
[108376.103]  -> [email protected]_buffer(new id wl_buffer@44, 0, 8, 100, 32, 0)
[108376.138]  -> [email protected](wl_buffer@44, 0, 0)
[108376.175]  -> [email protected]_position(-8, 0)
[108376.193]  -> [email protected]()
[108376.200]  -> [email protected]()
[108376.207]  -> [email protected]()
[108376.214]  -> [email protected]()
[108376.222]  -> [email protected]()
[108376.230]  -> [email protected]_buffer(new id wl_buffer@45, 0, 100, 100, 400, 0)
[108376.268]  -> [email protected](wl_buffer@45, 0, 0)
[108376.286]  -> [email protected]()

Looks like the xdg_shell has changed the "configure" protocol (requiring an ack apparently).

Yeah I noticed this too - I attempted to do this by calling ack_configure within the zxdg_surface_v6's Handler callback here - does this look like it's on the right track?.

@elinorbgr
Copy link
Member

I think I found the issue, but we would need a way to confirm it.

In mutter, when we try doing a resize, he callback is this function: https://github.com/GNOME/mutter/blob/e6eac46629335ac341e3207df8b2aac15fb9ffa7/src/wayland/meta-wayland-xdg-shell.c#L282-L299

Given we simply have no answer from the compositor, I guess meta_wayland_seat_get_grab_info(..) returns false. Now, it is defined here: https://github.com/GNOME/mutter/blob/5306d36522a45e8657231ac85f030bb4152ad29d/src/wayland/meta-wayland-seat.c#L406-L444

As we can see, in our context (a pointer event), the only way this can return false is if meta_wayland_pointer_can_grab_surface returns false. It is defined here: https://github.com/GNOME/mutter/blob/6fa8238ebf5f1a1854b748533ad99ea15d647896/src/wayland/meta-wayland-pointer.c#L1122-L1128

gboolean
meta_wayland_pointer_can_grab_surface (MetaWaylandPointer *pointer,
                                       MetaWaylandSurface *surface,
                                       uint32_t            serial)
{
  return (pointer->grab_serial == serial &&
          pointer->focus_surface == surface);
}

As the serial is good, then most likely the second equality evaluates to false.

Which is plausible, as at this point, the focus surface is the subsurface we use to draw the borders, while the surface we try to grab is the parent surface. The weston client does not use subsurfaces to draw its contents, as such it does not have any problem.

I don't know if it's mutter or us who are at fault here, I'll ask on #wayland IRC.

@elinorbgr
Copy link
Member

Well, apparently it is mutter's fault. :)

@mitchmindtree
Copy link
Contributor Author

Really nice work in tracking this down!

So to correct the behaviour in mutter, meta_wayland_pointer_can_grab_surface should return true if either pointer->focus_surface == surface or if pointer->focus_surface is equal to any of the surface's subsurfaces?

I don't know if it is mutter or us who are at fault here, I'll ask on #wayland IRC.

Well, apparently it is mutter's fault. :)

Do you happen to have the log for this discussion? I'm curious about the discussion behind this, as I'm considering making the patch myself to get things moving along, however I'd like to gather what info I can first.

@elinorbgr
Copy link
Member

Oh, it was a very short discussion:

M-Levans Hi, question about pointer grabs: is it legal for a client to start an interactive resize/move on a surface using a serial grab from a pointer click that occured on a subsurface of this surface? Looks like weston allows it but mutter does not. (context: I'm using subsurfaces to draw window decorations).
SardemFF7 yes, it should be legal
SardemFF7 or there would be no way to use subsurfaces for decorations, which would be a really bad idea
SardemFF7 jadahl: ↑
jadahl M-Levans: sounds reasonable, could you file a bug? on the mutter product in gnomes bugzilla
M-Levans jadahl: this is actually my diagnostic of https://bugzilla.gnome.org/show_bug.cgi?id=781811, should I post the details there?
M-Levans Or rather create a new bug?
[..]
jadahl M-Levans: sure, comment on it there


So to correct the behaviour in mutter, meta_wayland_pointer_can_grab_surface should return true if either pointer->focus_surface == surface or if pointer->focus_surface is equal to any of the surface's subsurfaces?

This is how I understand it too.

This commit mostly attempts to replace wl_shell with xdg_shell to make
integration simpler, however the plan is to re-integrate support for
wl_shell and move all xdg_shell functionality behind a (defaulted)
feature gate in a future commit to allow for backward-compatibility with
wl_shell.

Several xdg_surface methods have not yet been exposed in the
`DecoratedSurface` API.

This commit also fixes a spelling mistake: substract -> subtract.
I believe this is mostly implemented however I'm not confident this is
the nicest design. I'm unsure how to best modify the `Handler` pattern
to handle the different shells. I've changed the Handler::configure
method to take a `Configure` enum, which provides the shell-specific
data.

The example has not yet been updated as I'm unsure how to check whether
`xdg_shell` is available and fall back to `wl_shell` otherwise. It seems
this process is currently wrapped up by the `wayland_env` macro.
@mitchmindtree
Copy link
Contributor Author

Bug Update

The move/resize bug I was experiencing should be fixed in the next gnome update! It seems that making the fix upstream fixes the problem of moving and resizing regardless of this PR.

This PR

@vberger I have begun making the changes you mentioned in your previous comment.

I believe this is mostly implemented however I'm not confident this is
the nicest design. I'm unsure how to best modify the Handler pattern
to handle the different shells. I've changed the Handler::configure
method to take a Configure enum, which provides the shell-specific
data.

The example has not yet been updated as I'm unsure how to check whether
xdg_shell is available and fall back to wl_shell otherwise. It seems
this process is currently wrapped up by the wayland_env macro.

@elinorbgr
Copy link
Member

I've looked at the current state of the diff, overall it looks good 👍

Now, to answer your questions:

  • We totally need to add a closed() method to the Handler trait for user handlers, this callback should also be called when we have proper decorations, including a "close" button
  • To handle wl_shell/xdg_shell, we won't be able to rely on the wayland_env!() macro to do all the job. It can only auto-bind globals that are trigger a hard failure if they are missing. So we can still use it to bind wl_shell, as this one is guaranteed to be here, but we need to manually try to bind xdg_shell. All this is out of the scope of wayland-window, but I agree it's good to have an example doing it.

As xdg_shell is a global that is not expected to appear/disappear, it should be actually quite simple. Taking inspiration from this example: https://github.com/Smithay/wayland-rs/blob/master/wayland-client/examples/simple_client.rs , you don't provide XdgShell as a global to wayland_env!(), so it won't be auto-binded. But after the firsts roundtrips, you manually try to bind it, with something like:

let mut xdg_shell = None;
for &(name, ref interface, version) in env.globals() {
    if interface == ZxdgShellV6::interface_name() {
        xdg_shell = Some(registry.bind::<ZxdgShellV6>(name, version));
        /* also register xdg_shell to its handler in the events_queue */
        break;
    }
}

Now I just realized an issue with the design: if xdg_shell is an optional feature, we have a few enums whose number of variants depends on enabled cargo features, which is not really a good thing, as cargo can enable them on the fly. In general, enabling a cargo feature whould not be a breaking change API-wise, but changing the number of variants of an enum is... Not sure what would be the best course to handle that. The good side is that since the last rust version, xdg_shell can actually be compiled on rust stable, so we may consider just not hiding it behind a cargo feature?

@mitchmindtree
Copy link
Contributor Author

But after the firsts roundtrips, you manually try to bind it, with something like...

Thanks for the example, I'll have a go at implementing this now.

The good side is that since the last rust version, xdg_shell can actually be compiled on rust stable, so we may consider just not hiding it behind a cargo feature?

Sounds good to me! I'll change this too.

@mitchmindtree
Copy link
Contributor Author

Ok, I think I've addressed all your points! However, I'm unsure what you mean by this line in your example:

        /* also register xdg_shell to its handler in the events_queue */

Could you provide an example of this? The example seems to work as is, however I could very well be missing something!

@mitchmindtree mitchmindtree changed the title [WIP] Integrate xdg_shell Integrate xdg_shell Jun 18, 2017
@elinorbgr
Copy link
Member

elinorbgr commented Jun 18, 2017

Yes, sure, this is something the client will need to do with xdg_shell, (but is out of scope of wayland-window I'd say, but it's good to have it in the example).

The client needs to handle this event from the server: https://smithay.github.io/wayland-rs/wayland_protocols/unstable/xdg_shell/client/zxdg_shell_v6/trait.Handler.html by simply answering "pong" to these "ping"s. Otherwise, the server may mark the client as "unresponsive".

This is pretty simple:

// declare a handler struct to handle the xdg_shell events:
// This one does not need any state
struct XdgShellPingHandler;

// The implementation of this handler trait is very simple
impl xdg_shell_v6::Handler for SdgShellPingHandler {
    fn ping(&mut self, evqh: &mut EventQueueHandle, proxy: &ZxdgShellV6, serial: u32) {
        proxy.pong(serial);
    }
}

/*
 * ...
 */

// later, in the match:
let shell = match (xdg_shell, wl_shell) {
    (Some(shell), _) => {
        // We use xdg_shell, so we'll need to answer to the pings
        let ping_handler_id = event_queue.add_handler(XdgShellPingHandler);
        event_queue.register::<_,XdgShellPingHandler>(&shell, ping_handler_id);
        wayland_window::Shell::Xdg(shell)
    },
    (_, Some(shell)) => {
        wayland_window::Shell::Wl(shell)
    },
    _ => panic!("No available shell"),
};

PS: I'm currently having a look at your changes, but I wanted to answer your question first.

}

/// Set a class for the surface.
///
/// The surface class identifies the general class of applications to which the surface
/// belongs. A common convention is to use the file name (or the full path if it is a
/// non-standard location) of the application's .desktop file as the class.
///
/// Note: This is ignored when using `xdg_shell`. Not sure if it should be handled.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pub fn set_fullscreen(&mut self,
///
/// Note: When using `xdg_shell`, the requested `FullscreenMethod` and `framerate` will be
/// ignored. Not sure if some way of handling these arguments should be added to the xdg_shell?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, looks like xdg_shell has no equivalent for these :/

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given the functionality is not supported by xdg_shell and wl_shell is supposed to be deprecated anyway, we may simply remove it, and use the default values FullscreenMethod::Default for method and 0 for framerate (which together means "let the server decide", so exactly what xdg_shell does).

width: i32, height: i32,
_states: Vec<u8>,
) {
// NOTE: Not sure if/how `_states` should be handled here.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know either, and the protocol documentation is not very helpful :(

src/shell/xdg.rs Outdated
if let Some(handler) = decorated_surface::handler_mut(self) {
let (w, h) = decorated_surface::subtract_borders(width, height);
let configure = super::Configure::Xdg;
handler.configure(evqh, configure, max(w, 1), max(h, 1));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Either we do the max(w,1) and max(h,1 for both wl_shell and xdg_shell, or neither, but we can't do it for one and not the other.

I'd be in favor of not doing it, and document in the trait definition that the values can be negative if the user tries to resize the window past the left or top border, and that the client should decide how to interpret that. Giving as example simply computing max(w, min_width) and max(h, min_height).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh I must have left this in by accident, nice catch!

@elinorbgr
Copy link
Member

See the few comments I left, but other than that this looks really good! 👍

Thanks a lot for your effort in doing that!

@mitchmindtree
Copy link
Contributor Author

No problem! I've addressed each of your most recent comments, let me know if there's anything else, otherwise I think this should be good to go 👍

self.shell_surface.set_toplevel();
if let shell::Surface::Wl(ref surface) = self.shell_surface {
surface.set_toplevel();
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to unset fullscreen mode on xdg_shell too, by calling XdgToplevelV6::unset_fullscreen()

@elinorbgr
Copy link
Member

Just found a last thing, but other than that, we're good!

@mitchmindtree
Copy link
Contributor Author

Done!

@elinorbgr
Copy link
Member

Awesome, thanks!

I'll merge this, I have still some stuff to do before releasing the next version (mostly fixing #10 which has been open for far too long, and a few interactions with wayland-client I have in mind). Hopefully it should be a matter of days. :)

@elinorbgr elinorbgr merged commit 7baf52b into Smithay:master Jun 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants