#!/usr/bin/env python3
"""JM Desktop launcher.

`--version` works without PySide6 so packaging and CI can query it on a machine
with no GUI toolkit.
"""
import os
import sys

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))

from jmdesktop import VERSION                       # noqa: E402


def main():
    if '--version' in sys.argv[1:]:
        print('jm-desktop %s' % VERSION)
        return 0
    try:
        from jmdesktop.shell import main as run
    except ImportError as e:
        sys.stderr.write(
            'JM Desktop needs PySide6, which is not installed (%s).\n'
            'Install it with:  pip install PySide6\n'
            'or reinstall the app with ./install.sh\n' % e)
        return 1
    return run()


if __name__ == '__main__':
    sys.exit(main())
