summaryrefslogtreecommitdiffstats
path: root/x11-wm/cwm/files/patch-kbfunc.c
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm/cwm/files/patch-kbfunc.c')
-rw-r--r--x11-wm/cwm/files/patch-kbfunc.c75
1 files changed, 0 insertions, 75 deletions
diff --git a/x11-wm/cwm/files/patch-kbfunc.c b/x11-wm/cwm/files/patch-kbfunc.c
deleted file mode 100644
index 20a2935..0000000
--- a/x11-wm/cwm/files/patch-kbfunc.c
+++ /dev/null
@@ -1,75 +0,0 @@
---- kbfunc.c.orig 2021-07-28 22:35:08 UTC
-+++ kbfunc.c
-@@ -753,6 +753,72 @@ out:
- }
-
- void
-+kbfunc_menu_mosh(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[_POSIX_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, "mosh", 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 mosh %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;