@ -238,8 +238,8 @@ static bool handle_key(wlc_handle view, uint32_t time, const struct wlc_modifier
}
static bool handle_pointer_motion(wlc_handle view, uint32_t time, const struct wlc_origin *origin) {
static wlc_handle prev_view = 0;
mouse_origin = *origin;
static wlc_handle prev_view = -1;
if (config->focus_follows_mouse && prev_view != view) {
focus_pointer();
@ -237,7 +237,7 @@ void unfocus_all(swayc_t *container) {
void focus_view(swayc_t *view) {
sway_log(L_DEBUG, "Setting focus for %p", view);
sway_log(L_DEBUG, "Setting focus for %p:%ld", view, view->handle);
swayc_t *c = view;
//Set focus from root to view
while (c != &root_container) {
@ -82,10 +82,14 @@ bool workspace_by_name(swayc_t *view, void *data) {
void set_mask(swayc_t *view, void *data) {
uint32_t *p = data;
if (view->type == C_VIEW) {
wlc_view_set_mask(view->handle, *p);
if (*p == 2) {
wlc_view_bring_to_front(view->handle);
} else {
wlc_view_send_to_back(view->handle);
view->visible = (*p == 2);