Skip to content

Commit 1c25b60

Browse files
authored
Merge branch 'main' into leolost/only-callback-if-finished
2 parents dd857e2 + a648353 commit 1c25b60

File tree

3 files changed

+10
-30
lines changed

3 files changed

+10
-30
lines changed

data/gala.metainfo.xml.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
<issue url="https://github.com/elementary/gala/issues/2088">Invisible window clones</issue>
4545
<issue url="https://github.com/elementary/gala/issues/2113">gnome-session-x11-services-ready.target isn't started on Wayland session</issue>
4646
<issue url="https://github.com/elementary/gala/issues/2131">Unthemed cursor style and glitchy menus on some applications</issue>
47+
<issue url="https://github.com/elementary/gala/issues/2154">Windows do not display correctly after moving between workspaces</issue>
4748
<issue url="https://github.com/elementary/gala/issues/2159">Crash when moving windows between workspaces and using gestures to switch</issue>
4849
<issue url="https://github.com/elementary/gala/issues/2169">Text UI based Scaling: Tiny Titlebars in XWayland Apps</issue>
4950
<issue url="https://github.com/elementary/gala/issues/2171">PiP dragging doesn't start until after mouse is released</issue>

src/Widgets/WindowClone.vala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,10 @@ public class Gala.WindowClone : Clutter.Actor {
266266
update_hover_widgets (false);
267267
toggle_shadow (false);
268268
});
269+
270+
if (should_fade ()) {
271+
new GesturePropertyTransition (this, gesture_tracker, "opacity", null, 0u).start (with_gesture);
272+
}
269273
}
270274

271275
/**
@@ -294,6 +298,7 @@ public class Gala.WindowClone : Clutter.Actor {
294298
new GesturePropertyTransition (this, gesture_tracker, "y", intial_y, (float) rect.y).start (with_gesture);
295299
new GesturePropertyTransition (this, gesture_tracker, "width", (float) initial_width, (float) rect.width).start (with_gesture);
296300
new GesturePropertyTransition (this, gesture_tracker, "height", (float) initial_height, (float) rect.height).start (with_gesture);
301+
new GesturePropertyTransition (this, gesture_tracker, "opacity", null, 255u).start (with_gesture);
297302
new GesturePropertyTransition (this, gesture_tracker, "shadow-opacity", (uint8) 0, (uint8) 255).start (with_gesture);
298303
new GesturePropertyTransition (window_icon, gesture_tracker, "opacity", 0u, 255u).start (with_gesture, () => {
299304
update_hover_widgets (false);

src/WindowManager.vala

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1961,29 +1961,7 @@ namespace Gala {
19611961
}
19621962
main_container.add_child (static_windows);
19631963

1964-
// if we have a move action, pack that window to the static ones
1965-
if (moving != null) {
1966-
unowned var moving_actor = (Meta.WindowActor) moving.get_compositor_private ();
1967-
1968-
windows.prepend (moving_actor);
1969-
parents.prepend (moving_actor.get_parent ());
1970-
1971-
moving_actor.set_translation (-clone_offset_x, -clone_offset_y, 0);
1972-
clutter_actor_reparent (moving_actor, static_windows);
1973-
}
1974-
19751964
unowned var grabbed_window = window_grab_tracker.current_window;
1976-
1977-
if (grabbed_window != null) {
1978-
unowned var moving_actor = (Meta.WindowActor) grabbed_window.get_compositor_private ();
1979-
1980-
windows.prepend (moving_actor);
1981-
parents.prepend (moving_actor.get_parent ());
1982-
1983-
moving_actor.set_translation (-clone_offset_x, -clone_offset_y, 0);
1984-
clutter_actor_reparent (moving_actor, static_windows);
1985-
}
1986-
19871965
var to_has_fullscreened = false;
19881966
var from_has_fullscreened = false;
19891967

@@ -1999,15 +1977,11 @@ namespace Gala {
19991977
continue;
20001978
}
20011979

2002-
if (!window.showing_on_its_workspace () ||
2003-
move_primary_only && !window.is_on_primary_monitor () ||
2004-
window == moving ||
2005-
window == grabbed_window) {
2006-
1980+
if (!window.showing_on_its_workspace () || move_primary_only && !window.is_on_primary_monitor ()) {
20071981
continue;
20081982
}
20091983

2010-
if (window.on_all_workspaces) {
1984+
if (window.on_all_workspaces || window == moving || window == grabbed_window) {
20111985
// notifications use their own group and are always on top
20121986
if (NotificationStack.is_notification (window)) {
20131987
continue;
@@ -2019,8 +1993,8 @@ namespace Gala {
20191993
clutter_actor_reparent (actor, static_windows);
20201994
actor.set_translation (-clone_offset_x, -clone_offset_y, 0);
20211995

2022-
// Don't fade docks they just stay where they are
2023-
if (window.window_type == DOCK) {
1996+
// Don't fade docks and moving/grabbed windows they just stay where they are
1997+
if (window.window_type == DOCK || window == moving || window == grabbed_window) {
20241998
continue;
20251999
}
20262000

0 commit comments

Comments
 (0)