nixos-configs/modules/ags/config/greeter.ts
matt1432 51e4988599
All checks were successful
Discord / discord commits (push) Has been skipped
feat(greetd): focus password first
2024-02-06 13:31:36 -05:00

52 lines
1.1 KiB
TypeScript

const { idle } = Utils;
const greetd = await Service.import('greetd');
const name = Widget.Entry({
placeholder_text: 'Username',
on_accept: () => password.grab_focus(),
});
const password = Widget.Entry({
placeholder_text: 'Password',
visibility: false,
on_accept: () => {
greetd.login(
name.text || '',
password.text || '',
'Hyprland',
).catch((err) => {
response.label = JSON.stringify(err);
});
},
});
const response = Widget.Label();
const win = Widget.Window({
name: 'greeter',
css: 'background-color: transparent;',
anchor: ['top', 'left', 'right', 'bottom'],
keymode: 'exclusive',
setup: () => {
idle(() => {
password.grab_focus();
});
},
child: Widget.Box({
vertical: true,
hpack: 'center',
vpack: 'center',
hexpand: true,
vexpand: true,
children: [
name,
password,
response,
],
}),
});
export default { windows: [win] };