diff --git a/meson.build b/meson.build index 6bf4e21..fb71480 100644 --- a/meson.build +++ b/meson.build @@ -141,6 +141,7 @@ yambar = executable( plugin_dwl_enabled ? '-DPLUGIN_ENABLED_DWL' : [], plugin_mem_enabled ? '-DPLUGIN_ENABLED_MEM' : [], plugin_mpd_enabled ? '-DPLUGIN_ENABLED_MPD' : [], + plugin_i3_enabled ? '-DPLUGIN_ENABLED_I3' : [], plugin_pipewire_enabled ? '-DPLUGIN_ENABLED_PIPEWIRE' : [], plugin_pulse_enabled ? '-DPLUGIN_ENABLED_PULSE' : [], ], @@ -190,6 +191,7 @@ summary( 'DWL (dwm for Wayland)': plugin_dwl_enabled, 'Memory monitoring': plugin_mem_enabled, 'Music Player Daemon (MPD)': plugin_mpd_enabled, + 'i3+Sway': plugin_i3_enabled, 'Pipewire': plugin_pipewire_enabled, 'PulseAudio': plugin_pulse_enabled, }, diff --git a/meson_options.txt b/meson_options.txt index 4c287ab..abe233a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -24,6 +24,8 @@ option('plugin-mem', type: 'feature', value: 'auto', description: 'Memory monitoring support') option('plugin-mpd', type: 'feature', value: 'auto', description: 'Music Player Daemon (MPD) support') +option('plugin-i3', type: 'feature', value: 'auto', + description: 'i3+Sway support') option('plugin-pipewire', type: 'feature', value: 'auto', description: 'Pipewire support') option('plugin-pulse', type: 'feature', value: 'auto', diff --git a/modules/meson.build b/modules/meson.build index c9d4aa3..91babbb 100644 --- a/modules/meson.build +++ b/modules/meson.build @@ -24,6 +24,9 @@ plugin_mem_enabled = get_option('plugin-mem').allowed() mpd = dependency('libmpdclient', required: get_option('plugin-mpd')) plugin_mpd_enabled = mpd.found() +json_i3 = dependency('json-c', required: get_option('plugin-i3')) +plugin_i3_enabled = json_i3.found() + pipewire = dependency('libpipewire-0.3', required: get_option('plugin-pipewire')) plugin_pipewire_enabled = pipewire.found() @@ -34,7 +37,6 @@ plugin_dwl_enabled = get_option('plugin-dwl').allowed() # Module name -> (source-list, dep-list) mod_data = { - 'i3': [['i3-common.c', 'i3-common.h'], [dynlist, json]], 'label': [[], []], 'network': [[], []], 'removables': [[], [dynlist, udev]], @@ -77,6 +79,11 @@ endif if plugin_mpd_enabled mod_data += {'mpd': [[], [mpd]]} endif + +if plugin_i3_enabled + mod_data += {'i3': [['i3-common.c', 'i3-common.h'], [dynlist, json_i3]]} +endif + if plugin_pipewire_enabled mod_data += {'pipewire': [[], [pipewire, dynlist, json]]} endif diff --git a/plugin.c b/plugin.c index f61a334..eda9cf2 100644 --- a/plugin.c +++ b/plugin.c @@ -54,7 +54,6 @@ EXTERN_MODULE(disk_io); EXTERN_MODULE(dwl); #endif EXTERN_MODULE(foreign_toplevel); -EXTERN_MODULE(i3); EXTERN_MODULE(label); #if defined(PLUGIN_ENABLED_MEM) EXTERN_MODULE(mem); @@ -62,6 +61,9 @@ EXTERN_MODULE(mem); #if defined(PLUGIN_ENABLED_MPD) EXTERN_MODULE(mpd); #endif +#if defined(PLUGIN_ENABLED_I3) +EXTERN_MODULE(i3); +#endif EXTERN_MODULE(network); #if defined(PLUGIN_ENABLED_PULSE) EXTERN_MODULE(pulse); @@ -162,13 +164,15 @@ init(void) #if defined(HAVE_PLUGIN_foreign_toplevel) REGISTER_CORE_MODULE(foreign-toplevel, foreign_toplevel); #endif - REGISTER_CORE_MODULE(i3, i3); REGISTER_CORE_MODULE(label, label); #if defined(PLUGIN_ENABLED_MEM) REGISTER_CORE_MODULE(mem, mem); #endif #if defined(PLUGIN_ENABLED_MPD) REGISTER_CORE_MODULE(mpd, mpd); +#endif +#if defined(PLUGIN_ENABLED_I3) + REGISTER_CORE_MODULE(i3, i3); #endif REGISTER_CORE_MODULE(network, network); #if defined(PLUGIN_ENABLED_PULSE)