Sort windows by stacking order before workspace switch (#2013)

This commit is contained in:
Leo 2024-08-12 22:37:15 +09:00 committed by GitHub
parent a8b6ff074f
commit ee003805d8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1990,13 +1990,17 @@ namespace Gala {
var from_has_fullscreened = false;
// collect all windows and put them in the appropriate containers
foreach (unowned Meta.WindowActor actor in display.get_window_actors ()) {
var slist = new GLib.SList<Meta.Window> ();
display.list_all_windows ().@foreach ((win) => {
slist.append (win);
});
foreach (unowned var window in display.sort_windows_by_stacking (slist)) {
unowned var actor = (Meta.WindowActor) window.get_compositor_private ();
if (actor.is_destroyed ()) {
continue;
}
unowned var window = actor.get_meta_window ();
if (!window.showing_on_its_workspace () ||
move_primary_only && !window.is_on_primary_monitor () ||
window == moving ||