'Returns the next completion for txt, or None if there is no completion'

def complete(self, txt):

    txt = txt.lower()
    if (not self.lookup):
        self.lookup = []
        for group in self.qtile.groupMap.keys():
            if group.lower().startswith(txt):
                self.lookup.append((group, group))
        self.lookup.sort()
        self.offset = (-1)
        self.lookup.append((txt, txt))
    self.offset += 1
    if (self.offset >= len(self.lookup)):
        self.offset = 0
    ret = self.lookup[self.offset]
    self.thisfinal = ret[1]
    return ret[0]
