diff --git a/plinth/modules/deluge/manifest.py b/plinth/modules/deluge/manifest.py
index e4542302c..16083f254 100644
--- a/plinth/modules/deluge/manifest.py
+++ b/plinth/modules/deluge/manifest.py
@@ -20,16 +20,10 @@ from django.utils.translation import ugettext_lazy as _
from plinth.clients import validate
clients = validate([{
- 'name':
- _('Deluge'),
- 'description':
- _('Bittorrent client written in Python/PyGTK'),
+ 'name': _('Deluge'),
+ 'description': _('Bittorrent client written in Python/PyGTK'),
'platforms': [{
'type': 'web',
'url': '/deluge'
- }, {
- 'type': 'package',
- 'format': 'deb',
- 'name': 'deluge',
}]
}])
diff --git a/plinth/modules/ejabberd/manifest.py b/plinth/modules/ejabberd/manifest.py
index 6435b1e82..bb6188e9c 100644
--- a/plinth/modules/ejabberd/manifest.py
+++ b/plinth/modules/ejabberd/manifest.py
@@ -17,30 +17,54 @@
from django.utils.translation import ugettext_lazy as _
-from plinth.modules.jsxc import manifest as jsxc_manifest
from plinth.clients import store_url, validate
+from plinth.modules.jsxc import manifest as jsxc_manifest
_clients = validate([{
'name':
- _('yaxim'),
+ _('Conversations'),
'platforms': [{
+ 'type': 'store',
+ 'os': 'android',
+ 'store_name': 'f-droid',
+ 'url': store_url('f-droid', 'eu.siacs.conversations')
+ }, {
+ 'type': 'store',
+ 'os': 'android',
+ 'store_name': 'google-play',
+ 'url': store_url('google-play', 'eu.siacs.conversations')
+ }]
+}, {
+ 'name':
+ _('Xabber'),
+ 'description':
+ _('Open source Jabber (XMPP) client with multi-account support '
+ 'and clean and simple interface. '),
+ 'platforms': [{
+ 'type': 'store',
+ 'os': 'android',
+ 'store_name': 'f-droid',
+ 'url': store_url('f-droid', 'com.xabber.androiddev')
+ }, {
+ 'type': 'store',
+ 'os': 'android',
+ 'store_name': 'google-play',
+ 'url': store_url('google-play', 'com.xabber.android')
+ }]
+}, {
+ 'name':
+ _('Yaxim'),
+ 'platforms': [{
+ 'type': 'store',
+ 'os': 'android',
+ 'store_name': 'f-droid',
+ 'url': store_url('f-droid', 'org.yaxim.androidclient'),
+ }, {
'type': 'store',
'os': 'android',
'store_name': 'google-play',
'url': store_url('google-play', 'org.yaxim.androidclient'),
}]
-}, {
- 'name':
- _('Bruno'),
- 'description':
- _('Bruno is a themed version of the open source '
- 'yaxim app.'),
- 'platforms': [{
- 'type': 'store',
- 'os': 'android',
- 'store_name': 'google-play',
- 'url': store_url('google-play', 'org.yaxim.bruno')
- }]
}, {
'name':
_('ChatSecure'),
@@ -59,15 +83,6 @@ _clients = validate([{
'url': 'https://itunes.apple.com/us/app/chatsecure'
'/id464200063'
}]
-}, {
- 'name':
- _('Conversations'),
- 'platforms': [{
- 'type': 'store',
- 'os': 'android',
- 'store_name': 'google-play',
- 'url': store_url('google-play', 'eu.siacs.conversations')
- }]
}, {
'name':
_('Dino'),
@@ -75,6 +90,10 @@ _clients = validate([{
'type': 'download',
'os': 'gnu-linux',
'url': 'https://github.com/dino/dino/wiki/Distribution-Packages',
+ }, {
+ 'type': 'package',
+ 'format': 'deb',
+ 'name': 'dino-im'
}]
}, {
'name':
@@ -83,6 +102,14 @@ _clients = validate([{
'type': 'package',
'format': 'deb',
'name': 'gajim'
+ }, {
+ 'type': 'download',
+ 'os': 'gnu-linux',
+ 'url': 'https://gajim.org/downloads.php'
+ }, {
+ 'type': 'download',
+ 'os': 'macos',
+ 'url': 'https://gajim.org/downloads.php'
}, {
'type': 'download',
'os': 'windows',
diff --git a/plinth/modules/infinoted/manifest.py b/plinth/modules/infinoted/manifest.py
index e023a2800..6cf22acd4 100644
--- a/plinth/modules/infinoted/manifest.py
+++ b/plinth/modules/infinoted/manifest.py
@@ -29,9 +29,13 @@ clients = validate([{
'usage':
format_lazy(
_('Start Gobby and select "Connect to Server" and '
- 'enter your {box_name}\'s domain name.'),
- box_name=_(cfg.box_name)),
+ 'enter your {box_name}\'s domain name.'), box_name=_(
+ cfg.box_name)),
'platforms': [{
+ 'type': 'download',
+ 'os': 'gnu-linux',
+ 'url': 'https://github.com/gobby/gobby/wiki/Download'
+ }, {
'type': 'download',
'os': 'windows',
'url': 'https://github.com/gobby/gobby/wiki/Download'
diff --git a/plinth/modules/minetest/manifest.py b/plinth/modules/minetest/manifest.py
index d6646387b..0d92ad5b3 100644
--- a/plinth/modules/minetest/manifest.py
+++ b/plinth/modules/minetest/manifest.py
@@ -24,18 +24,26 @@ clients = validate([{
_('Minetest'),
'platforms': [{
'type': 'download',
- 'os': 'windows',
- 'url': 'https://github.com/minetest/minetest/releases'
+ 'os': 'gnu-linux',
+ 'url': 'https://www.minetest.net/downloads/'
}, {
- 'type': 'store',
- 'os': 'android',
- 'store_name': 'google-play',
- 'url': store_url('google-play', 'net.minetest.minetest')
+ 'type': 'download',
+ 'os': 'macos',
+ 'url': 'https://www.minetest.net/downloads/'
+ }, {
+ 'type': 'download',
+ 'os': 'windows',
+ 'url': 'https://www.minetest.net/downloads/'
}, {
'type': 'store',
'os': 'android',
'store_name': 'f-droid',
'url': store_url('f-droid', 'net.minetest.minetest')
+ }, {
+ 'type': 'store',
+ 'os': 'android',
+ 'store_name': 'google-play',
+ 'url': store_url('google-play', 'net.minetest.minetest')
}, {
'type': 'package',
'format': 'deb',
diff --git a/plinth/modules/mumble/manifest.py b/plinth/modules/mumble/manifest.py
index 6d8584844..041e92307 100644
--- a/plinth/modules/mumble/manifest.py
+++ b/plinth/modules/mumble/manifest.py
@@ -19,19 +19,23 @@ from django.utils.translation import ugettext_lazy as _
from plinth.clients import store_url, validate
-_plumble_package_id = 'com.morlunk.mumbleclient.free'
+_plumble_package_id = 'com.morlunk.mumbleclient'
clients = validate([{
'name':
_('Mumble'),
'platforms': [{
'type': 'download',
- 'os': 'windows',
+ 'os': 'gnu-linux',
'url': 'https://wiki.mumble.info/wiki/Main_Page'
}, {
'type': 'download',
'os': 'macos',
'url': 'https://wiki.mumble.info/wiki/Main_Page'
+ }, {
+ 'type': 'download',
+ 'os': 'windows',
+ 'url': 'https://wiki.mumble.info/wiki/Main_Page'
}, {
'type': 'package',
'format': 'deb',
@@ -48,13 +52,13 @@ clients = validate([{
'platforms': [{
'type': 'store',
'os': 'android',
- 'store_name': 'google-play',
- 'url': store_url('google-play', _plumble_package_id)
+ 'store_name': 'f-droid',
+ 'url': store_url('f-droid', _plumble_package_id)
}, {
'type': 'store',
'os': 'android',
- 'store_name': 'f-droid',
- 'url': store_url('f-droid', _plumble_package_id)
+ 'store_name': 'google-play',
+ 'url': store_url('google-play', _plumble_package_id)
}]
}, {
'name':
diff --git a/plinth/modules/quassel/manifest.py b/plinth/modules/quassel/manifest.py
index f837457a1..e31af0f3a 100644
--- a/plinth/modules/quassel/manifest.py
+++ b/plinth/modules/quassel/manifest.py
@@ -23,18 +23,35 @@ clients = validate([{
'name':
_('Quassel'),
'platforms': [{
+ 'type': 'download',
+ 'os': 'gnu-linux',
+ 'url': 'http://quassel-irc.org/downloads'
+ }, {
'type': 'download',
'os': 'macos',
'url': 'http://quassel-irc.org/downloads'
+ }, {
+ 'type': 'download',
+ 'os': 'windows',
+ 'url': 'http://quassel-irc.org/downloads'
}, {
'type': 'package',
'format': 'deb',
'name': 'quassel-client',
+ }, {
+ 'type': 'package',
+ 'format': 'brew',
+ 'name': 'quassel-client',
}]
}, {
'name':
_('Quasseldroid'),
'platforms': [{
+ 'type': 'store',
+ 'os': 'android',
+ 'store_name': 'f-droid',
+ 'url': store_url('f-droid', 'com.iskrembilen.quasseldroid'),
+ }, {
'type': 'store',
'os': 'android',
'store_name': 'google-play',
diff --git a/plinth/modules/radicale/manifest.py b/plinth/modules/radicale/manifest.py
index 9f6b7554d..a9429c338 100644
--- a/plinth/modules/radicale/manifest.py
+++ b/plinth/modules/radicale/manifest.py
@@ -28,6 +28,11 @@ clients = validate([{
'show all existing calendars and address books and you can '
'create new.'),
'platforms': [{
+ 'type': 'store',
+ 'os': 'android',
+ 'store_name': 'f-droid',
+ 'url': store_url('f-droid', 'at.bitfire.davdroid'),
+ }, {
'type': 'store',
'os': 'android',
'store_name': 'google-play',
@@ -41,6 +46,26 @@ clients = validate([{
'format': 'deb',
'name': 'gnome-calendar'
}]
+}, {
+ 'name':
+ _('Mozilla Thunderbird'),
+ 'platforms': [{
+ 'type': 'package',
+ 'format': 'deb',
+ 'name': 'thunderbird'
+ }, {
+ 'type': 'download',
+ 'os': 'gnu-linux',
+ 'url': 'https://www.mozilla.org/thunderbird/'
+ }, {
+ 'type': 'download',
+ 'os': 'macos',
+ 'url': 'https://www.mozilla.org/thunderbird/'
+ }, {
+ 'type': 'download',
+ 'os': 'windows',
+ 'url': 'https://www.mozilla.org/thunderbird/'
+ }]
}, {
'name':
_('Evolution'),
diff --git a/plinth/modules/ttrss/manifest.py b/plinth/modules/ttrss/manifest.py
index a31c24c98..07f0b6b8c 100644
--- a/plinth/modules/ttrss/manifest.py
+++ b/plinth/modules/ttrss/manifest.py
@@ -22,6 +22,18 @@ from plinth.clients import store_url, validate
_package_id = 'org.ttrssreader'
clients = validate([{
+ 'name':
+ _('Tiny Tiny RSS'),
+ 'platforms': [{
+ 'type': 'store',
+ 'os': 'android',
+ 'store_name': 'google-play',
+ 'url': store_url('google-play', 'org.fox.ttrss')
+ }, {
+ 'type': 'web',
+ 'url': '/tt-rss'
+ }]
+}, {
'name':
_('TT-RSS Reader'),
'platforms': [{
@@ -34,8 +46,5 @@ clients = validate([{
'os': 'android',
'store_name': 'f-droid',
'url': store_url('f-droid', _package_id),
- }, {
- 'type': 'web',
- 'url': '/tt-rss'
}]
}])
diff --git a/plinth/templates/clients.html b/plinth/templates/clients.html
index 6d8da8461..3e0b9f90a 100644
--- a/plinth/templates/clients.html
+++ b/plinth/templates/clients.html
@@ -68,7 +68,7 @@
{% with 'theme/icons/'|add:platform.os|add:'.png' as icon %}
{% if platform.os == 'gnu-linux' %}
- {% trans 'Play Store' %}
+ {% trans 'GNU/Linux' %}
{% elif platform.os == 'windows' %}
{% trans 'Windows' %}
{% elif platform.os == 'macos' %}
@@ -127,7 +127,7 @@
{% if platform.format == 'deb' %}