diff --git a/modules/bar/volume/index.ts b/modules/bar/volume/index.ts index fe74a17..e8526df 100644 --- a/modules/bar/volume/index.ts +++ b/modules/bar/volume/index.ts @@ -35,7 +35,7 @@ const Volume = () => { const volPct = Widget.Label({ vpack: "center", - label: audio.speaker.bind("volume").as((v) => `${Math.floor(v * 100)}%`), + label: audio.speaker.bind("volume").as((v) => `${Math.round(v * 100)}%`), class_name: "bar-button-label volume", }); diff --git a/modules/menus/audio/active/SelectedInput.ts b/modules/menus/audio/active/SelectedInput.ts index cf0e59a..1397151 100644 --- a/modules/menus/audio/active/SelectedInput.ts +++ b/modules/menus/audio/active/SelectedInput.ts @@ -2,65 +2,65 @@ const audio = await Service.import("audio"); import { getIcon } from '../utils.js'; const renderActiveInput = () => { - return [ - Widget.Box({ - class_name: "menu-slider-container input", - children: [ - Widget.Button({ - vexpand: false, - vpack: "end", - setup: (self) => { - self.hook(audio, () => { - const mic = audio.microphone; - const className = `menu-active-button input ${mic.is_muted ? "muted" : ""}`; - return (self.class_name = className); - }); - }, - on_primary_click: () => - (audio.microphone.is_muted = !audio.microphone.is_muted), - child: Widget.Icon({ - class_name: "menu-active-icon input", - setup: (self) => { - self.hook(audio, () => { - self.icon = getIcon( - audio.microphone.volume, - audio.microphone.is_muted, - )["mic"]; - }); - }, - }), - }), + return [ Widget.Box({ - vertical: true, - children: [ - Widget.Label({ - class_name: "menu-active input", - hpack: "start", - truncate: "end", - wrap: true, - label: audio.bind("microphone").as((v) => v.description || ""), - }), - Widget.Slider({ - value: audio.microphone.bind("volume").as((v) => v), - class_name: "menu-active-slider menu-slider inputs", - draw_value: false, - hexpand: true, - min: 0, - max: 1, - onChange: ({ value }) => (audio.microphone.volume = value), - }), - ], + class_name: "menu-slider-container input", + children: [ + Widget.Button({ + vexpand: false, + vpack: "end", + setup: (self) => { + self.hook(audio, () => { + const mic = audio.microphone; + const className = `menu-active-button input ${mic.is_muted ? "muted" : ""}`; + return (self.class_name = className); + }); + }, + on_primary_click: () => + (audio.microphone.is_muted = !audio.microphone.is_muted), + child: Widget.Icon({ + class_name: "menu-active-icon input", + setup: (self) => { + self.hook(audio, () => { + self.icon = getIcon( + audio.microphone.volume, + audio.microphone.is_muted, + )["mic"]; + }); + }, + }), + }), + Widget.Box({ + vertical: true, + children: [ + Widget.Label({ + class_name: "menu-active input", + hpack: "start", + truncate: "end", + wrap: true, + label: audio.bind("microphone").as((v) => v.description || ""), + }), + Widget.Slider({ + value: audio.microphone.bind("volume").as((v) => v), + class_name: "menu-active-slider menu-slider inputs", + draw_value: false, + hexpand: true, + min: 0, + max: 1, + onChange: ({ value }) => (audio.microphone.volume = value), + }), + ], + }), + Widget.Label({ + class_name: "menu-active-percentage input", + vpack: "end", + label: audio.microphone + .bind("volume") + .as((v) => `${Math.round(v * 100)}%`), + }), + ], }), - Widget.Label({ - class_name: "menu-active-percentage input", - vpack: "end", - label: audio.microphone - .bind("volume") - .as((v) => `${Math.floor(v * 100)}%`), - }), - ], - }), - ]; + ]; }; export { renderActiveInput }; diff --git a/modules/menus/audio/active/SelectedPlayback.ts b/modules/menus/audio/active/SelectedPlayback.ts index cf276b0..02e5a10 100644 --- a/modules/menus/audio/active/SelectedPlayback.ts +++ b/modules/menus/audio/active/SelectedPlayback.ts @@ -2,66 +2,66 @@ const audio = await Service.import("audio"); import { getIcon } from "../utils.js"; const renderActivePlayback = () => { - return [ - Widget.Box({ - class_name: "menu-slider-container playback", - children: [ - Widget.Button({ - vexpand: false, - vpack: "end", - setup: (self) => { - self.hook(audio, () => { - const spkr = audio.speaker; - const className = `menu-active-button playback ${spkr.is_muted ? "muted" : ""}`; - return (self.class_name = className); - }); - }, - on_primary_click: () => - (audio.speaker.is_muted = !audio.speaker.is_muted), - child: Widget.Icon({ - class_name: "menu-active-icon playback", - setup: (self) => { - self.hook(audio, () => { - self.icon = getIcon( - audio.speaker.volume, - audio.speaker.is_muted, - )["spkr"]; - }); - }, - }), - }), + return [ Widget.Box({ - vertical: true, - children: [ - Widget.Label({ - class_name: "menu-active playback", - hpack: "start", - truncate: "end", - expand: true, - wrap: true, - label: audio.bind("speaker").as((v) => v.description || ""), - }), - Widget.Slider({ - value: audio["speaker"].bind("volume"), - class_name: "menu-active-slider menu-slider playback", - draw_value: false, - hexpand: true, - min: 0, - max: 1, - onChange: ({ value }) => (audio.speaker.volume = value), - }), - ], + class_name: "menu-slider-container playback", + children: [ + Widget.Button({ + vexpand: false, + vpack: "end", + setup: (self) => { + self.hook(audio, () => { + const spkr = audio.speaker; + const className = `menu-active-button playback ${spkr.is_muted ? "muted" : ""}`; + return (self.class_name = className); + }); + }, + on_primary_click: () => + (audio.speaker.is_muted = !audio.speaker.is_muted), + child: Widget.Icon({ + class_name: "menu-active-icon playback", + setup: (self) => { + self.hook(audio, () => { + self.icon = getIcon( + audio.speaker.volume, + audio.speaker.is_muted, + )["spkr"]; + }); + }, + }), + }), + Widget.Box({ + vertical: true, + children: [ + Widget.Label({ + class_name: "menu-active playback", + hpack: "start", + truncate: "end", + expand: true, + wrap: true, + label: audio.bind("speaker").as((v) => v.description || ""), + }), + Widget.Slider({ + value: audio["speaker"].bind("volume"), + class_name: "menu-active-slider menu-slider playback", + draw_value: false, + hexpand: true, + min: 0, + max: 1, + onChange: ({ value }) => (audio.speaker.volume = value), + }), + ], + }), + Widget.Label({ + vpack: "end", + class_name: "menu-active-percentage playback", + label: audio.speaker + .bind("volume") + .as((v) => `${Math.round(v * 100)}%`), + }), + ], }), - Widget.Label({ - vpack: "end", - class_name: "menu-active-percentage playback", - label: audio.speaker - .bind("volume") - .as((v) => `${Math.floor(v * 100)}%`), - }), - ], - }), - ]; + ]; }; export { renderActivePlayback }; diff --git a/modules/menus/energy/brightness/index.ts b/modules/menus/energy/brightness/index.ts index b1f8b12..cfb4ec5 100644 --- a/modules/menus/energy/brightness/index.ts +++ b/modules/menus/energy/brightness/index.ts @@ -47,7 +47,7 @@ const Brightness = () => { class_name: "brightness-slider-label", label: brightness .bind("screen") - .as((b) => `${Math.floor(b * 100)}%`), + .as((b) => `${Math.round(b * 100)}%`), }), ], }), diff --git a/modules/osd/label/index.ts b/modules/osd/label/index.ts index 47cb771..ca845ce 100644 --- a/modules/osd/label/index.ts +++ b/modules/osd/label/index.ts @@ -15,14 +15,14 @@ export const OSDLabel = (ort: OSDOrientation) => { vpack: "center", setup: self => { self.hook(brightness, () => { - self.label = `${Math.floor(brightness.screen * 100)}`; + self.label = `${Math.round(brightness.screen * 100)}`; }, "notify::screen") self.hook(brightness, () => { - self.label = `${Math.floor(brightness.kbd * 100)}`; + self.label = `${Math.round(brightness.kbd * 100)}`; }, "notify::kbd") self.hook(audio, () => { self.toggleClassName("overflow", audio.speaker.volume > 1) - self.label = `${Math.floor(audio.speaker.volume * 100)}`; + self.label = `${Math.round(audio.speaker.volume * 100)}`; }) } }) diff --git a/services/Brightness.ts b/services/Brightness.ts index 0c9bcf2..aeaf974 100644 --- a/services/Brightness.ts +++ b/services/Brightness.ts @@ -41,7 +41,7 @@ class Brightness extends Service { if (percent > 1) percent = 1 - sh(`brightnessctl set ${Math.floor(percent * 100)}% -q`).then(() => { + sh(`brightnessctl set ${Math.round(percent * 100)}% -q`).then(() => { this.#screen = percent this.changed("screen") })