1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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
|