aboutsummaryrefslogtreecommitdiff
path: root/lemonbar/ws_bar
diff options
context:
space:
mode:
authorVidhu Kant Sharma <bokuwakanojogahoshii@yahoo.com>2020-12-01 12:10:20 +0530
committerVidhu Kant Sharma <bokuwakanojogahoshii@yahoo.com>2020-12-01 12:10:20 +0530
commitc0333b8bd91b164d452e515fb4176089823aa65a (patch)
tree6f0069a19943daf1bd95f90589b457eb1883e599 /lemonbar/ws_bar
parent6c055d89bdfd51eab7ba111a95dd55701d1c9888 (diff)
fixed the temperature being blank if weather stat wasn't haze; currently only supports haze and smoke
Diffstat (limited to 'lemonbar/ws_bar')
-rwxr-xr-xlemonbar/ws_bar65
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