Python新手在这里。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import commands,time
def get_vol():
vol =int(commands.getoutput("amixer get Master | grep -E -o '[0-9]
{1,3}?%' | head -1 | sed 's/.$//'"))
full_block =(vol+10)/10-1
if vol%10==0:
half_block =0
else:
half_block =1
empty_block =10-(full_block+half_block)
return '▮'*full_block+'▯'*half_block+'-'*empty_block
def NTime():
return commands.getoutput("date '+%H:%M'")
def battery():
prenBat =int(commands.getoutput('acpi battery | grep -o "[0-9]*[0-9]" | sed "1d"'))
bat_icon =prenBat/20
status =commands.getoutput('acpi battery | egrep -o -m1 "Discharging|Charging|AC|Full|Unknown"')
if status== "Charging":
return '❖'+' ●'*bat_icon+' ○'*(5-bat_icon)
elif status=="Full":
return '✔'+' ●'*bat_icon+' ○'*(5-bat_icon)
else:
return ' ●'*bat_icon+' ○'*(5-bat_icon)
battime =1
batNum =battery()
while True:
time.sleep(0.1)
volume =get_vol()
nTime =NTime()
while battime ==30:
batNum =str(battery())
battime =1
else:
battime =battime+1
print batNum+" | "+volume+" | "+nTime
我正在使用这个脚本直接到i3bar(没有i3blocks),它什么也没出现。然后我等了一会儿。它出现了barttery但没有音量的部分和时间部分。然后,大约10秒我猜。它从音量部分出现了一两个块(▮)。没有别的。
我试着在终端测试它,它很好地显示出来。 这是i3config的i3bar部分。
bar {
position top
colors {
statusline #414149
background #8cb194
separator #414149
focused_workspace #8cb194 #c8d087 #000000
inactive_workspace #8cb194 #868974 #000000
}
# status_command i3blocks -c ~/.config/i3blocks.conf
status_command ~/.config/bar.py
}
我的英语和新手代码。
答案 0 :(得分:0)
i3bar预期的输入格式是json,如以下文档中的链接所述:
其他一些评论:
希望有帮助!