Skip to content

Commit

Permalink
Merge pull request #4 from taiyu-len/master
Browse files Browse the repository at this point in the history
fixed focus_parent, moved into move_focus() function
  • Loading branch information
ddevault committed Aug 10, 2015
2 parents 113fb70 + f923c4e commit f9ae9ab
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 11 deletions.
7 changes: 1 addition & 6 deletions sway/commands.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,7 @@ int cmd_focus(struct sway_config *config, int argc, char **argv) {
} else if (strcasecmp(argv[0], "down") == 0) {
return move_focus(MOVE_DOWN);
} else if (strcasecmp(argv[0], "parent") == 0) {
swayc_t *current = get_focused_container(&root_container);
if (current && current->parent) {
current->parent->focused = NULL;
unfocus_all(current->parent);
focus_view(current->parent);
}
return move_focus(MOVE_PARENT);
}
return 0;
}
Expand Down
14 changes: 14 additions & 0 deletions sway/movement.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@ int move_focus(enum movement_direction direction) {
swayc_t *current = get_focused_container(&root_container);
swayc_t *parent = current->parent;

if (direction == MOVE_PARENT) {
current = parent;
parent = parent->parent;
if (parent->type == C_ROOT) {
sway_log(L_DEBUG, "Focus cannot move to parent");
return 1;
} else {
sway_log(L_DEBUG, "Moving focus away from %p", current);
unfocus_all(parent);
focus_view(parent);
return 0;
}
}

while (true) {
sway_log(L_DEBUG, "Moving focus away from %p", current);

Expand Down
11 changes: 6 additions & 5 deletions sway/movement.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
#include <wlc/wlc.h>
#include "list.h"

enum movement_direction{
MOVE_LEFT,
MOVE_RIGHT,
MOVE_UP,
MOVE_DOWN
enum movement_direction {
MOVE_LEFT,
MOVE_RIGHT,
MOVE_UP,
MOVE_DOWN,
MOVE_PARENT
};

int move_focus(enum movement_direction direction);
Expand Down

0 comments on commit f9ae9ab

Please sign in to comment.