aboutsummaryrefslogtreecommitdiff
path: root/.config/ags/greeter/auth.ts
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-08-30 19:22:59 +0200
committersrdusr <trevorgray@srdusr.com>2025-08-30 19:22:59 +0200
commit19120d4f9761c67d99ed1ce3da6084b83f5a49c9 (patch)
treef234cad1bdad88114a63c9702144da487024967a /.config/ags/greeter/auth.ts
parent5928998af5404ae2be84c6cecc10ebf84bd3f3ed (diff)
downloaddotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.tar.gz
dotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.zip
Linux-specific dotfiles
Diffstat (limited to '.config/ags/greeter/auth.ts')
-rw-r--r--.config/ags/greeter/auth.ts109
1 files changed, 0 insertions, 109 deletions
diff --git a/.config/ags/greeter/auth.ts b/.config/ags/greeter/auth.ts
deleted file mode 100644
index 23477eb..0000000
--- a/.config/ags/greeter/auth.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-import AccountsService from "gi://AccountsService?version=1.0"
-import GLib from "gi://GLib?version=2.0"
-import icons from "lib/icons"
-
-const { iconFile, realName, userName } = AccountsService.UserManager
- .get_default().list_users()[0]
-
-const loggingin = Variable(false)
-
-const CMD = GLib.getenv("ASZTAL_DM_CMD")
- || "Hyprland"
-
-const ENV = GLib.getenv("ASZTAL_DM_ENV")
- || "WLR_NO_HARDWARE_CURSORS=1 _JAVA_AWT_WM_NONREPARENTING=1"
-
-async function login(pw: string) {
- loggingin.value = true
- const greetd = await Service.import("greetd")
- return greetd.login(userName, pw, CMD, ENV.split(/\s+/))
- .catch(res => {
- loggingin.value = false
- response.label = res?.description || JSON.stringify(res)
- password.text = ""
- revealer.reveal_child = true
- })
-}
-
-const avatar = Widget.Box({
- class_name: "avatar",
- hpack: "center",
- css: `background-image: url('${iconFile}')`,
-})
-
-const password = Widget.Entry({
- placeholder_text: "Password",
- hexpand: true,
- visibility: false,
- on_accept: ({ text }) => { login(text || "") },
-})
-
-const response = Widget.Label({
- class_name: "response",
- wrap: true,
- max_width_chars: 35,
- hpack: "center",
- hexpand: true,
- xalign: .5,
-})
-
-const revealer = Widget.Revealer({
- transition: "slide_down",
- child: response,
-})
-
-export default Widget.Box({
- class_name: "auth",
- attribute: { password },
- vertical: true,
- children: [
- Widget.Overlay({
- child: Widget.Box(
- {
- css: "min-width: 200px; min-height: 200px;",
- vertical: true,
- },
- Widget.Box({
- class_name: "wallpaper",
- css: `background-image: url('${WALLPAPER}')`,
- }),
- Widget.Box({
- class_name: "wallpaper-contrast",
- vexpand: true,
- }),
- ),
- overlay: Widget.Box(
- {
- vpack: "end",
- vertical: true,
- },
- avatar,
- Widget.Box({
- hpack: "center",
- children: [
- Widget.Icon(icons.ui.avatar),
- Widget.Label(realName || userName),
- ],
- }),
- Widget.Box(
- {
- class_name: "password",
- },
- Widget.Spinner({
- visible: loggingin.bind(),
- active: true,
- }),
- Widget.Icon({
- visible: loggingin.bind().as(b => !b),
- icon: icons.ui.lock,
- }),
- password,
- ),
- ),
- }),
- Widget.Box(
- { class_name: "response-box" },
- revealer,
- ),
- ],
-})