diff --git a/meson.build b/meson.build
index d026d85d..0aedd442 100644
--- a/meson.build
+++ b/meson.build
@@ -21,6 +21,7 @@ wfconfig = dependency('wf-config', version: '>=0.7.0') #TODO fallback submodule
epoxy = dependency('epoxy')
gtklayershell = dependency('gtk4-layer-shell')
libpulse = dependency('libpulse', required: get_option('pulse'))
+wireplumber = dependency('wireplumber-0.5', required: get_option('wireplumber'))
dbusmenu_gtk = dependency('dbusmenu-glib-0.4')
libgvc = subproject('gvc', default_options: ['static=true'], required: get_option('pulse'))
@@ -33,6 +34,10 @@ if libpulse.found()
add_project_arguments('-DHAVE_PULSE=1', language: 'cpp')
endif
+if wireplumber.found()
+ add_project_arguments('-DHAVE_WIREPLUMBER=1', language: 'cpp')
+endif
+
needs_libinotify = ['freebsd', 'dragonfly'].contains(host_machine.system())
libinotify = dependency('libinotify', required: needs_libinotify)
diff --git a/meson_options.txt b/meson_options.txt
index aca93f47..8ecd76c0 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -4,9 +4,15 @@ option(
value: 'auto',
description: 'Build pulseaudio volume widget',
)
+option(
+ 'wireplumber',
+ type: 'feature',
+ value: 'auto',
+ description: 'Build wireplumber and mixer widget',
+)
option(
'wayland-logout',
type: 'boolean',
value: true,
description: 'Install wayland-logout',
-)
\ No newline at end of file
+)
diff --git a/metadata/panel.xml b/metadata/panel.xml
index bfe391f0..57e8c14e 100644
--- a/metadata/panel.xml
+++ b/metadata/panel.xml
@@ -249,6 +249,94 @@
+ <_short>Wireplumber mixer
+
+
+
+
+
+
+
+
+
+
<_short>Notifications