Adds polybar
This commit is contained in:
parent
56921bfdcc
commit
0f0b9089a4
12 changed files with 1090 additions and 0 deletions
47
.config/polybar/scripts/storage/SingleDisplay.py
Normal file
47
.config/polybar/scripts/storage/SingleDisplay.py
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
import string
|
||||
from array import array
|
||||
from datetime import timedelta
|
||||
|
||||
from Display import Display
|
||||
from Utils import find_storage_usage
|
||||
|
||||
|
||||
class SingleDisplay(Display):
|
||||
SWITCH_INTERVAL: timedelta = timedelta(seconds=10)
|
||||
drives: array
|
||||
|
||||
maxLabelWidth: int
|
||||
currentTime: float
|
||||
currentIndex: int
|
||||
|
||||
def __init__(self, drives):
|
||||
self.drives = drives
|
||||
self.maxLabelWidth = self.getMaxLabelWidth()
|
||||
self.currentIndex = 0
|
||||
self.currentTime = 0
|
||||
|
||||
def render(self, displayInterval: timedelta) -> string:
|
||||
self.currentTime = self.currentTime + displayInterval.total_seconds()
|
||||
if self.currentTime < self.SWITCH_INTERVAL.total_seconds():
|
||||
return self.renderCurrentDrive()
|
||||
|
||||
self.currentTime = 0
|
||||
self.currentIndex = (self.currentIndex + 1) % len(self.drives)
|
||||
|
||||
return self.renderCurrentDrive()
|
||||
|
||||
def renderCurrentDrive(self):
|
||||
currentDrive = self.drives[self.currentIndex]
|
||||
label = currentDrive['label']
|
||||
path = currentDrive['path']
|
||||
|
||||
usage = find_storage_usage(path)
|
||||
|
||||
formatString = "{:>"+ self.maxLabelWidth.__str__() +"} {}"
|
||||
return formatString.format(label, usage)
|
||||
|
||||
def getMaxLabelWidth(self):
|
||||
maxLabelWidth = 0
|
||||
for i, drive in enumerate(self.drives):
|
||||
maxLabelWidth = max(maxLabelWidth, len(drive['label']))
|
||||
return maxLabelWidth
|
||||
Loading…
Add table
Add a link
Reference in a new issue