Merge pull request #1110 from apreiml/fix-focus-stack-change

fix: add stack update on focus change
This commit is contained in:
Drew DeVault 2018-07-03 06:21:00 -07:00 committed by GitHub
commit 12dd9544f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 7 deletions

View file

@ -236,7 +236,7 @@ error_session:
## Wayland protocol implementation ## Wayland protocol implementation
Each protocol generally lives in a file with the same name, usually containing Each protocol generally lives in a file with the same name, usually containing
at leats one struct for each interface in the protocol. For instance, at least one struct for each interface in the protocol. For instance,
`xdg_shell` lives in `types/wlr_xdg_shell.h` and has a `wlr_xdg_surface` struct. `xdg_shell` lives in `types/wlr_xdg_shell.h` and has a `wlr_xdg_surface` struct.
### Globals ### Globals

View file

@ -228,14 +228,13 @@ static void xwm_send_focus_window(struct wlr_xwm *xwm,
// if the surface doesn't allow the focus request, we will send him // if the surface doesn't allow the focus request, we will send him
// only the take focus event. It will get the focus by itself. // only the take focus event. It will get the focus by itself.
xwm_send_wm_message(xsurface, &message_data, XCB_EVENT_MASK_NO_EVENT); xwm_send_wm_message(xsurface, &message_data, XCB_EVENT_MASK_NO_EVENT);
return; } else {
xwm_send_wm_message(xsurface, &message_data, XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT);
xcb_set_input_focus(xwm->xcb_conn, XCB_INPUT_FOCUS_POINTER_ROOT,
xsurface->window_id, XCB_CURRENT_TIME);
} }
xwm_send_wm_message(xsurface, &message_data, XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT);
xcb_set_input_focus(xwm->xcb_conn, XCB_INPUT_FOCUS_POINTER_ROOT,
xsurface->window_id, XCB_CURRENT_TIME);
uint32_t values[1]; uint32_t values[1];
values[0] = XCB_STACK_MODE_ABOVE; values[0] = XCB_STACK_MODE_ABOVE;
xcb_configure_window(xwm->xcb_conn, xsurface->window_id, xcb_configure_window(xwm->xcb_conn, xsurface->window_id,