#!/bin/python import datetime import time import os day_name = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday','Sunday'] # to make day names more readable tag_names = { '1':'一', '2':'二', '3':'三', '4':'四', '5':'五', '6':'六', '7':'七', '8':'八', '9':'九', '0':'十' } # decoration variables def getTags(): tags = os.popen("herbstclient tag_status").read().split() # get tags in a list for i in range(len(tags)): tag = tags[i] if tag[0] == ':': tags[i] = ' ' + tag_names[tag[1]] + ' ' # format occupied tags elif tag[0] == '#': tags[i] = '%{F#6c71c4}%{B#d33682}%{F-} ' + tag_names[tag[1]] + '%{F#d33682} %{B#268bd2}%{F-}' # format active tag else: tags[i] = '%{F#443837} ' + tag_names[tag[1]] + '%{F-} ' # format other tags return '%{B#6c71c4}' + ' '.join((str(x) for x in tags)) + '%{B-}' + '%{F#268bd2}%{F-}' # return formatted list in a cleaner form def getTime(): date = datetime.datetime.today().strftime("%d/%m") # date in DD/MM format day_raw = datetime.datetime.today().weekday() # get number of day day = "(" + day_name[day_raw] + ")" # day but in a more readable form time = datetime.datetime.now().strftime("%H:%M") # time in H:M format return date + day + ' ' + time while True: time.sleep(0.3) output = getTags() + '%{r}' + getTime() os.system("echo ' " + output + " '")