aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server-client.c15
-rw-r--r--tmux.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/server-client.c b/server-client.c
index e6761e30..18371bd4 100644
--- a/server-client.c
+++ b/server-client.c
@@ -47,6 +47,21 @@ static void server_client_dispatch_command(struct client *, struct imsg *);
static void server_client_dispatch_identify(struct client *, struct imsg *);
static void server_client_dispatch_shell(struct client *);
+/* Number of attached clients. */
+u_int
+server_client_how_many(void)
+{
+ struct client *c;
+ u_int n;
+
+ n = 0;
+ TAILQ_FOREACH(c, &clients, entry) {
+ if (c->session != NULL && (~c->flags & CLIENT_DETACHING))
+ n++;
+ }
+ return (n);
+}
+
/* Identify mode callback. */
static void
server_client_callback_identify(__unused int fd, __unused short events,
diff --git a/tmux.h b/tmux.h
index d264fc69..1c125f02 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1840,6 +1840,7 @@ void server_update_socket(void);
void server_add_accept(int);
/* server-client.c */
+u_int server_client_how_many(void);
void server_client_set_identify(struct client *);
void server_client_clear_identify(struct client *, struct window_pane *);
void server_client_set_key_table(struct client *, const char *);