The functions documented here are used for building custom widgets with more power and flexibility than
previously allowed. They are defined in wofi_widget_builder_api.h
structwidget_builder*wofi_widget_builder_init(structmode*mode,size_tactions)
Creates multiple widget builders. The number of builders created is specified by actions and is
returned as an array.
structmode*mode - The structmode* given to your mode's init() function.
size_tactions - The number of builders to create
voidwofi_widget_builder_set_search_text(structwidget_builder*builder,char*search_text)
Sets the search text for the widget specified by the builder
structwidget_builder*builder - The builder that contains the widget to set the search text for
char*search_text - The text to set as the search text
voidwofi_widget_builder_set_action(structwidget_builder*builder,char*action)
Sets the action for the widget specified by the builder
structwidget_builder*builder - The builder that contains the widget to set the action for
char*action - The text to set as the action
voidwofi_widget_builder_insert_text(structwidget_builder*builder,char*text,...)
Inserts text into the widget specified by the builder
structwidget_builder*builder - The builder that contains the widget to add the text to
char*text - The text to add to the widget
... - The names of the CSS classes for this text. The class that will be assigned is .mode_name-
css_name where mode_name is the name of the mode, i.e. drun etc. This should have a NULL sentinel
voidwofi_widget_builder_insert_text_with_list(structwidget_builder*builder,char*text,structwl_list*classes)
Inserts text into the widget specified by the builder
structwidget_builder*builder - The builder that contains the widget to add the text to
char*text - The text to add to the widget
structwl_list*classes - The names of the CSS classes for this text. The class that will be
assigned is .mode_name-css_name where mode_name is the name of the mode, i.e. drun etc. This list
should contain struct css_class nodes.
voidwofi_widget_builder_insert_image(structwidget_builder*builder,GdkPixbuf*pixbuf,...)
Inserts an image into the widget specified by the builder
structwidget_builder*builder - The builder that contains the widget to add the image to
GdkPixbuf*pixbuf - The image to add to the widget
... - The names of the CSS classes for this image. The class that will be assigned is .mode_name-
css_name where mode_name is the name of the mode, i.e. drun etc. This should have a NULL sentinel
voidwofi_widget_builder_insert_image_with_list(structwidget_builder*builder,GdkPixbuf*pixbuf,structwl_list*classes)
Inserts an image into the widget specified by the builder
structwidget_builder*builder - The builder that contains the widget to add the image to
GdkPixbuf*pixbuf - The image to add to the widget
structwl_list*classes - The names of the CSS classes for this image. The class that will be
assigned is .mode_name-css_name where mode_name is the name of the mode, i.e. drun etc. This list
should contain struct css_class nodes.
structwidget_builder*wofi_widget_builder_get_idx(structwidget_builder*builder,size_tidx)
Gets the widget_builder at the provided index in the array
structwidget_builder*builder - The array of builders to get the builder from
size_tidx - The index in the array to get
structwidget*wofi_widget_builder_get_widget(structwidget_builder*builder)
Constructs a new widget from the specified builder, the widget can be returned by structwidget*get_widget(void)structwidget_builder*builder - The builder to construct a widget for
voidwofi_widget_builder_free(structwidget_builder*builder)
Frees the specified builder
structwidget_builder*builder - The builder to free
wofi-widget-builder(3)