Add option to hide tasks from different monitors when panel_monitor = x (issue 196)

git-svn-id: http://tint2.googlecode.com/svn/trunk@736 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
o9000
2015-03-21 09:49:10 +00:00
committed by mrovi9000@gmail.com
parent a2de8d6e53
commit c900bc24b2
8 changed files with 40 additions and 10 deletions

View File

@@ -819,12 +819,18 @@ void event_configure_notify (Window win)
}
// 'win' move in another monitor
if (nb_panel == 1) return;
if (nb_panel == 1 && !hide_task_diff_monitor)
return;
Task *tsk = task_get_task (win);
if (!tsk) return;
if (!tsk)
return;
Panel *p = tsk->area.panel;
if (p->monitor != window_get_monitor (win)) {
int monitor = window_get_monitor(win);
if ((hide_task_diff_monitor && p->monitor != monitor && tsk->area.on_screen) ||
(hide_task_diff_monitor && p->monitor == monitor && !tsk->area.on_screen) ||
(p->monitor != monitor && nb_panel > 1)) {
remove_task (tsk);
tsk = add_task (win);
if (win == window_get_active ()) {