+ char * f_name = "load_interface_conf()";
+
+ /* Read keybindings and WincConf DB from interface config file. */
+ FILE * file = try_fopen(world.path_interface_conf, "r", f_name);
+ uint32_t linemax = textfile_sizes(file, NULL);
+ char line[linemax + 1];
+ read_keybindings_from_file(line, linemax, file, &world.kb_global);
+ read_keybindings_from_file(line, linemax, file, &world.kb_wingeom);
+ read_keybindings_from_file(line, linemax, file, &world.kb_winkeys);
+ read_order_wins_visible_active(line, linemax, file);
+ while (read_winconf_from_file(line, linemax, file));
+ try_fclose(file, f_name);
+
+ /* Build windows as defined by read interface data and toggle them on. */
+ make_v_screen_and_init_win_sizes();
+ uint8_t i;
+ char tmp_active = world.windb.active;
+ char tmp_order[strlen(world.windb.order) + 1];
+ sprintf(tmp_order, "%s", world.windb.order);
+ world.windb.order[0] = '\0';
+ for (i = 0; i < strlen(tmp_order); toggle_window(tmp_order[i]), i++);
+ world.windb.active = tmp_active;
+
+ /* So that the interface config data and the window structs get freed. */
+ set_cleanup_flag(CLEANUP_INTERFACE);