[BACK]Return to server-fn.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/server-fn.c between version 1.126 and 1.127

version 1.126, 2020/05/16 16:20:59 version 1.127, 2020/07/04 14:24:02
Line 183 
Line 183 
         struct window   *w = wp->window;          struct window   *w = wp->window;
   
         if (window_count_panes(w) == 1) {          if (window_count_panes(w) == 1) {
                 server_kill_window(w);                  server_kill_window(w, 1);
                 recalculate_sizes();                  recalculate_sizes();
         } else {          } else {
                 server_unzoom_window(w);                  server_unzoom_window(w);
Line 195 
Line 195 
 }  }
   
 void  void
 server_kill_window(struct window *w)  server_kill_window(struct window *w, int renumber)
 {  {
         struct session          *s, *next_s, *target_s;          struct session  *s, *s1;
         struct session_group    *sg;          struct winlink  *wl;
         struct winlink          *wl;  
   
         next_s = RB_MIN(sessions, &sessions);          RB_FOREACH_SAFE(s, sessions, &sessions, s1) {
         while (next_s != NULL) {  
                 s = next_s;  
                 next_s = RB_NEXT(sessions, &sessions, s);  
   
                 if (!session_has(s, w))                  if (!session_has(s, w))
                         continue;                          continue;
   
                 server_unzoom_window(w);                  server_unzoom_window(w);
                 while ((wl = winlink_find_by_window(&s->windows, w)) != NULL) {                  while ((wl = winlink_find_by_window(&s->windows, w)) != NULL) {
                         if (session_detach(s, wl)) {                          if (session_detach(s, wl)) {
Line 217 
Line 213 
                                 server_redraw_session_group(s);                                  server_redraw_session_group(s);
                 }                  }
   
                 if (options_get_number(s->options, "renumber-windows")) {                  if (renumber)
                         if ((sg = session_group_contains(s)) != NULL) {                          server_renumber_session(s);
                                 TAILQ_FOREACH(target_s, &sg->sessions, gentry)  
                                         session_renumber_windows(target_s);  
                         } else  
                                 session_renumber_windows(s);  
                 }  
         }          }
         recalculate_sizes();          recalculate_sizes();
 }  }
   
   void
   server_renumber_session(struct session *s)
   {
           struct session_group    *sg;
   
           if (options_get_number(s->options, "renumber-windows")) {
                   if ((sg = session_group_contains(s)) != NULL) {
                           TAILQ_FOREACH(s, &sg->sessions, gentry)
                               session_renumber_windows(s);
                   } else
                           session_renumber_windows(s);
           }
   }
   
   void
   server_renumber_all(void)
   {
           struct session  *s;
   
           RB_FOREACH(s, sessions, &sessions)
                   server_renumber_session(s);
   }
   
 int  int
 server_link_window(struct session *src, struct winlink *srcwl,  server_link_window(struct session *src, struct winlink *srcwl,
     struct session *dst, int dstidx, int killflag, int selectflag,      struct session *dst, int dstidx, int killflag, int selectflag,
Line 354 
Line 368 
         window_remove_pane(w, wp);          window_remove_pane(w, wp);
   
         if (TAILQ_EMPTY(&w->panes))          if (TAILQ_EMPTY(&w->panes))
                 server_kill_window(w);                  server_kill_window(w, 1);
         else          else
                 server_redraw_window(w);                  server_redraw_window(w);
 }  }

Legend:
Removed from v.1.126  
changed lines
  Added in v.1.127