app_id and title are set after setting surface id
in my weston.in
i have something like
[core]
shell=ivi-shell.so
require-input=false
modules=ivi-controller.so,systemd-notify.so
idle-time=0
[ivi-shell]
ivi-input-module=ivi-input-controller.so
ivi-id-agent-module=ivi-id-agent.so
[desktop-app]
surface-id=3000
app-id=gtk-app
[desktop-app]
surface-id=2000
app-id=gstreamer-app
[desktop-app-default]
default-surface-id=5000
default-surface-id-max=5100
I also have configured the ivi-shell with the wayland-ivi-extentions
With weston version 10 both my gtk and my gstreamer apps have there app-id
assigned correctly and end up with the right surface-id
With weston version 13 only the gstreamer app is correctly assigned
i have used WAYLAND_DEBUG=1
for the gstreamer app i see
ler[537]: [2480892.227] wl_callback@8.done(7)
ler[537]: [2480903.511] -> wl_compositor@4.create_surface(new id wl_surface@3)
ler[537]: [2480903.545] -> wl_compositor@4.create_surface(new id wl_surface@10)
ler[537]: [2480903.557] -> wl_subcompositor@5.get_subsurface(new id wl_subsurf>
ler[537]: [2480903.565] -> wl_subsurface@11.set_desync()
ler[537]: [2480903.574] -> wp_viewporter@6.get_viewport(new id wp_viewport@12,>
ler[537]: [2480903.583] -> wp_viewporter@6.get_viewport(new id wp_viewport@13,>
ler[537]: [2480903.589] -> wl_compositor@4.create_region(new id wl_region@14)
ler[537]: [2480903.594] -> wl_surface@10.set_input_region(wl_region@14)
ler[537]: [2480903.600] -> wl_region@14.destroy()
ler[537]: [2480903.607] -> xdg_wm_base@9.get_xdg_surface(new id xdg_surface@15>
ler[537]: [2480903.614] -> xdg_surface@15.get_toplevel(new id xdg_toplevel@16)
ler[537]: [2480903.621] -> xdg_toplevel@16.set_app_id("camera-controller")
ler[537]: [2480903.627] -> xdg_toplevel@16.unset_fullscreen()
ler[537]: [2480903.632] -> wl_surface@3.commit()
ler[537]: [2480904.048] wl_display@1.delete_id(14)
ler[537]: [2480904.058] xdg_toplevel@16.configure(0, 0, array[0])
ler[537]: [2480904.064] xdg_surface@15.configure(8)
ler[537]: [2480904.069] -> xdg_surface@15.ack_configure(8)
ler[537]: [2480904.108] ivi_wm@6.surface_created(2000)
for the gtk app i see
Feb 27 18:18:16 localhost test-workload[531]: [ 215386.522] wl_seat@13.name("default")
Feb 27 18:18:16 localhost test-workload[531]: [ 215386.530] wl_callback@17.done(2)
Feb 27 18:18:16 localhost test-workload[531]: [ 215386.538] -> wl_registry@2.bind(20, "xdg_wm_base", 5, new id [unknown]@17)
Feb 27 18:18:16 localhost test-workload[531]: [ 215546.590] -> wl_compositor@4.create_surface(new id wl_surface@7)
Feb 27 18:18:16 localhost test-workload[531]: [ 215546.752] -> xdg_wm_base@17.get_xdg_surface(new id xdg_surface@18, wl_surface@7)
Feb 27 18:18:16 localhost test-workload[531]: [ 215546.774] -> xdg_surface@18.get_toplevel(new id xdg_toplevel@19)
Feb 27 18:18:16 localhost test-workload[531]: [ 215546.801] -> xdg_toplevel@19.set_parent(nil)
Feb 27 18:18:16 localhost test-workload[531]: [ 215546.812] -> xdg_toplevel@19.set_title("test-workload")
Feb 27 18:18:16 localhost test-workload[531]: [ 215546.820] -> xdg_toplevel@19.set_app_id("test-workload")
Feb 27 18:18:16 localhost test-workload[531]: [ 215546.826] -> wl_surface@7.commit()
Feb 27 18:18:16 localhost test-workload[531]: [ 215547.513] -> xdg_toplevel@19.set_min_size(568, 46)
Feb 27 18:18:16 localhost test-workload[531]: [ 215547.537] -> xdg_toplevel@19.set_max_size(0, 0)
Feb 27 18:18:16 localhost test-workload[531]: [ 215547.622] wl_keyboard@12.repeat_info(40, 400)
Feb 27 18:18:16 localhost test-workload[531]: [ 215547.632] wl_keyboard@12.keymap(1, fd 8, 64703)
Feb 27 18:18:16 localhost test-workload[531]: [ 215550.683] xdg_toplevel@19.wm_capabilities(array[12])
Feb 27 18:18:16 localhost test-workload[531]: [ 215550.709] xdg_toplevel@19.configure(0, 0, array[0])
Feb 27 18:18:16 localhost test-workload[531]: [ 215550.715] xdg_surface@18.configure(3)
Feb 27 18:18:16 localhost test-workload[531]: [ 215550.730] -> xdg_surface@18.ack_configure(3)
Feb 27 18:18:16 localhost test-workload[531]: [ 215565.491] -> wl_shm@9.create_pool(new id wl_shm_pool@20, fd 9, 1228800)
Feb 27 18:18:16 localhost test-workload[531]: [ 215565.531] -> wl_shm_pool@20.create_buffer(new id wl_buffer@21, 0, 640, 480, 2560, 0)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.794] -> wl_surface@7.attach(wl_buffer@21, 0, 0)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.821] -> wl_surface@7.set_buffer_scale(1)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.828] -> wl_surface@7.damage(0, 0, 640, 480)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.834] -> xdg_toplevel@19.set_min_size(568, 46)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.838] -> xdg_toplevel@19.set_max_size(0, 0)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.843] -> xdg_surface@18.set_window_geometry(0, 0, 640, 480)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.848] -> wl_compositor@4.create_region(new id wl_region@22)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.853] -> wl_region@22.add(0, 0, 640, 480)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.858] -> wl_surface@7.set_opaque_region(wl_region@22)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.863] -> wl_region@22.destroy()
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.867] -> wl_surface@7.set_input_region(nil)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.882] -> wl_surface@7.frame(new id wl_callback@23)
Feb 27 18:18:16 localhost test-workload[531]: [ 215569.888] -> wl_surface@7.commit()
I added some extra debug to the ivi-extentions to show that at the point that weston is assigning surface numbers it thinks the gtk app has not set a id or title
[18:18:16.939] - app id not set
[18:18:16.939] - app title not set
[18:18:16.939] ivi-id-agent: No configuration for application adding to default layer
[18:18:16.939] id_surface is not created yet
[18:18:18.567] - app id: gstreamer-app
[18:18:18.567] - app title not set
[18:18:18.567] id_surface is not created yet
Is this because gtk3 is splitting creating the surface and setting the title over "wl_callback@17.done(2) and xdg_surface@18.configure(3)" but gstreamer does them both in "wl_callback@8.done(7)" ?
Its odd that weston-10 worked and weston-13 no longer does..
My gtk app is pretty close to hello world btw