aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2014-05-13 21:58:48 +0100
committerThomas Adam <thomas@xteddy.org>2014-05-13 21:58:48 +0100
commitbae95844d75b257c61cd0ef57b1d826bdca09032 (patch)
treee2547df0ea03a6f686ac0cf7500bed3d00994ad2 /tmux.h
parentea5a223a2e8901fa9afa991d147751d8a6789443 (diff)
parentb3e8d440ed0477e88232c3ba1779c67eafce3a48 (diff)
downloadrtmux-bae95844d75b257c61cd0ef57b1d826bdca09032.tar.gz
rtmux-bae95844d75b257c61cd0ef57b1d826bdca09032.tar.bz2
rtmux-bae95844d75b257c61cd0ef57b1d826bdca09032.zip
Merge branch 'obsd-master'
Conflicts: format.c window.c
Diffstat (limited to 'tmux.h')
-rw-r--r--tmux.h55
1 files changed, 35 insertions, 20 deletions
diff --git a/tmux.h b/tmux.h
index fde94afc..1f80f41f 100644
--- a/tmux.h
+++ b/tmux.h
@@ -82,7 +82,7 @@ extern char **environ;
/* Default template for choose-buffer. */
#define CHOOSE_BUFFER_TEMPLATE \
- "#{line}: #{buffer_size} bytes: #{buffer_sample}"
+ "#{buffer_name}: #{buffer_size} bytes: #{buffer_sample}"
/* Default template for choose-client. */
#define CHOOSE_CLIENT_TEMPLATE \
@@ -115,7 +115,8 @@ extern char **environ;
/* Default template for list-buffers. */
#define LIST_BUFFERS_TEMPLATE \
- "#{line}: #{buffer_size} bytes: \"#{buffer_sample}\""
+ "#{buffer_name}: #{buffer_size} bytes: " \
+ "\"#{buffer_sample}\""
/* Default template for list-clients. */
#define LIST_CLIENTS_TEMPLATE \
@@ -579,6 +580,7 @@ enum mode_key_cmd {
MODEKEYCOPY_SEARCHREVERSE,
MODEKEYCOPY_SEARCHUP,
MODEKEYCOPY_SELECTLINE,
+ MODEKEYCOPY_STARTNAMEDBUFFER,
MODEKEYCOPY_STARTNUMBERPREFIX,
MODEKEYCOPY_STARTOFLINE,
MODEKEYCOPY_STARTSELECTION,
@@ -889,6 +891,7 @@ struct window_choose_mode_item {
/* Child window structure. */
struct window_pane {
u_int id;
+ u_int active_point;
struct window *window;
@@ -908,7 +911,8 @@ struct window_pane {
#define PANE_RESIZE 0x8
#define PANE_FOCUSPUSH 0x10
- char *cmd;
+ int argc;
+ char **argv;
char *shell;
int cwd;
@@ -945,6 +949,7 @@ struct window_pane {
};
TAILQ_HEAD(window_panes, window_pane);
RB_HEAD(window_pane_tree, window_pane);
+ARRAY_DECL(window_pane_list, struct window_pane *);
/* Window structure. */
struct window {
@@ -1022,8 +1027,6 @@ struct layout_cell {
u_int yoff;
struct window_pane *wp;
- struct window_pane *lastwp;
-
struct layout_cells cells;
TAILQ_ENTRY(layout_cell) entry;
@@ -1033,6 +1036,13 @@ struct layout_cell {
struct paste_buffer {
char *data;
size_t size;
+
+ char *name;
+ int automatic;
+ u_int order;
+
+ RB_ENTRY(paste_buffer) name_entry;
+ RB_ENTRY(paste_buffer) time_entry;
};
/* Environment variable. */
@@ -1127,6 +1137,9 @@ LIST_HEAD(tty_terms, tty_term);
#define MOUSE_WHEEL_UP 0
#define MOUSE_WHEEL_DOWN 1
+/* Mouse wheel multipler. */
+#define MOUSE_WHEEL_SCALE 3
+
/* Mouse event bits. */
#define MOUSE_EVENT_DOWN 0x1
#define MOUSE_EVENT_DRAG 0x2
@@ -1493,7 +1506,7 @@ RB_HEAD(format_tree, format_entry);
#define CMD_SRCDST_WINDOW_USAGE "[-s src-window] [-t dst-window]"
#define CMD_SRCDST_SESSION_USAGE "[-s src-session] [-t dst-session]"
#define CMD_SRCDST_CLIENT_USAGE "[-s src-client] [-t dst-client]"
-#define CMD_BUFFER_USAGE "[-b buffer-index]"
+#define CMD_BUFFER_USAGE "[-b buffer-name]"
/* tmux.c */
extern struct options global_options;
@@ -1705,13 +1718,14 @@ void tty_keys_free(struct tty *);
int tty_keys_next(struct tty *);
/* paste.c */
-struct paste_buffer *paste_walk_stack(u_int *);
+struct paste_buffer *paste_walk(struct paste_buffer *);
struct paste_buffer *paste_get_top(void);
-struct paste_buffer *paste_get_index(u_int);
+struct paste_buffer *paste_get_name(const char *);
int paste_free_top(void);
-int paste_free_index(u_int);
-void paste_add(char *, size_t, u_int);
-int paste_replace(u_int, char *, size_t);
+int paste_free_name(const char *);
+void paste_add(char *, size_t);
+int paste_rename(const char *, const char *, char **);
+int paste_set(char *, size_t, const char *, char **);
char *paste_make_sample(struct paste_buffer *, int);
void paste_send_pane(struct paste_buffer *, struct window_pane *,
const char *, int);
@@ -1732,8 +1746,9 @@ long long args_strtonum(
/* cmd.c */
int cmd_pack_argv(int, char **, char *, size_t);
int cmd_unpack_argv(char *, size_t, int, char ***);
-char **cmd_copy_argv(int, char *const *);
+char **cmd_copy_argv(int, char **);
void cmd_free_argv(int, char **);
+char *cmd_stringify_argv(int, char **);
struct cmd *cmd_parse(int, char **, const char *, u_int, char **);
size_t cmd_print(struct cmd *, char *, size_t);
struct session *cmd_current_session(struct cmd_q *, int);
@@ -2124,7 +2139,7 @@ void winlink_stack_remove(struct winlink_stack *, struct winlink *);
int window_index(struct window *, u_int *);
struct window *window_find_by_id(u_int);
struct window *window_create1(u_int, u_int);
-struct window *window_create(const char *, const char *, const char *,
+struct window *window_create(const char *, int, char **, const char *,
const char *, int, struct environ *, struct termios *,
u_int, u_int, u_int, char **);
void window_destroy(struct window *);
@@ -2150,7 +2165,7 @@ struct window_pane *window_pane_find_by_id(u_int);
struct window_pane *window_pane_create(struct window *, u_int, u_int, u_int);
void window_pane_destroy(struct window_pane *);
void window_pane_timer_start(struct window_pane *);
-int window_pane_spawn(struct window_pane *, const char *,
+int window_pane_spawn(struct window_pane *, int, char **,
const char *, const char *, int, struct environ *,
struct termios *, char **);
void window_pane_resize(struct window_pane *, u_int, u_int);
@@ -2288,18 +2303,18 @@ RB_PROTOTYPE(sessions, session, entry, session_cmp);
int session_alive(struct session *);
struct session *session_find(const char *);
struct session *session_find_by_id(u_int);
-struct session *session_create(const char *, const char *, const char *, int,
- struct environ *, struct termios *, int, u_int, u_int,
- char **);
+struct session *session_create(const char *, int, char **, const char *,
+ int, struct environ *, struct termios *, int, u_int,
+ u_int, char **);
void session_destroy(struct session *);
int session_check_name(const char *);
void session_update_activity(struct session *);
struct session *session_next_session(struct session *);
struct session *session_previous_session(struct session *);
-struct winlink *session_new(struct session *, const char *, const char *,
+struct winlink *session_new(struct session *, const char *, int, char **,
const char *, int, int, char **);
-struct winlink *session_attach(
- struct session *, struct window *, int, char **);
+struct winlink *session_attach(struct session *, struct window *, int,
+ char **);
int session_detach(struct session *, struct winlink *);
struct winlink *session_has(struct session *, struct window *);
int session_next(struct session *, int);