tree: set correct border value before creating floater

master
random human 6 years ago committed by Drew DeVault
parent 5becce8005
commit 0ba959f1ce

@ -755,14 +755,14 @@ void container_set_floating(struct sway_container *container, bool enable) {
struct sway_container *old_parent = container->parent; struct sway_container *old_parent = container->parent;
container_detach(container); container_detach(container);
workspace_add_floating(workspace, container); workspace_add_floating(workspace, container);
container_floating_set_default_size(container);
container_floating_resize_and_center(container);
if (container->view) { if (container->view) {
view_set_tiled(container->view, false); view_set_tiled(container->view, false);
if (container->view->using_csd) { if (container->view->using_csd) {
container->border = B_CSD; container->border = B_CSD;
} }
} }
container_floating_set_default_size(container);
container_floating_resize_and_center(container);
if (old_parent) { if (old_parent) {
container_reap_empty(old_parent); container_reap_empty(old_parent);
} }

@ -612,6 +612,10 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface,
&view->surface_new_subsurface); &view->surface_new_subsurface);
view->surface_new_subsurface.notify = view_handle_surface_new_subsurface; view->surface_new_subsurface.notify = view_handle_surface_new_subsurface;
if (decoration) {
view_update_csd_from_client(view, decoration);
}
if (view->impl->wants_floating && view->impl->wants_floating(view)) { if (view->impl->wants_floating && view->impl->wants_floating(view)) {
view->container->border = config->floating_border; view->container->border = config->floating_border;
view->container->border_thickness = config->floating_border_thickness; view->container->border_thickness = config->floating_border_thickness;
@ -635,10 +639,6 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface,
view_update_title(view, false); view_update_title(view, false);
container_update_representation(view->container); container_update_representation(view->container);
if (decoration) {
view_update_csd_from_client(view, decoration);
}
if (fullscreen) { if (fullscreen) {
container_set_fullscreen(view->container, true); container_set_fullscreen(view->container, true);
arrange_workspace(view->container->workspace); arrange_workspace(view->container->workspace);

Loading…
Cancel
Save