feat(ags): add battery bar
This commit is contained in:
parent
680b3cd3d6
commit
4b0e3a61e9
@ -10,6 +10,8 @@
|
|||||||
echo \$surface0: \#${colors.base02}\; >> colors.scss
|
echo \$surface0: \#${colors.base02}\; >> colors.scss
|
||||||
echo \$fg: \#${colors.base05}\; >> colors.scss
|
echo \$fg: \#${colors.base05}\; >> colors.scss
|
||||||
echo \$accent: \#${colors.base0B}\; >> colors.scss
|
echo \$accent: \#${colors.base0B}\; >> colors.scss
|
||||||
|
|
||||||
|
echo \#${colors.base0B} > accent.css
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -17,5 +19,6 @@
|
|||||||
mkdir $out
|
mkdir $out
|
||||||
cp $src/* $out -r
|
cp $src/* $out -r
|
||||||
mv colors.scss $out
|
mv colors.scss $out
|
||||||
|
mv accent.css $out
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,30 @@
|
|||||||
import { bind } from "astal"
|
import { bind } from "astal";
|
||||||
import Battery from "gi://AstalBattery"
|
import Battery from "gi://AstalBattery";
|
||||||
|
import accent from "../../accent.css";
|
||||||
|
|
||||||
export default function BatteryLevel() {
|
export default function BatteryLevel() {
|
||||||
const bat = Battery.get_default()
|
const bat = Battery.get_default();
|
||||||
|
const percent = bind(bat, "percentage").as(p => Math.floor(p * 100));
|
||||||
|
|
||||||
return <box className="Battery"
|
return (
|
||||||
visible={bind(bat, "isPresent")}>
|
<box
|
||||||
|
className="Battery"
|
||||||
|
visible={bind(bat, "isPresent")}
|
||||||
|
css={percent.as(p => `
|
||||||
|
background-image: linear-gradient(
|
||||||
|
to right,
|
||||||
|
${accent} 0%,
|
||||||
|
${accent} ${p}%,
|
||||||
|
transparent ${p}%,
|
||||||
|
transparent 100%
|
||||||
|
);
|
||||||
|
background-size: 100% 3px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: bottom;
|
||||||
|
`)}
|
||||||
|
>
|
||||||
<icon icon={bind(bat, "batteryIconName")} />
|
<icon icon={bind(bat, "batteryIconName")} />
|
||||||
<label label={bind(bat, "percentage").as(p =>
|
<label label={percent.as(p => `${p}%`)} />
|
||||||
`${Math.floor(p * 100)} %`
|
|
||||||
)} />
|
|
||||||
</box>
|
</box>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user