Do not resend focus on click

Do not set focused_id to XCB_NONE in route click to force resend focus,
in some cases to an already focused window.

Sending focus again on click is not necessary and may cause problems
with certain wine or mono apps. Resending focus makes combo boxes not
work in Office 2010.

This effectively reverts commit 250577da, so in case this commit causes
any problems with Eclipse to resurface, we’ll revert this commit in
favor of 250577da (the Eclipse-related bug fix).
This commit is contained in:
Tony Crisci 2014-09-20 17:21:08 -04:00 committed by Michael Stapelberg
parent 2fecf57699
commit 8870edc2ca
2 changed files with 3 additions and 4 deletions

View File

@ -214,7 +214,6 @@ static int route_click(Con *con, xcb_button_press_event_t *event, const bool mod
if (ws != focused_workspace) if (ws != focused_workspace)
workspace_show(ws); workspace_show(ws);
focused_id = XCB_NONE;
/* get the floating con */ /* get the floating con */
Con *floatingcon = con_inside_floating(con); Con *floatingcon = con_inside_floating(con);

View File

@ -15,9 +15,9 @@
/* Stores the X11 window ID of the currently focused window */ /* Stores the X11 window ID of the currently focused window */
xcb_window_t focused_id = XCB_NONE; xcb_window_t focused_id = XCB_NONE;
/* Because 'focused_id' might be reset to force input focus (after click to /* Because 'focused_id' might be reset to force input focus, we separately keep
* raise), we separately keep track of the X11 window ID to be able to always * track of the X11 window ID to be able to always tell whether the focused
* tell whether the focused window actually changed. */ * window actually changed. */
static xcb_window_t last_focused = XCB_NONE; static xcb_window_t last_focused = XCB_NONE;
/* Stores coordinates to warp mouse pointer to if set */ /* Stores coordinates to warp mouse pointer to if set */