@@ -373,43 +373,6 @@ fn create_workspace(
373373 Workspace :: new ( workspace_handle, output. clone ( ) , tiling, theme. clone ( ) )
374374}
375375
376- fn move_workspace_to_group (
377- workspace : & mut Workspace ,
378- group : & WorkspaceGroupHandle ,
379- workspace_state : & mut WorkspaceUpdateGuard < ' _ , State > ,
380- ) {
381- let old_workspace_handle = workspace. handle ;
382- workspace. handle = workspace_state
383- . create_workspace (
384- group,
385- if workspace. tiling_enabled {
386- TilingState :: TilingEnabled
387- } else {
388- TilingState :: FloatingOnly
389- } ,
390- // TODO Set id for persistent workspaces
391- None ,
392- )
393- . unwrap ( ) ;
394- workspace_state. set_workspace_capabilities (
395- & workspace. handle ,
396- WorkspaceCapabilities :: Activate | WorkspaceCapabilities :: SetTilingState ,
397- ) ;
398- for window in workspace. mapped ( ) {
399- for ( surface, _) in window. windows ( ) {
400- toplevel_leave_workspace ( & surface, & old_workspace_handle) ;
401- toplevel_enter_workspace ( & surface, & workspace. handle ) ;
402- }
403- }
404- for window in workspace. minimized_windows . iter ( ) {
405- for ( surface, _) in window. window . windows ( ) {
406- toplevel_leave_workspace ( & surface, & old_workspace_handle) ;
407- toplevel_enter_workspace ( & surface, & workspace. handle ) ;
408- }
409- }
410- workspace_state. remove_workspace ( old_workspace_handle) ;
411- }
412-
413376/* We will probably need this again at some point
414377fn merge_workspaces(
415378 mut workspace: Workspace,
@@ -734,7 +697,8 @@ impl Workspaces {
734697
735698 // Add `moved_workspaces` to set, and update output and index of workspaces
736699 for workspace in & mut moved_workspaces {
737- move_workspace_to_group ( workspace, & set. group , workspace_state) ;
700+ workspace_state. remove_workspace_state ( & workspace. handle , WState :: Active ) ;
701+ workspace_state. move_workspace_to_group ( set. group , workspace. handle ) ;
738702 }
739703 set. workspaces . extend ( moved_workspaces) ;
740704 if set. workspaces . is_empty ( ) {
@@ -791,7 +755,8 @@ impl Workspaces {
791755 workspace_state. remove_workspace ( workspace. handle ) ;
792756 } else {
793757 // update workspace protocol state
794- move_workspace_to_group ( & mut workspace, & workspace_group, workspace_state) ;
758+ workspace_state. remove_workspace_state ( & workspace. handle , WState :: Active ) ;
759+ workspace_state. move_workspace_to_group ( workspace_group, workspace. handle ) ;
795760
796761 // update mapping
797762 workspace. set_output ( & new_output, false ) ;
@@ -862,7 +827,8 @@ impl Workspaces {
862827 . and_then ( |set| set. remove_workspace ( workspace_state, handle) )
863828 {
864829 let new_set = self . sets . get_mut ( to) . unwrap ( ) ;
865- move_workspace_to_group ( & mut workspace, & new_set. group , workspace_state) ;
830+ workspace_state. remove_workspace_state ( & workspace. handle , WState :: Active ) ;
831+ workspace_state. move_workspace_to_group ( new_set. group , workspace. handle ) ;
866832 workspace. set_output ( to, true ) ;
867833 workspace. refresh ( ) ;
868834 new_set. workspaces . insert ( new_set. active + 1 , workspace) ;
0 commit comments