mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21:10 +00:00
Add a customize mode where keys and options may be browsed and changed,
includes adding a brief description of each option. Bound to "C" by default.
This commit is contained in:
33
tmux.h
33
tmux.h
@ -745,6 +745,7 @@ enum style_default_type {
|
||||
/* Style option. */
|
||||
struct style {
|
||||
struct grid_cell gc;
|
||||
int ignore;
|
||||
|
||||
int fill;
|
||||
enum style_align align;
|
||||
@ -1665,6 +1666,7 @@ RB_HEAD(key_bindings, key_binding);
|
||||
struct key_table {
|
||||
const char *name;
|
||||
struct key_bindings key_bindings;
|
||||
struct key_bindings default_key_bindings;
|
||||
|
||||
u_int references;
|
||||
|
||||
@ -1719,6 +1721,9 @@ struct options_table_entry {
|
||||
|
||||
const char *separator;
|
||||
const char *pattern;
|
||||
|
||||
const char *text;
|
||||
const char *unit;
|
||||
};
|
||||
|
||||
/* Common command usages. */
|
||||
@ -1896,6 +1901,7 @@ void notify_pane(const char *, struct window_pane *);
|
||||
/* options.c */
|
||||
struct options *options_create(struct options *);
|
||||
void options_free(struct options *);
|
||||
struct options *options_get_parent(struct options *);
|
||||
void options_set_parent(struct options *, struct options *);
|
||||
struct options_entry *options_first(struct options *);
|
||||
struct options_entry *options_next(struct options_entry *);
|
||||
@ -1903,7 +1909,9 @@ struct options_entry *options_empty(struct options *,
|
||||
const struct options_table_entry *);
|
||||
struct options_entry *options_default(struct options *,
|
||||
const struct options_table_entry *);
|
||||
char *options_default_to_string(const struct options_table_entry *);
|
||||
const char *options_name(struct options_entry *);
|
||||
struct options *options_owner(struct options_entry *);
|
||||
const struct options_table_entry *options_table_entry(struct options_entry *);
|
||||
struct options_entry *options_get_only(struct options *, const char *);
|
||||
struct options_entry *options_get(struct options *, const char *);
|
||||
@ -1918,9 +1926,9 @@ struct options_array_item *options_array_first(struct options_entry *);
|
||||
struct options_array_item *options_array_next(struct options_array_item *);
|
||||
u_int options_array_item_index(struct options_array_item *);
|
||||
union options_value *options_array_item_value(struct options_array_item *);
|
||||
int options_isarray(struct options_entry *);
|
||||
int options_isstring(struct options_entry *);
|
||||
char *options_tostring(struct options_entry *, int, int);
|
||||
int options_is_array(struct options_entry *);
|
||||
int options_is_string(struct options_entry *);
|
||||
char *options_to_string(struct options_entry *, int, int);
|
||||
char *options_parse(const char *, int *);
|
||||
struct options_entry *options_parse_get(struct options *, const char *, int *,
|
||||
int);
|
||||
@ -1940,6 +1948,10 @@ int options_scope_from_flags(struct args *, int,
|
||||
struct cmd_find_state *, struct options **, char **);
|
||||
struct style *options_string_to_style(struct options *, const char *,
|
||||
struct format_tree *);
|
||||
int options_from_string(struct options *,
|
||||
const struct options_table_entry *, const char *,
|
||||
const char *, int, char **);
|
||||
void options_push_changes(const char *);
|
||||
|
||||
/* options-table.c */
|
||||
extern const struct options_table_entry options_table[];
|
||||
@ -2231,6 +2243,7 @@ struct key_table *key_bindings_first_table(void);
|
||||
struct key_table *key_bindings_next_table(struct key_table *);
|
||||
void key_bindings_unref_table(struct key_table *);
|
||||
struct key_binding *key_bindings_get(struct key_table *, key_code);
|
||||
struct key_binding *key_bindings_get_default(struct key_table *, key_code);
|
||||
struct key_binding *key_bindings_first(struct key_table *);
|
||||
struct key_binding *key_bindings_next(struct key_table *, struct key_binding *);
|
||||
void key_bindings_add(const char *, key_code, const char *, int,
|
||||
@ -2460,6 +2473,8 @@ void screen_write_start_callback(struct screen_write_ctx *, struct screen *,
|
||||
void screen_write_stop(struct screen_write_ctx *);
|
||||
void screen_write_reset(struct screen_write_ctx *);
|
||||
size_t printflike(1, 2) screen_write_strlen(const char *, ...);
|
||||
int printflike(7, 8) screen_write_text(struct screen_write_ctx *, u_int, u_int,
|
||||
u_int, int, const struct grid_cell *, const char *, ...);
|
||||
void printflike(3, 4) screen_write_puts(struct screen_write_ctx *,
|
||||
const struct grid_cell *, const char *, ...);
|
||||
void printflike(4, 5) screen_write_nputs(struct screen_write_ctx *,
|
||||
@ -2678,19 +2693,23 @@ typedef void (*mode_tree_draw_cb)(void *, void *, struct screen_write_ctx *,
|
||||
u_int, u_int);
|
||||
typedef int (*mode_tree_search_cb)(void *, void *, const char *);
|
||||
typedef void (*mode_tree_menu_cb)(void *, struct client *, key_code);
|
||||
typedef u_int (*mode_tree_height_cb)(void *, u_int);
|
||||
typedef void (*mode_tree_each_cb)(void *, void *, struct client *, key_code);
|
||||
u_int mode_tree_count_tagged(struct mode_tree_data *);
|
||||
void *mode_tree_get_current(struct mode_tree_data *);
|
||||
const char *mode_tree_get_current_name(struct mode_tree_data *);
|
||||
void mode_tree_expand_current(struct mode_tree_data *);
|
||||
void mode_tree_collapse_current(struct mode_tree_data *);
|
||||
void mode_tree_expand(struct mode_tree_data *, uint64_t);
|
||||
int mode_tree_set_current(struct mode_tree_data *, uint64_t);
|
||||
void mode_tree_each_tagged(struct mode_tree_data *, mode_tree_each_cb,
|
||||
struct client *, key_code, int);
|
||||
void mode_tree_up(struct mode_tree_data *, int);
|
||||
void mode_tree_down(struct mode_tree_data *, int);
|
||||
struct mode_tree_data *mode_tree_start(struct window_pane *, struct args *,
|
||||
mode_tree_build_cb, mode_tree_draw_cb, mode_tree_search_cb,
|
||||
mode_tree_menu_cb, void *, const struct menu_item *, const char **,
|
||||
u_int, struct screen **);
|
||||
mode_tree_menu_cb, mode_tree_height_cb, void *,
|
||||
const struct menu_item *, const char **, u_int, struct screen **);
|
||||
void mode_tree_zoom(struct mode_tree_data *, struct args *);
|
||||
void mode_tree_build(struct mode_tree_data *);
|
||||
void mode_tree_free(struct mode_tree_data *);
|
||||
@ -2698,6 +2717,7 @@ void mode_tree_resize(struct mode_tree_data *, u_int, u_int);
|
||||
struct mode_tree_item *mode_tree_add(struct mode_tree_data *,
|
||||
struct mode_tree_item *, void *, uint64_t, const char *,
|
||||
const char *, int);
|
||||
void mode_tree_draw_as_parent(struct mode_tree_item *);
|
||||
void mode_tree_remove(struct mode_tree_data *, struct mode_tree_item *);
|
||||
void mode_tree_draw(struct mode_tree_data *);
|
||||
int mode_tree_key(struct mode_tree_data *, struct client *, key_code *,
|
||||
@ -2728,6 +2748,9 @@ void window_copy_start_drag(struct client *, struct mouse_event *);
|
||||
char *window_copy_get_word(struct window_pane *, u_int, u_int);
|
||||
char *window_copy_get_line(struct window_pane *, u_int);
|
||||
|
||||
/* window-option.c */
|
||||
extern const struct window_mode window_customize_mode;
|
||||
|
||||
/* names.c */
|
||||
void check_window_name(struct window *);
|
||||
char *default_window_name(struct window *);
|
||||
|
Reference in New Issue
Block a user