diff --git a/config/ags/js/bar/bar.js b/config/ags/js/bar/bar.js index ca258af..efe0fe6 100644 --- a/config/ags/js/bar/bar.js +++ b/config/ags/js/bar/bar.js @@ -11,6 +11,7 @@ import { NotifButton } from './notif-button.js'; import { Clock } from './clock.js'; import { SysTray } from './systray.js'; import { Batt } from './battery.js'; +import { Brightness } from './brightness.js'; export const Bar = Window({ name: 'bar', @@ -44,6 +45,10 @@ export const Bar = Window({ Separator(12), + Brightness, + + Separator(12), + Workspaces, ], diff --git a/config/ags/js/bar/brightness.js b/config/ags/js/bar/brightness.js new file mode 100644 index 0000000..780a54d --- /dev/null +++ b/config/ags/js/bar/brightness.js @@ -0,0 +1,36 @@ +const { Label, Icon, Stack, ProgressBar, Overlay, Box } = ags.Widget; +import { Separator } from '../common.js'; +const { exec } = ags.Utils; + +const Indicator = props => Label({ + ...props, + label: '', + connections: [[500, icon => { + const br = `${exec('brightnessctl get')}`; + if (br <= 3) icon.label = ""; + else if (br <= 38) icon.label = ""; + else if (br <= 77) icon.label = ""; + else if (br <= 115) icon.label = ""; + else if (br <= 153) icon.label = ""; + else if (br <= 191) icon.label = ""; + else if (br <= 230) icon.label = ""; + else icon.label = ""; + }]], +}); + +const LevelLabel = props => Label({ + ...props, + className: 'label', + connections: [[500, label => label.label = `${Math.floor(exec('brightnessctl get') / 2.55)}%`]], +}); + +const BrightnessModule = () => Box({ + className: 'toggle-off battery', + children: [ + Indicator(), + Separator(12), + LevelLabel(), + ], +}); + +export const Brightness = BrightnessModule();