import Gtk from "gi://Gtk?version=3.0"
import { execAsync, Variable } from "astal"
import Dropdown from "./Dropdown"
const actions = [
{ label: "lock", icon: "system-lock-screen-symbolic", cmd: ["hyprlock"] },
{
label: "suspend",
icon: "weather-clear-night-symbolic",
cmd: ["systemctl", "suspend"],
},
{
label: "log out",
icon: "system-log-out-symbolic",
cmd: ["hyprctl", "dispatch", "exit"],
},
{
label: "reboot",
icon: "system-reboot-symbolic",
cmd: ["systemctl", "reboot"],
},
{
label: "shut down",
icon: "system-shutdown-symbolic",
cmd: ["systemctl", "poweroff"],
},
]
function PowerRow(action: (typeof actions)[number]) {
return (
)
}
export function PowerWidget(gdkmonitor: Gdk.Monitor) {
const open = Variable(false)
const button = (
)
const popup = (
{actions.map((action) => PowerRow(action))}
)
return { button, popup }
}