unified app-id and added an appdata file
10
bin/mpdevil
@ -143,7 +143,7 @@ class MPRISInterface: # TODO emit Seeked if needed
|
|||||||
"CanRaise": (GLib.Variant("b", True), None),
|
"CanRaise": (GLib.Variant("b", True), None),
|
||||||
"HasTrackList": (GLib.Variant("b", False), None),
|
"HasTrackList": (GLib.Variant("b", False), None),
|
||||||
"Identity": (GLib.Variant("s", "mpdevil"), None),
|
"Identity": (GLib.Variant("s", "mpdevil"), None),
|
||||||
"DesktopEntry": (GLib.Variant("s", "mpdevil"), None),
|
"DesktopEntry": (GLib.Variant("s", "org.mpdevil.mpdevil"), None),
|
||||||
"SupportedUriSchemes": (GLib.Variant("s", "None"), None),
|
"SupportedUriSchemes": (GLib.Variant("s", "None"), None),
|
||||||
"SupportedMimeTypes": (GLib.Variant("s", "None"), None)},
|
"SupportedMimeTypes": (GLib.Variant("s", "None"), None)},
|
||||||
self._MPRIS_PLAYER_IFACE:
|
self._MPRIS_PLAYER_IFACE:
|
||||||
@ -706,7 +706,7 @@ class Client(MPDClient):
|
|||||||
########################
|
########################
|
||||||
|
|
||||||
class Settings(Gio.Settings):
|
class Settings(Gio.Settings):
|
||||||
BASE_KEY="org.mpdevil"
|
BASE_KEY="org.mpdevil.mpdevil"
|
||||||
# temp settings
|
# temp settings
|
||||||
mini_player=GObject.Property(type=bool, default=False)
|
mini_player=GObject.Property(type=bool, default=False)
|
||||||
cursor_watch=GObject.Property(type=bool, default=False)
|
cursor_watch=GObject.Property(type=bool, default=False)
|
||||||
@ -1342,7 +1342,7 @@ class AboutDialog(Gtk.AboutDialog):
|
|||||||
self.set_translator_credits("Martin de Reuver\nMartin Wagner")
|
self.set_translator_credits("Martin de Reuver\nMartin Wagner")
|
||||||
self.set_website("https://github.com/SoongNoonien/mpdevil")
|
self.set_website("https://github.com/SoongNoonien/mpdevil")
|
||||||
self.set_copyright("\xa9 2020 Martin Wagner")
|
self.set_copyright("\xa9 2020 Martin Wagner")
|
||||||
self.set_logo_icon_name("mpdevil")
|
self.set_logo_icon_name("org.mpdevil.mpdevil")
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
# general purpose widgets #
|
# general purpose widgets #
|
||||||
@ -3597,7 +3597,7 @@ class ConnectionNotify(Gtk.Revealer):
|
|||||||
|
|
||||||
class MainWindow(Gtk.ApplicationWindow):
|
class MainWindow(Gtk.ApplicationWindow):
|
||||||
def __init__(self, app, client, settings):
|
def __init__(self, app, client, settings):
|
||||||
super().__init__(title=("mpdevil"), icon_name="mpdevil", application=app)
|
super().__init__(title=("mpdevil"), icon_name="org.mpdevil.mpdevil", application=app)
|
||||||
Notify.init("mpdevil")
|
Notify.init("mpdevil")
|
||||||
self.set_default_size(settings.get_int("width"), settings.get_int("height"))
|
self.set_default_size(settings.get_int("width"), settings.get_int("height"))
|
||||||
if settings.get_boolean("maximize"):
|
if settings.get_boolean("maximize"):
|
||||||
@ -3862,7 +3862,7 @@ class MainWindow(Gtk.ApplicationWindow):
|
|||||||
|
|
||||||
class mpdevil(Gtk.Application):
|
class mpdevil(Gtk.Application):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, application_id="org.mpdevil", flags=Gio.ApplicationFlags.FLAGS_NONE, **kwargs)
|
super().__init__(*args, application_id="org.mpdevil.mpdevil", flags=Gio.ApplicationFlags.FLAGS_NONE, **kwargs)
|
||||||
self._settings=Settings()
|
self._settings=Settings()
|
||||||
self._client=Client(self._settings)
|
self._client=Client(self._settings)
|
||||||
self._window=None
|
self._window=None
|
||||||
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
37
data/org.mpdevil.mpdevil.appdata.xml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Copyright 2020 Martin Wagner <martin.wagner.dev@gmail.com> -->
|
||||||
|
<component type="desktop-application">
|
||||||
|
<id>org.mpdevil.mpdevil</id>
|
||||||
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
|
<project_license>GPL-3.0</project_license>
|
||||||
|
<name>mpdevil</name>
|
||||||
|
<summary>A simple music browser for MPD</summary>
|
||||||
|
<description>
|
||||||
|
<p>Mpdevil is focused on playing your local music directly instead of managing playlists or playing network streams. So it neither supports saving playlists nor restoring them. Therefore mpdevil is mainly a simple music browser which aims to be easy to use. Instead of maintaining a client side database of your music library mpdevil loads all tags and covers on demand. So you'll never see any outdated information in your browser. Mpdevil strongly relies on tags.</p>
|
||||||
|
<ul>
|
||||||
|
<li>display large covers</li>
|
||||||
|
<li>play songs without doubleclick</li>
|
||||||
|
<li>fetch lyrics</li>
|
||||||
|
<li>MPRIS interface</li>
|
||||||
|
<li>notifications on title change</li>
|
||||||
|
<li>basic queue manipulation (move and delete single tracks)</li>
|
||||||
|
<li>search songs</li>
|
||||||
|
<li>filter by genre</li>
|
||||||
|
<li>media keys support</li>
|
||||||
|
<li>many shortcuts</li>
|
||||||
|
<li>manage multiple mpd servers</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
<launchable type="desktop-id">org.mpdevil.mpdevil.desktop</launchable>
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">
|
||||||
|
<image type="source" width="1016" height="1024">https://raw.githubusercontent.com/SoongNoonien/mpdevil/v0.9.7/screenshots/mainwindow_0.9.5.png</image>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
<url type="homepage">https://github.com/SoongNoonien/mpdevil</url>
|
||||||
|
<url type="bugtracker">https://github.com/SoongNoonien/mpdevil/issues</url>
|
||||||
|
<provides>
|
||||||
|
<binary>mpdevil</binary>
|
||||||
|
</provides>
|
||||||
|
<update_contact>martin.wagner.dev@gmail.com</update_contact>
|
||||||
|
</component>
|
@ -1,4 +1,4 @@
|
|||||||
[encoding: UTF-8]
|
[encoding: UTF-8]
|
||||||
bin/mpdevil
|
bin/mpdevil
|
||||||
data/mpdevil.desktop.in
|
data/org.mpdevil.mpdevil.desktop.in
|
||||||
|
|
||||||
|
19
setup.py
@ -11,15 +11,16 @@ DistUtilsExtra.auto.setup(
|
|||||||
url="https://github.com/SoongNoonien/mpdevil",
|
url="https://github.com/SoongNoonien/mpdevil",
|
||||||
license='GPL-3.0',
|
license='GPL-3.0',
|
||||||
data_files=[
|
data_files=[
|
||||||
('share/icons/hicolor/16x16/apps/', ['data/icons/16x16/mpdevil.png']),
|
('share/metainfo/', ['data/org.mpdevil.mpdevil.appdata.xml']),
|
||||||
('share/icons/hicolor/22x22/apps/', ['data/icons/22x22/mpdevil.png']),
|
('share/icons/hicolor/16x16/apps/', ['data/icons/16x16/org.mpdevil.mpdevil.png']),
|
||||||
('share/icons/hicolor/24x24/apps/', ['data/icons/24x24/mpdevil.png']),
|
('share/icons/hicolor/22x22/apps/', ['data/icons/22x22/org.mpdevil.mpdevil.png']),
|
||||||
('share/icons/hicolor/32x32/apps/', ['data/icons/32x32/mpdevil.png']),
|
('share/icons/hicolor/24x24/apps/', ['data/icons/24x24/org.mpdevil.mpdevil.png']),
|
||||||
('share/icons/hicolor/48x48/apps/', ['data/icons/48x48/mpdevil.png']),
|
('share/icons/hicolor/32x32/apps/', ['data/icons/32x32/org.mpdevil.mpdevil.png']),
|
||||||
('share/icons/hicolor/64x64/apps/', ['data/icons/64x64/mpdevil.png']),
|
('share/icons/hicolor/48x48/apps/', ['data/icons/48x48/org.mpdevil.mpdevil.png']),
|
||||||
('share/icons/hicolor/128x128/apps/', ['data/icons/128x128/mpdevil.png']),
|
('share/icons/hicolor/64x64/apps/', ['data/icons/64x64/org.mpdevil.mpdevil.png']),
|
||||||
('share/icons/hicolor/256x256/apps/', ['data/icons/256x256/mpdevil.png']),
|
('share/icons/hicolor/128x128/apps/', ['data/icons/128x128/org.mpdevil.mpdevil.png']),
|
||||||
('share/icons/hicolor/scalable/apps/', ['data/icons/scalable/mpdevil.svg'])
|
('share/icons/hicolor/256x256/apps/', ['data/icons/256x256/org.mpdevil.mpdevil.png']),
|
||||||
|
('share/icons/hicolor/scalable/apps/', ['data/icons/scalable/org.mpdevil.mpdevil.svg'])
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|