get renderers
parent
745db6b657
commit
0e6ec218a6
|
@ -1,11 +1,23 @@
|
||||||
USING: kernel destructors ;
|
USING: kernel destructors alien.c-types alien.data strings sequences ;
|
||||||
USING: bemenu.ffi ;
|
USING: bemenu.ffi ;
|
||||||
|
|
||||||
IN: bemenu
|
IN: bemenu
|
||||||
|
|
||||||
|
TUPLE: bemenu-renderer
|
||||||
|
ptr name priority ;
|
||||||
|
|
||||||
: get-text ( -- str )
|
: get-text ( -- str )
|
||||||
[
|
[
|
||||||
f bm_menu_new &bm_menu_free
|
f bm_menu_new &bm_menu_free
|
||||||
bm_menu_render
|
bm_menu_render
|
||||||
"hi"
|
"hi"
|
||||||
] with-destructors ;
|
] with-destructors ;
|
||||||
|
|
||||||
|
: 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 ;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
USING: kernel system combinators alien alien.destructors alien.libraries alien.syntax alien.c-types specialized-arrays ;
|
USING: kernel system combinators alien alien.destructors alien.libraries alien.syntax alien.c-types ;
|
||||||
|
|
||||||
IN: bemenu.ffi
|
IN: bemenu.ffi
|
||||||
|
|
||||||
<< "bemenu" {
|
<< "bemenu" {
|
||||||
|
@ -8,6 +7,7 @@ IN: bemenu.ffi
|
||||||
|
|
||||||
LIBRARY: bemenu
|
LIBRARY: bemenu
|
||||||
|
|
||||||
|
|
||||||
C-TYPE: bm_renderer
|
C-TYPE: bm_renderer
|
||||||
C-TYPE: bm_menu
|
C-TYPE: bm_menu
|
||||||
C-TYPE: bm_item
|
C-TYPE: bm_item
|
||||||
|
@ -18,7 +18,7 @@ C-TYPE: bm_item
|
||||||
! and directory containing renderers with BEMENU_RENDERERS env variable.
|
! and directory containing renderers with BEMENU_RENDERERS env variable.
|
||||||
!
|
!
|
||||||
! @return true on success, false on failure.
|
! @return true on success, false on failure.
|
||||||
FUNCTION: bool bm_init ( )
|
FUNCTION-ALIAS: bemenu-init bool bm_init ( )
|
||||||
|
|
||||||
! Get list of available renderers.
|
! Get list of available renderers.
|
||||||
!
|
!
|
||||||
|
@ -31,9 +31,9 @@ FUNCTION: bm_renderer** bm_get_renderers ( uint32_t *out_nmemb )
|
||||||
! @see @link http://semver.org/ Semantic Versioning @endlink
|
! @see @link http://semver.org/ Semantic Versioning @endlink
|
||||||
!
|
!
|
||||||
! @return Null terminated C "string" to version string.
|
! @return Null terminated C "string" to version string.
|
||||||
FUNCTION: c-string bm_version ( )
|
FUNCTION-ALIAS: bemenu-version c-string bm_version ( )
|
||||||
|
|
||||||
ENUM: bm_priority
|
ENUM: bm_priorty
|
||||||
! renderer runs in terminal
|
! renderer runs in terminal
|
||||||
BM_PRIO_TERMINAL
|
BM_PRIO_TERMINAL
|
||||||
! renderer runs in GUI
|
! renderer runs in GUI
|
||||||
|
@ -49,7 +49,7 @@ FUNCTION: c-string bm_renderer_get_name ( bm_renderer* renderer )
|
||||||
!
|
!
|
||||||
! @param renderer bm_renderer instance.
|
! @param renderer bm_renderer instance.
|
||||||
! @return bm_priorty enum value.
|
! @return bm_priorty enum value.
|
||||||
FUNCTION: bm_priority bm_renderer_get_priority ( bm_renderer* renderer )
|
FUNCTION: bm_priorty bm_renderer_get_priorty ( bm_renderer* renderer )
|
||||||
|
|
||||||
ENUM: bm_filter_mode
|
ENUM: bm_filter_mode
|
||||||
BM_FILTER_MODE_DMENU
|
BM_FILTER_MODE_DMENU
|
||||||
|
|
Loading…
Reference in New Issue