new: users can now customize the faces via config.yml (ui.faces)

This commit is contained in:
Simone Margaritelli 2019-10-20 17:13:05 +02:00
parent 99e0a31ea8
commit cd5d783c52
3 changed files with 89 additions and 61 deletions

View File

@ -12,67 +12,67 @@ main:
custom_plugins: custom_plugins:
# which plugins to load and enable # which plugins to load and enable
plugins: plugins:
grid: grid:
enabled: true enabled: true
report: false # don't report pwned networks by default! report: false # don't report pwned networks by default!
exclude: # do not report the following networks (accepts both ESSIDs and BSSIDs) exclude: # do not report the following networks (accepts both ESSIDs and BSSIDs)
- YourHomeNetworkHere - YourHomeNetworkHere
auto-backup: auto-backup:
enabled: false enabled: false
interval: 1 # every day interval: 1 # every day
files: files:
- /root/brain.nn - /root/brain.nn
- /root/brain.json - /root/brain.json
- /root/.api-report.json - /root/.api-report.json
- /root/handshakes/ - /root/handshakes/
- /etc/pwnagotchi/ - /etc/pwnagotchi/
- /etc/hostname - /etc/hostname
- /etc/hosts - /etc/hosts
- /etc/motd - /etc/motd
- /var/log/pwnagotchi.log - /var/log/pwnagotchi.log
commands: commands:
- 'tar czf /tmp/backup.tar.gz {files}' - 'tar czf /tmp/backup.tar.gz {files}'
- 'scp /tmp/backup.tar.gz pwnagotchi@10.0.0.1:/home/pwnagotchi/backups/backup-$(date +%s).tar.gz' - 'scp /tmp/backup.tar.gz pwnagotchi@10.0.0.1:/home/pwnagotchi/backups/backup-$(date +%s).tar.gz'
net-pos: net-pos:
enabled: false enabled: false
api_key: 'test' api_key: 'test'
gps: gps:
enabled: false enabled: false
speed: 19200 speed: 19200
device: /dev/ttyUSB0 device: /dev/ttyUSB0
twitter: twitter:
enabled: false enabled: false
consumer_key: aaa consumer_key: aaa
consumer_secret: aaa consumer_secret: aaa
access_token_key: aaa access_token_key: aaa
access_token_secret: aaa access_token_secret: aaa
onlinehashcrack: onlinehashcrack:
enabled: false enabled: false
email: ~ email: ~
wpa-sec: wpa-sec:
enabled: false enabled: false
api_key: ~ api_key: ~
wigle: wigle:
enabled: false enabled: false
api_key: ~ api_key: ~
screen_refresh: screen_refresh:
enabled: false enabled: false
refresh_interval: 50 refresh_interval: 50
quickdic: quickdic:
enabled: false enabled: false
wordlist_folder: /opt/wordlists/ wordlist_folder: /opt/wordlists/
AircrackOnly: AircrackOnly:
enabled: false enabled: false
bt-tether: bt-tether:
enabled: false # if you want to use this, set ui.display.video.address to 0.0.0.0 enabled: false # if you want to use this, set ui.display.video.address to 0.0.0.0
mac: ~ # mac of your bluetooth device mac: ~ # mac of your bluetooth device
ip: '192.168.44.44' # ip from which your pwnagotchi should be reachable ip: '192.168.44.44' # ip from which your pwnagotchi should be reachable
netmask: 24 netmask: 24
interval: 1 # check every x minutes for device interval: 1 # check every x minutes for device
share_internet: false share_internet: false
memtemp: # Display memory usage, cpu load and cpu temperature on screen memtemp: # Display memory usage, cpu load and cpu temperature on screen
enabled: false enabled: false
orientation: horizontal # horizontal/vertical orientation: horizontal # horizontal/vertical
# monitor interface to use # monitor interface to use
iface: mon0 iface: mon0
# command to run to bring the mon interface up in case it's not up already # command to run to bring the mon interface up in case it's not up already
@ -160,6 +160,26 @@ personality:
# ui configuration # ui configuration
ui: ui:
# here you can customize the faces
faces:
look_r: '( ⚆_⚆)'
look_l: '(☉_☉ )'
sleep: '(⇀‿‿↼)'
sleep2: '(≖‿‿≖)'
awake: '(◕‿‿◕)'
bored: '(-__-)'
intense: '(°▃▃°)'
cool: '(⌐■_■)'
happy: '(•‿‿•)'
excited: '(ᵔ◡◡ᵔ)'
motivated: '(☼‿‿☼)'
demotivated: '(≖__≖)'
smart: '(✜‿‿✜)'
lonely: '(ب__ب)'
sad: '(╥☁╥ )'
friend: '(♥‿‿♥)'
broken: '(☓‿‿☓)'
debug: '(#__#)'
# ePaper display can update every 3 secs anyway, set to 0 to only refresh for major data changes # ePaper display can update every 3 secs anyway, set to 0 to only refresh for major data changes
# IMPORTANT: The lifespan of an eINK display depends on the cumulative amount of refreshes. If you want to # IMPORTANT: The lifespan of an eINK display depends on the cumulative amount of refreshes. If you want to
# preserve your display over time, you should set this value to 0.0 so that the display will be refreshed only # preserve your display over time, you should set this value to 0.0 so that the display will be refreshed only

View File

@ -16,3 +16,8 @@ SAD = '(╥☁╥ )'
FRIEND = '(♥‿‿♥)' FRIEND = '(♥‿‿♥)'
BROKEN = '(☓‿‿☓)' BROKEN = '(☓‿‿☓)'
DEBUG = '(#__#)' DEBUG = '(#__#)'
def load_from_config(config):
for face_name, face_value in config.items():
globals()[face_name.upper()] = face_value

View File

@ -22,6 +22,9 @@ class View(object):
def __init__(self, config, impl, state=None): def __init__(self, config, impl, state=None):
global ROOT global ROOT
# setup faces from the configuration in case the user customized them
faces.load_from_config(config['ui']['faces'])
self._render_cbs = [] self._render_cbs = []
self._config = config self._config = config
self._canvas = None self._canvas = None