On Wed, Jan 22, 2020 at 03:15:37PM -0500, Okan Demirmen wrote:
> Hi,
> 
> I think we've (or at least I have) mused about this for a while; a
> recent mail reminded me that this feature should go - a window manager
> doesn't need to parse the ssh known_hosts file for a menu; there are
> better tools for this.
> 
> Remove menu-ssh.
> 
> okay?

I remember agreeing last time. Had this in .cwmrc for awhile. :-)

unbind-key M-period # ssh menu

ok brynet@

> Index: calmwm.h
> ===================================================================
> RCS file: /home/open/cvs/xenocara/app/cwm/calmwm.h,v
> retrieving revision 1.372
> diff -u -p -r1.372 calmwm.h
> --- calmwm.h  22 Jan 2020 19:58:35 -0000      1.372
> +++ calmwm.h  22 Jan 2020 20:09:13 -0000
> @@ -304,7 +304,6 @@ struct conf {
>       int                      xrandr;
>       int                      xrandr_event_base;
>       char                    *conf_file;
> -     char                    *known_hosts;
>       char                    *wm_argv;
>       int                      debug;
>  };
> @@ -517,7 +516,6 @@ void                       kbfunc_menu_cmd(void *, struct 
> c
>  void                  kbfunc_menu_group(void *, struct cargs *);
>  void                  kbfunc_menu_wm(void *, struct cargs *);
>  void                  kbfunc_menu_exec(void *, struct cargs *);
> -void                  kbfunc_menu_ssh(void *, struct cargs *);
>  void                  kbfunc_client_menu_label(void *, struct cargs *);
>  void                  kbfunc_exec_cmd(void *, struct cargs *);
>  void                  kbfunc_exec_lock(void *, struct cargs *);
> Index: conf.c
> ===================================================================
> RCS file: /home/open/cvs/xenocara/app/cwm/conf.c,v
> retrieving revision 1.249
> diff -u -p -r1.249 conf.c
> --- conf.c    7 Mar 2019 12:54:21 -0000       1.249
> +++ conf.c    22 Jan 2020 20:09:24 -0000
> @@ -179,7 +179,6 @@ static const struct {
>  
>       { FUNC_SC(menu-cmd, menu_cmd, 0) },
>       { FUNC_SC(menu-group, menu_group, 0) },
> -     { FUNC_SC(menu-ssh, menu_ssh, 0) },
>       { FUNC_SC(menu-window, menu_client, CWM_MENU_WINDOW_ALL) },
>       { FUNC_SC(menu-window-hidden, menu_client, CWM_MENU_WINDOW_HIDDEN) },
>       { FUNC_SC(menu-exec, menu_exec, 0) },
> @@ -210,7 +209,6 @@ static const struct {
>       { "CM-Delete",  "lock" },
>       { "M-question", "menu-exec" },
>       { "CM-w",       "menu-exec-wm" },
> -     { "M-period",   "menu-ssh" },
>       { "M-Return",   "window-hide" },
>       { "M-Down",     "window-lower" },
>       { "M-Up",       "window-raise" },
> @@ -316,7 +314,6 @@ conf_init(struct conf *c)
>                       home = "/";
>       }
>       xasprintf(&c->conf_file, "%s/%s", home, ".cwmrc");
> -     xasprintf(&c->known_hosts, "%s/%s", home, ".ssh/known_hosts");
>  }
>  
>  void
> @@ -363,7 +360,6 @@ conf_clear(struct conf *c)
>               free(c->color[i]);
>  
>       free(c->conf_file);
> -     free(c->known_hosts);
>       free(c->font);
>       free(c->wmname);
>  }
> Index: cwm.1
> ===================================================================
> RCS file: /home/open/cvs/xenocara/app/cwm/cwm.1,v
> retrieving revision 1.65
> diff -u -p -r1.65 cwm.1
> --- cwm.1     9 Jul 2019 21:38:44 -0000       1.65
> +++ cwm.1     22 Jan 2020 20:08:19 -0000
> @@ -140,15 +140,6 @@ Resize window by a large amount; see
>  Spawn
>  .Dq exec program
>  dialog.
> -.It Ic M-period
> -Spawn
> -.Dq ssh to
> -dialog.
> -This parses
> -.Pa $HOME/.ssh/known_hosts
> -to provide host auto-completion.
> -.Xr ssh 1
> -will be executed via the configured terminal emulator.
>  .It Ic CM-w
>  Spawn
>  .Dq exec WindowManager
> Index: cwmrc.5
> ===================================================================
> RCS file: /home/open/cvs/xenocara/app/cwm/cwmrc.5,v
> retrieving revision 1.73
> diff -u -p -r1.73 cwmrc.5
> --- cwmrc.5   2 Jul 2019 23:37:47 -0000       1.73
> +++ cwmrc.5   22 Jan 2020 20:07:57 -0000
> @@ -280,10 +280,6 @@ menu.
>  Launch
>  .Dq exec WindowManager
>  menu.
> -.It menu-ssh
> -Launch
> -.Dq ssh
> -menu.
>  .It group-toggle-[n]
>  Toggle visibility of group n, where n is 1-9.
>  .It group-only-[n]
> Index: kbfunc.c
> ===================================================================
> RCS file: /home/open/cvs/xenocara/app/cwm/kbfunc.c,v
> retrieving revision 1.167
> diff -u -p -r1.167 kbfunc.c
> --- kbfunc.c  21 Jan 2020 15:50:03 -0000      1.167
> +++ kbfunc.c  22 Jan 2020 20:09:03 -0000
> @@ -647,72 +647,6 @@ out:
>  }
>  
>  void
> -kbfunc_menu_ssh(void *ctx, struct cargs *cargs)
> -{
> -     struct screen_ctx       *sc = ctx;
> -     struct cmd_ctx          *cmd;
> -     struct menu             *mi;
> -     struct menu_q            menuq;
> -     FILE                    *fp;
> -     char                    *buf, *lbuf, *p;
> -     char                     hostbuf[HOST_NAME_MAX+1];
> -     char                     path[PATH_MAX];
> -     int                      l;
> -     size_t                   len;
> -     ssize_t                  slen;
> -     int                      mflags = (CWM_MENU_DUMMY);
> -
> -     TAILQ_FOREACH(cmd, &Conf.cmdq, entry) {
> -             if (strcmp(cmd->name, "term") == 0)
> -                     break;
> -     }
> -     TAILQ_INIT(&menuq);
> -
> -     if ((fp = fopen(Conf.known_hosts, "r")) == NULL) {
> -             warn("%s: %s", __func__, Conf.known_hosts);
> -             goto menu;
> -     }
> -
> -     lbuf = NULL;
> -     len = 0;
> -     while ((slen = getline(&lbuf, &len, fp)) != -1) {
> -             buf = lbuf;
> -             if (buf[slen - 1] == '\n')
> -                     buf[slen - 1] = '\0';
> -             
> -             /* skip hashed hosts */
> -             if (strncmp(buf, HASH_MARKER, strlen(HASH_MARKER)) == 0)
> -                     continue;
> -             for (p = buf; *p != ',' && *p != ' ' && p != buf + slen; p++)
> -                     ;
> -             /* ignore badness */
> -             if (p - buf + 1 > sizeof(hostbuf))
> -                     continue;
> -             (void)strlcpy(hostbuf, buf, p - buf + 1);
> -             menuq_add(&menuq, NULL, "%s", hostbuf);
> -     }
> -     free(lbuf);
> -     if (ferror(fp))
> -             err(1, "%s", path);
> -     (void)fclose(fp);
> -menu:
> -     if ((mi = menu_filter(sc, &menuq, "ssh", NULL, mflags,
> -         search_match_text, search_print_text)) != NULL) {
> -             if (mi->text[0] == '\0')
> -                     goto out;
> -             l = snprintf(path, sizeof(path), "%s -T '[ssh] %s' -e ssh %s",
> -                 cmd->path, mi->text, mi->text);
> -             if (l == -1 || l >= sizeof(path))
> -                     goto out;
> -             u_spawn(path);
> -     }
> -out:
> -     if (mi != NULL && mi->dummy)
> -             free(mi);
> -     menuq_clear(&menuq);
> -}
> -
> -void
>  kbfunc_client_menu_label(void *ctx, struct cargs *cargs)
>  {
>       struct client_ctx       *cc = ctx;
> 
> 

Reply via email to