From f2dfec4f49ab498692e45f69c6460162bfb270f5 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 11 Jul 2019 12:11:55 +1000 Subject: [PATCH] Add the flatpak files --- .../org.freedesktop.TuhiGui.appdata.xml.in.in | 31 +- data/org.freedesktop.TuhiGui.desktop.in | 10 +- data/org.freedesktop.TuhiGui.svg | 315 +++++------------- meson.build | 38 +++ org.freedesktop.TuhiGui.json | 65 ++++ tuhigui/tuhi.py | 1 + 6 files changed, 204 insertions(+), 256 deletions(-) create mode 100644 org.freedesktop.TuhiGui.json diff --git a/data/org.freedesktop.TuhiGui.appdata.xml.in.in b/data/org.freedesktop.TuhiGui.appdata.xml.in.in index d4c7451..63d8ea1 100644 --- a/data/org.freedesktop.TuhiGui.appdata.xml.in.in +++ b/data/org.freedesktop.TuhiGui.appdata.xml.in.in @@ -1,22 +1,21 @@ - org.freedesktop.Piper + org.freedesktop.TuhiGui FSFAP GPL-2.0+ - Piper - Configurable mouse configuration utility + TuhiGui + Utility to download drawings from the Wacom Ink range of devices

- Piper is a graphical user interface to configure gaming mice. - Configuration options include changing the resolution (DPI) of the - mouse, adding and removing profiles, setting LED colors and changing - button behaviors. + TuhiGui is a graphical user interface to download drawings stored on + tablet devices from the Wacom Ink range, e.g. Intuos Pro Paper or + Bamboo Slate.

- Piper requires libratbag’s ratbagd, the daemon to actually communicate with the - mice. Piper is merely a front end to ratbagd, ratbagd must be - installed and running when Piper is launched. + TuhiGui requires Tuhi, the daemon to actually communicate with the + devices. ThiGui is merely a front end to Tuhi, Tuhi must be + installed and running when TuhiGui is launched.

@@ -26,7 +25,7 @@ ModernToolkit - org.freedesktop.Piper.desktop + org.freedesktop.TuhiGui.desktop @@ -43,15 +42,15 @@ - https://github.com/libratbag/piper/ - https://github.com/libratbag/piper/issues - https://github.com/libratbag/piper/wiki + https://github.com/tuhiproject/tuhigui/ + https://github.com/tuhiproject/tuhigui/issues + https://github.com/tuhiproject/tuhigui/wiki GNOME - piper + tuhigui - piper + tuhigui diff --git a/data/org.freedesktop.TuhiGui.desktop.in b/data/org.freedesktop.TuhiGui.desktop.in index c96dfc1..286fed6 100644 --- a/data/org.freedesktop.TuhiGui.desktop.in +++ b/data/org.freedesktop.TuhiGui.desktop.in @@ -1,11 +1,11 @@ [Desktop Entry] -Name=Piper -Comment=Configurable mouse configuration utility -Exec=piper +Name=TuhiGui +Comment=Utility to download drawings from the Wacom Ink range of devices +Exec=tuhigui # Translators: Do NOT translate or transliterate this text (this is an icon file name)! -Icon=org.freedesktop.Piper +Icon=org.freedesktop.TuhiGui Type=Application StartupNotify=true Categories=GTK;GNOME;Utility; # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! -Keywords=gaming;configuration;mouse;mice; +Keywords=tablet;wacom;ink; diff --git a/data/org.freedesktop.TuhiGui.svg b/data/org.freedesktop.TuhiGui.svg index 5d136cc..5c1e883 100644 --- a/data/org.freedesktop.TuhiGui.svg +++ b/data/org.freedesktop.TuhiGui.svg @@ -7,61 +7,17 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="48" - height="48" - id="svg2" + width="210mm" + height="297mm" + viewBox="0 0 210 297" version="1.1" - inkscape:version="0.91 r13725" - sodipodi:docname="logo.svg"> + id="svg8" + inkscape:version="0.92.3 (2405546, 2018-03-11)" + sodipodi:docname="org.freedesktop.TuhiGui.svg"> - - - - - - - - - - - + id="defs2" /> + inkscape:window-maximized="1" /> + id="metadata5"> image/svg+xml - + - + id="layer1"> + + + + - - - - - + id="g951" + transform="translate(-0.29412526,-24.83401)"> - - - - - - - - + transform="matrix(0.58929876,0.50248108,-0.50248108,0.58929876,143.7747,-3.51721)" + id="g830"> + + + - - - - - - - - - + id="path929" + d="m 126.29892,160.02213 44.11346,-51.29277" + style="fill:none;stroke:#878787;stroke-width:1.59743071;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> diff --git a/meson.build b/meson.build index d1691d8..4664b90 100644 --- a/meson.build +++ b/meson.build @@ -21,6 +21,9 @@ localedir = join_paths(prefix, get_option('localedir')) pkgdatadir = join_paths(datadir, meson.project_name()) bindir = join_paths(prefix, get_option('bindir')) podir = join_paths(meson.source_root(), 'po') +desktopdir = join_paths(datadir, 'applications') +icondir = join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps') +metainfodir = join_paths(datadir, 'metainfo') i18n = import('i18n') @@ -59,6 +62,30 @@ configure_file(input: 'tuhigui.in', meson.add_install_script('meson_install.sh') +desktop_file = i18n.merge_file(input: 'data/org.freedesktop.TuhiGui.desktop.in', + output: 'org.freedesktop.TuhiGui.desktop', + type: 'desktop', + po_dir: podir, + install: true, + install_dir: desktopdir) + +conf = configuration_data() +conf.set('version', meson.project_version()) +conf.set('url', 'https://github.com/tuhiproject/tuhigui') +conf.set('version_date', version_date) + +appdata_intl = configure_file(input: 'data/org.freedesktop.TuhiGui.appdata.xml.in.in', + output: 'org.freedesktop.TuhiGui.appdata.xml.in', + configuration: conf) + +appdata = i18n.merge_file(input: appdata_intl, + output: 'org.freedesktop.TuhiGui.appdata.xml', + type: 'xml', + po_dir: podir, + install: true, + install_dir: metainfodir) + +install_data('data/org.freedesktop.TuhiGui.svg', install_dir: icondir) flake8 = find_program('flake8-3', required: false) if flake8.found() @@ -66,3 +93,14 @@ if flake8.found() args: ['--ignore=E501,W504', join_paths(meson.source_root(), 'tuhigui/')]) endif + +desktop_validate = find_program('desktop-file-validate', required: false) +if desktop_validate.found() + test('desktop-file-validate', desktop_validate, args: [desktop_file]) +endif + +appstream_util = find_program('appstream-util', required: false) +if appstream_util.found() + test('appstream-util validate-relax', appstream_util, + args: ['validate-relax', appdata]) +endif diff --git a/org.freedesktop.TuhiGui.json b/org.freedesktop.TuhiGui.json new file mode 100644 index 0000000..f3b8bfe --- /dev/null +++ b/org.freedesktop.TuhiGui.json @@ -0,0 +1,65 @@ +{ + "app-id": "org.freedesktop.TuhiGui", + "runtime": "org.gnome.Platform", + "runtime-version": "3.30", + "sdk": "org.gnome.Sdk", + "command": "tuhigui", + "finish-args": [ + "--share=ipc", + "--socket=x11", + "--talk-name=org.freedesktop.tuhi1", + "--system-talk-name=org.bluez" + ], + "modules": [ + { + "name": "pyxdg", + "buildsystem": "simple", + "sources": [ + { + "type": "git", + "url": "git://anongit.freedesktop.org/xdg/pyxdg" + } + ], + "build-commands": [ + "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} ." + ] + }, + { + "name": "python-pyparsing", + "buildsystem": "simple", + "sources": [ + { + "type": "archive", + "url": "https://github.com/pyparsing/pyparsing/releases/download/pyparsing_2.4.0/pyparsing-2.4.0.tar.gz", + "sha512": "71877dc006cce5c1b1d45e7cc89cd60e03cb80353387fb0c6498cfc0d69af465dc574d1bceb87248033e7a82694aa940e9fce1ca80b2ef538a8df51f697ef530" + } + ], + "build-commands": [ + "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} ." + ] + }, + { + "name": "python-svgwrite", + "buildsystem": "simple", + "sources": [ + { + "type": "git", + "url": "https://github.com/mozman/svgwrite.git" + } + ], + "build-commands": [ + "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} ." + ] + }, + { + "name": "tuhigui", + "buildsystem": "meson", + "sources": [ + { + "type": "git", + "url": "." + } + ] + } + ] +} diff --git a/tuhigui/tuhi.py b/tuhigui/tuhi.py index e2bb3a2..c559949 100644 --- a/tuhigui/tuhi.py +++ b/tuhigui/tuhi.py @@ -80,6 +80,7 @@ class _DBusObject(GObject.Object): def _on_reconnect_timer(self): try: + logger.debug('reconnecting') self._connect() return False except DBusError: