aboutsummaryrefslogtreecommitdiff
path: root/server-fn.c
diff options
context:
space:
mode:
Diffstat (limited to 'server-fn.c')
-rw-r--r--server-fn.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/server-fn.c b/server-fn.c
index 78bc2bea..53d6a7c2 100644
--- a/server-fn.c
+++ b/server-fn.c
@@ -442,21 +442,23 @@ server_set_identify(struct client *c)
}
void
-server_clear_identify(struct client *c)
+server_clear_identify(struct client *c, struct window_pane *wp)
{
- if (c->flags & CLIENT_IDENTIFY) {
- c->flags &= ~CLIENT_IDENTIFY;
- c->tty.flags &= ~(TTY_FREEZE|TTY_NOCURSOR);
- server_redraw_client(c);
- }
+ if (~c->flags & CLIENT_IDENTIFY)
+ return;
+ c->flags &= ~CLIENT_IDENTIFY;
+
+ if (c->identify_callback != NULL)
+ c->identify_callback(c, wp);
+
+ c->tty.flags &= ~(TTY_FREEZE|TTY_NOCURSOR);
+ server_redraw_client(c);
}
void
server_callback_identify(__unused int fd, __unused short events, void *data)
{
- struct client *c = data;
-
- server_clear_identify(c);
+ server_clear_identify(data, NULL);
}
/* Set stdin callback. */