version 1.854, 2019/03/07 19:01:21 |
version 1.855, 2019/03/07 20:24:21 |
|
|
* Window mode. Windows can be in several modes and this is used to call the |
* Window mode. Windows can be in several modes and this is used to call the |
* right function to handle input and output. |
* right function to handle input and output. |
*/ |
*/ |
|
struct window_mode_entry; |
struct window_mode { |
struct window_mode { |
const char *name; |
const char *name; |
|
|
struct screen *(*init)(struct window_pane *, struct cmd_find_state *, |
struct screen *(*init)(struct window_mode_entry *, |
struct args *); |
struct cmd_find_state *, struct args *); |
void (*free)(struct window_pane *); |
void (*free)(struct window_mode_entry *); |
void (*resize)(struct window_pane *, u_int, u_int); |
void (*resize)(struct window_mode_entry *, u_int, u_int); |
void (*key)(struct window_pane *, struct client *, |
void (*key)(struct window_mode_entry *, struct client *, |
struct session *, struct winlink *, key_code, |
struct session *, struct winlink *, key_code, |
struct mouse_event *); |
struct mouse_event *); |
|
|
const char *(*key_table)(struct window_pane *); |
const char *(*key_table)(struct window_mode_entry *); |
void (*command)(struct window_pane *, struct client *, |
void (*command)(struct window_mode_entry *, struct client *, |
struct session *, struct winlink *, struct args *, |
struct session *, struct winlink *, struct args *, |
struct mouse_event *); |
struct mouse_event *); |
void (*formats)(struct window_pane *, struct format_tree *); |
void (*formats)(struct window_mode_entry *, |
|
struct format_tree *); |
}; |
}; |
#define WINDOW_MODE_TIMEOUT 180 |
#define WINDOW_MODE_TIMEOUT 180 |
|
|
|
/* Active window mode. */ |
|
struct window_mode_entry { |
|
struct window_pane *wp; |
|
|
|
const struct window_mode *mode; |
|
void *data; |
|
|
|
u_int prefix; |
|
}; |
|
|
/* Child window structure. */ |
/* Child window structure. */ |
struct window_pane { |
struct window_pane { |
u_int id; |
u_int id; |
|
|
struct grid *saved_grid; |
struct grid *saved_grid; |
struct grid_cell saved_cell; |
struct grid_cell saved_cell; |
|
|
const struct window_mode *mode; |
struct window_mode_entry *mode; |
void *modedata; |
|
struct event modetimer; |
struct event modetimer; |
time_t modelast; |
time_t modelast; |
u_int modeprefix; |
|
char *searchstr; |
char *searchstr; |
|
|
TAILQ_ENTRY(window_pane) entry; |
TAILQ_ENTRY(window_pane) entry; |