Add AppStream metainfo file

This file is taken from the Flathub package, as of
https://github.com/flathub/org.pulseaudio.pavucontrol/pull/31 where I
have adjusted the name & summary to conform to Flathub's rules. In
particular:

- The name must be no more than 20 characters, so I have used “Volume
  Control” to match the window title and GenericName

- The summary must be no more than 35 characters.

I noticed while preparing this patch that the Comment in the .desktop
file (which the appstream specification says is “roughly equivalent” to
the <summary>) is just “Adjust the volume level”. IMO “Adjust the volume
level” contains no more information than the name “Volume Control”.

Fixes https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/issues/127
This commit is contained in:
Will Thompson 2024-03-18 11:01:26 +00:00
parent eba9ca6898
commit be02260941
4 changed files with 81 additions and 0 deletions

View File

@ -1,3 +1,4 @@
src/org.pulseaudio.pavucontrol.appdata.xml.in
src/pavucontrol.desktop.in src/pavucontrol.desktop.in
src/pavucontrol.glade src/pavucontrol.glade
src/pavucontrol.cc src/pavucontrol.cc

View File

@ -18,6 +18,7 @@
desktopdir = $(datadir)/applications desktopdir = $(datadir)/applications
gladedir = $(pkgdatadir) gladedir = $(pkgdatadir)
localedir = $(datadir)/locale localedir = $(datadir)/locale
metainfodir = $(datadir)/metainfo
bin_PROGRAMS=pavucontrol bin_PROGRAMS=pavucontrol
glade_DATA=pavucontrol.glade glade_DATA=pavucontrol.glade
@ -27,6 +28,11 @@ desktop_DATA=$(desktop_in_files:.desktop.in=.desktop)
$(desktop_DATA): $(desktop_in_files) $(desktop_DATA): $(desktop_in_files)
$(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@ $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
metainfo_in_files=org.pulseaudio.pavucontrol.metainfo.xml.in
metainfo_DATA=$(metainfo_in_files:.metainfo.xml.in=.metainfo.xml)
$(metainfo_DATA): $(metainfo_in_files)
$(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
pavucontrol_SOURCES= \ pavucontrol_SOURCES= \
minimalstreamwidget.h minimalstreamwidget.cc \ minimalstreamwidget.h minimalstreamwidget.cc \
channelwidget.h channelwidget.cc \ channelwidget.h channelwidget.cc \

View File

@ -40,3 +40,12 @@ desktop_file = i18n.merge_file(
install : true, install : true,
install_dir : join_paths(datadir, 'applications'), install_dir : join_paths(datadir, 'applications'),
) )
appdata_file = i18n.merge_file(
input : 'org.pulseaudio.pavucontrol.metainfo.xml.in',
output : 'org.pulseaudio.pavucontrol.metainfo.xml',
po_dir : po_dir,
type : 'xml',
install : true,
install_dir : datadir / 'metainfo',
)

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2019 Endless OS Foundation LLC-->
<component type="desktop-application">
<id>org.pulseaudio.pavucontrol</id>
<translation type="gettext">pavucontrol</translation>
<launchable type="desktop-id">pavucontrol.desktop</launchable>
<name>Volume Control</name>
<summary>Adjust device and app volumes</summary>
<developer_name>The PulseAudio Developers</developer_name>
<developer id="org.pulseaudio">
<name>The PulseAudio Developers</name>
</developer>
<description>
<p>PulseAudio Volume Control (pavucontrol) is a volume control tool (“mixer”) for the PulseAudio sound server. In contrast to classic mixer tools, this one allows you to control both the volume of hardware devices and of each playback stream separately.</p>
</description>
<provides>
<id>pavucontrol.desktop</id>
</provides>
<screenshots>
<screenshot type="default">
<caption>The “Playback” tab</caption>
<image type="source" width="1600" height="900">https://freedesktop.org/software/pulseaudio/pavucontrol/screenshots/pavucontrol-playback.png</image>
</screenshot>
<screenshot>
<caption>The “Recording” tab</caption>
<image type="source" width="1600" height="900">https://freedesktop.org/software/pulseaudio/pavucontrol/screenshots/pavucontrol-record.png</image>
</screenshot>
<screenshot>
<caption>The “Output” tab</caption>
<image type="source" width="1600" height="900">https://freedesktop.org/software/pulseaudio/pavucontrol/screenshots/pavucontrol-output.png</image>
</screenshot>
<screenshot>
<caption>The “Input” tab</caption>
<image type="source" width="1600" height="900">https://freedesktop.org/software/pulseaudio/pavucontrol/screenshots/pavucontrol-input.png</image>
</screenshot>
<screenshot>
<caption>The “Configuration” tab</caption>
<image type="source" width="1600" height="900">https://freedesktop.org/software/pulseaudio/pavucontrol/screenshots/pavucontrol-config.png</image>
</screenshot>
</screenshots>
<releases>
<release version="5.0" date="2021-08-15"/>
<release version="4.0" date="2019-03-05">
<description>
<ul>
<li>There can now be only one pavucontrol window open at a time. Trying to start pavucontrol for a second time brings the first window to foreground.</li>
<li>Added a "Show volume meters" checkbox to the Configuration tab. Disabling the volume meters reduces CPU use.</li>
<li>Improve the use of space (remove useless margins and paddings).</li>
<li>Use a more appropriate icon for the channel lock button.</li>
<li>Better channel label layout, prevents volume sliders from getting unaligned.</li>
<li>Maximum latency offset increased from 2 to 5 seconds to accommodate AirPlay devices that often have higher latency than 2 seconds (this is not that useful on newer PulseAudio versions, though, because the latency is reported much more accurately than before).</li>
<li>New --version command line option.</li>
<li>New translations: Chinese (Taiwan), Croatian, Korean, Norwegian Nynorsk, Lithuanian, Valencian.</li>
<li>Updated translations: Finnish, French, German, Italian, Japanese, Polish, Swedish.</li>
</ul>
</description>
</release>
</releases>
<content_rating type="oars-1.1"/>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<url type="homepage">https://freedesktop.org/software/pulseaudio/pavucontrol/</url>
<url type="bugtracker">https://gitlab.freedesktop.org/pulseaudio/pavucontrol/issues</url>
<update_contact>https://gitlab.freedesktop.org/pulseaudio/pavucontrol/issues/new</update_contact>
</component>