From 710eeb7fb4939a3e075983f60e656e5748740604 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Sun, 27 Apr 2025 10:48:07 +0200 Subject: [PATCH] [AGS] Brightness: Fix, add CLI --- config/astal/app.ts | 29 +++++++++++++++++-- .../modules/Brightness/Brightness.tsx | 11 +++---- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/config/astal/app.ts b/config/astal/app.ts index 759b609..8ee082d 100644 --- a/config/astal/app.ts +++ b/config/astal/app.ts @@ -3,8 +3,7 @@ import style from "./style.scss" import Bar from "./components/bar/Bar"; import AstalHyprland from "gi://AstalHyprland?version=0.1"; import { hyprToGdk } from "./util/hyprland"; -import { writeFile } from "astal"; -import Launcher from "./components/launcher/Launcher"; +import Brightness from "./util/brightness"; App.start({ instanceName: "runner", @@ -58,6 +57,32 @@ App.start({ // res( notifications.cliHandler( args ) ); } else if ( args[ 0 ] === 'bar' ) { res( Bar.cliHandler( args ) ); + } else if ( args[ 0 ] === 'brightness' ) { + try { + const brightness = Brightness.get_default(); + if ( brightness.screenAvailable ) { + if ( args[ 1 ] === 'increase' ) { + brightness.screen += args.length > 1 ? parseInt( args[ 2 ] ) / 100 : 1; + } else if ( args[ 1 ] === 'decrease' ) { + brightness.screen -= args.length > 1 ? parseInt( args[ 2 ] ) / 100 : 1; + } else if ( args[ 1 ] === 'set' ) { + if ( args.length > 1 ) { + brightness.screen = parseInt( args[ 2 ] ) / 100; + } else { + res( 'Argument unspecified' ); + return; + } + } else { + res( 'Unknown command ' + args[ 1 ] ); + return; + } + res( 'Ok' ); + } else { + res( 'No controllable screen available' ); + } + } catch ( e ) { + res( 'Error running brightness change' ); + } } // } else if ( args[ 0 ] === 'launcher' ) { // if ( args[ 1 ] === 'show' ) { diff --git a/config/astal/components/QuickActions/modules/Brightness/Brightness.tsx b/config/astal/components/QuickActions/modules/Brightness/Brightness.tsx index 59786a9..fa5f501 100644 --- a/config/astal/components/QuickActions/modules/Brightness/Brightness.tsx +++ b/config/astal/components/QuickActions/modules/Brightness/Brightness.tsx @@ -4,19 +4,20 @@ import Brightness from "../../../../util/brightness"; const brightness = Brightness.get_default(); const BrightnessModule = () => { + print( brightness.screen * 100 ); const setBrightness = (value: number) => { - brightness.set_property('screen', value / 100); + brightness.screen = value; } return ( 100 * b)} + value={Math.round( brightness.screen * 100) / 100} hexpand - max={100} - min={0} - step={1} + max={1} + min={0.01} + step={0.01} vexpand onChangeValue={self => setBrightness(self.value)} >