feat(ags4): implement lockscreen

This commit is contained in:
matt1432 2025-01-25 02:28:34 -05:00
parent 8bd0b732e7
commit 557e4c7a52
32 changed files with 281 additions and 12 deletions
modules/ags/gtk4/widgets/subclasses

View file

@ -0,0 +1,23 @@
import { register } from 'astal';
import { Gtk } from 'astal/gtk4';
import astalify, { type AstalifyProps, type ConstructProps } from '../astalify';
type ButtonSignals = Record<`on${string}`, unknown[]> & {
onClicked: []
};
export type ButtonProps = ConstructProps<
ButtonClass,
Gtk.Button.ConstructorProps & AstalifyProps,
ButtonSignals
>;
@register({ GTypeName: 'Button' })
export class ButtonClass extends astalify(Gtk.Button) {
constructor({ cssName = 'button', ...props }: ButtonProps = {}) {
super({ cssName, ...props });
}
}
export const Button = (props?: ButtonProps) => new ButtonClass(props);