mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 22:43:58 +00:00
Add support for named buffers. If you don't name a buffer, things work
much as before - buffers are automatically named "buffer0000", "buffer0001" and so on and ordered as a stack. Buffers can be named explicitly when creating ("loadb -b foo" etc) or renamed ("setb -b buffer0000 -n foo"). If buffers are named explicitly, they are not deleted when buffer-limit is reached. Diff from J Raynor.
This commit is contained in:
25
tmux.h
25
tmux.h
@ -85,7 +85,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 \
|
||||
@ -118,7 +118,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 \
|
||||
@ -1036,6 +1037,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. */
|
||||
@ -1499,7 +1507,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;
|
||||
@ -1711,13 +1719,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);
|
||||
|
Reference in New Issue
Block a user