fixed focus

This commit is contained in:
taiyu 2015-08-15 08:34:09 -07:00
parent cd0cdc28aa
commit f3a970e24e

View file

@ -223,20 +223,17 @@ void unfocus_all(swayc_t *container) {
} }
void focus_view(swayc_t *view) { void focus_view(swayc_t *view) {
sway_log(L_DEBUG, "Setting focus for %p", view); sway_log(L_DEBUG, "Setting focus for %p", view);
if (view == &root_container) { while (view != &root_container) {
// Propegate wayland focus down view->parent->focused = view;
swayc_t *child = view->focused; view = view->parent;
while (child && child->type != C_VIEW) { }
child = child->focused; while (view && view->type != C_VIEW) {
} view = view->focused;
if (child) { }
wlc_view_set_state(child->handle, WLC_BIT_ACTIVATED, true); if (view) {
wlc_view_focus(child->handle); wlc_view_set_state(view->handle, WLC_BIT_ACTIVATED, true);
} wlc_view_focus(view->handle);
return;
} }
view->parent->focused = view;
focus_view(view->parent);
} }