🔧 chore(modules/backlight): better implementation
This commit is contained in:
@@ -4,7 +4,7 @@ import { Pages } from "./Pages";
|
||||
import { PageSound } from "./pages/Sound";
|
||||
import { PageMicrophone } from "./pages/Microphone";
|
||||
import { createBinding, With } from "ags";
|
||||
import { Backlight } from "../../modules/backlight";
|
||||
import { Backlights } from "../../modules/backlight";
|
||||
|
||||
import AstalWp from "gi://AstalWp";
|
||||
import { PageBacklight } from "./pages/Backlight";
|
||||
@@ -50,28 +50,26 @@ export function Sliders() {
|
||||
slidersPages?.toggle(PageMicrophone)} />
|
||||
</Gtk.Box>}
|
||||
</With>
|
||||
<Gtk.Box visible={Boolean(Backlight.getDefault())}>
|
||||
{Backlight.getDefault() &&
|
||||
<With value={createBinding(Backlight.getDefault()!, "default")}>
|
||||
{(bklight: Backlight) => bklight &&
|
||||
<Gtk.Box class={"backlight"} spacing={3}>
|
||||
<Gtk.Button onClicked={() => {
|
||||
bklight.brightness = bklight.maxBrightness
|
||||
}} iconName={"display-brightness-symbolic"}
|
||||
/>
|
||||
<Gtk.Box visible={createBinding(Backlights.getDefault(), "available")}>
|
||||
<With value={createBinding(Backlights.getDefault(), "default")}>
|
||||
{(bklight: Backlights.Backlight|null) => bklight &&
|
||||
<Gtk.Box class={"backlight"} spacing={3}>
|
||||
<Gtk.Button onClicked={() => {
|
||||
bklight.brightness = bklight.maxBrightness
|
||||
}} iconName={"display-brightness-symbolic"}
|
||||
/>
|
||||
|
||||
<Astal.Slider drawValue={false} hexpand value={createBinding(bklight, "brightness")}
|
||||
max={bklight.maxBrightness}
|
||||
onChangeValue={(_, __, value) => {
|
||||
Backlight.getDefault()!.brightness = value
|
||||
}}
|
||||
/>
|
||||
<Gtk.Button class={"more"} iconName={"go-next-symbolic"} onClicked={() =>
|
||||
slidersPages?.toggle(PageBacklight)} />
|
||||
</Gtk.Box>
|
||||
}
|
||||
</With>
|
||||
}
|
||||
<Astal.Slider drawValue={false} hexpand value={createBinding(bklight, "brightness")}
|
||||
max={bklight.maxBrightness}
|
||||
onChangeValue={(_, __, value) => {
|
||||
bklight.brightness = value
|
||||
}}
|
||||
/>
|
||||
<Gtk.Button class={"more"} iconName={"go-next-symbolic"} onClicked={() =>
|
||||
slidersPages?.toggle(PageBacklight)} />
|
||||
</Gtk.Box>
|
||||
}
|
||||
</With>
|
||||
</Gtk.Box>
|
||||
<Pages $={(self) => slidersPages = self} />
|
||||
</Gtk.Box>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Astal, Gtk } from "ags/gtk4";
|
||||
import { tr } from "../../../i18n/intl";
|
||||
import { Backlight } from "../../../modules/backlight";
|
||||
import { Backlights } from "../../../modules/backlight";
|
||||
import { Page } from "./Page";
|
||||
import { createBinding, With } from "ags";
|
||||
import { addSliderMarksFromMinMax } from "../../../modules/utils";
|
||||
@@ -11,8 +11,8 @@ export const PageBacklight = new Page({
|
||||
title: tr("control_center.pages.backlight.title"),
|
||||
description: tr("control_center.pages.backlight.description"),
|
||||
content: () => (
|
||||
<With value={createBinding(Backlight.getDefault()!, "backlights")}>
|
||||
{(bklights: Array<Backlight>) => bklights.length > 0 &&
|
||||
<With value={createBinding(Backlights.getDefault(), "backlights")}>
|
||||
{(bklights: Array<Backlights.Backlight>) => bklights.length > 0 &&
|
||||
<Gtk.Box orientation={Gtk.Orientation.VERTICAL} spacing={6}>
|
||||
{bklights.map((bklight, i) =>
|
||||
<Gtk.Box class={"bklight"} orientation={Gtk.Orientation.VERTICAL}
|
||||
@@ -36,6 +36,6 @@ export const PageBacklight = new Page({
|
||||
headerButtons: [{
|
||||
icon: "arrow-circular-top-right",
|
||||
tooltipText: tr("control_center.pages.backlight.refresh"),
|
||||
actionClicked: () => Backlight.scan()
|
||||
actionClicked: () => Backlights.getDefault().scan()
|
||||
}]
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user