summaryrefslogtreecommitdiffstats
path: root/cmd-find.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-03-12 14:02:40 +0000
committerThomas Adam <thomas@xteddy.org>2019-03-12 14:02:40 +0000
commit7d2004a8dd372d5e165232075b42e7b019dae969 (patch)
treebf04edb7eaeab44d310941fc7dc6d528e79000e6 /cmd-find.c
parent860acecc0d0dccad41176e20026707492f0f5826 (diff)
parent303d20a758a2779f76854b6df10f8764e44fc407 (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-find.c')
-rw-r--r--cmd-find.c40
1 files changed, 31 insertions, 9 deletions
diff --git a/cmd-find.c b/cmd-find.c
index 67f6dbe8..3c0085e0 100644
--- a/cmd-find.c
+++ b/cmd-find.c
@@ -453,6 +453,7 @@ cmd_find_get_window_with_session(struct cmd_find_state *fs, const char *window)
if (errstr == NULL) {
fs->wl = winlink_find_by_index(&fs->s->windows, idx);
if (fs->wl != NULL) {
+ fs->idx = fs->wl->idx;
fs->w = fs->wl->window;
return (0);
}
@@ -970,7 +971,7 @@ cmd_find_target(struct cmd_find_state *fs, struct cmdq_item *item,
{
struct mouse_event *m;
struct cmd_find_state current;
- char *colon, *period, *copy = NULL;
+ char *colon, *period, *copy = NULL, tmp[256];
const char *session, *window, *pane, *s;
int window_only = 0, pane_only = 0;
@@ -987,11 +988,25 @@ cmd_find_target(struct cmd_find_state *fs, struct cmdq_item *item,
s = "session";
else
s = "unknown";
- if (target == NULL)
- log_debug("%s: target none, type %s", __func__, s);
- else
- log_debug("%s: target %s, type %s", __func__, target, s);
- log_debug("%s: item %p, flags %#x", __func__, item, flags);
+ *tmp = '\0';
+ if (flags & CMD_FIND_PREFER_UNATTACHED)
+ strlcat(tmp, "PREFER_UNATTACHED,", sizeof tmp);
+ if (flags & CMD_FIND_QUIET)
+ strlcat(tmp, "QUIET,", sizeof tmp);
+ if (flags & CMD_FIND_WINDOW_INDEX)
+ strlcat(tmp, "WINDOW_INDEX,", sizeof tmp);
+ if (flags & CMD_FIND_DEFAULT_MARKED)
+ strlcat(tmp, "DEFAULT_MARKED,", sizeof tmp);
+ if (flags & CMD_FIND_EXACT_SESSION)
+ strlcat(tmp, "EXACT_SESSION,", sizeof tmp);
+ if (flags & CMD_FIND_EXACT_WINDOW)
+ strlcat(tmp, "EXACT_WINDOW,", sizeof tmp);
+ if (flags & CMD_FIND_CANFAIL)
+ strlcat(tmp, "CANFAIL,", sizeof tmp);
+ if (*tmp != '\0')
+ tmp[strlen(tmp) - 1] = '\0';
+ log_debug("%s: target %s, type %s, item %p, flags %s", __func__,
+ target == NULL ? "none" : target, s, item, tmp);
/* Clear new state. */
cmd_find_clear_state(fs, flags);
@@ -1131,9 +1146,16 @@ cmd_find_target(struct cmd_find_state *fs, struct cmdq_item *item,
if (pane != NULL)
pane = cmd_find_map_table(cmd_find_pane_table, pane);
- log_debug("%s: target %s (flags %#x): session=%s, window=%s, pane=%s",
- __func__, target, flags, session == NULL ? "none" : session,
- window == NULL ? "none" : window, pane == NULL ? "none" : pane);
+ if (session != NULL || window != NULL || pane != NULL) {
+ log_debug("%s: target %s is %s%s%s%s%s%s",
+ __func__, target,
+ session == NULL ? "" : "session ",
+ session == NULL ? "" : session,
+ window == NULL ? "" : "window ",
+ window == NULL ? "" : window,
+ pane == NULL ? "" : "pane ",
+ pane == NULL ? "" : pane);
+ }
/* No pane is allowed if want an index. */
if (pane != NULL && (flags & CMD_FIND_WINDOW_INDEX)) {