client: allow selection of nofocus windows
Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
2a882803ec
commit
2e345fbcda
12
client.c
12
client.c
|
@ -187,8 +187,9 @@ client_unfocus(client_t *c)
|
||||||
globalconf.screens[c->phys_screen].client_focus = NULL;
|
globalconf.screens[c->phys_screen].client_focus = NULL;
|
||||||
|
|
||||||
/* Set focus on root window, so no events leak to the current window. */
|
/* Set focus on root window, so no events leak to the current window. */
|
||||||
xcb_set_input_focus(globalconf.connection, XCB_INPUT_FOCUS_POINTER_ROOT,
|
if (!c->nofocus)
|
||||||
root_win, XCB_CURRENT_TIME);
|
xcb_set_input_focus(globalconf.connection, XCB_INPUT_FOCUS_POINTER_ROOT,
|
||||||
|
root_win, XCB_CURRENT_TIME);
|
||||||
|
|
||||||
/* Call hook */
|
/* Call hook */
|
||||||
if(globalconf.hooks.unfocus != LUA_REFNIL)
|
if(globalconf.hooks.unfocus != LUA_REFNIL)
|
||||||
|
@ -252,7 +253,7 @@ client_ban(client_t *c)
|
||||||
void
|
void
|
||||||
client_focus(client_t *c)
|
client_focus(client_t *c)
|
||||||
{
|
{
|
||||||
if(!client_maybevisible(c, c->screen) || c->nofocus)
|
if(!client_maybevisible(c, c->screen))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* unfocus current selected client */
|
/* unfocus current selected client */
|
||||||
|
@ -270,8 +271,9 @@ client_focus(client_t *c)
|
||||||
globalconf.screen_focus = &globalconf.screens[c->phys_screen];
|
globalconf.screen_focus = &globalconf.screens[c->phys_screen];
|
||||||
globalconf.screen_focus->client_focus = c;
|
globalconf.screen_focus->client_focus = c;
|
||||||
|
|
||||||
xcb_set_input_focus(globalconf.connection, XCB_INPUT_FOCUS_POINTER_ROOT,
|
if (!c->nofocus)
|
||||||
c->win, XCB_CURRENT_TIME);
|
xcb_set_input_focus(globalconf.connection, XCB_INPUT_FOCUS_POINTER_ROOT,
|
||||||
|
c->win, XCB_CURRENT_TIME);
|
||||||
|
|
||||||
/* Some layouts use focused client differently, so call them back.
|
/* Some layouts use focused client differently, so call them back.
|
||||||
* And anyway, we have maybe unhidden */
|
* And anyway, we have maybe unhidden */
|
||||||
|
|
Loading…
Reference in New Issue