X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/balance2?a=blobdiff_plain;f=src%2Fmisc.c;h=e3499c10f7cd4f048a156a695e8cefb95415e712;hb=e49cd07e79574ba404a0a8fc867344cc630d7794;hp=50fee6407854469819a691ccb8826943f55fd08a;hpb=1ae2dac3529b3ead75c5bef1d02d958adcbcc581;p=plomrogue diff --git a/src/misc.c b/src/misc.c index 50fee64..e3499c1 100644 --- a/src/misc.c +++ b/src/misc.c @@ -16,7 +16,10 @@ #include "yx_uint16.h" /* for yx_uint16 struct */ #include "rrand.h" /* for rrand(), rrand_seed() */ #include "rexit.h" /* for exit_err() */ - +#include "wincontrol.h" /* for init_winconfs(), init_wins(), free_winconfs(), + * sorted_wintoggle_and_activate() + */ +#include "windows.h" /* for suspend_win() */ extern char * trouble_msg(struct World * w, char * parent, char * child) @@ -95,6 +98,42 @@ extern void check_tempfile(char * path, struct World * w) +extern void save_interface_conf(struct World * world) +{ + save_keybindings(world, "config/keybindings_global", &world->kb_global); + save_keybindings(world, "config/keybindings_wingeom", &world->kb_wingeom); + save_keybindings(world, "config/keybindings_winkeys", &world->kb_winkeys); + save_win_configs(world); +} + + + +extern void load_interface_conf(struct World * world) +{ + init_keybindings(world, "config/keybindings_global", &world->kb_global); + init_keybindings(world, "config/keybindings_wingeom", &world->kb_wingeom); + init_keybindings(world, "config/keybindings_winkeys", &world->kb_winkeys); + init_winconfs(world); + init_wins(world); + sorted_wintoggle_and_activate(world); +} + + + +extern void unload_interface_conf(struct World * world) +{ + free_keybindings(world->kb_global.kbs); + free_keybindings(world->kb_wingeom.kbs); + free_keybindings(world->kb_winkeys.kbs); + while (0 != world->wmeta->active) + { + suspend_win(world->wmeta, world->wmeta->active); + } + free_winconfs(world); +} + + + extern void update_log(struct World * world, char * text) { char * f_name = "update_log()";