Add wintype option redir-ignore.

This cause certain window types to be ignored in deciding whether the
screen should be redirected after being unredirected.

Fixes #58

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
Yuxuan Shui
2018-12-04 15:30:07 +00:00
parent 8f05b03411
commit f83eb79c05
4 changed files with 19 additions and 5 deletions

View File

@ -1333,7 +1333,12 @@ paint_preprocess(session_t *ps, win *list) {
w->flags = 0;
w->prev_trans = t;
t = w;
is_highest = false;
// If the screen is not redirected and the window has redir_ignore set,
// this window should not cause the screen to become redirected
if (!(ps->o.wintype_option[w->window_type].redir_ignore && !ps->redirected)) {
is_highest = false;
}
skip_window:
reg_ignore_valid = reg_ignore_valid && w->reg_ignore_valid;
@ -1375,8 +1380,7 @@ paint_preprocess(session_t *ps, win *list) {
ev_timer_start(ps->loop, &ps->unredir_timer);
}
}
}
else {
} else {
ev_timer_stop(ps->loop, &ps->unredir_timer);
redir_start(ps);
}