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

Diff for /src/usr.bin/tmux/window-tree.c between version 1.53 and 1.54

version 1.53, 2020/12/03 07:12:12 version 1.54, 2021/04/12 06:50:25
Line 56 
Line 56 
                 "}" \                  "}" \
         "}"          "}"
   
   #define WINDOW_TREE_DEFAULT_KEY_FORMAT \
           "#{?#{e|<:#{line},10}," \
                   "#{line}" \
           "," \
                   "#{?#{e|<:#{line},36}," \
                           "M-#{a:#{e|+:97,#{e|-:#{line},10}}}" \
                   "," \
                           "" \
                   "}" \
           "}"
   
 static const struct menu_item window_tree_menu_items[] = {  static const struct menu_item window_tree_menu_items[] = {
         { "Select", '\r', NULL },          { "Select", '\r', NULL },
         { "Expand", KEYC_RIGHT, NULL },          { "Expand", KEYC_RIGHT, NULL },
Line 117 
Line 128 
   
         struct mode_tree_data            *data;          struct mode_tree_data            *data;
         char                             *format;          char                             *format;
           char                             *key_format;
         char                             *command;          char                             *command;
         int                               squash_groups;          int                               squash_groups;
   
Line 856 
Line 868 
         window_tree_key(wme, c, NULL, NULL, key, NULL);          window_tree_key(wme, c, NULL, NULL, key, NULL);
 }  }
   
   static key_code
   window_tree_get_key(void *modedata, void *itemdata, u_int line)
   {
           struct window_tree_modedata     *data = modedata;
           struct window_tree_itemdata     *item = itemdata;
           struct format_tree              *ft;
           struct session                  *s;
           struct winlink                  *wl;
           struct window_pane              *wp;
           char                            *expanded;
           key_code                         key;
   
           ft = format_create(NULL, NULL, FORMAT_NONE, 0);
           window_tree_pull_item(item, &s, &wl, &wp);
           if (item->type == WINDOW_TREE_SESSION)
                   format_defaults(ft, NULL, s, NULL, NULL);
           else if (item->type == WINDOW_TREE_WINDOW)
                   format_defaults(ft, NULL, s, wl, NULL);
           else
                   format_defaults(ft, NULL, s, wl, wp);
           format_add(ft, "line", "%u", line);
   
           expanded = format_expand(ft, data->key_format);
           key = key_string_lookup_string(expanded);
           free(expanded);
           format_free(ft);
           return key;
   }
   
 static struct screen *  static struct screen *
 window_tree_init(struct window_mode_entry *wme, struct cmd_find_state *fs,  window_tree_init(struct window_mode_entry *wme, struct cmd_find_state *fs,
     struct args *args)      struct args *args)
Line 880 
Line 921 
                 data->format = xstrdup(WINDOW_TREE_DEFAULT_FORMAT);                  data->format = xstrdup(WINDOW_TREE_DEFAULT_FORMAT);
         else          else
                 data->format = xstrdup(args_get(args, 'F'));                  data->format = xstrdup(args_get(args, 'F'));
           if (args == NULL || !args_has(args, 'K'))
                   data->key_format = xstrdup(WINDOW_TREE_DEFAULT_KEY_FORMAT);
           else
                   data->key_format = xstrdup(args_get(args, 'K'));
         if (args == NULL || args->argc == 0)          if (args == NULL || args->argc == 0)
                 data->command = xstrdup(WINDOW_TREE_DEFAULT_COMMAND);                  data->command = xstrdup(WINDOW_TREE_DEFAULT_COMMAND);
         else          else
Line 887 
Line 932 
         data->squash_groups = !args_has(args, 'G');          data->squash_groups = !args_has(args, 'G');
   
         data->data = mode_tree_start(wp, args, window_tree_build,          data->data = mode_tree_start(wp, args, window_tree_build,
             window_tree_draw, window_tree_search, window_tree_menu, NULL, data,              window_tree_draw, window_tree_search, window_tree_menu, NULL,
             window_tree_menu_items, window_tree_sort_list,              window_tree_get_key, data, window_tree_menu_items,
             nitems(window_tree_sort_list), &s);              window_tree_sort_list, nitems(window_tree_sort_list), &s);
         mode_tree_zoom(data->data, args);          mode_tree_zoom(data->data, args);
   
         mode_tree_build(data->data);          mode_tree_build(data->data);
Line 913 
Line 958 
         free(data->item_list);          free(data->item_list);
   
         free(data->format);          free(data->format);
           free(data->key_format);
         free(data->command);          free(data->command);
   
         free(data);          free(data);

Legend:
Removed from v.1.53  
changed lines
  Added in v.1.54