diff --git a/.config/i3pystatus/config.py b/.config/i3pystatus/config.py index 9804915..ecc1a09 100644 --- a/.config/i3pystatus/config.py +++ b/.config/i3pystatus/config.py @@ -89,6 +89,7 @@ status.register("shell", format="{output}", hints = {"markup": "pango"}, command="/home/kunsi/.config/i3pystatus/ice-status.py", + on_leftclick="/home/kunsi/.config/i3pystatus/ice-status.py --link", ignore_empty_stdout=True, interval=2) diff --git a/.config/i3pystatus/ice-status.py b/.config/i3pystatus/ice-status.py index 195dbff..a99d652 100755 --- a/.config/i3pystatus/ice-status.py +++ b/.config/i3pystatus/ice-status.py @@ -3,7 +3,11 @@ from datetime import datetime, timedelta from requests import get from subprocess import check_output -from sys import exit +from sys import argv, exit + +LINK_MODE = False +if len(argv) > 1 and argv[1] == '--link': + LINK_MODE = True # bundlewrap.utils.text.format_duration, but trimmed down @@ -44,9 +48,18 @@ try: ice_status_req.raise_for_status() ice_status = ice_status_req.json() + if LINK_MODE: + check_output(['xdg-open', 'https://travelynx.franzi.business/s/{}?train={}%20{}'.format( + trip_info['stopInfo']['actualLast'], + trip_info['trainType'], + trip_info['vzn'], + )]) + exit(0) + next_stop_id = trip_info['stopInfo']['actualNext'] for stop in trip_info['stops']: if stop['station']['evaNr'] == next_stop_id: + if stop['timetable']['departureDelay']: delay = ' | {}'.format(stop['timetable']['departureDelay']) else: