import { Astal, Gtk } from "ags/gtk4"; import { tr } from "../../../../i18n/intl"; import { Backlights } from "../../../../modules/backlight"; import { Page, PageButton } from "../Page"; import { createBinding, For, With } from "ags"; import { addSliderMarksFromMinMax } from "../../../../modules/utils"; import { userData } from "../../../../config"; export const PageBacklight = { const dataDefaultBacklight = userData.getProperty("control_center.default_backlight", "any"); if(typeof dataDefaultBacklight === "string" && Backlights.getDefault().default?.name !== dataDefaultBacklight) { const bk = Backlights.getDefault().backlights.filter(b => b.name === dataDefaultBacklight)[0]; if(!bk) return; Backlights.getDefault().setDefault(bk); } }} content={() => ( {(bklights: Array) => bklights.length > 0 && bklights.length > 1)}> {(bk: Backlights.Backlight) => is ? "highlight" : "")} title={bk.name} icon={"video-display-symbolic"} actionClicked={() => { if(Backlights.getDefault().default?.path !== bk.path) { Backlights.getDefault().setDefault(bk); // save data userData.setProperty( "control_center.default_backlight", bk.name, true ); } }} endWidget={ } /> } {bklights.map((bklight, i) => addSliderMarksFromMinMax(self)} min={0} max={bklight.maxBrightness} value={createBinding(bklight, "brightness")} onChangeValue={(_, __, value) => { bklight.brightness = value }} /> )} } )} headerButtons={[{ icon: "arrow-circular-top-right", tooltipText: tr("control_center.pages.backlight.refresh"), actionClicked: () => Backlights.getDefault().scan() }]} /> as Page;