- Modularize Hyprland config into hyprland.d/ - Implement infinitely scalable monitor/workspace logic using templates and loop-based data structures - Consolidate host-specific configs (hyprlock, hyprpaper, waybar) into single templates - Resolve waybar symlink conflict and fix template execution errors - Integrate chezmoi data variables for scale, resolution, and peripherals
1.9 KiB
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
-
waylyrics - Module to display sync lyrics current line of in spotify.
-
libwaybar_cffi_lyrics , 一个歌词显示插件,支持 musicfox 和支持mpris协议的播放器。
If you develop your own module, please add it here.