29 lines
980 B
Python
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
|