You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What Operating System(s) are you seeing this problem on?
Linux Wayland
Which Wayland compositor or X11 Window manager(s) are you using?
KWin
WezTerm version
20250103-121535-8e9cf912
Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?
Yes, and I updated the version box above to show the version of the nightly that I tried
Describe the bug
After screen lock, wezterm window is restored in the wrong place.
To Reproduce
I have a multi-display setup: 1x DisplayPort @ 3840x2160 scaled 125%, 1x HDMI @ 1920x1080 scaled 100%
Lock session and turn off DisplayPort monitor (HDMI display can be turned off or not - does not matter).
Turn monitor(s) back on and unlock - everythings is as before except Wezterm windows.
Configuration
None
Expected Behavior
The windows should be restored to the same size and at the same place as they were.
Logs
These are the logs starting immediately before locking the session and turning off the DisplayPort monitor.
thprice
changed the title
Window shrinks to 1x1 after screen lock and multi-resolution displays
Window in wrong place after screen lock and multi-resolution displays
Jan 5, 2025
thprice
changed the title
Window in wrong place after screen lock and multi-resolution displays
Window in wrong place after screen lock with multi-resolution displays
Jan 5, 2025
What Operating System(s) are you seeing this problem on?
Linux Wayland
Which Wayland compositor or X11 Window manager(s) are you using?
KWin
WezTerm version
20250103-121535-8e9cf912
Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?
Yes, and I updated the version box above to show the version of the nightly that I tried
Describe the bug
After screen lock, wezterm window is restored in the wrong place.
To Reproduce
I have a multi-display setup: 1x DisplayPort @ 3840x2160 scaled 125%, 1x HDMI @ 1920x1080 scaled 100%
Lock session and turn off DisplayPort monitor (HDMI display can be turned off or not - does not matter).
Turn monitor(s) back on and unlock - everythings is as before except Wezterm windows.
Configuration
None
Expected Behavior
The windows should be restored to the same size and at the same place as they were.
Logs
These are the logs starting immediately before locking the session and turning off the DisplayPort monitor.
WAYLAND_DEBUG=1 WEZTERM_LOG=info wezterm start --always-new-process
[2407504.639] xdg_toplevel#28.configure(1429, 948, array[4])
[2407504.705] xdg_surface#27.configure(11183)
[2407504.734] -> xdg_surface#27.ack_configure(11183)
[2407504.808] -> xdg_surface#27.set_window_geometry(0, 0, 2858, 1896)
[2407504.842] -> wl_surface#26.commit()
[2407504.875] -> wl_surface#26.frame(new id wl_callback#35)
[2407505.707] {mesa egl surface queue} wl_buffer#32.release()
[2407505.756] {mesa egl surface queue} wl_callback#40.done(3842797)
[2407517.564] {mesa egl surface queue} -> wl_surface#26.frame(new id wl_callback#40)
[2407517.586] {mesa egl surface queue} -> wl_surface#26.attach(wl_buffer#32, 0, 0)
[2407517.592] {mesa egl surface queue} -> wl_surface#26.damage(0, 0, 2147483647, 2147483647)
[2407517.596] {mesa egl surface queue} -> wl_surface#26.commit()
[2411324.834] wl_registry#2.global_remove(81)
[2411324.862] wl_output#7.geometry(0, 0, 521, 293, 0, "Philips Consumer Electronics Company", "Philips 247E4/AU01427008134", 0)
[2411324.872] zxdg_output_v1#10.logical_position(0, 0)
[2411324.876] wl_surface#26.leave(wl_output#8)
[2411324.880] wl_registry#2.global_remove(82)
[2411324.885] wl_surface#26.enter(wl_output#7)
[2411324.887] wl_registry#2.global_remove(80)
[2411324.892] wl_output#7.done()
[2411324.895] wl_surface#26.preferred_buffer_scale(1)
[2411324.899] xdg_toplevel#28.configure(1429, 948, array[4])
[2411324.904] xdg_surface#27.configure(11207)
[2411324.926] -> zxdg_output_v1#11.destroy()
[2411324.933] -> wl_output#8.release()
[2411324.951] -> xdg_surface#27.ack_configure(11207)
[2411324.980] -> xdg_surface#27.set_window_geometry(0, 0, 1429, 948)
[2411377.087] -> wl_shm_pool#4.create_buffer(new id wl_buffer#34, 0, 1, 1, 4, 0)
[2411377.153] -> wl_surface#26.attach(wl_buffer#34, 0, 0)
[2411377.188] -> wl_surface#26.set_buffer_scale(1)
[2411377.207] -> wl_buffer#34.destroy()
[2411377.235] -> wl_surface#26.commit()
[2411377.363] -> xdg_surface#27.set_window_geometry(0, 0, 1422, 937)
[2411377.427] -> wl_surface#26.commit()
[2411379.178] {Display Queue} wl_display#1.delete_id(11)
[2411379.307] {Display Queue} wl_display#1.delete_id(8)
[2411379.350] {Display Queue} wl_display#1.delete_id(34)
[2411379.404] zxdg_toplevel_decoration_v1#29.configure(2)
[2411379.457] xdg_toplevel#28.wm_capabilities(array[16])
[2411379.477] xdg_toplevel#28.configure_bounds(1918, 1051)
[2411379.518] xdg_toplevel#28.configure(0, 0, array[0])
[2411379.545] xdg_surface#27.configure(11219)
[2411379.585] -> xdg_surface#27.ack_configure(11219)
[2415299.118] wl_registry#2.global(83, "wp_drm_lease_device_v1", 1)
[2415299.138] wl_registry#2.global(84, "kde_output_device_v2", 9)
[2415299.145] wl_output#7.geometry(3200, 0, 521, 293, 0, "Philips Consumer Electronics Company", "Philips 247E4/AU01427008134", 0)
[2415299.154] zxdg_output_v1#10.logical_position(3200, 0)
[2415299.158] wl_registry#2.global(85, "wl_output", 4)
[2415299.162] wl_output#7.done()
[2415299.165] wl_surface#26.preferred_buffer_scale(2)
[2415299.170] xdg_toplevel#28.configure_bounds(3198, 1771)
[2415299.173] xdg_toplevel#28.configure(0, 0, array[0])
[2415299.177] xdg_surface#27.configure(11224)
[2415299.198] -> wl_registry#2.bind(85, "wl_output", 4, new id [unknown]#34)
[2415299.207] -> zxdg_output_manager_v1#9.get_xdg_output(new id zxdg_output_v1#8, wl_output#34)
[2415299.222] -> xdg_surface#27.ack_configure(11224)
[2415299.294] wl_output#34.name("DP-1")
[2415299.299] wl_output#34.description("Samsung Electric Company U28E590/HTPHB03330")
[2415299.302] wl_output#34.mode(1, 3840, 2160, 59997)
[2415299.305] wl_output#34.scale(2)
[2415299.308] wl_output#34.geometry(0, 0, 607, 345, 0, "Samsung Electric Company", "U28E590/HTPHB03330", 0)
[2415299.312] wl_output#34.done()
[2415299.315] zxdg_output_v1#8.logical_position(0, 0)
[2415299.317] zxdg_output_v1#8.logical_size(3200, 1800)
[2415299.320] zxdg_output_v1#8.name("DP-1")
[2415299.323] zxdg_output_v1#8.description("Samsung Electric Company U28E590/HTPHB03330")
[2415299.326] wl_output#34.done()
[2422074.454] {Display Queue} wl_display#1.delete_id(35)
[2422074.480] {Display Queue} wl_display#1.delete_id(40)
[2422074.484] wl_callback#35.done(3867004)
[2422074.560] -> wl_surface#26.frame(new id wl_callback#35)
[2422104.934] {mesa egl surface queue} wl_buffer#32.release()
[2422104.980] {mesa egl surface queue} -> wl_buffer#32.destroy()
[2422104.989] {mesa egl surface queue} wl_callback#40.done(3867004)
[2422110.547] {mesa egl surface queue} -> wl_surface#26.frame(new id wl_callback#40)
[2422110.589] {mesa egl display queue} -> zwp_linux_dmabuf_v1#37.create_params(new id zwp_linux_buffer_params_v1#11)
[2422110.641] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#11.add(fd 28, 0, 0, 5760, 16777216, 4)
[2422110.658] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#11.add(fd 30, 1, 5529600, 256, 16777216, 4)
[2422110.670] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#11.create_immed(new id wl_buffer#31, 1422, 937, 875713089, 0)
[2422110.681] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#11.destroy()
[2422110.689] {mesa egl surface queue} -> wl_surface#26.attach(wl_buffer#31, 0, 0)
[2422110.696] {mesa egl surface queue} -> wl_surface#26.damage(0, 0, 2147483647, 2147483647)
[2422110.709] {mesa egl surface queue} -> wl_surface#26.commit()
[2422110.794] -> zwp_text_input_v3#19.set_cursor_rectangle(81, 23, 4, 10)
[2422110.804] -> zwp_text_input_v3#19.commit()
[2422150.796] {Display Queue} wl_display#1.delete_id(32)
[2422150.823] {Display Queue} wl_display#1.delete_id(11)
[2422150.827] {Display Queue} wl_display#1.delete_id(35)
[2422150.831] {Display Queue} wl_display#1.delete_id(40)
[2422150.836] wl_surface#26.leave(wl_output#7)
[2422150.861] wl_surface#26.enter(wl_output#34)
[2422150.867] wl_surface#26.leave(wl_output#34)
[2422150.873] wl_surface#26.enter(wl_output#7)
[2422150.880] wl_pointer#23.enter(11284, wl_surface#26, 711.00000000, 455.00000000)
[2422150.888] wl_pointer#23.frame()
[2422150.893] wl_keyboard#18.modifiers(11285, 0, 0, 0, 0)
[2422150.902] xdg_wm_base#14.ping(11286)
[2422150.908] wl_keyboard#18.enter(11289, wl_surface#26, array[0])
[2422150.912] wl_keyboard#18.modifiers(11285, 0, 0, 0, 0)
[2422150.919] wl_data_device#20.data_offer(new id wl_data_offer#4278190081)
[2422150.929] wl_data_offer#4278190081.offer("text/plain")
[2422150.936] wl_data_offer#4278190081.offer("application/x-kde-onlyReplaceEmpty")
[2422150.941] wl_data_offer#4278190081.offer("text/plain;charset=utf-8")
[2422150.946] wl_data_device#20.selection(wl_data_offer#4278190081)
[2422150.951] zwp_primary_selection_device_v1#21.data_offer(new id zwp_primary_selection_offer_v1#4278190080)
[2422150.959] zwp_primary_selection_offer_v1#4278190080.offer("text/plain")
[2422150.965] zwp_primary_selection_offer_v1#4278190080.offer("application/x-kde-onlyReplaceEmpty")
[2422150.970] zwp_primary_selection_offer_v1#4278190080.offer("text/plain;charset=utf-8")
[2422150.975] zwp_primary_selection_device_v1#21.selection(zwp_primary_selection_offer_v1#4278190080)
[2422150.980] zwp_text_input_v3#19.enter(wl_surface#26)
[2422150.986] zwp_text_input_v3#19.done(8)
[2422150.991] wl_callback#35.done(3867090)
[2422150.999] wl_surface#26.preferred_buffer_scale(1)
[2422151.004] xdg_toplevel#28.configure(1422, 937, array[4])
[2422151.012] xdg_surface#27.configure(11292)
[2422151.069] -> xdg_wm_base#14.pong(11286)
[2422151.084] -> zwp_text_input_v3#19.enable()
[2422151.089] -> zwp_text_input_v3#19.commit()
[2422151.639] -> wl_data_offer#4278190082.destroy()
[2422151.686] -> zwp_primary_selection_offer_v1#4278190083.destroy()
[2422151.940] -> xdg_surface#27.ack_configure(11292)
[2422152.051] -> wl_surface#26.frame(new id wl_callback#35)
[2422152.562] {mesa egl surface queue} wl_callback#40.done(3867090)
[2422155.343] {mesa egl surface queue} -> wl_surface#26.frame(new id wl_callback#40)
[2422155.385] {mesa egl display queue} -> zwp_linux_dmabuf_v1#37.create_params(new id zwp_linux_buffer_params_v1#11)
[2422155.453] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#11.add(fd 28, 0, 0, 5760, 16777216, 4)
[2422155.470] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#11.add(fd 30, 1, 5529600, 256, 16777216, 4)
[2422155.479] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#11.create_immed(new id wl_buffer#32, 1422, 937, 875713089, 0)
[2422155.489] {mesa egl surface queue} -> zwp_linux_buffer_params_v1#11.destroy()
[2422155.496] {mesa egl surface queue} -> wl_surface#26.attach(wl_buffer#32, 0, 0)
[2422155.501] {mesa egl surface queue} -> wl_surface#26.damage(0, 0, 2147483647, 2147483647)
[2422155.507] {mesa egl surface queue} -> wl_surface#26.commit()
[2422155.878] -> xdg_surface#27.set_window_geometry(0, 0, 1422, 937)
[2422155.894] -> wl_surface#26.commit()
[2422156.087] -> zwp_text_input_v3#19.set_cursor_rectangle(162, 47, 9, 20)
[2422156.105] -> zwp_text_input_v3#19.commit()
[2422236.466] {Display Queue} wl_display#1.delete_id(11)
[2422236.509] {Display Queue} wl_display#1.delete_id(35)
[2422236.553] {Display Queue} wl_display#1.delete_id(40)
[2422236.572] zwp_text_input_v3#19.done(9)
[2422236.595] zwp_text_input_v3#19.done(10)
[2422236.603] wl_callback#35.done(3867157)
[2422237.664] -> wl_surface#26.frame(new id wl_callback#35)
[2422238.253] {mesa egl surface queue} wl_buffer#31.release()
[2422238.306] {mesa egl surface queue} wl_buffer#36.release()
[2422238.322] {mesa egl surface queue} -> wl_buffer#36.destroy()
[2422238.345] {mesa egl surface queue} wl_callback#40.done(3867157)
[2422238.657] {mesa egl surface queue} -> wl_surface#26.frame(new id wl_callback#40)
[2422238.669] {mesa egl surface queue} -> wl_surface#26.attach(wl_buffer#31, 0, 0)
[2422238.674] {mesa egl surface queue} -> wl_surface#26.damage(0, 0, 2147483647, 2147483647)
[2422238.679] {mesa egl surface queue} -> wl_surface#26.commit()
[2422288.377] {Display Queue} wl_display#1.delete_id(36)
[2422288.419] {Display Queue} wl_display#1.delete_id(35)
[2422288.432] {Display Queue} wl_display#1.delete_id(40)
[2422288.438] wl_callback#35.done(3867257)
Anything else?
Maybe related to #6374
The text was updated successfully, but these errors were encountered: