summaryrefslogtreecommitdiff
path: root/lang/gjs
diff options
context:
space:
mode:
authorkotontrion <[email protected]>2024-11-16 12:40:07 +0100
committerkotontrion <[email protected]>2024-11-16 12:40:07 +0100
commit1351db8d5b80c7521e808f81c91977a5dd2d9d34 (patch)
treea1469ed4aaca0f1f42e6d9a9251f5ccc9ff8bf78 /lang/gjs
parente674e8f6e49e74edde795e012adbfe0fcfd8d729 (diff)
parent433984c5830aac3fcde66ffff93d0dc7e5e69366 (diff)
Merge branch 'main' into feat/tray-gtk4
Diffstat (limited to 'lang/gjs')
-rw-r--r--lang/gjs/meson.build9
-rw-r--r--lang/gjs/package.json2
-rw-r--r--lang/gjs/src/gobject.ts6
-rw-r--r--lang/gjs/src/gtk3/astalify.ts6
-rw-r--r--lang/gjs/src/gtk3/index.ts4
5 files changed, 20 insertions, 7 deletions
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,
+ },
+)
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",
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 b9dd36f..b758976 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) }
@@ -236,7 +236,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, "",
@@ -259,7 +259,7 @@ export default function astalify<
return Widget
}
-type BindableProps<T> = {
+export type BindableProps<T> = {
[K in keyof T]: Binding<T[K]> | 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"