wofi − Widget builder API functions
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
struct widget_builder* wofi_widget_builder_init(struct mode*
mode,
size_t actions)
Creates multiple widget builders. The number of builders created is specified by actions and is returned as an array.
struct mode* mode − The struct mode* given to your mode’s init() function.
size_t actions − The number of builders to create
void
wofi_widget_builder_set_search_text(struct widget_builder*
builder, char* search_text)
Sets the search text for the widget specified by the builder
struct widget_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
void
wofi_widget_builder_set_action(struct widget_builder*
builder,
char* action)
Sets the action for the widget specified by the builder
struct widget_builder* builder − The builder that contains the widget to set the action for
char* action − The text to set as the action
void
wofi_widget_builder_insert_text(struct widget_builder*
builder,
char* text, ...)
Inserts text into the widget specified by the builder
struct widget_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
void
wofi_widget_builder_insert_text_with_list(struct
widget_builder*
builder, char* text, struct wl_list* classes)
Inserts text into the widget specified by the builder
struct widget_builder* builder − The builder that contains the widget to add the text to
char* text − The text to add to the widget
struct wl_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.
void
wofi_widget_builder_insert_image(struct widget_builder*
builder,
GdkPixbuf* pixbuf, ...)
Inserts an image into the widget specified by the builder
struct widget_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
void
wofi_widget_builder_insert_image_with_list(struct
widget_builder*
builder, GdkPixbuf* pixbuf, struct wl_list* classes)
Inserts an image into the widget specified by the builder
struct widget_builder* builder − The builder that contains the widget to add the image to
GdkPixbuf* pixbuf − The image to add to the widget
struct wl_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.
struct widget_builder*
wofi_widget_builder_get_idx(struct
widget_builder* builder, size_t idx)
Gets the widget_builder at the provided index in the array
struct widget_builder* builder − The array of builders to get the builder from
size_t idx − The index in the array to get
struct widget*
wofi_widget_builder_get_widget(struct widget_builder*
builder)
Constructs a new widget from the specified builder, the widget can be returned by struct widget* get_widget(void)
struct widget_builder* builder − The builder to construct a widget for
void wofi_widget_builder_free(struct widget_builder* builder)
Frees the specified builder
struct widget_builder* builder − The builder to free