ags
This commit is contained in:
parent
eddf7cecb8
commit
aea798d119
16631 changed files with 1480363 additions and 257 deletions
47
home/ags/service/powermenu.ts
Normal file
47
home/ags/service/powermenu.ts
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
import options from "options"
|
||||
|
||||
const { sleep, reboot, logout, shutdown } = options.powermenu
|
||||
|
||||
export type Action = "sleep" | "reboot" | "logout" | "shutdown"
|
||||
|
||||
class PowerMenu extends Service {
|
||||
static {
|
||||
Service.register(this, {}, {
|
||||
"title": ["string"],
|
||||
"cmd": ["string"],
|
||||
})
|
||||
}
|
||||
|
||||
#title = ""
|
||||
#cmd = ""
|
||||
|
||||
get title() { return this.#title }
|
||||
|
||||
action(action: Action) {
|
||||
[this.#cmd, this.#title] = {
|
||||
sleep: [sleep.value, "Sleep"],
|
||||
reboot: [reboot.value, "Reboot"],
|
||||
logout: [logout.value, "Log Out"],
|
||||
shutdown: [shutdown.value, "Shutdown"],
|
||||
}[action]
|
||||
|
||||
this.notify("cmd")
|
||||
this.notify("title")
|
||||
this.emit("changed")
|
||||
App.closeWindow("powermenu")
|
||||
App.openWindow("verification")
|
||||
}
|
||||
|
||||
readonly shutdown = () => {
|
||||
this.action("shutdown")
|
||||
}
|
||||
|
||||
readonly exec = () => {
|
||||
App.closeWindow("verification")
|
||||
Utils.exec(this.#cmd)
|
||||
}
|
||||
}
|
||||
|
||||
const powermenu = new PowerMenu
|
||||
Object.assign(globalThis, { powermenu })
|
||||
export default powermenu
|
||||
Loading…
Add table
Add a link
Reference in a new issue