mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 22:43:58 +00:00
Use a stack for last panes line windows, from Thomas Bertschinger in
GitHub issue 3588.
This commit is contained in:
12
tmux.h
12
tmux.h
@ -1038,7 +1038,7 @@ struct window_pane {
|
||||
#define PANE_REDRAW 0x1
|
||||
#define PANE_DROP 0x2
|
||||
#define PANE_FOCUSED 0x4
|
||||
/* 0x8 unused */
|
||||
#define PANE_VISITED 0x8
|
||||
/* 0x10 unused */
|
||||
/* 0x20 unused */
|
||||
#define PANE_INPUTOFF 0x40
|
||||
@ -1093,7 +1093,8 @@ struct window_pane {
|
||||
int border_gc_set;
|
||||
struct grid_cell border_gc;
|
||||
|
||||
TAILQ_ENTRY(window_pane) entry;
|
||||
TAILQ_ENTRY(window_pane) entry; /* link in list of all panes */
|
||||
TAILQ_ENTRY(window_pane) sentry; /* link in list of last visited */
|
||||
RB_ENTRY(window_pane) tree_entry;
|
||||
};
|
||||
TAILQ_HEAD(window_panes, window_pane);
|
||||
@ -1114,7 +1115,7 @@ struct window {
|
||||
struct timeval activity_time;
|
||||
|
||||
struct window_pane *active;
|
||||
struct window_pane *last;
|
||||
struct window_panes last_panes;
|
||||
struct window_panes panes;
|
||||
|
||||
int lastlayout;
|
||||
@ -1167,6 +1168,7 @@ struct winlink {
|
||||
#define WINLINK_ACTIVITY 0x2
|
||||
#define WINLINK_SILENCE 0x4
|
||||
#define WINLINK_ALERTFLAGS (WINLINK_BELL|WINLINK_ACTIVITY|WINLINK_SILENCE)
|
||||
#define WINLINK_VISITED 0x8
|
||||
|
||||
RB_ENTRY(winlink) entry;
|
||||
TAILQ_ENTRY(winlink) wentry;
|
||||
@ -3041,6 +3043,10 @@ struct window_pane *window_pane_find_up(struct window_pane *);
|
||||
struct window_pane *window_pane_find_down(struct window_pane *);
|
||||
struct window_pane *window_pane_find_left(struct window_pane *);
|
||||
struct window_pane *window_pane_find_right(struct window_pane *);
|
||||
void window_pane_stack_push(struct window_panes *,
|
||||
struct window_pane *);
|
||||
void window_pane_stack_remove(struct window_panes *,
|
||||
struct window_pane *);
|
||||
void window_set_name(struct window *, const char *);
|
||||
void window_add_ref(struct window *, const char *);
|
||||
void window_remove_ref(struct window *, const char *);
|
||||
|
Reference in New Issue
Block a user