@@ -1225,20 +1225,26 @@ export class Space extends Array {
12251225
12261226 const newMonitor = Main . layoutManager . monitors [ i ] ;
12271227 const newSpace = spaces . monitors . get ( newMonitor ) ;
1228+ newSpace . activate ( false , false ) ;
1229+ Navigator . finishNavigation ( ) ;
1230+ Navigator . getNavigator ( ) . showMinimap ( newSpace ) ;
1231+
1232+ // New monitor is empty, just move the mouse there
1233+ if ( newSpace . length === 0 ) {
1234+ Utils . warpPointerToMonitor ( newMonitor ) ;
1235+ return ;
1236+ }
1237+
12281238 const visibleColumns = newSpace . filter ( ( column ) => newSpace . isVisible ( column [ 0 ] ) ) ;
1239+
12291240 if ( visibleColumns . length === 0 ) {
12301241 return ;
12311242 }
12321243
1233- const newColumn = dir === Meta . DisplayDirection . LEFT
1234- ? visibleColumns [ visibleColumns . length - 1 ]
1235- : visibleColumns [ 0 ] ;
1236- const newRow = Math . min ( row , newColumn . length - 1 ) ;
1237- const newWindow = newColumn [ newRow ] ;
1244+ const newIndex = dir === Meta . DisplayDirection . LEFT ? visibleColumns . length - 1 : 0 ;
1245+ const newColumn = visibleColumns [ newIndex ] ;
1246+ const newWindow = sortWindows ( newSpace , newColumn ) [ newColumn . length - 1 ] ;
12381247
1239- newSpace . activate ( false , false ) ;
1240- Navigator . finishNavigation ( ) ;
1241- Navigator . getNavigator ( ) . showMinimap ( newSpace ) ;
12421248 ensureViewport ( newWindow , newSpace ) ;
12431249 return
12441250 }
0 commit comments