diff --git a/gtk/CMakeLists.txt b/gtk/CMakeLists.txt index 907d86d8d..f4193d6b5 100644 --- a/gtk/CMakeLists.txt +++ b/gtk/CMakeLists.txt @@ -50,6 +50,7 @@ add_custom_command( if(ENABLE_NLS) find_program(INTLTOOL_MERGE_EXECUTABLE intltool-merge REQUIRED) + set(${PROJECT_NAME}_DESKTOP_FILE "${PROJECT_BINARY_DIR}/${TR_NAME}-gtk.desktop") add_custom_command( OUTPUT ${${PROJECT_NAME}_DESKTOP_FILE} @@ -57,6 +58,14 @@ if(ENABLE_NLS) DEPENDS ${PROJECT_SOURCE_DIR}/transmission-gtk.desktop.in VERBATIM ) + + set(${PROJECT_NAME}_APPDATA_FILE "${PROJECT_BINARY_DIR}/${TR_NAME}-gtk.appdata.xml") + add_custom_command( + OUTPUT ${${PROJECT_NAME}_APPDATA_FILE} + COMMAND ${INTLTOOL_MERGE_EXECUTABLE} --xml-style --utf8 ${CMAKE_SOURCE_DIR}/po ${PROJECT_SOURCE_DIR}/transmission-gtk.appdata.xml.in ${${PROJECT_NAME}_APPDATA_FILE} + DEPENDS ${PROJECT_SOURCE_DIR}/transmission-gtk.appdata.xml.in + VERBATIM + ) endif() set(${PROJECT_NAME}_SOURCES @@ -148,6 +157,7 @@ add_executable(${TR_NAME}-gtk WIN32 ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS} ${${PROJECT_NAME}_DESKTOP_FILE} + ${${PROJECT_NAME}_APPDATA_FILE} ${${PROJECT_NAME}_WIN32_RC_FILE} ) @@ -188,6 +198,7 @@ endif() if(ENABLE_NLS) install(FILES ${${PROJECT_NAME}_DESKTOP_FILE} DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) + install(FILES ${${PROJECT_NAME}_APPDATA_FILE} DESTINATION ${CMAKE_INSTALL_DATADIR}/appdata) else() install(FILES transmission-gtk.desktop.in DESTINATION ${CMAKE_INSTALL_DATADIR}/applications RENAME ${TR_NAME}-gtk.desktop) endif() diff --git a/gtk/Makefile.am b/gtk/Makefile.am index a5f57c7fa..ae42def1a 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -100,6 +100,13 @@ DESKTOP_FILES=$(DESKTOP_IN_FILES:.desktop.in=.desktop) Productivitydir = $(datadir)/applications Productivity_DATA = $(DESKTOP_FILES) +APPDATA_IN_FILES=transmission-gtk.appdata.xml.in +APPDATA_FILES=$(APPDATA_IN_FILES:.xml.in=.xml) +@INTLTOOL_XML_RULE@ + +appdatadir = $(datadir)/appdata +appdata_DATA = $(APPDATA_FILES) + icon_DATA = transmission.png icondir = $(datadir)/pixmaps diff --git a/gtk/screenshots/a.png b/gtk/screenshots/a.png new file mode 100644 index 000000000..38d42e313 Binary files /dev/null and b/gtk/screenshots/a.png differ diff --git a/gtk/transmission-gtk.appdata.xml.in b/gtk/transmission-gtk.appdata.xml.in new file mode 100644 index 000000000..94eec838c --- /dev/null +++ b/gtk/transmission-gtk.appdata.xml.in @@ -0,0 +1,38 @@ + + + + transmission-gtk.desktop + CC0-1.0 + GPL-2.0 OR GPL-3.0 + + <_name>Transmission + <_summary>Download and share files over BitTorrent + + + + <_p> + BitTorrent is a peer-to-peer file-sharing protocol that is commonly used to + distribute large amounts of data between multiple users. + + <_p> + Transmission is a BitTorrent client with an easy-to-use frontend on top a + cross-platform backend. + Native frontends are available for OS X and Windows, as well as command line and + web frontends. + + <_p> + Notable features of Transmission include support for Local Peer Discovery, encryption, + DHT, µTP, PEX and Magnet Link. + + + https://transmissionbt.com/ + + + https://raw.githubusercontent.com/transmission/transmission/master/gtk/screenshots/a.png + + + info_AT_transmissionbt.com + diff --git a/po/POTFILES.in b/po/POTFILES.in index a0399e2e8..dd2a44221 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -15,6 +15,7 @@ gtk/open-dialog.c gtk/relocate.c gtk/stats.c gtk/torrent-cell-renderer.c +gtk/transmission-gtk.appdata.xml.in gtk/transmission-gtk.desktop.in gtk/tr-core.c gtk/tr-icon.c