dotfiles/.config/qtile/widgets/volume.py

29 lines
980 B
Python

from qtile_extras.widget import Volume as QVolume
from libqtile import images
class Volume(QVolume):
def __init__(self, size=None, **kwargs):
super().__init__(**kwargs)
self.size = size
def setup_images(self):
names = (
"audio-volume-high",
"audio-volume-low",
"audio-volume-medium",
"audio-volume-muted",
)
d_images = images.Loader(self.theme_path)(*names)
for name, img in d_images.items():
new_height = self.size if self.size else self.bar.height - 1
img.resize(height=new_height)
if img.width > self.length:
self.length = img.width + self.actual_padding * 2
if self.size:
matrix = img.pattern.get_matrix()
matrix.translate(tx=0, ty=-1 * (self.bar.height -1 - self.size) / 2 - 1)
img.pattern.set_matrix(matrix)
self.surfaces[name] = img.pattern