desktop-shell: Client configured with (0,0) on fullscreen -> maximized transition
This happens with basically any client:
- Open a client (e.g. weston-terminal)
- Maximize it with weston's keybinding (Meta + Shift + m)
- Fullscreen it with weston's keybinding (Meta + Shift + f)
- Maximize it with weston's keybinding (Meta + Shift + m)
- The client will be killed by weston
[429283.180] xdg_toplevel@18.configure(0, 0, array)
[429283.184] xdg_surface@17.configure(1628)
[429283.186] -> xdg_surface@17.ack_configure(1628)
[429283.192] -> xdg_toplevel@18.set_title("Wayland Terminal")
[429283.201] -> wl_compositor@4.create_region(new id wl_region@21)
[429283.371] -> xdg_toplevel@18.set_title("Wayland Terminal")
[429283.374] -> wl_compositor@4.create_region(new id wl_region@22)
[429283.377] -> wl_region@22.add(32, 32, 742, 427)
[429283.383] -> wl_region@21.add(35, 35, 736, 421)
[429283.741] -> wl_shm@9.create_pool(new id wl_shm_pool@23, fd 9, 1582984)
[429283.752] -> wl_shm_pool@23.create_buffer(new id wl_buffer@24, 0, 806, 491, 3224, 0)
[429283.760] -> wl_surface@16.frame(new id wl_callback@25)
[429299.726] -> xdg_surface@17.set_window_geometry(32, 32, 742, 427)
[429299.744] -> wl_surface@16.set_opaque_region(wl_region@21)
[429299.747] -> wl_region@21.destroy()
[429299.752] -> wl_surface@16.set_input_region(wl_region@22)
[429299.754] -> wl_region@22.destroy()
[429299.756] -> wl_surface@16.attach(wl_buffer@24, 0, 0)
[429299.761] -> wl_surface@16.damage(0, 0, 806, 491)
[429299.766] -> wl_surface@16.commit()
[429300.361] wl_display@1.delete_id(21)
[429300.368] wl_display@1.delete_id(22)
[429300.371] wl_keyboard@20.repeat_info(40, 400)
[429300.375] wl_keyboard@20.keymap(1, fd 8, 47218)
[429306.598] wl_surface@16.enter(wl_output@13)
[429306.610] -> wl_surface@16.set_buffer_transform(0)
[429306.613] -> wl_surface@16.set_buffer_scale(1)
[429306.617] wl_keyboard@20.modifiers(1630, 0, 0, 0, 0)
[429306.625] wl_keyboard@20.enter(1630, wl_surface@16, array)
[429306.630] wl_data_device@11.selection(nil)
[429306.634] xdg_toplevel@18.configure(0, 0, array)
[429306.639] xdg_surface@17.configure(1632)
[429306.642] -> xdg_surface@17.ack_configure(1632)
[429306.645] -> xdg_toplevel@18.set_title("Wayland Terminal")
[429306.662] wl_display@1.delete_id(25)
[429306.666] wl_buffer@24.release()
[429306.668] wl_pointer@19.enter(1634, wl_surface@16, 667.980469, 271.773438)
[429306.677] -> wl_shm_pool@3.create_buffer(new id wl_buffer@22, 1941504, 32, 32, 128, 0)
[429306.687] -> wl_surface@12.attach(wl_buffer@22, 0, 0)
[429306.691] -> wl_surface@12.damage(0, 0, 32, 32)
[429306.696] -> wl_surface@12.commit()
[429306.698] -> wl_pointer@19.set_cursor(1634, wl_surface@12, 14, 15)
[429306.703] wl_pointer@19.frame()
[429306.705] xdg_wm_base@15.ping(1635)
[429306.707] -> xdg_wm_base@15.pong(1635)
[429306.710] wl_callback@25.done(19164742)
[429306.715] -> xdg_toplevel@18.set_title("scott@yuno:~")
[429306.721] -> wl_compositor@4.create_region(new id wl_region@25)
[429306.725] -> xdg_toplevel@18.set_title("scott@yuno:~")
[429306.727] -> wl_compositor@4.create_region(new id wl_region@21)
[429306.730] -> wl_region@21.add(32, 32, 742, 427)
[429306.735] -> wl_region@25.add(35, 35, 736, 421)
[429306.741] -> wl_surface@16.frame(new id wl_callback@26)
[429308.013] -> wl_surface@16.set_opaque_region(wl_region@25)
[429308.019] -> wl_region@25.destroy()
[429308.022] -> wl_surface@16.set_input_region(wl_region@21)
[429308.024] -> wl_region@21.destroy()
[429308.026] -> wl_surface@16.attach(wl_buffer@24, 0, 0)
[429308.031] -> wl_surface@16.damage(0, 0, 806, 491)
[429308.035] -> wl_surface@16.commit()
[429308.119] wl_display@1.delete_id(25)
[429308.124] wl_display@1.delete_id(21)
[429320.613] wl_display@1.delete_id(26)
[429320.629] wl_buffer@24.release()
[429320.633] wl_callback@26.done(19164759)
[429357.097] wl_keyboard@20.key(1636, 19164806, 28, 0)
[430667.338] wl_keyboard@20.key(1637, 19166116, 125, 1)
[430667.364] wl_keyboard@20.modifiers(1637, 64, 0, 0, 0)
[430704.333] wl_keyboard@20.key(1638, 19166153, 42, 1)
[430704.356] wl_keyboard@20.modifiers(1638, 65, 0, 0, 0)
[430828.354] wl_keyboard@20.leave(1639, wl_surface@16)
[430828.378] wl_keyboard@20.modifiers(1640, 65, 0, 0, 0)
[430828.392] wl_keyboard@20.enter(1640, wl_surface@16, array)
[430828.400] xdg_toplevel@18.configure(2560, 1408, array)
[430828.410] xdg_surface@17.configure(1641)
[430828.415] -> xdg_surface@17.ack_configure(1641)
[430828.421] -> xdg_toplevel@18.set_title("scott@yuno:~")
[430828.440] -> wl_compositor@4.create_region(new id wl_region@26)
[430829.559] -> xdg_toplevel@18.set_title("scott@yuno:~")
[430829.567] -> wl_compositor@4.create_region(new id wl_region@21)
[430829.573] -> wl_region@21.add(0, 0, 2560, 1408)
[430829.583] -> wl_region@26.add(0, 0, 2560, 1408)
[430829.596] -> wl_buffer@24.destroy()
[430829.669] -> wl_shm_pool@23.destroy()
[430834.243] -> wl_shm@9.create_pool(new id wl_shm_pool@25, fd 9, 14417920)
[430834.268] -> wl_shm_pool@25.create_buffer(new id wl_buffer@27, 0, 2560, 1408, 10240, 0)
[430834.279] -> wl_surface@16.frame(new id wl_callback@28)
[430848.133] -> xdg_surface@17.set_window_geometry(0, 0, 2560, 1408)
[430848.153] -> wl_surface@16.set_opaque_region(wl_region@26)
[430848.156] -> wl_region@26.destroy()
[430848.159] -> wl_surface@16.set_input_region(wl_region@21)
[430848.161] -> wl_region@21.destroy()
[430848.168] -> wl_surface@16.attach(wl_buffer@27, 0, 0)
[430848.173] -> wl_surface@16.damage(0, 0, 2560, 1408)
[430848.178] -> wl_surface@16.commit()
[430858.396] wl_display@1.delete_id(24)
[430858.409] wl_display@1.delete_id(23)
[430858.412] wl_display@1.delete_id(26)
[430858.414] wl_display@1.delete_id(21)
[430858.417] wl_display@1.delete_id(28)
[430858.419] wl_buffer@27.release()
[430858.422] wl_pointer@19.leave(1642, wl_surface@16)
[430858.434] wl_pointer@19.frame()
[430858.438] wl_pointer@19.enter(1643, wl_surface@16, 1891.980469, 983.773438)
[430858.448] -> wl_surface@12.attach(wl_buffer@22, 0, 0)
[430858.453] -> wl_surface@12.damage(0, 0, 32, 32)
[430858.458] -> wl_surface@12.commit()
[430858.460] -> wl_pointer@19.set_cursor(1643, wl_surface@12, 14, 15)
[430858.465] wl_pointer@19.frame()
[430858.467] xdg_wm_base@15.ping(1644)
[430858.469] -> xdg_wm_base@15.pong(1644)
[430858.471] wl_callback@28.done(19166294)
[430858.475] -> wl_surface@16.frame(new id wl_callback@28)
[430869.264] -> wl_surface@16.attach(wl_buffer@27, 0, 0)
[430869.292] -> wl_surface@16.damage(0, 0, 2560, 1408)
[430869.301] -> wl_surface@16.commit()
[430889.664] wl_display@1.delete_id(28)
[430889.684] wl_buffer@27.release()
[430889.688] wl_callback@28.done(19166327)
[430918.291] wl_keyboard@20.key(1645, 19166367, 50, 0)
[431731.442] wl_keyboard@20.leave(1646, wl_surface@16)
[431731.469] wl_keyboard@20.modifiers(1647, 65, 0, 0, 0)
[431731.484] wl_keyboard@20.enter(1647, wl_surface@16, array)
[431731.493] xdg_toplevel@18.configure(2560, 1440, array)
[431731.502] xdg_surface@17.configure(1648)
[431731.508] -> xdg_surface@17.ack_configure(1648)
[431731.515] -> xdg_toplevel@18.set_title("scott@yuno:~")
[431731.522] -> wl_compositor@4.create_region(new id wl_region@28)
[431732.267] -> xdg_toplevel@18.set_title("scott@yuno:~")
[431732.274] -> wl_compositor@4.create_region(new id wl_region@21)
[431732.280] -> wl_region@21.add(0, 0, 2560, 1440)
[431732.289] -> wl_region@28.add(0, 0, 2560, 1440)
[431732.303] -> wl_buffer@27.destroy()
[431732.879] -> wl_shm_pool@25.destroy()
[431737.675] -> wl_shm@9.create_pool(new id wl_shm_pool@26, fd 9, 14745600)
[431737.698] -> wl_shm_pool@26.create_buffer(new id wl_buffer@23, 0, 2560, 1440, 10240, 0)
[431737.710] -> wl_surface@16.frame(new id wl_callback@24)
[431750.231] -> xdg_surface@17.set_window_geometry(0, 0, 2560, 1440)
[431750.249] -> wl_surface@16.set_opaque_region(wl_region@28)
[431750.252] -> wl_region@28.destroy()
[431750.254] -> wl_surface@16.set_input_region(wl_region@21)
[431750.257] -> wl_region@21.destroy()
[431750.259] -> wl_surface@16.attach(wl_buffer@23, 0, 0)
[431750.263] -> wl_surface@16.damage(0, 0, 2560, 1440)
[431750.268] -> wl_surface@16.commit()
[431759.119] wl_display@1.delete_id(27)
[431759.133] wl_display@1.delete_id(25)
[431759.136] wl_display@1.delete_id(28)
[431759.138] wl_display@1.delete_id(21)
[431759.140] wl_display@1.delete_id(24)
[431759.143] wl_buffer@23.release()
[431759.146] wl_pointer@19.leave(1649, wl_surface@16)
[431759.151] wl_pointer@19.frame()
[431759.153] wl_pointer@19.enter(1650, wl_surface@16, 1891.980469, 1015.773438)
[431759.162] -> wl_surface@12.attach(wl_buffer@22, 0, 0)
[431759.168] -> wl_surface@12.damage(0, 0, 32, 32)
[431759.174] -> wl_surface@12.commit()
[431759.176] -> wl_pointer@19.set_cursor(1650, wl_surface@12, 14, 15)
[431759.183] wl_pointer@19.frame()
[431759.185] xdg_wm_base@15.ping(1651)
[431759.189] -> xdg_wm_base@15.pong(1651)
[431759.192] wl_callback@24.done(19167194)
[431759.197] -> wl_surface@16.frame(new id wl_callback@24)
[431766.096] -> wl_surface@16.attach(wl_buffer@23, 0, 0)
[431766.117] -> wl_surface@16.damage(0, 0, 2560, 1440)
[431766.122] -> wl_surface@16.commit()
[431790.290] wl_display@1.delete_id(24)
[431790.306] wl_buffer@23.release()
[431790.310] wl_callback@24.done(19167228)
[431840.402] wl_keyboard@20.key(1652, 19167289, 33, 0)
[432106.510] wl_keyboard@20.leave(1653, wl_surface@16)
[432106.537] wl_keyboard@20.modifiers(1654, 65, 0, 0, 0)
[432106.550] wl_keyboard@20.enter(1654, wl_surface@16, array)
[432106.570] xdg_toplevel@18.configure(0, 0, array)
[432106.579] xdg_surface@17.configure(1655)
[432106.584] -> xdg_surface@17.ack_configure(1655)
[432106.591] -> xdg_toplevel@18.set_title("scott@yuno:~")
[432106.596] -> wl_compositor@4.create_region(new id wl_region@24)
[432106.609] -> xdg_toplevel@18.set_title("scott@yuno:~")
[432106.614] -> wl_compositor@4.create_region(new id wl_region@21)
[432106.619] -> wl_region@21.add(0, 0, 806, 491)
[432106.629] -> wl_region@24.add(0, 0, 806, 491)
[432106.641] -> wl_buffer@23.destroy()
[432107.259] -> wl_shm_pool@26.destroy()
[432107.849] -> wl_shm@9.create_pool(new id wl_shm_pool@28, fd 9, 1582984)
[432107.866] -> wl_shm_pool@28.create_buffer(new id wl_buffer@25, 0, 806, 491, 3224, 0)
[432107.881] -> wl_surface@16.frame(new id wl_callback@27)
[432108.963] -> xdg_surface@17.set_window_geometry(0, 0, 806, 491)
[432108.991] -> wl_surface@16.set_opaque_region(wl_region@24)
[432108.996] -> wl_region@24.destroy()
[432108.999] -> wl_surface@16.set_input_region(wl_region@21)
[432109.004] -> wl_region@21.destroy()
[432109.007] -> wl_surface@16.attach(wl_buffer@25, 0, 0)
[432109.015] -> wl_surface@16.damage(0, 0, 806, 491)
[432109.024] -> wl_surface@16.commit()
[432111.513] wl_display@1.delete_id(23)
[432111.520] wl_display@1.delete_id(26)
[432111.524] wl_display@1.delete_id(24)
[432111.528] wl_display@1.delete_id(21)
[432111.532] wl_display@1.error(xdg_wm_base@15, 4, "xdg_surface buffer does not match the configured state")
The interesting part is that (0,0) is being sent on the final configure. weston-terminal decides to go with its default size of 806x491. Because this doesn't fit the maximized resolution weston is expecting (but didn't tell it), it kills it with a protocol error.
You can get similar results doing fullscreen -> maximized -> maximized.