diff --git a/home/desktops/hyprland/ags/js/quicksettings/QuickSettings.js b/home/desktops/hyprland/ags/js/quicksettings/QuickSettings.js index be2bbd0..dda1a4e 100644 --- a/home/desktops/hyprland/ags/js/quicksettings/QuickSettings.js +++ b/home/desktops/hyprland/ags/js/quicksettings/QuickSettings.js @@ -56,8 +56,7 @@ export default () => children: [ Row([Volume()], [SinkSelector(), AppMixer()]), Microhone(), - /*Brightness()*/ - , + Brightness(), ], }), Row( diff --git a/home/desktops/hyprland/ags/js/quicksettings/widgets/Brightness.js b/home/desktops/hyprland/ags/js/quicksettings/widgets/Brightness.js index 35d16e3..993dcfb 100644 --- a/home/desktops/hyprland/ags/js/quicksettings/widgets/Brightness.js +++ b/home/desktops/hyprland/ags/js/quicksettings/widgets/Brightness.js @@ -1,6 +1,9 @@ import Widget from "resource:///com/github/Aylur/ags/widget.js"; import icons from "../../icons.js"; import Brightness from "../../services/brightness.js"; +import * as Utils from "resource:///com/github/Aylur/ags/utils.js"; + +const CanSupportBrightness = () => Utils.exec("which gbmonctl"); const BrightnessSlider = () => Widget.Slider({ diff --git a/home/desktops/hyprland/ags/js/services/brightness.js b/home/desktops/hyprland/ags/js/services/brightness.js index 13ee419..9f67b83 100644 --- a/home/desktops/hyprland/ags/js/services/brightness.js +++ b/home/desktops/hyprland/ags/js/services/brightness.js @@ -42,13 +42,18 @@ class Brightness extends Service { } set screen(percent) { - if (!dependencies(["brightnessctl"])) return; + if (!dependencies(["gbmonctl"])) return; if (percent < 0) percent = 0; if (percent > 1) percent = 1; - Utils.execAsync(`brightnessctl s ${percent * 100}% -q`) + Utils.execAsync( + `gbmonctl --prop brightness -val ${Math.min( + Math.max(Math.floor(percent * 100), 0), + 100, + )}`, + ) .then(() => { this.#screen = percent; this.changed("screen");