weston-terminal does not restore from fullscreen
When weston-terminal
is started in fullscreen mode via weston-terminal -f
and restoring to floating via F11, it does not correctly restore to floating mode. Instead, it appears it keeps the fullscreen dimensions for the buffer and sets an invalid window geometry.
WAYLAND_DEBUG=1
log with starting in fullscreen, restoring via F11 and quitting via Ctrl+D:
[3890125,299] -> wl_display@1.get_registry(new id wl_registry@2)
[3890125,370] -> wl_display@1.sync(new id wl_callback@3)
[3890125,618] wl_display@1.delete_id(3)
[3890125,666] wl_registry@2.global(1, "wl_drm", 2)
[3890125,708] wl_registry@2.global(2, "wl_compositor", 4)
[3890125,747] -> wl_registry@2.bind(2, "wl_compositor", 3, new id [unknown]@4)
[3890125,797] wl_registry@2.global(3, "wl_shm", 1)
[3890125,834] -> wl_registry@2.bind(3, "wl_shm", 1, new id [unknown]@5)
[3890125,872] wl_registry@2.global(4, "wl_output", 2)
[3890125,909] -> wl_registry@2.bind(4, "wl_output", 2, new id [unknown]@6)
[3890125,954] wl_registry@2.global(5, "zxdg_output_manager_v1", 3)
[3890125,986] wl_registry@2.global(6, "wl_data_device_manager", 3)
[3890126,021] -> wl_registry@2.bind(6, "wl_data_device_manager", 3, new id [unknown]@7)
[3890126,070] wl_registry@2.global(7, "zwp_primary_selection_device_manager_v1", 1)
[3890126,105] wl_registry@2.global(8, "gtk_primary_selection_device_manager", 1)
[3890126,143] wl_registry@2.global(9, "wl_subcompositor", 1)
[3890126,189] -> wl_registry@2.bind(9, "wl_subcompositor", 1, new id [unknown]@8)
[3890126,237] wl_registry@2.global(10, "xdg_wm_base", 3)
[3890126,274] -> wl_registry@2.bind(10, "xdg_wm_base", 1, new id [unknown]@9)
[3890126,327] wl_registry@2.global(11, "zxdg_shell_v6", 1)
[3890126,364] wl_registry@2.global(12, "wl_shell", 1)
[3890126,393] wl_registry@2.global(13, "gtk_shell1", 3)
[3890126,427] wl_registry@2.global(14, "wp_viewporter", 1)
[3890126,457] -> wl_registry@2.bind(14, "wp_viewporter", 1, new id [unknown]@10)
[3890126,511] wl_registry@2.global(15, "zwp_pointer_gestures_v1", 1)
[3890126,551] wl_registry@2.global(16, "zwp_tablet_manager_v2", 1)
[3890126,590] wl_registry@2.global(17, "wl_seat", 5)
[3890126,621] -> wl_registry@2.bind(17, "wl_seat", 5, new id [unknown]@11)
[3890126,668] -> wl_data_device_manager@7.get_data_device(new id wl_data_device@12, wl_seat@11)
[3890126,706] -> wl_compositor@4.create_surface(new id wl_surface@13)
[3890126,739] wl_registry@2.global(18, "zwp_relative_pointer_manager_v1", 1)
[3890126,770] -> wl_registry@2.bind(18, "zwp_relative_pointer_manager_v1", 1, new id [unknown]@14)
[3890126,845] wl_registry@2.global(19, "zwp_pointer_constraints_v1", 1)
[3890126,863] -> wl_registry@2.bind(19, "zwp_pointer_constraints_v1", 1, new id [unknown]@15)
[3890126,889] wl_registry@2.global(20, "zxdg_exporter_v1", 1)
[3890126,913] wl_registry@2.global(21, "zxdg_importer_v1", 1)
[3890126,930] wl_registry@2.global(22, "zwp_linux_dmabuf_v1", 3)
[3890126,953] wl_registry@2.global(23, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[3890126,977] wl_registry@2.global(24, "zwp_text_input_manager_v3", 1)
[3890126,998] wl_registry@2.global(25, "gtk_text_input_manager", 1)
[3890127,022] wl_callback@3.done(88300)
[3890127,112] -> wl_shm@5.create_pool(new id wl_shm_pool@3, fd 8, 4096)
[3890127,349] -> wl_shm_pool@3.resize(17408)
[3890127,465] -> wl_shm_pool@3.resize(44032)
[3890127,792] -> wl_shm_pool@3.resize(97280)
[3890129,519] -> wl_shm_pool@3.resize(203776)
[3890129,693] -> wl_shm_pool@3.resize(416768)
[3890132,101] -> wl_shm_pool@3.resize(842752)
[3890135,905] -> wl_shm_pool@3.resize(1694720)
[3890142,942] -> wl_shm_pool@3.resize(3398656)
[3890172,033] -> wl_compositor@4.create_surface(new id wl_surface@16)
[3890172,070] -> xdg_wm_base@9.get_xdg_surface(new id xdg_surface@17, wl_surface@16)
[3890172,083] -> xdg_surface@17.get_toplevel(new id xdg_toplevel@18)
[3890172,099] -> wl_surface@16.commit()
[3890172,248] -> xdg_toplevel@18.set_title("Wayland Terminal")
[3890191,966] -> xdg_toplevel@18.set_fullscreen(nil)
[3890203,296] wl_output@6.geometry(0, 0, 310, 170, 0, "AUO", "0x2a3c", 0)
[3890203,393] wl_output@6.mode(3, 1366, 768, 60059)
[3890203,445] wl_output@6.scale(1)
[3890203,465] wl_output@6.done()
[3890203,479] wl_seat@11.capabilities(3)
[3890203,522] -> wl_seat@11.get_pointer(new id wl_pointer@19)
[3890203,550] -> wl_seat@11.get_keyboard(new id wl_keyboard@20)
[3890203,574] wl_seat@11.name("seat0")
[3890203,600] xdg_toplevel@18.configure(0, 0, array)
[3890203,640] xdg_surface@17.configure(3027)
[3890203,660] -> xdg_surface@17.ack_configure(3027)
[3890203,686] -> xdg_toplevel@18.set_title("Wayland Terminal")
[3890203,707] xdg_toplevel@18.configure(1366, 768, array)
[3890203,744] xdg_surface@17.configure(3028)
[3890203,772] -> xdg_surface@17.ack_configure(3028)
[3890203,790] -> xdg_toplevel@18.set_title("Wayland Terminal")
[3890203,809] -> wl_compositor@4.create_region(new id wl_region@21)
[3890204,806] -> xdg_toplevel@18.set_title("Wayland Terminal")
[3890204,864] -> wl_compositor@4.create_region(new id wl_region@22)
[3890204,912] -> wl_region@22.add(0, 0, 1366, 768)
[3890204,983] -> wl_region@21.add(0, 0, 1366, 768)
[3890206,905] -> wl_shm@5.create_pool(new id wl_shm_pool@23, fd 9, 4196352)
[3890206,973] -> wl_shm_pool@23.create_buffer(new id wl_buffer@24, 0, 1366, 768, 5464, 0)
[3890207,026] -> wl_surface@16.frame(new id wl_callback@25)
[3890214,559] -> xdg_surface@17.set_window_geometry(0, 0, 1366, 768)
[3890214,670] -> wl_surface@16.set_opaque_region(wl_region@21)
[3890214,704] -> wl_region@21.destroy()
[3890214,721] -> wl_surface@16.set_input_region(wl_region@22)
[3890214,746] -> wl_region@22.destroy()
[3890214,769] -> wl_surface@16.attach(wl_buffer@24, 0, 0)
[3890214,806] -> wl_surface@16.damage(0, 0, 1366, 768)
[3890214,857] -> wl_surface@16.commit()
[3890230,370] -> xdg_toplevel@18.set_title("christian@voyager: ~")
[3890231,388] wl_display@1.delete_id(21)
[3890231,413] wl_display@1.delete_id(22)
[3890231,425] wl_keyboard@20.keymap(1, fd 8, 54603)
[3890241,510] wl_keyboard@20.repeat_info(33, 500)
[3890241,546] wl_buffer@24.release()
[3890260,463] wl_display@1.delete_id(25)
[3890260,508] wl_surface@16.enter(wl_output@6)
[3890260,527] -> wl_surface@16.set_buffer_transform(0)
[3890260,545] -> wl_surface@16.set_buffer_scale(1)
[3890260,558] xdg_toplevel@18.configure(1366, 768, array)
[3890260,587] xdg_surface@17.configure(3030)
[3890260,598] -> xdg_surface@17.ack_configure(3030)
[3890260,610] -> xdg_toplevel@18.set_title("christian@voyager: ~")
[3890260,624] wl_keyboard@20.modifiers(88303, 0, 0, 0, 0)
[3890260,655] wl_keyboard@20.enter(88303, wl_surface@16, array)
[3890260,676] wl_data_device@12.data_offer(new id wl_data_offer@508846864)
[3890260,694] wl_data_offer@4278190080.offer("text/plain")
[3890260,706] wl_data_offer@4278190080.offer("text/plain;charset=utf-8")
[3890260,736] wl_data_offer@4278190080.offer("STRING")
[3890260,748] wl_data_offer@4278190080.offer("TEXT")
[3890260,760] wl_data_offer@4278190080.offer("COMPOUND_TEXT")
[3890260,771] wl_data_offer@4278190080.offer("UTF8_STRING")
[3890260,782] wl_data_device@12.selection(wl_data_offer@4278190080)
[3890260,794] wl_callback@25.done(46385129)
[3890260,807] -> wl_compositor@4.create_region(new id wl_region@25)
[3890260,829] -> xdg_toplevel@18.set_title("christian@voyager: ~")
[3890260,842] -> wl_compositor@4.create_region(new id wl_region@22)
[3890260,854] -> wl_region@22.add(0, 0, 1366, 768)
[3890260,884] -> wl_region@25.add(0, 0, 1366, 768)
[3890260,918] -> wl_surface@16.frame(new id wl_callback@21)
[3890265,276] -> wl_surface@16.set_opaque_region(wl_region@25)
[3890265,317] -> wl_region@25.destroy()
[3890265,344] -> wl_surface@16.set_input_region(wl_region@22)
[3890265,361] -> wl_region@22.destroy()
[3890265,374] -> wl_surface@16.attach(wl_buffer@24, 0, 0)
[3890265,399] -> wl_surface@16.damage(0, 0, 1366, 768)
[3890265,428] -> wl_surface@16.commit()
[3890267,049] wl_display@1.delete_id(25)
[3890267,086] wl_display@1.delete_id(22)
[3890267,105] wl_buffer@24.release()
[3890269,174] wl_display@1.delete_id(21)
[3890269,247] wl_callback@21.done(46385141)
[3890419,380] wl_pointer@19.enter(88305, wl_surface@16, 687,000000, 421,000000)
[3890419,508] -> wl_shm_pool@3.create_buffer(new id wl_buffer@21, 2081700, 48, 48, 192, 0)
[3890419,579] -> wl_surface@13.attach(wl_buffer@21, 0, 0)
[3890419,614] -> wl_surface@13.damage(0, 0, 48, 48)
[3890419,650] -> wl_surface@13.commit()
[3890419,669] -> wl_pointer@19.set_cursor(88305, wl_surface@13, 24, 24)
[3890419,731] wl_pointer@19.frame()
[3892730,691] wl_keyboard@20.key(88306, 46387601, 87, 1)
[3892730,839] -> xdg_toplevel@18.unset_fullscreen()
[3892742,637] xdg_toplevel@18.configure(0, 0, array)
[3892742,678] xdg_surface@17.configure(3031)
[3892742,692] -> xdg_surface@17.ack_configure(3031)
[3892742,706] -> xdg_toplevel@18.set_title("christian@voyager: ~")
[3892742,719] -> wl_surface@16.frame(new id wl_callback@22)
[3892759,063] -> xdg_surface@17.set_window_geometry(32, 32, -64, -64)
[3892759,161] -> wl_surface@16.attach(wl_buffer@24, 0, 0)
[3892759,319] -> wl_surface@16.damage(0, 0, 1366, 768)
[3892759,364] -> wl_surface@16.commit()
[3892762,946] wl_buffer@24.release()
[3892771,732] wl_display@1.delete_id(22)
[3892771,788] wl_callback@22.done(46387644)
[3892840,697] wl_keyboard@20.key(88307, 46387712, 87, 0)
[3893345,144] wl_keyboard@20.key(88308, 46388215, 29, 1)
[3893345,261] wl_keyboard@20.modifiers(88309, 4, 0, 0, 0)
[3893696,456] wl_keyboard@20.key(88310, 46388567, 32, 1)
[3893696,585] -> wl_pointer@19.set_cursor(88305, nil, 0, 0)
[3893696,826] -> wl_surface@16.frame(new id wl_callback@22)
[3893703,670] -> wl_surface@16.attach(wl_buffer@24, 0, 0)
[3893703,724] -> wl_surface@16.damage(0, 0, 1366, 768)
[3893703,764] -> wl_surface@16.commit()
[3893703,806] -> xdg_toplevel@18.destroy()
[3893703,817] -> xdg_surface@17.destroy()
[3893703,824] -> wl_surface@16.destroy()
[3893703,832] -> wl_buffer@24.destroy()
[3893704,056] -> wl_shm_pool@23.destroy()