Waybar/resources/custom_modules/cffi_example
Crom (Thibaut CHARLES) 02c64f3f1e
Moved all waybar info into a single struct
2023-10-24 20:16:50 +02:00
..
.gitignore Added cffi/* module for third-party advanced modules 2023-10-24 20:16:50 +02:00
README.md Send update dispatcher though FFI 2023-10-24 20:16:50 +02:00
main.c Moved all waybar info into a single struct 2023-10-24 20:16:50 +02:00
meson.build Added cffi/* module for third-party advanced modules 2023-10-24 20:16:50 +02:00
waybar_cffi_module.h Moved all waybar info into a single struct 2023-10-24 20:16:50 +02:00

README.md

C FFI module

A C FFI module is a dynamic library that exposes standard C functions and constants, that Waybar can load and execute to create custom advanced widgets.

Most language can implement the required functions and constants (C, C++, Rust, Go, Python, ...), meaning you can develop custom modules using your language of choice, as long as there's GTK bindings.

Symbols to implement are documented in the waybar_cffi_module.h file.

Usage

Building this module

meson setup build
meson compile -C build

Load the module

Edit your waybar config:

{
	// ...
	"modules-center": [
		// ...
		"cffi/c_example"
	],
	// ...
	"cffi/c_example": {
		// Path to the compiled dynamic library file
		"module_path": "resources/custom_modules/cffi_example/build/wb_cffi_example.so"
	}
}