summaryrefslogtreecommitdiff
path: root/core/gjs/src
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-09-11 22:39:15 +0000
committerAylur <[email protected]>2024-09-11 22:39:15 +0000
commitd203255ec20bb6e3b2917dd4aee53dee3a090137 (patch)
tree40d8211a238629a99d3588c0d06215d53135fc3d /core/gjs/src
parent137345755c1c02d4766f1788198096013df9080c (diff)
add: stack widget
Diffstat (limited to 'core/gjs/src')
-rw-r--r--core/gjs/src/astalify.ts6
-rw-r--r--core/gjs/src/jsx/jsx-runtime.ts2
-rw-r--r--core/gjs/src/widgets.ts5
3 files changed, 10 insertions, 3 deletions
diff --git a/core/gjs/src/astalify.ts b/core/gjs/src/astalify.ts
index be395ee..612239e 100644
--- a/core/gjs/src/astalify.ts
+++ b/core/gjs/src/astalify.ts
@@ -20,11 +20,15 @@ function setChildren(parent: Gtk.Widget, children: Gtk.Widget[]) {
parent.remove(ch)
}
- // FIXME: add rest of the edge cases like Stack
+ // TODO: add more container types
if (parent instanceof Astal.Box) {
parent.set_children(children)
}
+ else if (parent instanceof Astal.Stack) {
+ parent.set_children(children)
+ }
+
else if (parent instanceof Astal.CenterBox) {
parent.startWidget = children[0]
parent.centerWidget = children[1]
diff --git a/core/gjs/src/jsx/jsx-runtime.ts b/core/gjs/src/jsx/jsx-runtime.ts
index 02fd39d..73aaf63 100644
--- a/core/gjs/src/jsx/jsx-runtime.ts
+++ b/core/gjs/src/jsx/jsx-runtime.ts
@@ -49,7 +49,7 @@ const ctors = {
revealer: Widget.Revealer,
scrollable: Widget.Scrollable,
slider: Widget.Slider,
- // TODO: stack
+ stack: Widget.Stack,
switch: Widget.Switch,
window: Widget.Window,
}
diff --git a/core/gjs/src/widgets.ts b/core/gjs/src/widgets.ts
index 0a71d8b..82d3b8f 100644
--- a/core/gjs/src/widgets.ts
+++ b/core/gjs/src/widgets.ts
@@ -100,7 +100,10 @@ export type SliderProps = ConstructProps<Astal.Slider, Astal.Slider.ConstructorP
onDragged: []
}>
-// TODO: Stack
+// Stack
+export type Stack = Widget<Astal.Stack>
+export const Stack = astalify<typeof Astal.Stack, StackProps, "Stack">(Astal.Stack)
+export type StackProps = ConstructProps<Astal.Stack, Astal.Stack.ConstructorProps>
// Switch
export type Switch = Widget<Gtk.Switch>