Bugfix: Respect WM_HINTS.input for WM_TAKE_FOCUS clients

This fixes problems with Qt apps (like Quassel) and apparently Eclipse since
the last commit.
This commit is contained in:
Michael Stapelberg
2012-01-18 19:16:57 +00:00
parent e2b97a6fda
commit 2d14ced024
6 changed files with 58 additions and 25 deletions

View File

@ -2,7 +2,7 @@
* vim:ts=4:sw=4:expandtab
*
* i3 - an improved dynamic tiling window manager
* © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
* © 2009-2012 Michael Stapelberg and contributors (see also: LICENSE)
*
* include/data.h: This file defines all data structures used by i3
*
@ -293,6 +293,10 @@ struct Window {
/** Whether the application needs to receive WM_TAKE_FOCUS */
bool needs_take_focus;
/** Whether this window accepts focus. We store this inverted so that the
* default will be 'accepts focus'. */
bool doesnt_accept_focus;
/** Whether the window says it is a dock window */
enum { W_NODOCK = 0, W_DOCK_TOP = 1, W_DOCK_BOTTOM = 2 } dock;

View File

@ -57,4 +57,10 @@ void window_update_strut_partial(i3Window *win, xcb_get_property_reply_t *prop);
*/
void window_update_role(i3Window *win, xcb_get_property_reply_t *prop, bool before_mgmt);
/**
* Updates the WM_HINTS (we only care about the input focus handling part).
*
*/
void window_update_hints(i3Window *win, xcb_get_property_reply_t *prop);
#endif