diff options
author | taiyu <taiyu.len@gmail.com> | 2015-08-18 00:28:44 -0700 |
---|---|---|
committer | taiyu <taiyu.len@gmail.com> | 2015-08-18 00:28:44 -0700 |
commit | 11321ca2dd355be82175213795d88dcbfd0540ee (patch) | |
tree | b0f9bb55eb8c2448139dc63447edf01ffab7fb58 /include | |
parent | Add support for workspace [name] output [name] (diff) | |
download | sway-11321ca2dd355be82175213795d88dcbfd0540ee.tar.gz sway-11321ca2dd355be82175213795d88dcbfd0540ee.tar.zst sway-11321ca2dd355be82175213795d88dcbfd0540ee.zip |
changed handling of focus, handling of view by type
Diffstat (limited to 'include')
-rw-r--r-- | include/container.h | 2 | ||||
-rw-r--r-- | include/focus.h | 36 | ||||
-rw-r--r-- | include/handlers.h | 5 | ||||
-rw-r--r-- | include/movement.h | 17 |
4 files changed, 40 insertions, 20 deletions
diff --git a/include/container.h b/include/container.h index e395a55b..5f386368 100644 --- a/include/container.h +++ b/include/container.h | |||
@@ -45,6 +45,8 @@ struct sway_container { | |||
45 | 45 | ||
46 | bool is_floating; | 46 | bool is_floating; |
47 | 47 | ||
48 | bool is_focused; | ||
49 | |||
48 | int weight; | 50 | int weight; |
49 | 51 | ||
50 | char *name; | 52 | char *name; |
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 @@ | |||
1 | #ifndef _SWAY_FOCUS_H | ||
2 | #define _SWAY_FOCUS_H | ||
3 | #include "container.h" | ||
4 | |||
5 | enum movement_direction { | ||
6 | MOVE_LEFT, | ||
7 | MOVE_RIGHT, | ||
8 | MOVE_UP, | ||
9 | MOVE_DOWN, | ||
10 | MOVE_PARENT | ||
11 | }; | ||
12 | |||
13 | //focused_container - the container found by following the `focused` pointer | ||
14 | //from a given container to a container with `is_focused` boolean set | ||
15 | //--- | ||
16 | //focused_view - the container found by following the `focused` pointer from a | ||
17 | //given container to a view. | ||
18 | //--- | ||
19 | |||
20 | swayc_t *get_focused_container(swayc_t *parent); | ||
21 | swayc_t *get_focused_view(swayc_t *parent); | ||
22 | |||
23 | void set_focused_container(swayc_t *container); | ||
24 | void set_focused_container_for(swayc_t *ancestor, swayc_t *container); | ||
25 | |||
26 | //lock focused container/view. locked by windows with OVERRIDE attribute | ||
27 | //and unlocked when they are destroyed | ||
28 | |||
29 | extern bool locked_container_focus; | ||
30 | extern bool locked_view_focus; | ||
31 | |||
32 | |||
33 | bool move_focus(enum movement_direction direction); | ||
34 | |||
35 | #endif | ||
36 | |||
diff --git a/include/handlers.h b/include/handlers.h index d1742cce..6ea4bbf1 100644 --- a/include/handlers.h +++ b/include/handlers.h | |||
@@ -1,12 +1,11 @@ | |||
1 | #ifndef _SWAY_HANDLERS_H | 1 | #ifndef _SWAY_HANDLERS_H |
2 | #define _SWAY_HANDLERS_H | 2 | #define _SWAY_HANDLERS_H |
3 | 3 | #include "container.h" | |
4 | #include <stdbool.h> | 4 | #include <stdbool.h> |
5 | #include <wlc/wlc.h> | 5 | #include <wlc/wlc.h> |
6 | 6 | ||
7 | extern struct wlc_interface interface; | 7 | extern struct wlc_interface interface; |
8 | 8 | ||
9 | //set focus to current pointer location and return focused container | 9 | swayc_t *container_under_pointer(void); |
10 | swayc_t *focus_pointer(void); | ||
11 | 10 | ||
12 | #endif | 11 | #endif |
diff --git a/include/movement.h b/include/movement.h deleted file mode 100644 index dd701877..00000000 --- a/include/movement.h +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | #ifndef _SWAY_MOVEMENT_H | ||
2 | #define _SWAY_MOVEMENT_H | ||
3 | |||
4 | #include <wlc/wlc.h> | ||
5 | #include "list.h" | ||
6 | |||
7 | enum movement_direction { | ||
8 | MOVE_LEFT, | ||
9 | MOVE_RIGHT, | ||
10 | MOVE_UP, | ||
11 | MOVE_DOWN, | ||
12 | MOVE_PARENT | ||
13 | }; | ||
14 | |||
15 | bool move_focus(enum movement_direction direction); | ||
16 | |||
17 | #endif | ||