diff --git a/pwnagotchi/agent.py b/pwnagotchi/agent.py index 0e89763..71e87f5 100644 --- a/pwnagotchi/agent.py +++ b/pwnagotchi/agent.py @@ -296,7 +296,8 @@ class Agent(Client, AsyncAdvertiser, AsyncTrainer): def _update_peers(self): peer = self._advertiser.closest_peer() - self._view.set_closest_peer(peer) + tot = self._advertiser.num_peers() + self._view.set_closest_peer(peer, tot) def _save_recovery_data(self): logging.warning("writing recovery data to %s ..." % RECOVERY_DATA_FILE) diff --git a/pwnagotchi/ui/view.py b/pwnagotchi/ui/view.py index 5847662..3289eb1 100644 --- a/pwnagotchi/ui/view.py +++ b/pwnagotchi/ui/view.py @@ -168,7 +168,7 @@ class View(object): self.set('aps', "%d" % log.associated) self.set('shakes', '%d (%s)' % (log.handshakes, \ utils.total_unique_handshakes(self._config['bettercap']['handshakes']))) - self.set_closest_peer(log.last_peer) + self.set_closest_peer(log.last_peer, log.peers) def is_normal(self): return self._state.get('face') not in ( @@ -188,7 +188,7 @@ class View(object): self.set('status', self._voice.on_normal()) self.update() - def set_closest_peer(self, peer): + def set_closest_peer(self, peer, num_total): if peer is None: self.set('friend_face', None) self.set('friend_name', None) @@ -207,6 +207,12 @@ class View(object): name += '│' * (4 - num_bars) name += ' %s %d (%d)' % (peer.name(), peer.pwnd_run(), peer.pwnd_total()) + if num_total > 1: + if num_total > 9000: + name += ' of over 9000' + else: + name += ' of %d' % num_total + self.set('friend_face', peer.face()) self.set('friend_name', name) self.update() diff --git a/scripts/preview.py b/scripts/preview.py index 06be3c6..e0ef7c4 100755 --- a/scripts/preview.py +++ b/scripts/preview.py @@ -122,7 +122,7 @@ def main(): for display in list_of_displays: emotions = list() if args.showpeer: - display.set_closest_peer(DummyPeer()) + display.set_closest_peer(DummyPeer(), 10) display.on_starting() display.update() emotions.append(display.get_image())