aboutsummaryrefslogtreecommitdiff
path: root/include/focus.h
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2015-08-18 07:02:31 -0400
committerDrew DeVault <sir@cmpwn.com>2015-08-18 07:02:31 -0400
commit2f6dd0687bac748f414e5deb090f38d755f66d29 (patch)
tree098ea31107357e0ebedd5435d870f11fe4b60836 /include/focus.h
parentdebb0d6bc198e13ef019b141029cdc62a7087532 (diff)
parentb132f67e7bb5017c73658cec8d297060033890e8 (diff)
Merge pull request #65 from taiyu-len/focus_v2
Focus v2
Diffstat (limited to 'include/focus.h')
-rw-r--r--include/focus.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/include/focus.h b/include/focus.h
new file mode 100644
index 00000000..185910f3
--- /dev/null
+++ b/include/focus.h
@@ -0,0 +1,36 @@
+#ifndef _SWAY_FOCUS_H
+#define _SWAY_FOCUS_H
+#include "container.h"
+
+enum movement_direction {
+ MOVE_LEFT,
+ MOVE_RIGHT,
+ MOVE_UP,
+ MOVE_DOWN,
+ MOVE_PARENT
+};
+
+//focused_container - the container found by following the `focused` pointer
+//from a given container to a container with `is_focused` boolean set
+//---
+//focused_view - the container found by following the `focused` pointer from a
+//given container to a view.
+//---
+
+swayc_t *get_focused_container(swayc_t *parent);
+swayc_t *get_focused_view(swayc_t *parent);
+
+void set_focused_container(swayc_t *container);
+void set_focused_container_for(swayc_t *ancestor, swayc_t *container);
+
+//lock focused container/view. locked by windows with OVERRIDE attribute
+//and unlocked when they are destroyed
+
+extern bool locked_container_focus;
+extern bool locked_view_focus;
+
+
+bool move_focus(enum movement_direction direction);
+
+#endif
+