diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a1b316df..878be36d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -9,7 +9,7 @@ jobs: steps: - run: echo 'http://dl-cdn.alpinelinux.org/alpine/v3.22/community' > /etc/apk/repositories - run: echo 'http://dl-cdn.alpinelinux.org/alpine/v3.22/main' >> /etc/apk/repositories - - run: apk --no-cache add git g++ binutils pkgconf meson ninja musl-dev gtkmm4-dev vala gobject-introspection gobject-introspection-dev pulseaudio-dev libdbusmenu-glib-dev alsa-lib-dev yyjson-dev + - run: apk --no-cache add git g++ binutils pkgconf meson ninja musl-dev gtkmm4-dev vala gobject-introspection gobject-introspection-dev pulseaudio-dev wireplumber-dev libdbusmenu-glib-dev alsa-lib-dev yyjson-dev - run: echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories - run: echo 'http://dl-cdn.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories - run: apk --no-cache add wayland-protocols wayfire-dev gtk4-layer-shell-dev gtk4-layer-shell diff --git a/meson.build b/meson.build index f50bcee9..50d6dc66 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-0', fallback: ['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')) xkbregistry = dependency('xkbregistry') @@ -35,6 +36,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..23388b68 100644 --- a/metadata/panel.xml +++ b/metadata/panel.xml @@ -249,6 +249,105 @@ + <_short>Audio mixer (wireplumber) + + + + + + + + + + + + + <_short>Notifications