Allow multiple marks on windows.
This patch allows multiple marks to be set on a single window. The restriction that a mark may only be on one window at a time is still upheld as this is necessary for commands like "move window to mark" to make sense. relates to #2014
This commit is contained in:
@ -46,6 +46,7 @@ typedef struct Con Con;
|
||||
typedef struct Match Match;
|
||||
typedef struct Assignment Assignment;
|
||||
typedef struct Window i3Window;
|
||||
typedef struct mark_t mark_t;
|
||||
|
||||
/******************************************************************************
|
||||
* Helper types
|
||||
@ -523,6 +524,12 @@ typedef enum { CF_NONE = 0,
|
||||
CF_OUTPUT = 1,
|
||||
CF_GLOBAL = 2 } fullscreen_mode_t;
|
||||
|
||||
struct mark_t {
|
||||
char *name;
|
||||
|
||||
TAILQ_ENTRY(mark_t) marks;
|
||||
};
|
||||
|
||||
/**
|
||||
* A 'Con' represents everything from the X11 root window down to a single X11 window.
|
||||
*
|
||||
@ -575,8 +582,8 @@ struct Con {
|
||||
* displayed on whichever of the containers is currently visible */
|
||||
char *sticky_group;
|
||||
|
||||
/* user-definable mark to jump to this container later */
|
||||
char *mark;
|
||||
/* user-definable marks to jump to this container later */
|
||||
TAILQ_HEAD(marks_head, mark_t) marks_head;
|
||||
/* cached to decide whether a redraw is needed */
|
||||
bool mark_changed;
|
||||
|
||||
|
Reference in New Issue
Block a user