Skip to content

Commit

Permalink
PiP: Check workspace before hiding the window (#1708)
Browse files Browse the repository at this point in the history
  • Loading branch information
lenemter committed Jul 6, 2023
1 parent af38417 commit 441b5bb
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 9 deletions.
12 changes: 12 additions & 0 deletions data/gala.metainfo.xml.in
Expand Up @@ -25,6 +25,18 @@
<update_contact>contact_at_elementary.io</update_contact>

<releases>
<release version="7.1.1" date="2023-07-04" urgency="medium">
<description>
<p>Improvements:</p>
<ul>
<li>Updated translations</li>
</ul>
</description>
<issues>
<issue url="https://github.com/elementary/gala/issues/1700">PiP doesn't become visible by changing workspaces</issue>
</issues>
</release>

<release version="7.1.0" date="2023-06-26" urgency="medium">
<description>
<p>Improvements:</p>
Expand Down
19 changes: 10 additions & 9 deletions plugins/pip/PopupWindow.vala
Expand Up @@ -71,14 +71,12 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
set_pivot_point (0.5f, 0.5f);
set_easing_mode (Clutter.AnimationMode.EASE_IN_QUAD);

var window = window_actor.get_meta_window ();
unowned var window = window_actor.get_meta_window ();
window.unmanaged.connect (on_close_click_clicked);
window.notify["appears-focused"].connect (() => {
Idle.add (() => {
update_window_focus ();
return Source.REMOVE;
});
});
window.notify["appears-focused"].connect (update_window_focus);

unowned var workspace_manager = wm.get_display ().get_workspace_manager ();
workspace_manager.active_workspace_changed.connect (update_window_focus);

clone = new Clutter.Clone (window_actor);

Expand Down Expand Up @@ -318,8 +316,11 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor {
return;
}

var window = window_actor.get_meta_window ();
if (window.appears_focused) {
unowned var workspace_manager = wm.get_display ().get_workspace_manager ();
unowned var active_workspace = workspace_manager.get_active_workspace ();
unowned var window = window_actor.get_meta_window ();

if (window.appears_focused && window.located_on_workspace (active_workspace)) {
hide ();
} else if (!window_actor.is_destroyed ()) {
show ();
Expand Down

0 comments on commit 441b5bb

Please sign in to comment.