def _dispatch_builtin_command(self, command): self._reset() magic, category, key, value = command.split(':') if magic == 'builtin': if category == 'settings': try: value = eval(value) except e: logging.exception(e) return False if key == 'romanrule': self._charbuf.compile(value) self._charbuf_alter.compile(value) elif key == 'use_title': title.setenabled(value) settings.set(key, value) settings.save() return True elif category == 'task': if key == 'switch': window_id = int(value) if window_id == 0: self._session.blur_process() else: self._draw_nothing(self._output) self._inputmode.reset() self._reset() self._screen.taskswitch(window_id) return False return False
if options.titlebar: use_title = True # TODO: see terminfo if not 'xterm' in term: use_title = False logging.warning('use_title flag is disabled by ' 'checking $TERM.') if not termprop.has_mb_title: use_title = False logging.warning('use_title flag is disabled by ' 'checking termprop.has_mb_title.') import title title.setenabled(use_title) try: _mainloop(termenc, termprop, command, term, lang) except Exception, e: output.write(u'\x1bc') logging.exception(e) logging.exception('Aborted by exception.') print('sskk aborted by an uncaught exception.' ' see $HOME/.sskk/log/log.txt.') finally: output.write(u'\x1b[?1006l') output.write(u'\x1b[?1003l') output.write(u'\x1b[?1002l') output.write(u'\x1b[?1000l') output.write(u'\x1b]0;\x1b\\')