factor-work/bemenu/bemenu.factor

24 lines
536 B
Factor
Raw Normal View History

2021-08-09 15:15:25 -04:00
USING: kernel destructors alien.c-types alien.data strings sequences ;
2021-08-09 11:46:01 -04:00
USING: bemenu.ffi ;
IN: bemenu
2021-08-09 15:15:25 -04:00
TUPLE: bemenu-renderer
ptr name priority ;
2021-08-09 11:46:01 -04:00
: get-text ( -- str )
[
f bm_menu_new &bm_menu_free
bm_menu_render
"hi"
] with-destructors ;
2021-08-09 15:15:25 -04:00
: bm-get-renderers ( -- renderers )
0 uint32_t <ref> [ bm_get_renderers ] keep uint32_t deref void* <c-direct-array>
[
dup
[ bm_renderer_get_name ]
[ bm_renderer_get_priorty ] bi
bemenu-renderer boa
] { } map-as ;