diff --git a/io.github.mightycreak.Diffuse.yml b/io.github.mightycreak.Diffuse.yml index 0fdea81..914fef1 100644 --- a/io.github.mightycreak.Diffuse.yml +++ b/io.github.mightycreak.Diffuse.yml @@ -4,16 +4,18 @@ runtime-version: '3.38' sdk: org.gnome.Sdk command: diffuse finish-args: + - --filesystem=home + - --share=ipc - --socket=wayland - --socket=fallback-x11 - - --share=ipc - - --filesystem=home - --talk-name=org.freedesktop.Flatpak modules: - name: diffuse builddir: true buildsystem: meson config-opts: + - -Dlog_print_output=true + - -Dlog_print_stack=true - -Duse_flatpak=true sources: - type: dir diff --git a/meson_options.txt b/meson_options.txt index 6857b44..0f4bed8 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1 +1,3 @@ +option('log_print_output', type: 'boolean', value: false) +option('log_print_stack', type: 'boolean', value: false) option('use_flatpak', type: 'boolean', value: false) diff --git a/src/constants.py.in b/src/constants.py.in index d5d4e77..0cae624 100644 --- a/src/constants.py.in +++ b/src/constants.py.in @@ -24,4 +24,7 @@ COPYRIGHT = '''{copyright} © 2006-2019 Derrick Moser WEBSITE = 'https://mightycreak.github.io/diffuse/' sysconfigdir = '@sysconfigdir@' + use_flatpak = @use_flatpak@ +log_print_output = @log_print_output@ +log_print_stack = @log_print_stack@ diff --git a/src/meson.build b/src/meson.build index f5e5ad7..d463101 100644 --- a/src/meson.build +++ b/src/meson.build @@ -10,6 +10,8 @@ conf.set('VERSION', meson.project_version()) conf.set('localedir', join_paths(get_option('prefix'), get_option('localedir'))) conf.set('pkgdatadir', pkgdatadir) conf.set('sysconfigdir', sysconfdir) +conf.set('log_print_output', get_option('log_print_output')) +conf.set('log_print_stack', get_option('log_print_stack')) conf.set('use_flatpak', get_option('use_flatpak')) configure_file( diff --git a/src/utils.py b/src/utils.py index f9554f2..dbd2fdd 100644 --- a/src/utils.py +++ b/src/utils.py @@ -21,6 +21,7 @@ import os import sys import locale import subprocess +import traceback import gi @@ -43,12 +44,19 @@ class MessageDialog(Gtk.MessageDialog): def isWindows(): return os.name == 'nt' +def _logPrintOutput(msg): + if constants.log_print_output: + print(msg, file=sys.stderr) + if constants.log_print_stack: + traceback.print_stack() + # convenience function to display debug messages def logDebug(s): - pass #sys.stderr.write(f'{constants.APP_NAME}: {s}\n') + _logPrintOutput(f'DEBUG: {s}') # report error messages def logError(s): + _logPrintOutput(f'ERROR: {s}') m = MessageDialog(None, Gtk.MessageType.ERROR, s) m.run() m.destroy()