@@ -373,43 +373,6 @@ fn create_workspace(
373
373
Workspace :: new ( workspace_handle, output. clone ( ) , tiling, theme. clone ( ) )
374
374
}
375
375
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
-
413
376
/* We will probably need this again at some point
414
377
fn merge_workspaces(
415
378
mut workspace: Workspace,
@@ -734,7 +697,8 @@ impl Workspaces {
734
697
735
698
// Add `moved_workspaces` to set, and update output and index of workspaces
736
699
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 ) ;
738
702
}
739
703
set. workspaces . extend ( moved_workspaces) ;
740
704
if set. workspaces . is_empty ( ) {
@@ -791,7 +755,8 @@ impl Workspaces {
791
755
workspace_state. remove_workspace ( workspace. handle ) ;
792
756
} else {
793
757
// 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 ) ;
795
760
796
761
// update mapping
797
762
workspace. set_output ( & new_output, false ) ;
@@ -862,7 +827,8 @@ impl Workspaces {
862
827
. and_then ( |set| set. remove_workspace ( workspace_state, handle) )
863
828
{
864
829
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 ) ;
866
832
workspace. set_output ( to, true ) ;
867
833
workspace. refresh ( ) ;
868
834
new_set. workspaces . insert ( new_set. active + 1 , workspace) ;
0 commit comments