diff --git a/config/ags/config.js b/config/ags/config.js index 7b17ac8..7b1ec4b 100644 --- a/config/ags/config.js +++ b/config/ags/config.js @@ -1,4 +1,4 @@ -import { exec } from 'resource:///com/github/Aylur/ags/utils.js'; +import { exec, execAsync } from 'resource:///com/github/Aylur/ags/utils.js'; import { Powermenu } from './js/powermenu.js'; import { Bar } from './js/bar/main.js'; import { NotificationCenter } from './js/notifications/center.js'; @@ -15,7 +15,7 @@ const css = ags.App.configDir + '/style.css'; exec(`sassc ${scss} ${css}`); -exec(`bash -c "$AGS_PATH/startup.sh"`); +execAsync(['bash', '-c', '$AGS_PATH/startup.sh']).catch(print); export default { style: css, diff --git a/config/ags/js/bar/brightness.js b/config/ags/js/bar/brightness.js index 4c1a007..fabbeba 100644 --- a/config/ags/js/bar/brightness.js +++ b/config/ags/js/bar/brightness.js @@ -1,5 +1,5 @@ -const { Label, Icon, Stack, ProgressBar, Overlay, Box } = ags.Widget; -const { exec } = ags.Utils; +const { ProgressBar, Overlay, Box } = ags.Widget; +const { execAsync } = ags.Utils; import { Separator } from '../misc/separator.js'; import { Heart } from './heart.js'; @@ -11,14 +11,16 @@ export const Brightness = Overlay({ className: 'toggle-off brightness', connections: [ [200, progress => { - let br = exec('brightnessctl get') / 255; - if (br > 0.33) { - progress.value = br; - } - else { - progress.value = 0.33; - } - }] + execAsync('brightnessctl get').then(out => { + let br = out / 255; + if (br > 0.33) { + progress.value = br; + } + else { + progress.value = 0.33; + } + }).catch(print); + }], ], }), overlays: [ diff --git a/config/ags/js/bar/heart.js b/config/ags/js/bar/heart.js index 15f3f12..27be3f5 100644 --- a/config/ags/js/bar/heart.js +++ b/config/ags/js/bar/heart.js @@ -1,5 +1,5 @@ const { Box, Label } = ags.Widget; -const { subprocess, exec } = ags.Utils; +const { subprocess, execAsync } = ags.Utils; const deflisten = subprocess; import { EventBox } from '../misc/cursorbox.js'; @@ -13,7 +13,7 @@ deflisten( export const Heart = EventBox({ halign: 'center', onPrimaryClickRelease: () => { - exec("bash -c '$AGS_PATH/heart.sh toggle'"); + execAsync(['bash', '-c', '$AGS_PATH/heart.sh toggle']).catch(print); }, child: Box({ className: 'heart-toggle', diff --git a/config/ags/js/bar/osk-toggle.js b/config/ags/js/bar/osk-toggle.js index c29cbdc..0cb8b9b 100644 --- a/config/ags/js/bar/osk-toggle.js +++ b/config/ags/js/bar/osk-toggle.js @@ -1,5 +1,5 @@ const { Box, Label } = ags.Widget; -const { subprocess, exec } = ags.Utils; +const { subprocess } = ags.Utils; const deflisten = subprocess; import { EventBox } from '../misc/cursorbox.js'; diff --git a/config/ags/js/quick-settings/slider-box.js b/config/ags/js/quick-settings/slider-box.js index 63c635d..57b9043 100644 --- a/config/ags/js/quick-settings/slider-box.js +++ b/config/ags/js/quick-settings/slider-box.js @@ -1,6 +1,6 @@ -const { Box, Slider, Label, Icon, EventBox } = ags.Widget; +const { Box, Slider, Icon, EventBox } = ags.Widget; const { Audio } = ags.Service; -const { exec } = ags.Utils; +const { execAsync } = ags.Utils; const items = { 101: 'audio-volume-overamplified-symbolic', @@ -10,18 +10,6 @@ const items = { 0: 'audio-volume-muted-symbolic', }; -let throttleTimer; - -const throttle = (callback, time) => { - if (throttleTimer) return; - throttleTimer = true; - setTimeout(() => { - callback(); - throttleTimer = false; - }, time); -} - - export const SliderBox = Box({ className: 'slider-box', vertical: true, @@ -84,11 +72,11 @@ export const SliderBox = Box({ ['canChange', true], ], onChange: ({ value }) => { - throttle(() => exec('brightnessctl set ' + value + ' %'), 20); + execAsync(`brightnessctl set ${value}`).catch(print); }, connections: [[1000, slider => { if (slider._canChange) { - slider.value = exec('brightnessctl get'); + execAsync('brightnessctl get').then(out => slider.value = out).catch(print); } }]], min: 0,