diff options
author | Aylur <[email protected]> | 2024-11-08 21:23:07 +0000 |
---|---|---|
committer | Aylur <[email protected]> | 2024-11-08 21:23:07 +0000 |
commit | 302fcae7ae0b58767518e6003d0a80966d7ca4bb (patch) | |
tree | 0c42ace859db1fbe4bca928389ac17406fbe74b4 /examples | |
parent | 48b6b0742fb21a298985dc6c86605099e6d5abd1 (diff) |
example(applauncher): hide on app launch
Diffstat (limited to 'examples')
-rw-r--r-- | examples/js/applauncher/widget/Applauncher.tsx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/examples/js/applauncher/widget/Applauncher.tsx b/examples/js/applauncher/widget/Applauncher.tsx index f52780b..c7bac68 100644 --- a/examples/js/applauncher/widget/Applauncher.tsx +++ b/examples/js/applauncher/widget/Applauncher.tsx @@ -4,8 +4,14 @@ import { Variable } from "astal" const MAX_ITEMS = 8 +function hide() { + App.get_window("launcher")!.hide() +} + function AppButton({ app }: { app: Apps.Application }) { - return <button className="AppButton" onClicked={() => app.launch()}> + return <button + className="AppButton" + onClicked={() => { hide(); app.launch() }}> <box> <icon icon={app.iconName} /> <box valign={Gtk.Align.CENTER} vertical> @@ -32,7 +38,10 @@ export default function Applauncher() { const text = Variable("") const list = text(text => apps.fuzzy_query(text).slice(0, MAX_ITEMS)) - const hide = () => App.get_window("launcher")!.hide() + const onEnter = () => { + apps.fuzzy_query(text.get())?.[0].launch() + hide() + } return <window name="launcher" @@ -54,6 +63,7 @@ export default function Applauncher() { placeholderText="Search" text={text()} onChanged={self => text.set(self.text)} + onActivate={onEnter} /> <box spacing={6} vertical> {list.as(list => list.map(app => ( |