diff --git a/src/pin-view.cpp b/src/pin-view.cpp index 83d8881..2ca9887 100644 --- a/src/pin-view.cpp +++ b/src/pin-view.cpp @@ -149,6 +149,8 @@ class wayfire_pin_view : public wf::plugin_interface_t toplevel->set_geometry(wf::geometry_t{vg.x + (nws.x - cws.x) * og.width, vg.y + (nws.y - cws.y) * og.height, vg.width, vg.height}); } + + output->wset()->remove_view(toplevel); } } else { @@ -162,11 +164,11 @@ class wayfire_pin_view : public wf::plugin_interface_t { toplevel->set_geometry(og); } + + output->wset()->remove_view(toplevel); } view->role = wf::VIEW_ROLE_DESKTOP_ENVIRONMENT; - wf::scene::readd_front(view->get_output()->node_for_layer(layer), view->get_root_node()); - return wf::ipc::json_ok(); } wf::scene::readd_front(output->node_for_layer(layer), view->get_root_node()); @@ -194,6 +196,7 @@ class wayfire_pin_view : public wf::plugin_interface_t toplevel->move(vg.x + (pvd->workspace.x - cws.x) * og.width, vg.y + (pvd->workspace.y - cws.y) * og.height); toplevel->set_geometry(pvd->geometry); + output->wset()->add_view(toplevel); } on_workspace_changed.disconnect();