element. However for omnipresent windows (windows which are visible in every taskbar) the array
contains to every Task* on each panel a pointer (i.e. GPtrArray.len == server.nb_desktop)
*/
-GHashTable* win_to_task_table = 0;
+GHashTable* win_to_task_table;
guint win_hash(gconstpointer key) { return (guint)*((Window*)key); }
gboolean win_compare(gconstpointer a, gconstpointer b) { return (*((Window*)a) == *((Window*)b)); }
panel->g_taskbar.area.bg = panel->g_taskbar.bg;
}
if (panel->g_taskbar.bg_active == 0)
- panel->g_taskbar.bg_active = &g_array_index(backgrounds, Background, 0);
+ panel->g_taskbar.bg_active = panel->g_taskbar.bg;
if (panel->g_task.area.bg == 0)
panel->g_task.area.bg = &g_array_index(backgrounds, Background, 0);
panel->g_task.area._draw_foreground = draw_task;
panel->g_task.area.redraw = 1;
panel->g_task.area.on_screen = 1;
- if (panel->g_task.config_asb_mask & (1<<TASK_NORMAL)) {
- panel->g_task.alpha[TASK_NORMAL] = 0;
+ if ((panel->g_task.config_asb_mask & (1<<TASK_NORMAL)) == 0) {
+ panel->g_task.alpha[TASK_NORMAL] = 100;
panel->g_task.saturation[TASK_NORMAL] = 0;
panel->g_task.brightness[TASK_NORMAL] = 0;
}
}
}
-void taskbar_remove_task(gpointer key, gpointer value, gpointer user_data) {remove_task(task_get_task(*(Window*)key)); }
+void taskbar_remove_task(gpointer key, gpointer value, gpointer user_data)
+{
+ remove_task(task_get_task(*(Window*)key));
+}
+
+void default_taskbar()
+{
+ win_to_task_table = 0;
+ urgent_timeout = 0;
+ urgent_list = 0;
+}
+
void cleanup_taskbar()
{
Panel *panel;