Fix resizing logic (taskbar_distribute_size was broken, resizing triggered unnecessary redraws)

This commit is contained in:
o9000
2016-10-09 16:33:33 +02:00
parent 0d861ebd97
commit 1d15c41c1b
8 changed files with 124 additions and 120 deletions

View File

@@ -152,6 +152,9 @@ Task *add_task(Window win)
add_urgent((Task *)g_ptr_array_index(task_buttons, 0));
}
if (hide_taskbar_if_empty)
update_all_taskbars_visibility();
return (Task *)g_ptr_array_index(task_buttons, 0);
}
@@ -206,6 +209,8 @@ void remove_task(Task *task)
free(task2);
}
g_hash_table_remove(win_to_task, &win);
if (hide_taskbar_if_empty)
update_all_taskbars_visibility();
}
gboolean task_update_title(Task *task)

View File

@@ -426,7 +426,7 @@ int taskbar_compute_desired_size(void *obj)
Taskbar *taskbar = (Taskbar *)obj;
Panel *panel = (Panel *)taskbar->area.panel;
if (taskbar_mode == MULTI_DESKTOP && !taskbar_distribute_size && !hide_taskbar_if_empty) {
if (taskbar_mode == MULTI_DESKTOP && !taskbar_distribute_size) {
int result = 0;
for (int i = 0; i < panel->num_desktops; i++) {
Taskbar *t = &panel->taskbar[i];