diff --git a/packages/wm/src/common/events/handle_window_shown.rs b/packages/wm/src/common/events/handle_window_shown.rs index 84adff241..a9b795e74 100644 --- a/packages/wm/src/common/events/handle_window_shown.rs +++ b/packages/wm/src/common/events/handle_window_shown.rs @@ -17,11 +17,13 @@ pub fn handle_window_shown( match found_window { Some(window) => { // TODO: Log window details. - info!("Showing window"); + info!("Window shown"); // Update display state if window is already managed. if window.display_state() == DisplayState::Showing { window.set_display_state(DisplayState::Shown); + } else { + state.pending_sync.containers_to_redraw.push(window.into()); } } None => { diff --git a/packages/wm/src/windows/commands/move_window_to_workspace.rs b/packages/wm/src/windows/commands/move_window_to_workspace.rs index cba1c139c..ae9788dcc 100644 --- a/packages/wm/src/windows/commands/move_window_to_workspace.rs +++ b/packages/wm/src/windows/commands/move_window_to_workspace.rs @@ -128,6 +128,7 @@ pub fn move_window_to_workspace( WindowContainer::NonTilingWindow(_) => vec![window.into()], WindowContainer::TilingWindow(_) => current_workspace .tiling_children() + .chain(target_workspace.tiling_children()) .map(Into::into) .collect(), };