Skip to content
Alexis Rouillard edited this page Dec 18, 2023 · 1 revision

The cffi module gives full control of a GTK widget to a third-party dynamic library, to create more complex modules using different programming languages.

Config

Addressed by cffi/<name>

option typeof default description
module_path string The path to the dynamic library to load to control the widget.

Some additional configuration may be required depending on the cffi dynamic library being used.

Style

The classes and IDs are managed by the cffi dynamic library.

Examples:

C example:

~/.config/waybar/config

"cffi/c_example": {
    "module_path": ".config/waybar/cffi/wb_cffi_example.so"
}

Developing new CFFI modules

CFFI modules require a handful of functions and constants to be defined with C linkage. The method to achieve this depends on the programming language being used (search for FFI / Foreign Function Interface).

An example written in C can be found in resources/custom_modules/cffi_example/

The list of symbols to define can be found in resources/custom_modules/cffi_example/waybar_cffi_module.h

Known CFFI modules

No existing modules yet. If you develop your own module, please add it here.

Clone this wiki locally