From 2445d279604d7be38c00db60ffde4279a3c75459 Mon Sep 17 00:00:00 2001
From: Calvin Lee <cyrus296@gmail.com>
Date: Sun, 2 Apr 2017 14:38:33 -0600
Subject: Impliment i3-style marks

This commit adds three commands to sway: `show_marks`, `mark` and
`unmark`. Marks are displayed right-aligned in the window border as i3
does. Marks may be found using criteria.

Fixes #1007
---
 include/sway/commands.h  | 3 +++
 include/sway/config.h    | 1 +
 include/sway/container.h | 5 +++++
 3 files changed, 9 insertions(+)

(limited to 'include')

diff --git a/include/sway/commands.h b/include/sway/commands.h
index 511bee4d..35a2f92a 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -126,6 +126,7 @@ sway_cmd cmd_ipc;
 sway_cmd cmd_kill;
 sway_cmd cmd_layout;
 sway_cmd cmd_log_colors;
+sway_cmd cmd_mark;
 sway_cmd cmd_mode;
 sway_cmd cmd_mouse_warping;
 sway_cmd cmd_move;
@@ -140,12 +141,14 @@ sway_cmd cmd_resize;
 sway_cmd cmd_scratchpad;
 sway_cmd cmd_seamless_mouse;
 sway_cmd cmd_set;
+sway_cmd cmd_show_marks;
 sway_cmd cmd_smart_gaps;
 sway_cmd cmd_split;
 sway_cmd cmd_splith;
 sway_cmd cmd_splitt;
 sway_cmd cmd_splitv;
 sway_cmd cmd_sticky;
+sway_cmd cmd_unmark;
 sway_cmd cmd_workspace;
 sway_cmd cmd_ws_auto_back_and_forth;
 sway_cmd cmd_workspace_layout;
diff --git a/include/sway/config.h b/include/sway/config.h
index d77fbd51..2de90434 100644
--- a/include/sway/config.h
+++ b/include/sway/config.h
@@ -275,6 +275,7 @@ struct sway_config {
 	bool reading;
 	bool auto_back_and_forth;
 	bool seamless_mouse;
+	bool show_marks;
 
 	bool edge_gaps;
 	bool smart_gaps;
diff --git a/include/sway/container.h b/include/sway/container.h
index 46925589..37192ce3 100644
--- a/include/sway/container.h
+++ b/include/sway/container.h
@@ -165,6 +165,11 @@ struct sway_container {
 	 * Number of slave groups (e.g. columns) in auto layouts.
 	 */
 	size_t nb_slave_groups;
+
+	/**
+	 * Marks applied to the container, list_t of char*.
+	 */
+	list_t *marks;
 };
 
 enum visibility_mask {
-- 
cgit v1.2.3