@@ -690,7 +690,7 @@ impl GridWM {
690690 let mut desktop = self . get_desktop ( self . current_desktop ) ;
691691 desktop. remove ( & event. window ) ;
692692 self . set_desktop ( self . current_desktop , desktop) ;
693- self . floating_windows . remove ( & event. window ) ;
693+ // self.floating_windows.remove(&event.window);
694694
695695 if let Some ( bar_win) = self . win_bar_windows . remove ( & event. window ) {
696696 unsafe {
@@ -755,6 +755,7 @@ impl GridWM {
755755 unsafe {
756756 XUnmapWindow ( self . display , event. subwindow ) ;
757757 }
758+ self . floating_windows . remove ( & event. subwindow ) ;
758759 }
759760 }
760761 "desktop_right" => {
@@ -874,6 +875,7 @@ impl GridWM {
874875 if index == self . current_desktop {
875876 return ;
876877 }
878+
877879 unsafe {
878880 let old_desktop = self . get_desktop ( self . current_desktop ) ;
879881
@@ -895,6 +897,8 @@ impl GridWM {
895897
896898 self . current_desktop = index;
897899 }
900+
901+ self . trigger_redraw = true ;
898902 }
899903
900904 fn draw_window_bar ( & mut self ) {
@@ -1388,6 +1392,14 @@ impl GridWM {
13881392 let new_y = state. start_win_y + delta_y;
13891393
13901394 self . move_window ( state. window , new_x, new_y) ;
1395+
1396+ if let Some ( & bar_win) = self . win_bar_windows . get ( & state. window ) {
1397+ self . move_window (
1398+ bar_win,
1399+ new_x,
1400+ new_y - self . config . window . window_bar_height as i32 ,
1401+ ) ;
1402+ }
13911403 }
13921404 }
13931405
0 commit comments