diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/connection.py | 4 | ||||
-rw-r--r-- | src/gui.py | 7 | ||||
-rw-r--r-- | src/window.py | 7 |
3 files changed, 13 insertions, 5 deletions
diff --git a/src/connection.py b/src/connection.py index 8185994f..f586eb01 100644 --- a/src/connection.py +++ b/src/connection.py @@ -96,7 +96,9 @@ class Connection(Thread): def process(self, timeout=10): if self.online: - self.client.Process(timeout) + try:self.client.Process(timeout) + except: + pass else: log.warning('disconnecting...') sys.exit() @@ -90,7 +90,7 @@ class Room(object): return self.add_info("%s is in the room" % (nick)) change_nick = stanza.getStatusCode() == '303' for user in self.users: - if user.nick.encode('utf-8') == nick.encode('utf-8'): + if user.nick == nick: if change_nick: user.change_nick(stanza.getNick()) return self.add_info('%s is now known as %s' % (nick, stanza.getNick())) @@ -132,6 +132,7 @@ class Gui(object): "KEY_END": self.window.input.key_end, "KEY_HOME": self.window.input.key_home, "KEY_DOWN": self.window.input.key_down, + "KEY_DC": self.window.input.key_dc, "KEY_BACKSPACE": self.window.input.key_backspace } @@ -151,6 +152,8 @@ class Gui(object): continue elif ord(key) == 10: self.execute() + elif ord(key) == 8: + self.window.input.key_backspace() else: if ord(key) > 190 and ord(key) < 225: key = key+stdscr.getkey() @@ -250,7 +253,7 @@ class Gui(object): if command in self.commands.keys(): func = self.commands[command] func(args) - return + return if self.current_room().name != 'Info': self.muc.send_message(self.current_room().name, line) self.window.input.refresh() diff --git a/src/window.py b/src/window.py index be9416fd..55910031 100644 --- a/src/window.py +++ b/src/window.py @@ -241,8 +241,11 @@ class Input(Win): def do_command(self, key): (y, x) = self.win.getyx() - self.text = self.text[:self.pos]+key.decode('utf-8')+self.text[self.pos:] - self.win.insstr(key) + try: + self.text = self.text[:self.pos]+key.decode('utf-8')+self.text[self.pos:] + self.win.insstr(key) + except: + return self.win.move(y, x+1) self.pos += 1 |