[BACK]Return to cmd-rotate-window.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/cmd-rotate-window.c between version 1.10 and 1.11

version 1.10, 2009/11/13 19:53:29 version 1.11, 2011/01/04 00:42:47
Line 24 
Line 24 
  * Rotate the panes in a window.   * Rotate the panes in a window.
  */   */
   
 void    cmd_rotate_window_init(struct cmd *, int);  void    cmd_rotate_window_key_binding(struct cmd *, int);
 int     cmd_rotate_window_exec(struct cmd *, struct cmd_ctx *);  int     cmd_rotate_window_exec(struct cmd *, struct cmd_ctx *);
   
 const struct cmd_entry cmd_rotate_window_entry = {  const struct cmd_entry cmd_rotate_window_entry = {
         "rotate-window", "rotatew",          "rotate-window", "rotatew",
           "Dt:U", 0, 0,
         "[-DU] " CMD_TARGET_WINDOW_USAGE,          "[-DU] " CMD_TARGET_WINDOW_USAGE,
         0, "DU",          0,
         cmd_rotate_window_init,          cmd_rotate_window_key_binding,
         cmd_target_parse,          NULL,
         cmd_rotate_window_exec,          cmd_rotate_window_exec
         cmd_target_free,  
         cmd_target_print  
 };  };
   
 void  void
 cmd_rotate_window_init(struct cmd *self, int key)  cmd_rotate_window_key_binding(struct cmd *self, int key)
 {  {
         struct cmd_target_data  *data;          self->args = args_create(0);
   
         cmd_target_init(self, key);  
         data = self->data;  
   
         if (key == ('o' | KEYC_ESCAPE))          if (key == ('o' | KEYC_ESCAPE))
                 cmd_set_flag(&data->chflags, 'D');                  args_set(self->args, 'D', NULL);
 }  }
   
 int  int
 cmd_rotate_window_exec(struct cmd *self, struct cmd_ctx *ctx)  cmd_rotate_window_exec(struct cmd *self, struct cmd_ctx *ctx)
 {  {
         struct cmd_target_data  *data = self->data;          struct args             *args = self->args;
         struct winlink          *wl;          struct winlink          *wl;
         struct window           *w;          struct window           *w;
         struct window_pane      *wp, *wp2;          struct window_pane      *wp, *wp2;
         struct layout_cell      *lc;          struct layout_cell      *lc;
         u_int                    sx, sy, xoff, yoff;          u_int                    sx, sy, xoff, yoff;
   
         if ((wl = cmd_find_window(ctx, data->target, NULL)) == NULL)          if ((wl = cmd_find_window(ctx, args_get(args, 't'), NULL)) == NULL)
                 return (-1);                  return (-1);
         w = wl->window;          w = wl->window;
   
         if (cmd_check_flag(data->chflags, 'D')) {          if (args_has(self->args, 'D')) {
                 wp = TAILQ_LAST(&w->panes, window_panes);                  wp = TAILQ_LAST(&w->panes, window_panes);
                 TAILQ_REMOVE(&w->panes, wp, entry);                  TAILQ_REMOVE(&w->panes, wp, entry);
                 TAILQ_INSERT_HEAD(&w->panes, wp, entry);                  TAILQ_INSERT_HEAD(&w->panes, wp, entry);

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11