From 2a9bb96f056f25c95b330984cfe7ac484db6c9c6 Mon Sep 17 00:00:00 2001 From: Aylur Date: Tue, 12 Nov 2024 00:46:31 +0000 Subject: gjs: define pkg-config variable will be used by ags --- lang/gjs/meson.build | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lang/gjs') diff --git a/lang/gjs/meson.build b/lang/gjs/meson.build index 7134dc0..f4272ee 100644 --- a/lang/gjs/meson.build +++ b/lang/gjs/meson.build @@ -21,3 +21,12 @@ install_data( install_subdir('src/gtk3', install_dir: dest) install_subdir('src/gtk4', install_dir: dest) + +import('pkgconfig').generate( + description: 'Astal GJS pacakge', + name: meson.project_name(), + install_dir: get_option('libdir') / 'pkgconfig', + variables: { + 'srcdir': dest, + }, +) -- cgit v1.2.3 From 2dd071c5bbbec7c584cf07349ffbca56189e0a78 Mon Sep 17 00:00:00 2001 From: Aylur Date: Fri, 15 Nov 2024 15:24:49 +0000 Subject: fix(gjs): gobject decorators subclassing further now works correctly signals without args are fixed --- lang/gjs/src/gobject.ts | 6 +++++- lang/gjs/src/gtk3/astalify.ts | 6 +++--- lang/gjs/src/gtk3/index.ts | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) (limited to 'lang/gjs') diff --git a/lang/gjs/src/gobject.ts b/lang/gjs/src/gobject.ts index 59dd62a..b744cfb 100644 --- a/lang/gjs/src/gobject.ts +++ b/lang/gjs/src/gobject.ts @@ -51,6 +51,8 @@ export function register(options: MetaInfo = {}) { Properties: { ...cls[meta]?.Properties }, ...options, }, cls) + + delete cls[meta] } } @@ -124,7 +126,9 @@ export function signal( } } else { - target.constructor[meta].Signals[name] = declaration + target.constructor[meta].Signals[name] = declaration || { + param_types: [], + } } if (!desc) { diff --git a/lang/gjs/src/gtk3/astalify.ts b/lang/gjs/src/gtk3/astalify.ts index b9621be..6973805 100644 --- a/lang/gjs/src/gtk3/astalify.ts +++ b/lang/gjs/src/gtk3/astalify.ts @@ -43,7 +43,7 @@ function setProp(obj: any, prop: string, value: any) { export default function astalify< C extends { new(...args: any[]): Gtk.Widget }, ->(cls: C) { +>(cls: C, clsName = cls.name) { class Widget extends cls { get css(): string { return Astal.widget_get_css(this) } set css(css: string) { Astal.widget_set_css(this, css) } @@ -233,7 +233,7 @@ export default function astalify< } GObject.registerClass({ - GTypeName: `Astal_${cls.name}`, + GTypeName: `Astal_${clsName}`, Properties: { "class-name": GObject.ParamSpec.string( "class-name", "", "", GObject.ParamFlags.READWRITE, "", @@ -256,7 +256,7 @@ export default function astalify< return Widget } -type BindableProps = { +export type BindableProps = { [K in keyof T]: Binding | T[K]; } diff --git a/lang/gjs/src/gtk3/index.ts b/lang/gjs/src/gtk3/index.ts index cfafbda..ff641af 100644 --- a/lang/gjs/src/gtk3/index.ts +++ b/lang/gjs/src/gtk3/index.ts @@ -1,9 +1,9 @@ import Astal from "gi://Astal?version=3.0" import Gtk from "gi://Gtk?version=3.0" import Gdk from "gi://Gdk?version=3.0" -import astalify, { type ConstructProps } from "./astalify.js" +import astalify, { type ConstructProps, type BindableProps } from "./astalify.js" export { Astal, Gtk, Gdk } export { default as App } from "./app.js" -export { astalify, ConstructProps } +export { astalify, ConstructProps, BindableProps } export * as Widget from "./widget.js" -- cgit v1.2.3 From 433984c5830aac3fcde66ffff93d0dc7e5e69366 Mon Sep 17 00:00:00 2001 From: Aylur Date: Fri, 15 Nov 2024 15:25:42 +0000 Subject: chore: update license on gjs and lua package closes #89 --- lang/gjs/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lang/gjs') diff --git a/lang/gjs/package.json b/lang/gjs/package.json index da88d90..43a7702 100644 --- a/lang/gjs/package.json +++ b/lang/gjs/package.json @@ -4,7 +4,7 @@ "description": "Building blocks for building linux desktop shell", "type": "module", "author": "Aylur", - "license": "GPL", + "license": "LGPL-2.1", "repository": { "type": "git", "url": "https://github.com/aylur/astal.git", -- cgit v1.2.3