56 lines
2 KiB
Python
Executable file
56 lines
2 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
from providers import *
|
|
|
|
# TODO If multiple screen, expand the sections and share them
|
|
# TODO Graceful exit
|
|
|
|
if __name__ == "__main__":
|
|
Bar.init()
|
|
Updater.init()
|
|
|
|
WORKSPACE_THEME = 0
|
|
FOCUS_THEME = 3
|
|
URGENT_THEME = 1
|
|
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=7), BarGroupType.LEFT)
|
|
# Bar.addSectionAll(I3WindowTitleProvider(), BarGroupType.LEFT)
|
|
|
|
# TODO Computer modes
|
|
|
|
SYSTEM_THEME = 2
|
|
DANGER_THEME = FOCUS_THEME
|
|
CRITICAL_THEME = URGENT_THEME
|
|
Bar.addSectionAll(CpuProvider(), BarGroupType.RIGHT)
|
|
Bar.addSectionAll(RamProvider(), BarGroupType.RIGHT)
|
|
Bar.addSectionAll(TemperatureProvider(), BarGroupType.RIGHT)
|
|
Bar.addSectionAll(BatteryProvider(), BarGroupType.RIGHT)
|
|
|
|
# Peripherals
|
|
PERIPHERAL_THEME = 5
|
|
NETWORK_THEME = 4
|
|
# 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 = 0
|
|
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 = 6
|
|
Bar.addSectionAll(TimeProvider(theme=TIME_THEME), BarGroupType.RIGHT)
|
|
|
|
# Bar.run()
|