diff options
Diffstat (limited to 'lemonbar/ws_bar')
-rwxr-xr-x | lemonbar/ws_bar | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/lemonbar/ws_bar b/lemonbar/ws_bar new file mode 100755 index 00000000..d8d1674e --- /dev/null +++ b/lemonbar/ws_bar @@ -0,0 +1,65 @@ +#!/bin/python + +# kinda minimal lemonbar script by Vidhu Kant Sharma +# for herbstluftwm +# needs japanese fonts and powerline fonts to be installed +# edit the fonts in the launch script + +# changing the color schemes is going to be hell + +import datetime +import time +import os + + +day_name = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday','Sunday'] # to make day names more readable + +# japanese tag names +tag_names = { + '1':'%{A:0:}一%{A}', + '2':'%{A:1:}二%{A}', + '3':'%{A:2:}三%{A}', + '4':'%{A:3:}四%{A}', + '5':'%{A:4:}五%{A}', + '6':'%{A:5:}六%{A}', + '7':'%{A:6:}七%{A}', + '8':'%{A:7:}八%{A}', + '9':'%{A:8:}九%{A}', + '0':'%{A:9:}十%{A}' +} + + +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 '%{B#171520}%{F#CB4B16}%{F-}%{B#CB4B16} ' + date + day + ' ' + time + ' %{B-}' + +def sleepNotifier(): + if int(datetime.datetime.now().strftime("%H")) < 6: # executes between 12 and 6 a.m. + return "%{F#dc322f}%{F-}%{B#dc322f} Go to sleep! %{F#171520}%{B-}%{F-}" # prompt me to go to sleep when it's late + else: + return "" + +while True: + time.sleep(0.3) # be nice to the CPU + output = getTags() + '%{r}' + sleepNotifier() + getTime() + os.system("echo '" + output + "'") # for some reason print() messes up everything |