[Appstream metadata](https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html) is an xml file that allows your application to be visible to application stores like gnome-software (KDE discover) and really makes it easy for people on Linux to browse, install and now even write reviews for your app. This patch adds a (mostly working) appdata file and makes it known to Makefile.am. Comments inside the appdata file indicate where this could use some love, e.g. with 16:9 screenshots instead of 4:3 links taken from the geany website. The other info (optional) is to add the main dev's email (or whoever maintains the appdata file upstream) as the update_contact (also added as a comment).
Hope you find this useful. Thanks! You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1142
-- Commit Summary --
* Add appdata file and make it known to Makefile.am.
-- File Changes --
M Makefile.am (3) A geany.appdata.xml (34)
-- Patch Links --
https://github.com/geany/geany/pull/1142.patch https://github.com/geany/geany/pull/1142.diff
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142
Your link states that:
The XML for a generic component definition starts with an `<component>` tag as root element. The `<component>` element must at least have an `id`, `name` and `releases` tag, a `provides` tag with appropriate children is highly recommended.
Your provided file doesn't have neither the required `releases` tag, nor the recommended `provides` tag.
Though, this documentation lacks a lot of formal clarity.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233639564
- <metadata_license>CC0-1.0</metadata_license>
- <pkgname>geany</pkgname>
- <name>Geany Integrated Development Environment</name>
- <project_license>GPL-2.0+</project_license>
<summary>A fast and lightweight IDE using GTK+</summary>
- <url type="homepage">http://geany.org/</url>
<description>
<p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as +independent as possible from a special Desktop Environment like KDE +or GNOME. So it is using only the GTK2 toolkit and therefore you need +only the GTK2 runtime libraries to run Geany.</p>
</description>
<screenshots>
+<!-- Screenshots need to be 16:9 ratio but the ones here from the main website are not. Please
your document states "Ideally, all screenshots should have a 16:9 aspect ratio", nothing formally required.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
@@ -0,0 +1,34 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <pkgname>geany</pkgname>
- <name>Geany Integrated Development Environment</name>
- <project_license>GPL-2.0+</project_license>
<summary>A fast and lightweight IDE using GTK+</summary>
that's probably not a nice name to show
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
@@ -0,0 +1,34 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <pkgname>geany</pkgname>
- <name>Geany Integrated Development Environment</name>
that's probably not a nice name to show
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
@@ -0,0 +1,34 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
doesn't this need to match the ID part in the appdata filer name?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
Shouldn't this be translatable?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233640093
If a metainfo file provides a `<provides/>` tag, distributors must also ensure that the package providing the file contain all items referenced by that statement, or is installed by a metapackage depending on packages which provide these items.
This sounds like if this file becomes outdated, distributors would be supposed to stop distributing Geany.
This gives upstream projects a (very light) way to influence distributor packaging.
Meh. It's not our role to package for a distribution, nor to influence it farther than making a sensible product.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233641000
BTW, if this is so generic, hasn't a distribution already made something like that on their own that we could merely import (and adapt, if necessary)? That would at least suggest it might have slightly been tested (or not, who knows).
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233642425
I basically hate everything that tries and put the upstream (us) in downstream's (distributions) place. It's not our role, and a lot of upstream trying to be "smart" and "help" downstream just end up with a terrible mess that just make everyone's lives harder.
OK, here it *seems* a little less absurd and stop at providing a generic way of describing a package. That *might* be acceptable, if it's properly automated (doesn't require too much maintenance), is of sufficient quality, and is sufficiently tested (BTW, how would we test this?). And hopefully, show some actual cases it would be useful for.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233642764
@@ -0,0 +1,34 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
It is recommended to match the .desktop file name, but it should be unique is all that is really required of it. From the doc for the appstream standard,
The `<id>` tag is a short and unique identifier for this component. It must contain only ASCII characters, dots, hyphens and numbers, spaces are not allowed. Specialized metainfo types, such as application or fonts, may apply additional restrictions on the id tag value.
A general pattern for a valid ID tag is to use a reverse URL scheme, consisting of `<tld>.<vendor>.<product>.<type>`, e.g. `org.kde.gwenview.desktop` or `com.hugski.ColorHug2.firmware`.
Note that the value of this tag must be unique across all distributions. In case it is not, distributors are expected to reject the conflicting components from inclusion into their metadata.
But I am not really sure if I understood the question completely. Please do clarify.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
Related: https://sourceforge.net/p/geany/feature-requests/739/
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233649356
Thanks for your comments. Some responses:
Your provided file doesn't have neither the required `releases` tag, nor the recommended `provides` tag.
I don't think either is really needed as of now, and frankly the `provides` tag could easily become a nightmare to maintain. Without either of these tags, geany shows up in my gnome-software pretty well, so it might be probably easiest for you folks to maintain a minimal appdata file, which is what I submitted.
Shouldn't this be translatable?
Yes, this should ideally be marked for translation. I will take a look at how this can be achieved.
BTW, if this is so generic, hasn't a distribution already made something like that on their own that we could merely import (and adapt, if necessary)? That would at least suggest it might have slightly been tested (or not, who knows).
This is relatively new, and is trickling down through distributions. Fedora and openSUSE (among others) have already adopted the appstream standard and have built tools to pool the appdata files from packages in their repositories (so that they show up in their software centres).
My personal interest here is just making geany more discoverable to openSUSE users, and this probably is one means to that end. I will also be happy to help out if this requires updating from time to time, but AFAIK this really requires quite low maintenance. E.g. change screenshots when the GUI changes in a major way, etc.
The appdata file as contributed here will likely make its way through openSUSE (because I already submitted there), so it will get some testing thereafter. Would you prefer to wait for that? The only testing so far is on my local system, where this has been seen to work so far.
I basically hate everything that tries and put the upstream (us) in downstream's (distributions) place. It's not our role, and a lot of upstream trying to be "smart" and "help" downstream just end up with a terrible mess that just make everyone's lives harder.
I am inclined to think that this would not require very high maintenance really. And it would really get much wider testing if you included it in your upstream releases ;-)
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233649727
@@ -0,0 +1,34 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <pkgname>geany</pkgname>
- <name>Geany Integrated Development Environment</name>
Made from a combination of the Name and GenericName tag from geany.desktop. I think it works, but suggestions welcome.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
@@ -0,0 +1,34 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
Yeah I wasn't clear: I meant, shouldn't the appdata file name be `geany.desktop.appdata.xml`, following this `ID`? The linked doc isn't clear on that, but uses the `%{id}` placeholder there
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
- <metadata_license>CC0-1.0</metadata_license>
- <pkgname>geany</pkgname>
- <name>Geany Integrated Development Environment</name>
- <project_license>GPL-2.0+</project_license>
<summary>A fast and lightweight IDE using GTK+</summary>
- <url type="homepage">http://geany.org/</url>
<description>
<p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as +independent as possible from a special Desktop Environment like KDE +or GNOME. So it is using only the GTK2 toolkit and therefore you need +only the GTK2 runtime libraries to run Geany.</p>
</description>
<screenshots>
+<!-- Screenshots need to be 16:9 ratio but the ones here from the main website are not. Please
True, but the 16:9 screenshots look cooler on gnome-software from what I have seen. We can leave these as they are for now.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
@@ -0,0 +1,34 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <pkgname>geany</pkgname>
- <name>Geany Integrated Development Environment</name>
IMO, "Geany" , or "Geany IDE" if you really don't like a name only, would be better. "Geany Integrated Development Environment" sounds a lot harder to read than needed.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
@badshah400 pushed 1 commit.
4dfb964 Make appdata file translatable.
--- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany/pull/1142/files/78dc2060b70c9ef4652160f436469...
@badshah400 pushed 1 commit.
4674d12 Change name to "Geany IDE".
--- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany/pull/1142/files/4dfb9649b5bfac8a7944489b6d74d...
Translated appdata, with name changed to "Geany IDE". The description field does not seem to get translated though. Suggestions for improvement welcome. Thanks!
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233668937
FYI, fedora ships a hand-crafted file in their .spec file:
http://pkgs.fedoraproject.org/cgit/rpms/geany.git/tree/geany.spec#n129
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233673404
@@ -0,0 +1,34 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <pkgname>geany</pkgname>
Does not belong into the appdata tile - this is inserted by whatever procuces the distro appstream. Upstream has no influence / information about used downstream package names
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/4674d120cf7a79e97a3ed8ec8bb52...
@@ -85,3 +86,9 @@ desktopdir = $(datadir)/applications desktop_in_files = geany.desktop desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@
+appdata_in_files = geany.appdata.xml.in
+appdatadir = $(datadir)/appdata
generally, there is a trend toward /usr/share/metainfo - for new code I'd recommend following this move. See https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sec...
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/4674d120cf7a79e97a3ed8ec8bb52...
release and provides tags are listed as 'suggested', not required (not even in the recommended list):
https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sec...
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233675890
Oh, one more thing: .appdata.xml file to be distributed by upstreams are in fact a SUBSET of AppStream; the spec is at
https://people.freedesktop.org/~hughsient/appdata/
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233687900
@badshah400 pushed 1 commit.
923ec5b Drop pkgname field, supposed to be used by downstream packagers.
--- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany/pull/1142/files/4674d120cf7a79e97a3ed8ec8bb52...
Does not belong into the appdata tile - this is inserted by whatever procuces the distro appstream. Upstream has no influence / information about used downstream package names
Incorporated suggestion: Dropped pkgname field.
generally, there is a trend toward /usr/share/metainfo - for new code I'd recommend following this move.
I have left the .appdata.xml file in /usr/share/appdata dir because most upstream packages incorporating similar files are doing the same, and most distros as well. This is obviously easy to change later.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233808005
@@ -0,0 +1,33 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as +independent as possible from a special Desktop Environment like KDE +or GNOME. So it is using only the GTK2 toolkit and therefore you need +only the GTK2 runtime libraries to run Geany.</_p>
Geany can also be compiled for GTK3 and some distros already do that, they would have to change this reference to gtk2, so I don't think it relevant any more.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/923ec5b1f6dd9627b7a999376d922...
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as +independent as possible from a special Desktop Environment like KDE +or GNOME. So it is using only the GTK2 toolkit and therefore you need +only the GTK2 runtime libraries to run Geany.</_p>
</description>
<screenshots>
+<!-- Screenshots need to be 16:9 ratio but the ones here from the main website are not. Please
change the links to point to appropriate 16:9 sized screenshots. -->
So additional maintenance work required to keep screenshots updated? and which distro and theme do we make them for?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/923ec5b1f6dd9627b7a999376d922...
@@ -85,3 +86,9 @@ desktopdir = $(datadir)/applications desktop_in_files = geany.desktop desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@
+appdata_in_files = geany.appdata.xml.in
+appdatadir = $(datadir)/appdata
Since its for distros why should we say where it goes? Different distributions put things in different places, it shoudlbe up to them. Since this is no use for anyone who installs geany from tarball or source it doesn't need to be installed by our build.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/4674d120cf7a79e97a3ed8ec8bb52...
@@ -0,0 +1,33 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
Why is this one file in the entire source not GPL? I suspect LICENSE needs updating.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/923ec5b1f6dd9627b7a999376d922...
</description>
<screenshots>
+<!-- Screenshots need to be 16:9 ratio but the ones here from the main website are not. Please
change the links to point to appropriate 16:9 sized screenshots. -->
<screenshot type="default">
<image height="600" width="800">http://www.geany.org/uploads/Gallery/geany_main.png</image>
</screenshot>
<screenshot type="default">
<image height="600" width="800">http://www.geany.org/uploads/Gallery/geany_build.png</image>
</screenshot>
<screenshot type="default">
<image height="600" width="800">http://www.geany.org/uploads/Gallery/geany_vte.png</image>
</screenshot>
</screenshots>
+<!-- Add update contact email here
- <update_contact>developer_AT_example.com</update_contact>
point it at github
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/923ec5b1f6dd9627b7a999376d922...
I agree with @b4n, this is a distribution file and since distros are different it doesn't make sense for us to maintain this sort of thing.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233813475
@@ -0,0 +1,33 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
A permissive license is required for the metadata file alone; see [here](https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#sect-...)
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/923ec5b1f6dd9627b7a999376d922...
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as +independent as possible from a special Desktop Environment like KDE +or GNOME. So it is using only the GTK2 toolkit and therefore you need +only the GTK2 runtime libraries to run Geany.</_p>
</description>
<screenshots>
+<!-- Screenshots need to be 16:9 ratio but the ones here from the main website are not. Please
change the links to point to appropriate 16:9 sized screenshots. -->
Only if you want to. Think of this as as advertisement for your app. You choose to put the screenshots that best shows your app off.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/923ec5b1f6dd9627b7a999376d922...
I agree with @b4n, this is a distribution file and since distros are different it doesn't make sense for us to maintain this sort of thing.
This is not a distro-specific thing. It is a freedesktop.org standard specification being used across distributions. And there is nothing much to maintain beyond what is already in the submitted appstream file, really, except for the screenshots, which you may choose to leave as they are as well. So I don't really get the apathy.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233815093
So I don't really get the apathy.
Not apathy, more like antipathy. :smile:
Well, providing a set of basic values for some generic tags to be included in the distributors data file is fine, but since it has none of the distro specific parts we shouldn't install it.
IMHO if distros want screenshots they should provide their own, taken on their distro with their theme so it matches the style of the rest of the software in the distribution. Otherwise it is an anti-advertisement.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233818400
@badshah400 pushed 1 commit.
7097a9d Improve description using text from upstream README.
--- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany/pull/1142/files/923ec5b1f6dd9627b7a999376d922...
IMHO if distros want screenshots they should provide their own, taken on their distro with their theme so it matches the style of the rest of the software in the distribution. Otherwise it is an anti-advertisement.
How is this any different from providing screenshots on geany's homepage?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233825243
On 20 July 2016 at 12:54, badshah400 notifications@github.com wrote:
IMHO if distros want screenshots they should provide their own, taken on their distro with their theme so it matches the style of the rest of the software in the distribution. Otherwise it is an anti-advertisement.
How is this any different from providing screenshots on geany's homepage?
Which distro and desktop environment do we provide the shots for? KDE looks different to Gnome to Cinnamon to Unity and that difference is increased by differing themes used by the distros even for the same desktop.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/geany/geany/pull/1142#issuecomment-233825243, or mute the thread https://github.com/notifications/unsubscribe-auth/AAxgTQTXt0t2nZh_CsiSBRnCJbjpvIvAks5qXY3WgaJpZM4JPu0w .
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233827891
Which distro and desktop environment do we provide the shots for? KDE
looks different to Gnome to Cinnamon to Unity and that difference is increased by differing themes used by the distros even for the same desktop.
Seriously, you don't have to do anything. The appdata file in this PR already makes use of the screenshots on geany's home page. One could ask the same questions as to why those screenshots rather than some other screenshots are on that webpage. As long as these are screenshots of the app running on Linux, this should not be a problem. The screenshots are meant to be upstream advertisements, **they aren't meant to show how the app looks in the user's distro/whatever.** If you want to showcase how your app looks in different desktop env, the screenshots should reflect that, for instance.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233837295
The screenshots are, like everything in Geany, whatever somebody has contributed. So they are the contributor's favourite desktop and theme.
To be clear my beef is with the whole appstream premise. It is based on a commercial upstream model (not surprising really since the promoters seem to be Red Hat, Ubuntu and Suse) where upstream has a need to "advertise" and the resources to do so. No problem with the commercial guys advertising themselves, its their job, but Geany does not follow that model, and we don't seem to have any advertising/marketing gurus willing to contribute.
So it would be better to have just one clearly generic screenshot, and it should probably be on github or somewhere, otherwise the geany.org can't be re-arranged, and "one day" the new website will be done and it may move stuff.
As I said in a previous post, its ok to provide a set of default xml tags for distros to use, but without the distro specific parts we shouldn't install it when Geany is built and installed from tarball or git. After all a user who has just done that, isn't going to need the application description.
Will make some specific suggestions on the content later.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233845671
To be clear my beef is with the whole appstream premise. It is based on a commercial upstream model (not surprising really since the promoters seem to be Red Hat, Ubuntu and Suse) where upstream has a need to "advertise" and the resources to do so. No problem with the commercial guys advertising themselves, its their job, but Geany does not follow that model, and we don't seem to have any advertising/marketing gurus willing to contribute.
The only subject of discussion is whether including the appstream file (most of which is prepared already) in your releases hurts anyone or benefits anyone. I haven't seen one argument from you as to why it would displease anyone and I have already provided examples of how it can help some users -- indeed one more follows (toward the end of comment).
If you have philosophical issues with appstream, that is "beyond the scope of this pull request". I won't try to convince you otherwise. As stated earlier, my intent was limited to helping out **specifically in geany's case** to make it more discoverable on distros that have already adopted this feature. But of course, if as upstream you think it will be too much work to maintain the file, that is a ground for rejection of this PR indeed. It might be a bit concerning then that downstream packagers would likely be shipping their own versions of "unblessed" appstream files for geany (like Fedora does, openSUSE might follow suit) which may carry out-of-date or plain wrong info in some cases.
As I said in a previous post, its ok to provide a set of default xml tags for distros to use, but without the distro specific parts we shouldn't install it when Geany is built and installed from tarball or git. After all a user who has just done that, isn't going to need the application description.
She could still use e.g. gnome-software to write a review, etc.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233931303
Hmm. AppStream is meant as a way for Upstreams to decisively present their product in downstream software portals (eg. KDE Discover, GNOME Software) - the .xml is not carrying any information that is to be changing downstream (the pkgname that was in the pullreq was an error and I believe this has since been fixed)
You might also have heard about snappy and flatpak - two methods currently worked on in producing 'bundled' applications. This can be 'on your own' infra or, more likely to happen, in a cross-distro appstore like setup ('store does not mean commercial here, allthough these options might be arising too).
flatpak for sure is basing it's application presentation on the .appdata.xml files - snappy is likely to follow suite....
Those cross-distro app-stores would give you even more power over reaching the users with updates at the time you want them to happen, no longer having to wish for goodwill from random distribution projects... having your leg-work done in preparation for this can only be beneficial for you.
Regarding your question about the screenshots: they are meant to only show your application. Of course you can have different window styling, depending on the desktop environment you run in, but this is by far not as important as being able to show ANYTHING to your user what they can expect. Of course a 'KDE Application' will likely be shown with upstream KDE styling, GNOME Apps with upstream GNOME Styling... you can present your app in a way that makes users want it.
Distributors are there to help you GET the application to the user... convincing the user that YOUR project is the right one to use is your task (and appdata.xml helps you to present you product)
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233933763
If it helps, over 900 other upstream projects are shipping AppData files. If it helps, without an AppData being supplied the application is invisible in the default software center in Suse, Arch, Ubuntu and Fedora. It works in Fedora 24 because someone wrote an AppData file and shipped it downstream, but it's madness to require all different distros to do the same thing for a file that's supposed to be written and kept up to date by upstream projects. I'm a proud Geany user (and have been for a very long time) and the attitudes I've heard here make me sad indeed.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233935541
@@ -17,6 +17,7 @@ WIN32_BUILD_FILES = \ EXTRA_DIST = \ autogen.sh \ scripts/gen-api-gtkdoc.py \
geany.appdata.xml.in \
indentation issue
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@@ -85,3 +86,9 @@ desktopdir = $(datadir)/applications desktop_in_files = geany.desktop desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@
+appdata_in_files = geany.appdata.xml.in
+appdatadir = $(datadir)/appdata
generally, there is a trend toward /usr/share/metainfo
Indeed, that's what all linked docs state (they are unexpectedly consistent on that)
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/4674d120cf7a79e97a3ed8ec8bb52...
@badshah400 I have already said twice that IMHO the generic file can be added to Geany, I don't have to like it as well :).
As for installing it from _tarball or git_, the software manager doesn't know that geany is installed since there is no package involved, and adding the appdata.xml doesn't change that (I tested it). The software manager still shows the description from the distro (at least on Mint 18) and invites me to install 1.27.1 over my 1.29 install, so I still don't see why the appdata needs to be installed in those cases.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233942924
<_li>auto completion of XML and HTML tags</_li>
<_li>call tips</_li>
<_li>folding</_li>
<_li>many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal</_li>
<_li>symbol lists</_li>
<_li>embedded terminal emulation</_li>
<_li>extensibility through plugins</_li>
</ul>
</description>
<screenshots>
+<!-- Screenshots need to be 16:9 ratio but the ones here from the main website are not. Please
change the links to point to appropriate 16:9 sized screenshots. -->
<screenshot type="default">
<image height="600" width="800">http://www.geany.org/uploads/Gallery/geany_main.png</image>
</screenshot>
<screenshot type="default">
does it make sense to have more than one default screenshot?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@@ -0,0 +1,43 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
I'd just say "fast and lightweight IDE", the toolkit isn't really interesting to the users.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@@ -0,0 +1,43 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
This line just repeats the summary, and its said again in the next line so I would drop it.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
As for installing it from tarball or git, the software manager doesn't know that geany is installed since there is no package involved, and adding the appdata.xml doesn't change that (I tested it).
Software Centers != Package Managers... Test GNOME Software and/or KDE Discover - they read also installed files in /usr/share/appdata; which is why it can be beneficial for make install to do it...
but a configure parameter to trigger this would also be an option (configure --enable-appdata for example)
Thoughts?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233943874
@@ -0,0 +1,43 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent
"...dependencies on other..."
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@@ -85,3 +86,9 @@ desktopdir = $(datadir)/applications desktop_in_files = geany.desktop desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@
+appdata_in_files = geany.appdata.xml.in
+appdatadir = $(datadir)/appdata +nodist_appdata_DATA = geany.appdata.xml
this should probably use `$(appdata_in_files:.xml.in=.xml)` just like the desktop one above.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@@ -0,0 +1,43 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it
"... from a specific Desktop ..."
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@@ -0,0 +1,43 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
Again I don't think the GTK stuff is interesting in a user description
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
+<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
List probably needs a heading like "Geany includes:"
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
<_li>syntax highlighting</_li>
<_li>code completion</_li>
<_li>auto completion of often used constructs like if, for and while</_li>
change "often used" to "language"
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
<_li>syntax highlighting</_li>
<_li>code completion</_li>
<_li>auto completion of often used constructs like if, for and while</_li>
<_li>auto completion of XML and HTML tags</_li>
<_li>call tips</_li>
Does everybody know what "call tips" means?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
<_li>syntax highlighting</_li>
<_li>code completion</_li>
<_li>auto completion of often used constructs like if, for and while</_li>
<_li>auto completion of XML and HTML tags</_li>
<_li>call tips</_li>
<_li>folding</_li>
<_li>many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal</_li>
<_li>symbol lists</_li>
<_li>embedded terminal emulation</_li>
<_li>extensibility through plugins</_li>
Perhaps should mention Geany plugins package here?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@badshah400 Using the README was a good start, but its not really targeted at the end-user so some changes suggested.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233947082
@DimStar77 yes I used the Mint _Software Centre_ not the package manager :smile:
Perhaps it doesn't read those files?
As for a switch, if the distro is going to modify the file (at the very least to add the package) then does it make sense at all?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233948530
@elextr the file is not meant to be modified - there is no need... the pkgname does not belong into the AppData file...
Whatever process collects all distro provided appdata files and produces AppStream metadata is responsible to add the pkgname (which is also the point where all this info is available)
openSUSE and Fedora at least use appstream-builder for this task: you throw it at a bunch of RPMs, it extracts appdata info, does some black magic and produces and AppStream metafile, which then ends up in the repository metadata.
Hope that clarifies things a bit
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233950001
@DimStar77 thanks for the explanation, but then why does the appdata file need to be installed at all then?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233952917
@elextr it needs to be part of the RPM at least at the moment it is being scanned by appstream-builder (and rpm means installed)
Additionally, Software Centers use the local information to assess what is there (next to querying package managers, most notably through PackageKit at this moment).
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233953899
Oh its scanned on the user machine after install, ok then.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233956378
Related: https://sourceforge.net/p/geany/feature-requests/739/
@codebrainz Ah! thanks, I knew we already had something like that, just couldn't seem to find it.
The appdata file as contributed here will likely make its way through openSUSE (because I already submitted there), so it will get some testing thereafter. Would you prefer to wait for that? The only testing so far is on my local system, where this has been seen to work so far.
Well, I'm less interested on whether it's working than whether it's useful. We could ship something specific for Atari distributions, but I hardly think it'd be of any use :) Ok that's unfair, but you get the point: even if it's a current technology, if it isn't done in a way that make it useful there's no point. And as I have zero knowledge about that -- and that the specs you all linked are clunky -- I hardly have any way to really say.
FYI, fedora ships a hand-crafted file in their .spec file:
http://pkgs.fedoraproject.org/cgit/rpms/geany.git/tree/geany.spec#n129
That's interesting to know, thanks. Looking at it it doesn't look too different from what this PR shows, which is probably good.
release and provides tags are listed as 'suggested', not required (not even in the recommended list):
Well, this specification is very inconsistent. Indeed in some places it shows example of not using them, but https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#spec-... clearly states that *"The XML for a generic component definition starts with an `<component>` tag as root element. The `<component>` element must at least have an `id`, `name` and `releases` tag, a `provides` tag with appropriate children is highly recommended.*". So it's hard to know what to believe.
It might be a bit concerning then that downstream packagers would likely be shipping their own versions of "unblessed" appstream files for geany (like Fedora does, openSUSE might follow suit) which may carry out-of-date or plain wrong info in some cases.
Just like would the same file here if we don't update it. And updating it means we know how, and don't forget about it. It's more likely someone knowing why they want that file remember to update it together with a new version of the software.
As I said in a previous post, its ok to provide a set of default xml tags for distros to use, but without the distro specific parts we shouldn't install it when Geany is built and installed from tarball or git. After all a user who has just done that, isn't going to need the application description.
She could still use e.g. gnome-software to write a review, etc.
That doesn't make much sense to me, and @elextr point seem valid. Where would that review go? if it's into a distribution-specific repository, it has to match what the *distribution* provides, so there's no point in installing it from custom manual installations. Same applies to which version it is for (that one could be addressed with a `<release>` info I guess).
---
You might also have heard about snappy and flatpak - two methods currently worked on in producing 'bundled' applications. This can be 'on your own' infra or, more likely to happen, in a cross-distro appstore like setup ('store does not mean commercial here, allthough these options might be arising too).
flatpak for sure is basing it's application presentation on the .appdata.xml files - snappy is likely to follow suite....
Those cross-distro app-stores would give you even more power over reaching the users with updates at the time you want them to happen, no longer having to wish for goodwill from random distribution projects... having your leg-work done in preparation for this can only be beneficial for you.
Stop right here if you want to convince me or @elextr, we both have strong beefs against that Flatpack and Snappy craziness :) One of my own being specifically that it removes downstream. But that's not so much the subject here.
Regarding your question about the screenshots: they are meant to only show your application. Of course you can have different window styling, depending on the desktop environment you run in, but this is by far not as important as being able to show ANYTHING to your user what they can expect. Of course a 'KDE Application' will likely be shown with upstream KDE styling, GNOME Apps with upstream GNOME Styling... you can present your app in a way that makes users want it.
That's not exactly what the [docs](https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#qsr...) say: they seem to say "you should use the default theme" (and apparently that doesn't even include your distro's specific ones, as what looks like an Ubuntu screenshot to me is deemed *"BAD: Uses custom font, custom color theme"*).
Distributors are there to help you GET the application to the user... convincing the user that YOUR project is the right one to use is your task
Well, actually not really. We're not here to sell anything to anyone, we provide an application, and if people like it and want to use it, that's great. If they don't, that's just as fine. We aren't an ad company, and we have actually little to gain in having more users. We just try to make a good application, and whatever happens from there is fine.
Software Centers != Package Managers... Test GNOME Software and/or KDE Discover - they read also installed files in /usr/share/appdata; which is why it can be beneficial for make install to do it...
What is the use of those software centers if the application is installed? (and even more so, if the application was *manually* installed) That's a genuine question. I tried launching gnome-software on my Debian Unstable, and what I see is a very slow app (kinda unfair point I guess), and I can run installed apps (doesn't seem of much use to me to go through that to launch an app), write a review (see above), and the rest seem to be package management stuff.
One pro for adding the appdata file though might be *not* to be listed as a foreign, non-free app in there, as Geany currently is (probably through it's desktop file?). Which though, is unfair from that gnome-software thing, but well.
@elextr it needs to be part of the RPM at least at the moment it is being scanned by appstream-builder (and rpm means installed)
There is no need to install a file in our build system just so the packagers have it. They can install it just fine on their own if they want, that's not ours to decide -- just like they can remove files from the package if they don't want them (think about `.la` if you think they don't). If that's the only reason to install the appdata file, it would be what I feared before: doing things that don't improve our releases because we think we know better what downstream needs.
Additionally, Software Centers use the local information to assess what is there (next to querying package managers, most notably through PackageKit at this moment).
I'd think at least gnome-software uses desktop files for that purpose too. And it sounds hardly sensible to require metadata just to know whether the application is there or not (short of the `<provides>`, maybe).
However, as the *appdata* docs do say we should install it as an upstream, we probably should if we have it, and just not think too much of it. It's not like it does more harm than wasting a few bytes on the user's drive.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233957785
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
<_li>syntax highlighting</_li>
<_li>code completion</_li>
<_li>auto completion of often used constructs like if, for and while</_li>
<_li>auto completion of XML and HTML tags</_li>
<_li>call tips</_li>
<_li>folding</_li>
<_li>many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal</_li>
<_li>symbol lists</_li>
<_li>embedded terminal emulation</_li>
<_li>extensibility through plugins</_li>
probably not, that would be a distribution thing to do
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
<_li>syntax highlighting</_li>
<_li>code completion</_li>
<_li>auto completion of often used constructs like if, for and while</_li>
Well… that's a question of how it reads, because "often used" is somewhat more true, it doesn't have to specifically be language constructs (this is talking about snippets)
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
<_li>syntax highlighting</_li>
<_li>code completion</_li>
<_li>auto completion of often used constructs like if, for and while</_li>
Oh, its snippets, ok. Yes as you said it reads badly, maybe "commonly" used?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@badshah400 pushed 2 commits.
7f9bcab Update Makefile.am logic for appdata file. 2be68cb Update appstream file with inputs from PR#1142.
--- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@@ -90,5 +90,5 @@ desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) appdata_in_files = geany.appdata.xml.in
appdatadir = $(datadir)/appdata -nodist_appdata_DATA = geany.appdata.xml +nodist_appdata_DATA = $(appdata_in_files:.appdata.xml.in=.appdata.xml)
`.xml.in=.xml` would be enough
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
Incorporated suggestions from the comments in this PR. Thanks @elextr, @b4n, @DimStar77 for your reviews. Please let me know if I missed something.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-233966765
@@ -0,0 +1,42 @@ +<?xml version='1.0' encoding='UTF-8'?> +<component>
- <id type="desktop">geany.desktop</id>
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
Now pkgname is gone, maybe this should be `Geany` only
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/2be68cb54010dfa3985b79b66a71e...
@badshah400 pushed 1 commit.
ed86b5a Incorporate new suggestions from PR#1142.
--- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany/pull/1142/files/2be68cb54010dfa3985b79b66a71e...
@@ -85,3 +86,9 @@ desktopdir = $(datadir)/applications desktop_in_files = geany.desktop desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@
+appdata_in_files = geany.appdata.xml.in
this should be at the same place as the desktop one relative to the dir and other definitions, and the extra blank line removed.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
</ul>
</description>
<screenshots>
+<!-- Screenshots are recommended to be 16:9 ratio but the ones here from the main website are not. Please
change the links to point to appropriate 16:9 sized screenshots. -->
<screenshot type="default">
<image height="808" width="942">http://www.geany.org/uploads/Gallery/geany_main.png</image>
</screenshot>
<screenshot>
<image height="808" width="942">http://www.geany.org/uploads/Gallery/geany_build.png</image>
</screenshot>
<screenshot>
<image height="808" width="942">http://www.geany.org/uploads/Gallery/geany_vte.png</image>
</screenshot>
</screenshots>
- <update_contact>https://github.com/geany/geany</update_contact>
It's unfortunately unclear whether anything else than an email address is allowed. But well, I prefer that.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/ed86b5a541a24490bbbcf29752b43...
Please let me know if I missed something.
Check out the diff, there are other small issues like indentation on the `EXTRA_DIST` line, and recent @elextr comments (which oddly not all show in the diff page).
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-234008357
Maybe we should add `<translation type="gettext">@GETTEXT_PACKAGE@</translation>`?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-234009445
@@ -17,6 +17,7 @@ WIN32_BUILD_FILES = \ EXTRA_DIST = \ autogen.sh \ scripts/gen-api-gtkdoc.py \
geany.appdata.xml.in \
Sorry, I am probably wrong, but I don't see it. Everything lines up just well: https://github.com/badshah400/geany/blob/master/Makefile.am
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@@ -17,6 +17,7 @@ WIN32_BUILD_FILES = \ EXTRA_DIST = \ autogen.sh \ scripts/gen-api-gtkdoc.py \
geany.appdata.xml.in \
Sure, because GitHub uses tab stops of 8 and doesn't display tabs or spaces themselves, so it alignes,but it should be exactly one tab like the other lines, not 4 spaces. And you can see in the diff that it's not aligned.
```diff diff --git a/Makefile.am b/Makefile.am index c5d2a90..ffa9b33 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,7 @@ WIN32_BUILD_FILES = \ EXTRA_DIST = \ autogen.sh \ scripts/gen-api-gtkdoc.py \ - geany.appdata.xml.in \ + geany.appdata.xml.in \ geany.desktop.in \ geany.pc.in \ geany.spec \ @@ -87,8 +87,7 @@ desktop_in_files = geany.desktop desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@
-appdata_in_files = geany.appdata.xml.in - appdatadir = $(datadir)/appdata +appdata_in_files = geany.appdata.xml.in nodist_appdata_DATA = $(appdata_in_files:.xml.in=.xml) @INTLTOOL_XML_RULE@ ```
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@@ -17,6 +17,7 @@ WIN32_BUILD_FILES = \ EXTRA_DIST = \ autogen.sh \ scripts/gen-api-gtkdoc.py \
geany.appdata.xml.in \
Got it, thanks!
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
@badshah400 pushed 3 commits.
0eac4c6 Add translation field to appstream file. 976898a Fix tab vs space issue, other formatting. 32c4f45 Change install dir to /usr/share/metainfo.
--- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany/pull/1142/files/ed86b5a541a24490bbbcf29752b43...
@@ -85,3 +86,8 @@ desktopdir = $(datadir)/applications desktop_in_files = geany.desktop desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@
+appdatadir = $(datadir)/metainfo +appdata_in_files = geany.appdata.xml.in +nodist_appdata_DATA = $(appdata_in_files:.xml.in=.xml)
no need for `nodist_`, it's the default for `_DATA`
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/32c4f451695b330b5b74be23a93d0...
</description>
<screenshots>
+<!-- Screenshots are recommended to be 16:9 ratio but the ones here from the main website are not. Please
change the links to point to appropriate 16:9 sized screenshots. -->
<screenshot type="default">
<image height="808" width="942">http://www.geany.org/uploads/Gallery/geany_main.png</image>
</screenshot>
<screenshot>
<image height="808" width="942">http://www.geany.org/uploads/Gallery/geany_build.png</image>
</screenshot>
<screenshot>
<image height="808" width="942">http://www.geany.org/uploads/Gallery/geany_vte.png</image>
</screenshot>
</screenshots>
- <update_contact>https://github.com/geany/geany</update_contact>
- <translation type="gettext">@GETTEXT_PACKAGE@</translation>
That won't work just like that, it need to be replaced. Something like that would work: ```diff diff --git a/Makefile.am b/Makefile.am index 1e65e44..351afb8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,7 @@ WIN32_BUILD_FILES = \ EXTRA_DIST = \ autogen.sh \ scripts/gen-api-gtkdoc.py \ - geany.appdata.xml.in \ + geany.appdata.xml.in.in \ geany.desktop.in \ geany.pc.in \ geany.spec \ diff --git a/configure.ac b/configure.ac index d921e95..6407bda 100644 --- a/configure.ac +++ b/configure.ac @@ -162,6 +162,7 @@ AC_CONFIG_FILES([ geany.spec geany.pc geany.nsi + geany.appdata.xml.in doc/Doxyfile tests/Makefile tests/ctags/Makefile diff --git a/geany.appdata.xml.in b/geany.appdata.xml.in.in similarity index 100% rename from geany.appdata.xml.in rename to geany.appdata.xml.in.in ```
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/32c4f451695b330b5b74be23a93d0...
@badshah400 pushed 1 commit.
fbe987a Move xml.in->xml.in.in and run it through configure.ac
--- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany/pull/1142/files/32c4f451695b330b5b74be23a93d0...
@badshah400 need to fix the travis failures.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-235790620
@badshah400 pushed 2 commits.
7b6e4be Revert "Move xml.in->xml.in.in and run it through configure.ac" b8885f1 Insert package name directly into translation node.
--- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany/pull/1142/files/fbe987a407cb49c4ce10a690eaa16...
Meh, indeed apparently it's not possible to translate a built file. Bummer.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-236052850
</description>
<screenshots>
+<!-- Screenshots are recommended to be 16:9 ratio but the ones here from the main website are not. Please
change the links to point to appropriate 16:9 sized screenshots. -->
<screenshot type="default">
<image height="808" width="942">http://www.geany.org/uploads/Gallery/geany_main.png</image>
</screenshot>
<screenshot>
<image height="808" width="942">http://www.geany.org/uploads/Gallery/geany_build.png</image>
</screenshot>
<screenshot>
<image height="808" width="942">http://www.geany.org/uploads/Gallery/geany_vte.png</image>
</screenshot>
</screenshots>
- <update_contact>https://github.com/geany/geany</update_contact>
- <translation type="gettext">Geany</translation>
need be lowercase
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/b8885f112b4d0c411eb8893b56511...
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
<_li>syntax highlighting</_li>
<_li>code completion</_li>
<_li>auto completion of often used constructs like if, for and while</_li>
<_li>auto completion of XML and HTML tags</_li>
<_li>call tips</_li>
probably not, any other suggestion?
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
- <metadata_license>CC0-1.0</metadata_license>
- <_name>Geany IDE</_name>
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
<_li>syntax highlighting</_li>
<_li>code completion</_li>
<_li>auto completion of often used constructs like if, for and while</_li>
yeah sounds better
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
There still are comment not dealt with, even though they got hidden by the file move.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142#issuecomment-236053756
- <project_license>GPL-2.0+</project_license>
- <_summary>A fast and lightweight IDE using GTK+</_summary>
- <url type="homepage">http://geany.org/</url>
<description>
- <_p>Geany is a small and lightweight integrated development environment.
+It was developed to provide a small and fast IDE, which has only a +few dependencies from other packages. Another goal was to be as independent +as possible from a special Desktop Environment like KDE or GNOME. So it +is using only the GTK+ toolkit and therefore you need only the +GTK+ runtime libraries to run Geany.</_p>
<ul>
<_li>syntax highlighting</_li>
<_li>code completion</_li>
<_li>auto completion of often used constructs like if, for and while</_li>
<_li>auto completion of XML and HTML tags</_li>
<_li>call tips</_li>
Other IDEs tend to bundle it into autocomplete, but ours doesn't autocomplete really, so maybe an eclipse like "Function call assistance".
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
<_li>auto completion of XML and HTML tags</_li>
<_li>call tips</_li>
<_li>folding</_li>
<_li>many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal</_li>
<_li>symbol lists</_li>
<_li>embedded terminal emulation</_li>
<_li>extensibility through plugins</_li>
</ul>
</description>
<screenshots>
+<!-- Screenshots need to be 16:9 ratio but the ones here from the main website are not. Please
change the links to point to appropriate 16:9 sized screenshots. -->
<screenshot type="default">
<image height="600" width="800">http://www.geany.org/uploads/Gallery/geany_main.png</image>
</screenshot>
<screenshot type="default">
Geany has a pretty fixed UI, so I suggest not.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1142/files/7097a9db8ca5b031667c451d4e880...
PR #2014 has a more update appdata. Closing this.
Closed #1142.
github-comments@lists.geany.org