(deflisten applist :initial '[{"name":"true"}]' `./listapps.py query`) (defwindow applauncher :monitor 0 :geometry (geometry :x "50%" :y "50%" :width "500px" :height "400px" :anchor "center center") :stacking "fg" :exclusive false :focusable true (eventbox :onhoverlost `${EWW_CMD} close applauncher` (box :orientation "v" :space-evenly false :class "applauncher" (input :onchange `./listapps.py query {}` :onaccept `./listapps.py run ${applist[0].name} & ${EWW_CMD} close applauncher` :class "app-input") (scroll :class "applist" :vexpand true :vscroll true :hscroll false (box :orientation "v" :space-evenly false (for appdata in applist (app :appdata appdata))))))) (defwidget app [appdata] (button :onclick `./listapps.py run ${appdata.name} & ${EWW_CMD} close applauncher` :halign "start" :hexpand true :class "app" (box :orientation "h" :hexpand true (label :text {appdata.name}))))