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

Diff for /src/usr.bin/tmux/notify.c between version 1.18 and 1.19

version 1.18, 2016/10/16 22:06:40 version 1.19, 2016/10/16 22:18:04
Line 113 
Line 113 
 }  }
   
 static void  static void
 notify_add(const char *name, struct client *c, struct session *s,  notify_add(const char *name, struct cmd_find_state *fs, struct client *c,
     struct window *w, struct window_pane *wp)      struct session *s, struct window *w, struct window_pane *wp)
 {  {
         struct notify_entry     *ne;          struct notify_entry     *ne;
         struct cmdq_item        *new_item;          struct cmdq_item        *new_item;
Line 138 
Line 138 
         if (w != NULL)          if (w != NULL)
                 w->references++;                  w->references++;
   
         cmd_find_clear_state(&ne->fs, NULL, 0);          cmd_find_copy_state(&ne->fs, fs);
         if (s != NULL && w != NULL)  
                 cmd_find_from_session_window(&ne->fs, s, w);  
         else if (w != NULL)  
                 cmd_find_from_window(&ne->fs, w);  
         else if (s != NULL && session_alive(s))  
                 cmd_find_from_session(&ne->fs, s);  
         else if (wp != NULL)  
                 cmd_find_from_pane(&ne->fs, wp);  
         else  
                 cmd_find_current(&ne->fs, NULL, CMD_FIND_QUIET);  
         if (ne->fs.s != NULL)          if (ne->fs.s != NULL)
                 ne->fs.s->references++; /* cmd_find_valid_state need session */                  ne->fs.s->references++; /* cmd_find_valid_state need session */
   
Line 170 
Line 160 
 void  void
 notify_client(const char *name, struct client *c)  notify_client(const char *name, struct client *c)
 {  {
         notify_add(name, c, NULL, NULL, NULL);          struct cmd_find_state   fs;
   
           if (c->session != NULL)
                   cmd_find_from_session(&fs, c->session);
           else
                   cmd_find_current(&fs, NULL, CMD_FIND_QUIET);
           notify_add(name, &fs, c, NULL, NULL, NULL);
 }  }
   
 void  void
 notify_session(const char *name, struct session *s)  notify_session(const char *name, struct session *s)
 {  {
         notify_add(name, NULL, s, NULL, NULL);          struct cmd_find_state   fs;
   
           if (session_alive(s))
                   cmd_find_from_session(&fs, s);
           else
                   cmd_find_current(&fs, NULL, CMD_FIND_QUIET);
           notify_add(name, &fs, NULL, s, NULL, NULL);
 }  }
   
 void  void
   notify_winlink(const char *name, struct session *s, struct winlink *wl)
   {
           struct cmd_find_state   fs;
   
           cmd_find_from_winlink(&fs, s, wl);
           notify_add(name, &fs, NULL, s, wl->window, NULL);
   }
   
   void
 notify_session_window(const char *name, struct session *s, struct window *w)  notify_session_window(const char *name, struct session *s, struct window *w)
 {  {
         notify_add(name, NULL, s, w, NULL);          struct cmd_find_state   fs;
   
           cmd_find_from_session_window(&fs, s, w);
           notify_add(name, &fs, NULL, s, w, NULL);
 }  }
   
 void  void
 notify_window(const char *name, struct window *w)  notify_window(const char *name, struct window *w)
 {  {
         notify_add(name, NULL, NULL, w, NULL);          struct cmd_find_state   fs;
   
           cmd_find_from_window(&fs, w);
           notify_add(name, &fs, NULL, NULL, w, NULL);
 }  }
   
 void  void
 notify_pane(const char *name, struct window_pane *wp)  notify_pane(const char *name, struct window_pane *wp)
 {  {
         notify_add(name, NULL, NULL, NULL, wp);          struct cmd_find_state   fs;
   
           cmd_find_from_pane(&fs, wp);
           notify_add(name, &fs, NULL, NULL, NULL, wp);
 }  }

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19