USING: kernel destructors alien.c-types alien.data strings sequences ; USING: bemenu.ffi ; IN: bemenu TUPLE: bemenu-renderer ptr name priority ; : get-text ( -- str ) [ f bm_menu_new &bm_menu_free bm_menu_render "hi" ] with-destructors ; : bm-get-renderers ( -- renderers ) 0 uint32_t [ bm_get_renderers ] keep uint32_t deref void* [ dup [ bm_renderer_get_name ] [ bm_renderer_get_priorty ] bi bemenu-renderer boa ] { } map-as ;