FREE(assign);
}
+ /* Clear bar configs */
+ Barconfig *barconfig;
+ while (!TAILQ_EMPTY(&barconfigs)) {
+ barconfig = TAILQ_FIRST(&barconfigs);
+ FREE(barconfig->id);
+ for (int c = 0; c < barconfig->num_outputs; c++)
+ free(barconfig->outputs[c]);
+ FREE(barconfig->outputs);
+ FREE(barconfig->tray_output);
+ FREE(barconfig->socket_path);
+ FREE(barconfig->status_command);
+ FREE(barconfig->font);
+ FREE(barconfig->colors.background);
+ FREE(barconfig->colors.statusline);
+ FREE(barconfig->colors.focused_workspace_text);
+ FREE(barconfig->colors.focused_workspace_bg);
+ FREE(barconfig->colors.active_workspace_text);
+ FREE(barconfig->colors.active_workspace_bg);
+ FREE(barconfig->colors.inactive_workspace_text);
+ FREE(barconfig->colors.inactive_workspace_bg);
+ FREE(barconfig->colors.urgent_workspace_text);
+ FREE(barconfig->colors.urgent_workspace_bg);
+ TAILQ_REMOVE(&barconfigs, barconfig, configs);
+ FREE(barconfig);
+ }
+
/* Clear workspace names */
#if 0
Workspace *ws;
is($bar_config->{mode}, 'hide', 'hide mode by default');
is($bar_config->{position}, 'bottom', 'position bottom by default');
+#####################################################################
+# ensure that reloading cleans up the old bar configs
+#####################################################################
+
+cmd 'reload';
+$bars = $i3->get_bar_config()->recv;
+is(@$bars, 1, 'still one bar configured');
+
exit_gracefully($pid);
#####################################################################