I wander how to disable event sounds in kde5 Plasma (the one that is heard when scrolling the volume in systray for example).
I use Plasma in Opensuse 13.2 but this is KDE specific methinks.
UPDATE
These are the available settings (after answer):
audiokde5notificationsplasma5
I wander how to disable event sounds in kde5 Plasma (the one that is heard when scrolling the volume in systray for example).
I use Plasma in Opensuse 13.2 but this is KDE specific methinks.
UPDATE
These are the available settings (after answer):
I know your pain, this has been annoying me for months now.
The only way to fix the desktop I've found is brute force, I made a shortcut to do this and run it every time I resume from standby:
killall plasmashell; kstart plasmashell
EDIT: 2020/10/6 - this bug has since been fixed, but for reference: restart command for plasma 5.18.5 is now:
kstart5 plasmashell -- --replace
I had some hope after the recent 5.10.3 plasma update as it was supposed to be fixed https://bugs.kde.org/show_bug.cgi?id=344326 https://www.phoronix.com/scan.php?page=news_item&px=KDE-Plasma-5.10.3-Released , but it didn't fix the issue for me.
I'm going to follow up on that bug report with a link to this post so also attaching an image of the bug on my system here.
(EDIT: found the actual bug report for Plasma https://bugs.kde.org/show_bug.cgi?id=382115)
(EDIT2: found the bug report for QT: https://bugreports.qt.io/browse/QTBUG-56610 and NVidia forum thread https://devtalk.nvidia.com/default/topic/971972/linux/icon-text-label-corruption-with-kde-plasma-5-desktop-folder-view/)
$ cat /etc/issue
Ubuntu 17.04 \n \l
$ uname -a
Linux desktop 4.10.0-26-generic #30-Ubuntu SMP Tue Jun 27 09:30:12 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ plasmashell --version
plasmashell 5.10.3
It took me half a day to (almost) fully investigate this, but I think I found how to do it, and you’re not gonna like it …
KDE just uses QT’s QLocale
. Which itself uses hard-coded data inside qlocale_data_p.h
, deep in QT’s core library code.
This data is apparently manually generated from the Unicode Consortium’s “Common Locale Data Repository”, using several Python scripts inside util/local_database/
of the QT source code package. Which itself is not even part of the source code, I am certain. Let alone, using any kind of configuration or data files on your computer.
common/main/
.app-i18n/unicode-cldr
btw.util/local_database/
(like cldr2qlocalexml.py
and qlocalexml2cpp.py
), with your language of choice’s XML file, to re-generate the static qlocale_data_p.h
.And don’t forget to recompile all other packages that include qlocale_data_p.h
.
ebuild $(equery w dev-qt/qtcore:5) prepare
pushd /var/tmp/portage/dev-qt/qtcore-5*/work/ # assuming default Portage build directory
mv qtbase-opensource-src-5.9.3 a
cp -a a b
NOW make the above changes in b
, and not in a
.
mkdir -p /etc/portage/patches/dev-qt/$(basename $(dirname $(pwd))) # only for this version
#mkdir -p /etc/portage/patches/dev-qt/qtcore # for all versions
diff -ur a b > /etc/portage/patches/dev-qt/qtcore*/my-locale.patch
rm -rf a b
popd
ebuild $(equery w dev-qt/qtcore:5) clean
# Rebuild all packages that depend on it, just to be sure. May be optional.
emerge -1 dev-qt/qtcore:5 $(equery d dev-qt/qtcore:5 | sed 's/^/=/')
To be perfectly frank, I didn’t check if those Python scripts actually worked by just passing an XML file. As, at that point, I just stopped bothering, and wanted to kill it with fire. :)
If anyone wants to actually do it in practice, please report, and I will update this answer. (Or do it yourself, if you can)
htop
I found the most recently started processes, which included the obvious kcmshell5 formats
.htop
’s l
ist open files feature on it, I filtered for “format”, and found /usr/lib64/qt5/plugins/kcm_formats.so
.equery belongs /usr/lib64/qt5/plugins/kcm_formats.so
I could identify the package kde-plasma/plasma-desktop
.kcms/formats/kcmformats.cpp
, whose addLocaleToCombo
used the QLocale
, and included <QLocale>
too.QLocale
could then be found with locate -i QLocale
to reside at /usr/include/qt[5]/QtCore/qlocale.h
. It included some generated enumerations of the languages, scripts, etc.equery belongs /usr/include/qt[5]/QtCore/qlocale.h
pointing me to dev-qt/qtcore/qtcore
, and unpacking the source file later…util/
and found util/local_database/README
stating “local_database is used to generate qlocale data from the Common Locale Data Repository (The database for localized names (like date formats, country names etc)).”.cldr2qlocalexml.py
was not very useful though, as it is called with the path to a directory containing the CLDR locales. Its result is used for qlocalexml2cpp.py
though, which generates the file src/corelib/tools/qlocale_data_p.h
, which includes huge hard-coded tables of all the locale data. And that file already existed in the source. So… yep, it’s (partially?) hard-coded.qlocale_data_p.h
. Which is not very in the spirit of open source. But at least you can do it yourself, as described above.
Best Answer
In recent Plasma 5, search "Audio Volume" in the application launcher and, under 'Applications' tab, disable 'Notification Sounds'.
In some Plasma versions the above doesn't work, as I now see in Kubuntu 17.10. The Audio Volume tool looks different and notifications sounds is already muted.
To stop the volume scrolling sound etc in this case, I have unmuted, and moved the slider to zero, and muted again. Something is buggy here though, as the slider is in fact always stuck to zero, and only the mute/unmute button does the work.
In this case I have noticed that a different tool can be used:
pavucontrol-qt
:After using this, the bug mentioned (slider stuck to zero in "Audio Volume") disappeared.