aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/view.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r--sway/tree/view.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c
index 354f2d34..e690c334 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -732,10 +732,11 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface,
732 ws = seat_get_last_known_workspace(seat); 732 ws = seat_get_last_known_workspace(seat);
733 } 733 }
734 734
735 struct sway_container *container = view->container;
735 if (target_sibling) { 736 if (target_sibling) {
736 container_add_sibling(target_sibling, view->container, 1); 737 container_add_sibling(target_sibling, container, 1);
737 } else if (ws) { 738 } else if (ws) {
738 workspace_add_tiling(ws, view->container); 739 container = workspace_add_tiling(ws, container);
739 } 740 }
740 ipc_event_window(view->container, "new"); 741 ipc_event_window(view->container, "new");
741 742
@@ -759,26 +760,26 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface,
759 } 760 }
760 761
761 if (config->popup_during_fullscreen == POPUP_LEAVE && 762 if (config->popup_during_fullscreen == POPUP_LEAVE &&
762 view->container->workspace && 763 container->workspace &&
763 view->container->workspace->fullscreen && 764 container->workspace->fullscreen &&
764 view->container->workspace->fullscreen->view) { 765 container->workspace->fullscreen->view) {
765 struct sway_container *fs = view->container->workspace->fullscreen; 766 struct sway_container *fs = container->workspace->fullscreen;
766 if (view_is_transient_for(view, fs->view)) { 767 if (view_is_transient_for(view, fs->view)) {
767 container_set_fullscreen(fs, false); 768 container_set_fullscreen(fs, false);
768 } 769 }
769 } 770 }
770 771
771 view_update_title(view, false); 772 view_update_title(view, false);
772 container_update_representation(view->container); 773 container_update_representation(container);
773 774
774 if (fullscreen) { 775 if (fullscreen) {
775 container_set_fullscreen(view->container, true); 776 container_set_fullscreen(view->container, true);
776 arrange_workspace(view->container->workspace); 777 arrange_workspace(view->container->workspace);
777 } else { 778 } else {
778 if (view->container->parent) { 779 if (container->parent) {
779 arrange_container(view->container->parent); 780 arrange_container(container->parent);
780 } else if (view->container->workspace) { 781 } else if (container->workspace) {
781 arrange_workspace(view->container->workspace); 782 arrange_workspace(container->workspace);
782 } 783 }
783 } 784 }
784 785