summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gjs/index.ts12
-rw-r--r--gjs/src/application.ts4
-rw-r--r--gjs/src/astalify.ts3
-rw-r--r--gjs/src/imports.ts9
-rw-r--r--gjs/src/index.ts18
-rw-r--r--gjs/src/process.ts2
-rw-r--r--gjs/src/time.ts2
-rw-r--r--gjs/src/variable.ts2
-rw-r--r--gjs/src/widgets.ts3
-rw-r--r--gjs/tsconfig.json1
10 files changed, 28 insertions, 28 deletions
diff --git a/gjs/index.ts b/gjs/index.ts
new file mode 100644
index 0000000..092f213
--- /dev/null
+++ b/gjs/index.ts
@@ -0,0 +1,12 @@
+import { Gtk } from "./src/imports.js"
+
+export * from "./src/imports.js"
+export * from "./src/process.js"
+export * from "./src/time.js"
+export { bind } from "./src/binding.js"
+export { Variable } from "./src/variable.js"
+export * as Widget from "./src/widgets.js"
+export { App } from "./src/application.js"
+
+// gjs crashes if a widget is constructed before Gtk.init
+Gtk.init(null)
diff --git a/gjs/src/application.ts b/gjs/src/application.ts
index 19cdaae..cadbaf0 100644
--- a/gjs/src/application.ts
+++ b/gjs/src/application.ts
@@ -1,6 +1,4 @@
-import Astal from "gi://Astal"
-import GObject from "gi://GObject"
-import Gio from "gi://Gio"
+import { Astal, GObject, Gio } from "./imports.js"
type RequestHandler = {
(request: string, res: (response: string) => void): void
diff --git a/gjs/src/astalify.ts b/gjs/src/astalify.ts
index 480be7c..f932e5e 100644
--- a/gjs/src/astalify.ts
+++ b/gjs/src/astalify.ts
@@ -1,6 +1,5 @@
import Binding, { kebabify, type Connectable, type Subscribable } from "./binding.js"
-import Astal from "gi://Astal"
-import Gtk from "gi://Gtk"
+import { Astal, Gtk } from "./imports.js"
export type Widget<C extends { new(...args: any): Gtk.Widget }> = InstanceType<C> & {
className: string
diff --git a/gjs/src/imports.ts b/gjs/src/imports.ts
new file mode 100644
index 0000000..c6724c1
--- /dev/null
+++ b/gjs/src/imports.ts
@@ -0,0 +1,9 @@
+// this file's purpose is to have glib versions in one place
+// this is only really needed for Gtk/Astal because
+// ts-gir might generate gtk4 versions too
+
+export { default as Astal } from "gi://Astal?version=0.1"
+export { default as GObject } from "gi://GObject?version=2.0"
+export { default as Gio } from "gi://Gio?version=2.0"
+export { default as Gtk } from "gi://Gtk?version=3.0"
+export { default as GLib } from "gi://GLib?version=2.0"
diff --git a/gjs/src/index.ts b/gjs/src/index.ts
deleted file mode 100644
index 2a5d235..0000000
--- a/gjs/src/index.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import Gtk from "gi://Gtk?version=3.0"
-import Astal from "gi://Astal?version=0.1"
-import GLib from "gi://GLib?version=2.0"
-import GObject from "gi://GObject?version=2.0"
-import Gio from "gi://Gio?version=2.0"
-
-export { subprocess, exec, execAsync } from "./process.js"
-export { interval, timeout, idle } from "./time.js"
-export { bind } from "./binding.js"
-export { Variable } from "./variable.js"
-export * as Widget from "./widgets.js"
-export { App } from "./application.js"
-
-// for convinience
-export { Astal, Gtk, GLib, GObject, Gio }
-
-// gjs crashes if a widget is constructed before Gtk.init
-Gtk.init(null)
diff --git a/gjs/src/process.ts b/gjs/src/process.ts
index 8934efb..59ab328 100644
--- a/gjs/src/process.ts
+++ b/gjs/src/process.ts
@@ -1,4 +1,4 @@
-import Astal from "gi://Astal"
+import { Astal } from "./imports.js"
type Args<Out = void, Err = void> = {
cmd: string | string[],
diff --git a/gjs/src/time.ts b/gjs/src/time.ts
index 71aa502..0c05d59 100644
--- a/gjs/src/time.ts
+++ b/gjs/src/time.ts
@@ -1,4 +1,4 @@
-import Astal from "gi://Astal"
+import { Astal } from "./imports.js"
export function interval(interval: number, callback: () => void) {
return Astal.Time.interval(interval, callback)
diff --git a/gjs/src/variable.ts b/gjs/src/variable.ts
index 1d72af5..5ebaf5a 100644
--- a/gjs/src/variable.ts
+++ b/gjs/src/variable.ts
@@ -1,5 +1,5 @@
import Binding, { type Connectable } from "./binding.js"
-import Astal from "gi://Astal"
+import { Astal } from "./imports.js"
import { interval } from "./time.js"
import { execAsync, subprocess } from "./process.js"
diff --git a/gjs/src/widgets.ts b/gjs/src/widgets.ts
index abfbba8..ca71df1 100644
--- a/gjs/src/widgets.ts
+++ b/gjs/src/widgets.ts
@@ -1,6 +1,5 @@
/* eslint-disable max-len */
-import Gtk from "gi://Gtk"
-import Astal from "gi://Astal"
+import { Astal, Gtk } from "./imports.js"
import astalify, { type ConstructProps, type Widget } from "./astalify.js"
export { astalify }
diff --git a/gjs/tsconfig.json b/gjs/tsconfig.json
index 66d6adc..b5b6115 100644
--- a/gjs/tsconfig.json
+++ b/gjs/tsconfig.json
@@ -17,6 +17,7 @@
"include": [
"./node_modules/@girs",
"./src",
+ "./index.ts",
"./sample.js"
]
}