version 1.101, 2013/04/21 21:32:00 |
version 1.102, 2013/06/23 12:51:28 |
|
|
{ |
{ |
u_int i; |
u_int i; |
struct client *c; |
struct client *c; |
|
int push; |
|
|
|
/* Do we need to push the focus state? */ |
|
push = wp->flags & PANE_FOCUSPUSH; |
|
wp->flags &= ~PANE_FOCUSPUSH; |
|
|
/* If we don't care about focus, forget it. */ |
/* If we don't care about focus, forget it. */ |
if (!(wp->base.mode & MODE_FOCUSON)) |
if (!(wp->base.mode & MODE_FOCUSON)) |
return; |
return; |
|
|
} |
} |
|
|
not_focused: |
not_focused: |
if (wp->flags & PANE_FOCUSED) |
if (push || (wp->flags & PANE_FOCUSED)) |
bufferevent_write(wp->event, "\033[O", 3); |
bufferevent_write(wp->event, "\033[O", 3); |
wp->flags &= ~PANE_FOCUSED; |
wp->flags &= ~PANE_FOCUSED; |
return; |
return; |
|
|
focused: |
focused: |
if (!(wp->flags & PANE_FOCUSED)) |
if (push || !(wp->flags & PANE_FOCUSED)) |
bufferevent_write(wp->event, "\033[I", 3); |
bufferevent_write(wp->event, "\033[I", 3); |
wp->flags |= PANE_FOCUSED; |
wp->flags |= PANE_FOCUSED; |
} |
} |