Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • W weston
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 316
    • Issues 316
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 118
    • Merge requests 118
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wayland
  • weston
  • Issues
  • #321

Closed
Open
Created Nov 29, 2019 by Scott Anderson@ascentReporter

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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking