65 lines
2.1 KiB
Python
65 lines
2.1 KiB
Python
#!/usr/bin/env python3
|
|
from frobar.providers import *
|
|
|
|
# TODO If multiple screen, expand the sections and share them
|
|
# TODO Graceful exit
|
|
|
|
def run():
|
|
Bar.init()
|
|
Updater.init()
|
|
|
|
WORKSPACE_THEME = 8
|
|
FOCUS_THEME = 2
|
|
URGENT_THEME = 0
|
|
CUSTOM_SUFFIXES = "▲■"
|
|
|
|
customNames = dict()
|
|
for i in range(len(CUSTOM_SUFFIXES)):
|
|
short = str(i + 1)
|
|
full = short + " " + CUSTOM_SUFFIXES[i]
|
|
customNames[short] = full
|
|
Bar.addSectionAll(
|
|
I3WorkspacesProvider(
|
|
theme=WORKSPACE_THEME,
|
|
themeFocus=FOCUS_THEME,
|
|
themeUrgent=URGENT_THEME,
|
|
themeMode=URGENT_THEME,
|
|
customNames=customNames,
|
|
),
|
|
BarGroupType.LEFT,
|
|
)
|
|
|
|
# TODO Middle
|
|
Bar.addSectionAll(MpdProvider(theme=9), BarGroupType.LEFT)
|
|
# Bar.addSectionAll(I3WindowTitleProvider(), BarGroupType.LEFT)
|
|
|
|
# TODO Computer modes
|
|
|
|
SYSTEM_THEME = 3
|
|
DANGER_THEME = 1
|
|
CRITICAL_THEME = 0
|
|
Bar.addSectionAll(CpuProvider(), BarGroupType.RIGHT)
|
|
Bar.addSectionAll(RamProvider(), BarGroupType.RIGHT)
|
|
Bar.addSectionAll(TemperatureProvider(), BarGroupType.RIGHT)
|
|
Bar.addSectionAll(BatteryProvider(), BarGroupType.RIGHT)
|
|
|
|
# Peripherals
|
|
PERIPHERAL_THEME = 6
|
|
NETWORK_THEME = 5
|
|
# TODO Disk space provider
|
|
# TODO Screen (connected, autorandr configuration, bbswitch) provider
|
|
Bar.addSectionAll(PulseaudioProvider(theme=PERIPHERAL_THEME), BarGroupType.RIGHT)
|
|
Bar.addSectionAll(RfkillProvider(theme=PERIPHERAL_THEME), BarGroupType.RIGHT)
|
|
Bar.addSectionAll(NetworkProvider(theme=NETWORK_THEME), BarGroupType.RIGHT)
|
|
|
|
# Personal
|
|
PERSONAL_THEME = 7
|
|
# Bar.addSectionAll(KeystoreProvider(theme=PERSONAL_THEME), BarGroupType.RIGHT)
|
|
# Bar.addSectionAll(NotmuchUnreadProvider(dir='~/.mail/', theme=PERSONAL_THEME), BarGroupType.RIGHT)
|
|
# Bar.addSectionAll(TodoProvider(dir='~/.vdirsyncer/currentCalendars/', theme=PERSONAL_THEME), BarGroupType.RIGHT)
|
|
|
|
TIME_THEME = 4
|
|
Bar.addSectionAll(TimeProvider(theme=TIME_THEME), BarGroupType.RIGHT)
|
|
|
|
# Bar.run()
|