diff --git a/assets/svg/audio-volume.svg b/assets/svg/audio-volume.svg deleted file mode 100644 index e4df579..0000000 --- a/assets/svg/audio-volume.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/config/assets/icons/brightness.svg b/config/assets/icons/brightness.svg index 564b35d..bcc61ef 100755 --- a/config/assets/icons/brightness.svg +++ b/config/assets/icons/brightness.svg @@ -1,141 +1,6 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - + + + + + diff --git a/config/assets/icons/brightness/brightness-0.svg b/config/assets/icons/brightness/brightness-0.svg new file mode 100755 index 0000000..d6065c7 --- /dev/null +++ b/config/assets/icons/brightness/brightness-0.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/config/assets/icons/brightness/brightness-1.svg b/config/assets/icons/brightness/brightness-1.svg new file mode 100755 index 0000000..e5b4101 --- /dev/null +++ b/config/assets/icons/brightness/brightness-1.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/config/assets/icons/brightness/brightness-2.svg b/config/assets/icons/brightness/brightness-2.svg new file mode 100755 index 0000000..df7cfba --- /dev/null +++ b/config/assets/icons/brightness/brightness-2.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/config/assets/icons/brightness/brightness-3.svg b/config/assets/icons/brightness/brightness-3.svg new file mode 100755 index 0000000..c3b390b --- /dev/null +++ b/config/assets/icons/brightness/brightness-3.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/modules/osd.py b/modules/osd.py index 66748a9..bf35df2 100644 --- a/modules/osd.py +++ b/modules/osd.py @@ -39,7 +39,7 @@ class AnimatedScale(Scale): class BrightnessOSDContainer(Box): def __init__(self, **kwargs): - super().__init__(**kwargs, orientation="v", spacing=12, name="osd") + super().__init__(**kwargs, orientation="v", spacing=3, name="osd") self.brightness_service = Brightness.get_initial() self.scale = AnimatedScale( marks=(ScaleMark(value=i) for i in range(0, 101, 10)), @@ -51,7 +51,7 @@ class BrightnessOSDContainer(Box): ) self.osd_window_image = Svg( get_relative_path("../config/assets/icons/brightness.svg"), - size=(64, 150), + size=(84, 150), name="osd-image", h_align="center", v_align="center", @@ -72,8 +72,17 @@ class BrightnessOSDContainer(Box): if current_brightness != 0: self.scale.animate_value(normalized_brightness) + def get_svg(self, value): + b_level = 0 if value == 0 else min(int(math.ceil(value / 33)), 3) + return b_level + def on_brightness_changed(self, _sender: any, value: float, *_args) -> None: normalized_brightness = self._normalize_brightness(value) + self.osd_window_image.set_from_file( + get_relative_path( + f"../config/assets/icons/brightness/brightness-{self.get_svg(normalized_brightness)}.svg" + ) + ) self.scale.animate_value(normalized_brightness) def _normalize_brightness(self, brightness: float) -> float: diff --git a/styles/osd.css b/styles/osd.css index a831755..d306b45 100644 --- a/styles/osd.css +++ b/styles/osd.css @@ -12,7 +12,7 @@ #osd trough { background: var(--surface); - min-height: 30px; + min-height: 15px; margin-right: 4px; transition: all 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275); border-radius: 16px;