@gnim-js/gnome-shell 2.0.0-beta.0 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/renderer.d.ts +13 -1
- package/dist/renderer.js +39 -34
- package/package.json +6 -3
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./types/extensions/sharedInternals.js";
|
|
2
2
|
import "./types/extensions/extension.js";
|
|
3
3
|
import "./types/extensions/prefs.js";
|
|
4
|
-
export { render } from "./renderer.js";
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export { render, GnomeRenderer } from "./renderer.js";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyx1Q0FBdUMsQ0FBQTtBQUM5QyxPQUFPLGlDQUFpQyxDQUFBO0FBQ3hDLE9BQU8sNkJBQTZCLENBQUE7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUEifQ==
|
package/dist/renderer.d.ts
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
1
|
import GObject from "gi://GObject?version=2.0";
|
|
2
|
-
|
|
2
|
+
import { type CC, type FC, type GnimNode, type Renderer } from "gnim";
|
|
3
|
+
export declare class GnomeRenderer implements Renderer {
|
|
4
|
+
resolveTag(_: string): CC | FC;
|
|
5
|
+
constructObject(element: CC, props: Record<string, unknown>): GObject.Object;
|
|
6
|
+
createText(string: string): GObject.Object;
|
|
7
|
+
prepareProps(_: CC, props: Record<string, unknown>): Record<string, unknown>;
|
|
8
|
+
setProperty(object: GObject.Object, key: string, value: unknown): void;
|
|
9
|
+
setChildren(parent: GObject.Object, children: GObject.Object[], prev: GObject.Object[]): void;
|
|
10
|
+
appendChild(parent: GObject.Object, child: GObject.Object): void;
|
|
11
|
+
removeChild(parent: GObject.Object, child: GObject.Object): void;
|
|
12
|
+
destroyChild(_: GObject.Object, child: GObject.Object): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function render(element: () => GnimNode, root?: GObject.Object): () => void;
|
package/dist/renderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import GObject from "gi://GObject?version=2.0";
|
|
2
|
-
import { appendChild,
|
|
2
|
+
import { appendChild, newObject, removeChild, render as renderGnim, setChildren, } from "gnim";
|
|
3
3
|
// gnome-shell only ships Clutter but not St. Their version number is also incremented each version
|
|
4
4
|
// which would make maintainance annoying and since EGO does not support modern typescript anyway
|
|
5
5
|
// we just shim some required interfaces instead of maintaining .gir files.
|
|
@@ -10,17 +10,19 @@ function snakecase(str) {
|
|
|
10
10
|
.replaceAll("-", "_")
|
|
11
11
|
.toLowerCase();
|
|
12
12
|
}
|
|
13
|
-
export
|
|
14
|
-
resolveTag() {
|
|
13
|
+
export class GnomeRenderer {
|
|
14
|
+
resolveTag(_) {
|
|
15
15
|
throw new Error("Function not implemented.");
|
|
16
|
-
}
|
|
17
|
-
constructObject
|
|
16
|
+
}
|
|
17
|
+
constructObject(element, props) {
|
|
18
|
+
return newObject(element, props);
|
|
19
|
+
}
|
|
18
20
|
createText(string) {
|
|
19
21
|
return St.Label.new(string);
|
|
20
|
-
}
|
|
22
|
+
}
|
|
21
23
|
prepareProps(_, props) {
|
|
22
24
|
return props;
|
|
23
|
-
}
|
|
25
|
+
}
|
|
24
26
|
setProperty(object, key, value) {
|
|
25
27
|
const getter = `get_${snakecase(key)}`;
|
|
26
28
|
let current;
|
|
@@ -35,7 +37,7 @@ export const { render } = createRenderer({
|
|
|
35
37
|
if (!Object.is(current, value)) {
|
|
36
38
|
Object.assign(object, { [key]: value });
|
|
37
39
|
}
|
|
38
|
-
}
|
|
40
|
+
}
|
|
39
41
|
setChildren(parent, children, prev) {
|
|
40
42
|
if (setChildren in parent && typeof parent[setChildren] === "function") {
|
|
41
43
|
if (parent[setChildren](children, prev))
|
|
@@ -52,28 +54,7 @@ export const { render } = createRenderer({
|
|
|
52
54
|
for (const child of prev.filter((child) => !children.includes(child))) {
|
|
53
55
|
this.destroyChild(parent, child);
|
|
54
56
|
}
|
|
55
|
-
}
|
|
56
|
-
removeChild(parent, child) {
|
|
57
|
-
if (removeChild in parent && typeof parent[removeChild] === "function") {
|
|
58
|
-
if (parent[removeChild](child))
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
if (parent instanceof Clutter.Actor) {
|
|
62
|
-
if (child instanceof Clutter.Action) {
|
|
63
|
-
return parent.remove_action(child);
|
|
64
|
-
}
|
|
65
|
-
if (child instanceof Clutter.Actor) {
|
|
66
|
-
return parent.remove_child(child);
|
|
67
|
-
}
|
|
68
|
-
if (child instanceof Clutter.Constraint) {
|
|
69
|
-
return parent.remove_constraint(child);
|
|
70
|
-
}
|
|
71
|
-
if (child instanceof Clutter.LayoutManager) {
|
|
72
|
-
return parent.set_layout_manager(null);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
throw Error(`cannot remove ${child} from ${parent}`);
|
|
76
|
-
},
|
|
57
|
+
}
|
|
77
58
|
appendChild(parent, child) {
|
|
78
59
|
if (appendChild in parent && typeof parent[appendChild] === "function") {
|
|
79
60
|
if (parent[appendChild](child))
|
|
@@ -94,11 +75,35 @@ export const { render } = createRenderer({
|
|
|
94
75
|
}
|
|
95
76
|
}
|
|
96
77
|
throw Error(`cannot add ${child} to ${parent}`);
|
|
97
|
-
}
|
|
78
|
+
}
|
|
79
|
+
removeChild(parent, child) {
|
|
80
|
+
if (removeChild in parent && typeof parent[removeChild] === "function") {
|
|
81
|
+
if (parent[removeChild](child))
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (parent instanceof Clutter.Actor) {
|
|
85
|
+
if (child instanceof Clutter.Action) {
|
|
86
|
+
return parent.remove_action(child);
|
|
87
|
+
}
|
|
88
|
+
if (child instanceof Clutter.Actor) {
|
|
89
|
+
return parent.remove_child(child);
|
|
90
|
+
}
|
|
91
|
+
if (child instanceof Clutter.Constraint) {
|
|
92
|
+
return parent.remove_constraint(child);
|
|
93
|
+
}
|
|
94
|
+
if (child instanceof Clutter.LayoutManager) {
|
|
95
|
+
return parent.set_layout_manager(null);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
throw Error(`cannot remove ${child} from ${parent}`);
|
|
99
|
+
}
|
|
98
100
|
destroyChild(_, child) {
|
|
99
101
|
if (child instanceof Clutter.Actor) {
|
|
100
102
|
child.destroy();
|
|
101
103
|
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export function render(element, root) {
|
|
107
|
+
return renderGnim(new GnomeRenderer(), element, root);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0sMEJBQTBCLENBQUE7QUFDOUMsT0FBTyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sSUFBSSxVQUFVLEVBQ3BCLFdBQVcsR0FLZCxNQUFNLE1BQU0sQ0FBQTtBQWlCYixtR0FBbUc7QUFDbkcsaUdBQWlHO0FBQ2pHLDJFQUEyRTtBQUMzRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQWlCL0IsQ0FBQTtBQUVELFNBQVMsU0FBUyxDQUFDLEdBQVc7SUFDMUIsT0FBTyxHQUFHO1NBQ0wsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQztTQUNuQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztTQUNwQixXQUFXLEVBQUUsQ0FBQTtBQUN0QixDQUFDO0FBRUQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsVUFBVSxDQUFDLENBQVM7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFDRCxlQUFlLENBQUMsT0FBVyxFQUFFLEtBQThCO1FBQ3ZELE9BQU8sU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBQ0QsVUFBVSxDQUFDLE1BQWM7UUFDckIsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQ0QsWUFBWSxDQUFDLENBQUssRUFBRSxLQUE4QjtRQUM5QyxPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQXNCLEVBQUUsR0FBVyxFQUFFLEtBQWM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLEVB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
|
package/package.json
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gnim-js/gnome-shell",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": "Aylur",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://gnimjs.dev/",
|
|
8
|
-
"repository":
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "github:Aylur/gnim"
|
|
11
|
+
},
|
|
9
12
|
"funding": {
|
|
10
13
|
"type": "kofi",
|
|
11
14
|
"url": "https://ko-fi.com/aylur"
|
|
12
15
|
},
|
|
13
16
|
"dependencies": {
|
|
14
|
-
"gnim": "^2.0.0-beta.
|
|
17
|
+
"gnim": "^2.0.0-beta.1"
|
|
15
18
|
},
|
|
16
19
|
"devDependencies": {
|
|
17
20
|
"@eslint/js": "latest",
|