From 0274360617a23daf81fb2baf85a1bfebe2b395e8 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Tue, 11 Feb 2025 20:58:53 +1100 Subject: refactor: astal widget type There is no base type, but the return type of astalify works --- src/utils/types.ts | 3 +++ src/utils/widgets.ts | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src/utils') diff --git a/src/utils/types.ts b/src/utils/types.ts index 9a44e51..d2c1943 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -1,5 +1,8 @@ +import type { astalify } from "astal/gtk3"; import type AstalHyprland from "gi://AstalHyprland"; +export type AstalWidget = InstanceType>; + export type Address = `0x${string}`; export interface Client { diff --git a/src/utils/widgets.ts b/src/utils/widgets.ts index fe7ff3e..c6f0f19 100644 --- a/src/utils/widgets.ts +++ b/src/utils/widgets.ts @@ -1,8 +1,9 @@ import { Binding, register } from "astal"; import { Astal, astalify, Gtk, Widget, type ConstructProps } from "astal/gtk3"; import AstalHyprland from "gi://AstalHyprland"; +import type { AstalWidget } from "./types"; -export const setupCustomTooltip = (self: any, text: string | Binding) => { +export const setupCustomTooltip = (self: AstalWidget, text: string | Binding) => { if (!text) return null; const window = new Widget.Window({ @@ -27,7 +28,7 @@ export const setupCustomTooltip = (self: any, text: string | Binding) => window.marginLeft = marginLeft; }); - if (text instanceof Binding) self.hook(text, (_: any, v: string) => !v && window.hide()); + if (text instanceof Binding) self.hook(text, (_, v) => !v && window.hide()); self.connect("query-tooltip", () => { if (text instanceof Binding && !text.get()) return false; @@ -54,7 +55,7 @@ export const setupCustomTooltip = (self: any, text: string | Binding) => return window; }; -export const setupChildClickthrough = (self: any) => +export const setupChildClickthrough = (self: AstalWidget) => self.connect("size-allocate", () => self.get_window()?.set_child_input_shapes()); @register() -- cgit v1.2.3-freya