Change _NET_WM_ICON_GEOMETRY on panel shrink (issue #634)

This commit is contained in:
o9000 2017-04-08 14:10:39 +02:00
parent e7375a186f
commit 0932cc1084
3 changed files with 18 additions and 0 deletions

View file

@ -1083,6 +1083,7 @@ void shrink_panel(Panel *panel)
systray.area.resize_needed = TRUE; systray.area.resize_needed = TRUE;
schedule_redraw(&systray.area); schedule_redraw(&systray.area);
refresh_systray = TRUE; refresh_systray = TRUE;
update_minimized_icon_positions(panel);
} }
} }

View file

@ -674,3 +674,18 @@ void sort_taskbar_for_win(Window win)
} }
} }
} }
void update_minimized_icon_positions(void *p)
{
Panel *panel = (Panel *)p;
for (int i = 0; i < panel->num_desktops; i++) {
Taskbar *taskbar = &panel->taskbar[i];
if (!taskbar->area.on_screen)
continue;
for (GList *c = taskbar->area.children; c; c = c->next) {
Area *area = (Area *)c->data;
if (area->_on_change_layout)
area->_on_change_layout(area);
}
}
}

View file

@ -88,6 +88,8 @@ void set_taskbar_state(Taskbar *taskbar, TaskbarState state);
// Updates the visibility of all taskbars // Updates the visibility of all taskbars
void update_all_taskbars_visibility(); void update_all_taskbars_visibility();
void update_minimized_icon_positions(void *p);
// Sorts the taskbar(s) on which the window is present. // Sorts the taskbar(s) on which the window is present.
void sort_taskbar_for_win(Window win); void sort_taskbar_for_win(Window win);