self.keyboard = Window.request_keyboard(self.on_keyboard_closed, self)
self.keyboard.bind(on_key_down=self.on_keyboard_down)
- self.configure()
+ self.configure(initial=True)
- def on_enter_configuring(self):
+ def on_enter_configuring(self, initial=True):
if Config.builtin_mixing:
self.mixer = Mixer()
else:
self.key_config, self.open_files = self.parse_config()
except Exception as e:
error_print("Error while loading configuration: {}".format(e),
- with_trace=True, exit=True)
- else:
- self.success()
+ with_trace=False, exit=initial)
+
+ self.success()
def on_enter_loading(self):
for key in self.keys:
self.leave_application()
sys.exit()
elif 'ctrl' in modifiers and keycode[0] == 114 and self.is_loaded():
- self.reload()
+ self.reload(initial=False)
return True
def leave_application(self):
try:
config = yaml.safe_load(stream)
except Exception as e:
- error_print("Error while loading config file: {}".format(e),
- exit=True)
+ raise Exception("Error while loading config file: {}".format(e)) from e
stream.close()
if not isinstance(config, dict):
- error_print("Top level config is supposed to be a hash",
- exit=True)
+ raise Exception("Top level config is supposed to be a hash")
if 'aliases' in config and isinstance(config['aliases'], dict):
aliases = config['aliases']