ayatanaindicators / ayatana-indicator-sound Goto Github PK
View Code? Open in Web Editor NEWAyatana Indicator Sound Applet
License: GNU General Public License v3.0
Ayatana Indicator Sound Applet
License: GNU General Public License v3.0
/home/ilya/.cache/yay/ayatana-indicator-sound/src/ayatana-indicator-sound/src/notification.vala:22.2-22.20: error: Creation method of abstract class cannot be public.
public Notification () {
^^^^^^^^^^^^^^^^^^^
Compilation failed: 1 error(s), 0 warning(s)
make[2]: *** [src/CMakeFiles/indicator-sound-service-lib.dir/build.make:277: src/notification.vapi] Ошибка 1
make[2]: *** Ожидание завершения заданий…
/home/ilya/.cache/yay/ayatana-indicator-sound/src/ayatana-indicator-sound/src/notification.vala:22.2-22.20: error: Creation method of abstract class cannot be public.
public Notification () {
^^^^^^^^^^^^^^^^^^^
Arch Linux, Vala 0.46.5
ayatana-indicator-sound currently ships polkit 0.105 configuration fragments
at /var/lib/polkit-1/localauthority/10-vendor.d/50-org.ayatana.AccountsService.Sound.pkla
and /var/lib/polkit-1/localauthority/10-vendor.d/50-org.ayatana.indicator.sound.AccountsService.pkla,
but does not seem to have a polkit >= 0.106 equivalent in
/usr/share/polkit-1/rules.d. This means the customizations to the default
polkit policies that are made by this package will not be taken into
account when running polkit >= 0.106.
Debian and Ubuntu are currently using polkit 0.105 with the old .pkla
rules (and an increasingly large patch series to fix 9 years' worth of
bugs and security vulnerabilities), but it has become clear that this
is not sustainable, and I'm looking at whether we can replace polkit
0.105 with version 121 or newer for Debian 12. You can try these newer
versions by installing the polkitd and polkitd-javascript packages
from experimental.
To make this transition go smoothly, packages that ship a
.pkla file should also provide an equivalent JavaScript file
/usr/share/polkit-1/rules.d/*.rules which will be used by newer versions
of polkit. Most already do, but this is one of a few that do not. It is
appropriate to contribute these .rules files upstream.
System administrators can override the rules in /usr/share/polkit-1/rules.d
by creating a file of the same name in /etc/polkit-1/rules.d, or add
local rules by creating a file with a different name in
/etc/polkit-1/rules.d.
Please don't remove the .pkla file when adding the .rules file: keep the
.pkla file in place until this transition has finished.
/usr/share/polkit-1/actions/*.policy files are not affected by this
transition: they are used by both the old and new versions of polkit.
For example, here's the .pkla file for systemd-networkd in stable, which
allows the systemd-network user to take some privileged actions:
https://sources.debian.org/src/systemd/247.3-7/src/network/systemd-networkd.pkla/
and here's the JavaScript equivalent:
https://sources.debian.org/src/systemd/247.3-7/src/network/systemd-networkd.rules/
flatpak, fwupd and network-manager have other good examples.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1015156
Currently ayatana-indicator-sound prefers non-symbolic icons. So if an icon theme has audio-volume-low-symbolic
in its symbolic
folder and audio-volume-low
in its 48/status
folder, it will choose the 48px non-symbolic icon.
Panels can be light or dark and preferring a symbolic icon would be more compatible with many themes and be much clearer and more legible with any style.
Here and here look like relevant spots where this might need to be addressed. I'm not familiar with the code so I'm not sure if changing the names would be enough or if more would need to be added (like if using non-symbolic as fallbacks or limiting the maximum size).
IMHO, we should either entirely drop org.ayatana.sound.gschema.xml and fully depend on upcoming lomiri-schemas.
Or: drop org.ayatana.sound.gschema.xml and disable all com.lomiri.sound related code in the indicator if lomiri-schemas is not available at build-time/run-time.
The interim workaround / replacement I introduced with org.ayatana.sound.gschema.xml should be dropped now and for all.
Unlike other ayatana indicators, this isn't available for Ubuntu (19.04 & 20.04). I would really like to use it with ubuntu-mate.
Please make it available on Ubuntu or at least provide a deb in release.
Thanks.
The component translation files are using ambiguous language code. These language codes indicate a macrolanguage and it is usually better to use code of individual language instead.
The following occurrences were found:
Language code Suggested individual language codes
ku ckb, kmr, sdh
Appeared 11 months ago, last seen yesterday
See https://hosted.weblate.org/projects/ayatana-indicators/sound-applet/#alerts
@tari01: Can you address this, please?
/pdk/buildsources/ayatana-indicator-sound/src/tests/media-player-user.cc:25:10: fatal error: libdbustest/dbus-test.h: No such file or directory
25 | #include <libdbustest/dbus-test.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /pdk/buildsources/ayatana-indicator-sound/src/tests/indicator-test.cc:23:
/pdk/buildsources/ayatana-indicator-sound/src/tests/indicator-fixture.h:28:10: fatal error: libdbustest/dbus-test.h: No such file or directory
28 | #include <libdbustest/dbus-test.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [tests/CMakeFiles/media-player-user-test.dir/build.make:66: tests/CMakeFiles/media-player-user-test.dir/media-player-user.cc.o] Error 1
This might actually be ayatana-ido's application menu item. Anyway, we need to restrict the icon size to menu icon size.
I was told to report the issue here from the Arch AUR. The package fails to build with the following errors:
/home/ravenghast/.cache/paru/clone/ayatana-indicator-sound/src/ayatana-indicator-sound-24.4.0/src/main.c: In function ‘on_bus_acquired’:
/home/ravenghast/.cache/paru/clone/ayatana-indicator-sound/src/ayatana-indicator-sound-24.4.0/src/main.c:68:13: error: assignment to ‘IndicatorSoundOptions *’ {aka ‘struct _IndicatorSoundOptions *’} from incompatible pointer type ‘IndicatorSoundOptionsGSettings *’ {aka ‘struct _IndicatorSoundOptionsGSettings *’} [-Wincompatible-pointer-types]
68 | options = indicator_sound_options_gsettings_new();
| ^
/home/ravenghast/.cache/paru/clone/ayatana-indicator-sound/src/ayatana-indicator-sound-24.4.0/src/main.c:71:13: error: assignment to ‘VolumeWarning *’ {aka ‘struct _VolumeWarning *’} from incompatible pointer type ‘VolumeWarningPulse *’ {aka ‘struct _VolumeWarningPulse *’} [-Wincompatible-pointer-types]
71 | warning = volume_warning_pulse_new(options, pgloop);
| ^
/home/ravenghast/.cache/paru/clone/ayatana-indicator-sound/src/ayatana-indicator-sound-24.4.0/src/main.c:73:56: error: passing argument 2 of ‘indicator_sound_service_new’ from incompatible pointer type [-Wincompatible-pointer-types]
73 | service = indicator_sound_service_new (playerlist, volume, accounts, options, warning, accounts_service_access);
| ^~~~~~
| |
| VolumeControlPulse * {aka struct _VolumeControlPulse *}
In file included from /home/ravenghast/.cache/paru/clone/ayatana-indicator-sound/src/ayatana-indicator-sound-24.4.0/src/main.c:24:
/home/ravenghast/.cache/paru/clone/ayatana-indicator-sound/src/ayatana-indicator-sound-24.4.0/build/src/indicator-sound-service.h:880:68: note: expected ‘VolumeControl *’ {aka ‘struct _VolumeControl *’} but argument is of type ‘VolumeControlPulse *’ {aka ‘struct _VolumeControlPulse *’}
880 | VolumeControl* volume,
| ~~~~~~~~~~~~~~~^~~~~~
make[2]: *** [src/CMakeFiles/indicator-sound-service-bin.dir/build.make:76: src/CMakeFiles/indicator-sound-service-bin.dir/main.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:481: src/CMakeFiles/indicator-sound-service-bin.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
error: failed to build 'ayatana-indicator-sound-24.4.0-1':
While this output is from paru, I've tried building it manually from source as well, with the exact same error output.
Integration tests are failing against pulseaudio 1.11. It seems it can't find pluseaudio on the bus. startPulseDesktop() is failing and throwing exception.
Steps to reproduce:
Expected results:
ayatana-indicator-sound shows the following interface elements - artist, song name, Previous, Play, Next control buttons as it shown on screenshot below from Ubuntu MATE 20.04 LTS:
Actual results:
ayatana-indicator-sound shows only artist and song name as shown on screenshot below from Ubuntu MATE 20.10:
Note: the same happens in the latest Ubuntu MATE 21.10 (development branch). Downstream bug report - https://pad.lv/1940716 .
If the application providing the audio settings dialog window is not installed, the -sound indicator should fallback to a zenity warning, that informs about the missing application.
The AccountsService settings infrastructure for the sound indicator is now provided by lomiri-schemas.
This project shipped data/org.ayatana.AccountsService.Sound.xml as a fall back. This should be stopped now. Either a distro has lomiri-schemas and sound implementation for accountsservice is possible or lomiri-schemas is unavailable and all accountsservice integrations are not possible in ayatana-indicator-sound.
All features of the sound indicator that depend on the accountsservice schema should be disabled if the schema com.lomiri.AccountsService.Sound is unavailable.
Is that at all feasible?
@tari01 Can you please convert the mute checkbox we see in sound indicator on MATE into a toggle switch (org.ayatana.indicator.switch)? On Lomiri, it seems the mute button is combined with the left speaker symbol next to the volume slider, so make sure that for Lomiri everything stays as it is.
Also follow Ratchanan's "new" (qmenumodel compatible) approach for toggle switches. See AyatanaIndicators/ayatana-indicator-bluetooth#40
Thanks!
IMHO, we should also drop gmenuharness now and build ayatana-indicator-sound against [1].
For CI builds, we need to pull in the UBports Git repository to make libgmenuharness available during unit tests.
The popup volume bar that used to show in MATE while using the mousewheel over the sound icon (menu title of ayatana-indicator-sound) is not showing any more. It seems to be gone since at least Ubuntu MATE 20.10, as mentioned in this related issue: mate-desktop/mate-indicator-applet#36 (comment).
An archived version of the ayatana indicators wiki mentions this as "a notification bubble showing the volume change":
https://web.archive.org/web/20210616202609/https://wiki.ayatana-indicators.org/AyatanaIndicatorSound#Title
check difference between UBports' indicator-sound and ayatana-indicator-sound (and forward-port their changes)
@tari01 The current main branch fails to CI-build, because gmenuharness needs lomiri-api as a build-dependency. This all fails on Travis CI for Ubuntu 20.04 currently.
Two strategies:
Opinions?
Background: I'm having a problem with Ubuntu's sound indicator so installed this one to try.
There is no README or instruction on how to launch the indicator.
I locked at package content and there is only one executable /usr/libexec/ayatana-indicator-sound/ayatana-indicator-sound-service
so it must be.
But it gives this:
(process:33028): ayatana-indicator-sound-WARNING **: 16:55:00.949: volume-control-pulse.vala:745: Unable to connect to dbus server at 'unix:path=/run/user/1000/pulse/dbus-socket': No se pudo conectar: No existe el archivo o el directorio
And there is no new icons appearing on the upper-right corner.
Integration tests are failing due to gicon regression in glib >= 2.58
This is same bug as Ubuntu's indicator-sound.
See https://bugs.launchpad.net/ubuntu/+source/indicator-sound/+bug/1795888
CMake Warning (dev) at /usr/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:44 (message):
qt5_use_modules is not part of the official API, and might be removed in Qt
6.
Call Stack (most recent call first):
/usr/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:431 (_qt5_warn_deprecated)
tests/dbus-types/CMakeLists.txt:56 (qt5_use_modules)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at /usr/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:44 (message):
qt5_use_modules is not part of the official API, and might be removed in Qt
6.
Call Stack (most recent call first):
/usr/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:431 (_qt5_warn_deprecated)
tests/service-mocks/media-player-mpris-mock/CMakeLists.txt:47 (qt5_use_modules)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at /usr/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:44 (message):
qt5_use_modules is not part of the official API, and might be removed in Qt
6.
Call Stack (most recent call first):
/usr/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:431 (_qt5_warn_deprecated)
tests/service-mocks/media-player-mpris-mock/CMakeLists.txt:53 (qt5_use_modules)
This warning is for project developers. Use -Wno-dev to suppress it.
The same thing was fixed in a bunch of ubports packages already, e.g. https://github.com/ubports/system-settings/pull/64/files Good as reference what to do.
When launching the MATE desktop via LightDM's default xsession, the DESKTOP_SESSION env var gets set to "lightdm-xsession". With this, the -sound indicator does not know what audio settings to launch.
It builds, integrates and works beautifully in Arch + MATE. However, there is a "Volume" menu item that does not do anything.
I have also attached a patch that adds a testing option, so it builds without tweaks:
cd ${pkgname}
patch -Np1 -i ../0001.add-testing-option.patch
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBEXECDIR=lib -DCMAKE_INSTALL_LOCALSTATEDIR=/var -Denable_tests=OFF
make DESTDIR=${pkgdir} install
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.