diff options
author | taiyu <taiyu.len@gmail.com> | 2015-08-28 23:43:52 -0700 |
---|---|---|
committer | taiyu <taiyu.len@gmail.com> | 2015-08-28 23:43:52 -0700 |
commit | 836f24b04713217fea569c240b1cd6cb922d5091 (patch) | |
tree | ac7fe7587177e7610d426130c0e38b61ccf70f9e /sway/handlers.c | |
parent | 9acd3d20681de1bbce791bdf82e5fb5e74dfb80f (diff) |
#149 change focus before pointer_mode
Diffstat (limited to 'sway/handlers.c')
-rw-r--r-- | sway/handlers.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/sway/handlers.c b/sway/handlers.c index fa5c6c93..d0b129e8 100644 --- a/sway/handlers.c +++ b/sway/handlers.c @@ -447,19 +447,8 @@ static bool handle_pointer_button(wlc_handle view, uint32_t time, const struct w pointer_mode_set(button, !(modifiers->mods ^ config->floating_mod)); } - // Return if mode has been set - if (pointer_state.mode) { - return EVENT_HANDLED; - } - - // Always send mouse release - if (state == WLC_BUTTON_STATE_RELEASED) { - return EVENT_PASSTHROUGH; - } - // Check whether to change focus swayc_t *pointer = pointer_state.view; - sway_log(L_DEBUG, "pointer:%p",pointer); if (pointer) { if (focused != pointer) { set_focused_container(pointer_state.view); @@ -478,6 +467,16 @@ static bool handle_pointer_button(wlc_handle view, uint32_t time, const struct w } } + // Return if mode has been set + if (pointer_state.mode) { + return EVENT_HANDLED; + } + + // Always send mouse release + if (state == WLC_BUTTON_STATE_RELEASED) { + return EVENT_PASSTHROUGH; + } + // Finally send click return EVENT_PASSTHROUGH; } |