-
Notifications
You must be signed in to change notification settings - Fork 39
Description
I'm running gnome on Ubuntu 22.04 with a 4 monitor setup. The monitors are organized "2x2", i.e. upper left, upper right, lower left, lower right. Different sized monitors. The "dock" bar is vertical on the left edge of the lower right monitor, which also has a title bar.
I installed the extension and wrote a python program that saves window positions and restores them. I have a case where I have 23 windows open and most of the windows have their size/position restored properly, but several don't get restored properly. There are 2 problems.
I find that when restoring the positions/sizes of several (but not all) windows, the x/y/h/w values are somewhat wrong.
Many/most terminal windows get restored correctly.
Nautilus windows (in 3 of the 4 monitors) consistently have their x/y positions restored wrong by 26/23 pixels respectively
2 terminal windows (in the upper left monitor) have their width wrong: one by -54 pixels, one by -45 pixels.
A tasmota tdm manager window has its x/y position wrong by 10/8 pixels.
Firefox window (in lower right monitor) is wrong x/y by 26/23 pixels.
A system monitor window (in the upper left monitor) doesn't get restored at all. However, if I invoke gdbus from the shell with the identical parameters, it gets restored. But x/y is still wrong by 23/-30.
It also seems that after the log starts showing the below messages (most/all?) windows don't get moved/restored any longer.
I noticed in the system log that after invoking the restore program a few times, there are 16 of various of the following types of log entries:
gnome-shell[54498]: Can't update stage views actor [:0x55ca525ad710] is on because it needs an allocation.
gnome-shell[54498]: Can't update stage views actor [:0x55ca525b14b0] is on because it needs an allocation.
gnome-shell[54498]: Can't update stage views actor [:0x55ca50e46300] is on because it needs an allocation.
gnome-shell[54498]: meta_window_move_resize_frame: assertion '!window->override_redirect' failed
I don't get any error messages or return codes or exceptions when running the python program.
Any ideas what is going on?