import Apps from "gi://AstalApps" import { App, Astal, Gdk, Gtk } from "astal/gtk3" import { Variable } from "astal" const MAX_ITEMS = 8 function AppButton({ app }: { app: Apps.Application }) { return } export default function Applauncher() { const apps = new Apps.Apps() const list = Variable(apps.get_list().slice(0, MAX_ITEMS)) const hide = () => App.get_window("launcher")!.hide() function search(text: string) { list.set(apps.fuzzy_query(text).slice(0, MAX_ITEMS)) } return list.set(apps.get_list().slice(0, MAX_ITEMS))} onKeyPressEvent={function (self, event: Gdk.Event) { if (event.get_keyval()[1] === Gdk.KEY_Escape) self.hide() }}> search(text)} /> {list(list => list.map(app => ( )))} l.length === 0)}> No match found }