diff options
-rw-r--r-- | poezio/core/completions.py | 19 | ||||
-rw-r--r-- | poezio/core/core.py | 4 |
2 files changed, 11 insertions, 12 deletions
diff --git a/poezio/core/completions.py b/poezio/core/completions.py index 29fcd24e..b283950e 100644 --- a/poezio/core/completions.py +++ b/poezio/core/completions.py @@ -256,16 +256,15 @@ class CompletionCore: n = the_input.get_argument_position(quoted=True) if n >= 2: return False - l = [] - for jid in roster.jids(): - if len(roster[jid]): - l.append(jid) - for resource in roster[jid].resources: - l.append(resource.jid) - for jid in roster.jids(): - if not len(roster[jid]): - l.append(jid) - return Completion(the_input.new_completion, l, 1, '', quotify=True) + online = [] + offline = [] + for jid in sorted(roster.jids()): + if len(roster[jid]) > 0: + online.append(jid) + else: + offline.append(jid) + return Completion( + the_input.new_completion, online + offline, 1, '', quotify=True) def invite(self, the_input): """Completion for /invite""" diff --git a/poezio/core/core.py b/poezio/core/core.py index d9ac45a0..480bf814 100644 --- a/poezio/core/core.py +++ b/poezio/core/core.py @@ -1099,8 +1099,8 @@ class Core: for state in states: for tab in tab_refs[state]: - if (tab.nb < self.tabs.current_index and - tab_refs[state][-1].nb > self.tabs.current_index): + if (tab.nb < self.tabs.current_index + and tab_refs[state][-1].nb > self.tabs.current_index): continue self.command.win(str(tab.nb)) return |