Fixed workspace switching in multimonitor layouts

This commit is contained in:
Luminarys 2015-08-15 13:55:06 -05:00
parent b01a04f22b
commit 618b3df051
4 changed files with 70 additions and 60 deletions

View file

@ -15,7 +15,7 @@ static struct wlc_origin mouse_origin;
static bool pointer_test(swayc_t *view, void *_origin) {
const struct wlc_origin *origin = _origin;
//Determine the output that the view is under
//Determine the output that the view is under
swayc_t *parent = view;
while (parent->type != C_OUTPUT) {
parent = parent->parent;
@ -192,9 +192,9 @@ static bool handle_pointer_motion(wlc_handle view, uint32_t time, const struct w
swayc_t *c = find_container(&root_container, pointer_test, (void *)origin);
swayc_t *focused = get_focused_container(&root_container);
if (c && c != focused) {
sway_log(L_DEBUG, "Mouse pointer at X: %d, Y: %d", origin->x, origin->y);
sway_log(L_DEBUG, "Container to focus on is at X: %d, Y: %d, with W: %d, H: %d", c->x, c->y, c->width, c->height);
sway_log(L_DEBUG, "Focused container is at X: %d, Y: %d, with W: %d, H: %d", c->x, c->y, c->width, c->height);
sway_log(L_DEBUG, "Mouse pointer at X: %d, Y: %d", origin->x, origin->y);
sway_log(L_DEBUG, "Container to focus on is at X: %d, Y: %d, with W: %d, H: %d", c->x, c->y, c->width, c->height);
sway_log(L_DEBUG, "Focused container is at X: %d, Y: %d, with W: %d, H: %d", c->x, c->y, c->width, c->height);
sway_log(L_DEBUG, "Switching focus to %p", c);
unfocus_all(&root_container);
focus_view(c);