diff options
author | nicm <nicm> | 2017-02-09 15:04:53 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-02-09 15:04:53 +0000 |
commit | c6a3446398648fc2cc3682c351b57b9bfe5bc5f0 (patch) | |
tree | 7bd0ac8c644eb3037e1fd9633e6a1ad517fa3d01 /tmux.h | |
parent | 8de4c15dfa9d15d259d295b6f2e121c980082c79 (diff) | |
download | rtmux-c6a3446398648fc2cc3682c351b57b9bfe5bc5f0.tar.gz rtmux-c6a3446398648fc2cc3682c351b57b9bfe5bc5f0.tar.bz2 rtmux-c6a3446398648fc2cc3682c351b57b9bfe5bc5f0.zip |
Instead of numbering session groups, give them a name which may be given
to -t instead of a target session. Also allow them to contain only one
session.
Diffstat (limited to 'tmux.h')
-rw-r--r-- | tmux.h | 22 |
1 files changed, 13 insertions, 9 deletions
@@ -901,11 +901,12 @@ struct environ_entry { /* Client session. */ struct session_group { - TAILQ_HEAD(, session) sessions; + const char *name; + TAILQ_HEAD(, session) sessions; - TAILQ_ENTRY(session_group) entry; + RB_ENTRY(session_group) entry; }; -TAILQ_HEAD(session_groups, session_group); +RB_HEAD(session_groups, session_group); struct session { u_int id; @@ -2210,13 +2211,15 @@ extern struct sessions sessions; extern struct session_groups session_groups; int session_cmp(struct session *, struct session *); RB_PROTOTYPE(sessions, session, entry, session_cmp); +int session_group_cmp(struct session_group *, struct session_group *); +RB_PROTOTYPE(session_groups, session_group, entry, session_group_cmp); int session_alive(struct session *); struct session *session_find(const char *); struct session *session_find_by_id_str(const char *); struct session *session_find_by_id(u_int); -struct session *session_create(const char *, int, char **, const char *, - const char *, struct environ *, struct termios *, int, - u_int, u_int, char **); +struct session *session_create(const char *, const char *, int, char **, + const char *, const char *, struct environ *, + struct termios *, int, u_int, u_int, char **); void session_destroy(struct session *); void session_unref(struct session *); int session_check_name(const char *); @@ -2235,9 +2238,10 @@ int session_previous(struct session *, int); int session_select(struct session *, int); int session_last(struct session *); int session_set_current(struct session *, struct winlink *); -struct session_group *session_group_find(struct session *); -u_int session_group_index(struct session_group *); -void session_group_add(struct session *, struct session *); +struct session_group *session_group_contains(struct session *); +struct session_group *session_group_find(const char *); +struct session_group *session_group_new(const char *); +void session_group_add(struct session_group *, struct session *); void session_group_synchronize_to(struct session *); void session_group_synchronize_from(struct session *); void session_renumber_windows(struct session *); |